|
Copulas and Monte Carlo ... a continuation of
Part III
|
Now that we can generate random returns with prescribed Mean, Volatility and Correlation, it'd be neat to see how the correlation affects, say ...
>Monte Carlo!
You took the words right outta my mouth. In fact, what I'd like to do is that Safe Withdrawal Rate stuff and ...
>Not again!!
Pay attention!
Here's what we'll do for a 2-asset portfolio (like stocks and bonds):
- We'll assign to each asset some Mean and Volatility and a Correlation between assets.
- We'll generate two 30-year sequences of random annual returns for our (annually rebalanced) portfolio.
- We'll withdraw some fixed percentage of the original portfolio each year (say the notorious 4%), increasing with inflation.
- We'll repeat the above steps a jillion times (with different random sequences, of course) and determine the percentage of portfolios that survive the 30 years.
>Why 4%? Why not 5.678% and why not ...?
When we're finished there'll (hopefully) be a spreadsheet. You can stick in any numbers you like.
But our goal is to vary the Correlation to see how the Survival Rate changes with the Correlation and ...
>Our goal? It's not my ...
We'll do this using Frank's Copula whereby:
the two assets are assumed to have Mean and Volatility (or Standard Deviation)
of m1, s1 and m2, s2
and the Correlation is prescribed
and for each year, we:
- Choose two random numbers u and w with 0 ≤ u,w ≤ 1.
- Generate v = (-1/d) log[ 1 - (1-e-d) / {
1 + e-du (w-1-1).
} ] with some fixed d-value
(determined by our prescribed Correlation).
- From u and v we generate x = NORMINV(u, m1, s1)
and y = NORMINV(v, m2, s2) as our (normally distributed)
annual returns.
- We apply these returns to our portfolio and withdraw the prescribed dollar amount.
- We then repeat steps 1 to 4 thirty times (meaning 30 years) and note whether the portfolio has survived.
- Then repeat steps 1 to 5 a jillion times, starting with the same original portfolio ... and note the percentage of surviving portfolios.
- Then we change the Correlation (meaning we change d) and repeat steps 1 to 6.
>zzzZZZ
This'll be interesting. Just wait till we get the results. Maybe we'll learn something! I've never seen this done before. Have you?
>zzzZZZ
Then we'll have to think of some other neat way to test our newly acquired copula-correlation skills, eh?
>zzzZZZ
Okay, here's what we got:
 Click on the picture to download the spreadsheet.
We type in the various parameters, press F9 and get a set of thirty randomly selected annual returns and a chart of a possible portfolio.
Neat, eh?
>zzz ... Huh? That's it?
No, it's just interesting. Each time you press F9 you get a possible 30-year portfolio. Sometimes it drops dead, sometimes it survives and you also get
the actual Means, SDs and Correlation for the set of random returns and ...
>But they're not the same!
Well, nobuddy's perfect. Remember, we're doing just 30 returns, not a jillion.
>Yeah, so what's the survival rate?
Aah, I'm glad you asked.
See the button called Monte Carlo? If you press that, you get 1000 30-year portfolios and a survival rate.
>And the number of iterations is chosen ... uh, just below the button?
You got it!
>And what if I want to see the correspondence between the specified Correlation and the Survival Rate?
Aah, I'm glad you asked. It's over on the right and it looks like so:
>I'd suggest using more than 1000 MC simulations, because ...
That's up to you. Just type in 10,000 if you like ... but it had better be a LARGE cup of coffee.
I almost forgot. When you specify the Correlation, the spreadsheet calculates d = ATANH(Correlation) / 0.145 since that's ...
>Huh?
Don't you remember? That's the approximation we found in copula math.
>But it's just an approximation!
Yes, as are all financial predictions. However, you can always resort to this.
>Yeah, very funny, but atanh? Isn't that ... uh ... a little, uh ...
If r is the Correlation, then it's the same as putting d
= (1/0.29) log{ (1+r)/ (1-r) }
>Yeah. Much better.
for part V
P.S. There's a neat software package you can download here,
from the Delft Institute of Applied Mathematics
|