1
$\begingroup$

I'm trying to do multivariate distributions of returns on buckets where all the returns are at least 0.6 correlated at a 95% confidence level. I have the buckets, but their Sigmas cannot be decomposed and my random number generator fails.

What alternatives do I have? If I break the buckets up into smaller ones, I lose the correlation in the simulation. Or am I completely wrong?

$\endgroup$
4
  • $\begingroup$ Is your matrix $\Sigma$ singular? $\endgroup$
    – Bob Jansen
    Commented Jul 6, 2016 at 18:44
  • $\begingroup$ I can only assume that it is. I'm running smaller buckets and using rolling means to try to add in some of the historical correlation. $\endgroup$
    – milkmotel
    Commented Jul 6, 2016 at 19:02
  • $\begingroup$ I don't believe I understand your setup but you can check whether the matrix is singular and whether that is the cause of the problem. $\endgroup$
    – Bob Jansen
    Commented Jul 6, 2016 at 19:04
  • $\begingroup$ It wasn't singular. My setup was to calculate the covariance matrix for say ACWI, SP500, MSCI EM, HFRI Direct Hedged Equity, HFRI FOF, etc. I broke them into smaller buckets to simulate the returns over time, so I lose the correlation from period to period between the buckets, but since I'm only sampling the noise, the rolling means I use for each asset class of returns should add back in some of the correlation. $\endgroup$
    – milkmotel
    Commented Jul 6, 2016 at 19:21

1 Answer 1

1
$\begingroup$

You need to adjust your correlation matrix such that it becomes positive definite.

There is an R routine that will do this for you - link.

Or, if you want to do it yourself, i believe the general method is to do an eigen value decomposition, set any negative eigenvalues to zero, and then reconstruct the original matrix.

If you're going to go down this route though, it works better to obtain your $\Sigma^\frac{1}{2}$ matrix using the EVD rather than cholesky.

$\endgroup$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.