Let's assume we have a portfolio containing large number (~500) of risk factors. We want to simulate the portfolio dynamics. PCA based simulation would be faster as we can reduce the dimensionality. Are there any other advantages of PCA-based approach Monte Carlo over Monte Carlo using Cholesky Decomposition (e.g. stability, more realistic dynamics)? I've seen papers dealing with seasonality effect in commodity forward curves, application to yield curves and an article here. However, I'm looking for some more in depth on the topic. Any references or practical experience is welcome.


2 Answers 2


Apart from numerical stability errors, Cholesky and PCA (without dim reduction) shall produce exactly the same distribution, they are two symmetric decomposition of the same covariance matrix and thus are equivalent for transforming a standard normal vector. Of course when doing different things with PCA components, such as in dim reduction or quasi Monte Carlo sampling or related variance reduction methods, the equivalence is lost by definition, but it is there for standard sampling. One advantage of Cholesky might be that storing and multiplying a triangular matrix requires less resources than a full square one. Pivoting is used for Cholesky if the covariance matrix is not PD (see this paper by Higham).

One source of confusion in the links might be the lack of clear separation between estimation and sampling. After estimation you shall have a PSD matrix and the decomposition used for sampling has nothing to do with it. (Methods for estimation can also be better than a naive sample covariance, there is a huge literature on this.)

Note that in the second link posted the procedure to "clean" non PSD matrices to get a correlation matrix forgets one step after zeroing negative eigenvalues: you must also scale rows&columns so as to recover ones on the diagonal. And there are also better methods to do that cleaning, this is not returning the nearest PSD correlation matrix. Also that page is poorly written and confusing imho, if not ripe with errors, look for something else, e.g. Glasserman's Monte Carlo book.

  • $\begingroup$ +1 for the Higham method. It produces very reasonable PD matrices when you lack enough complete observations. Happens to be in new NAG release, I believe, if you have access to NAG. Or you could code it yourself (easy in Matlab). $\endgroup$ Jun 25, 2013 at 17:36

When estimating covariance matrices, you run into problems as the number of assets/risk factors approaches or exceeds the number of observations. Some eigenvalues will go to zero, or be very small. This will mean that the covariance matrix is positive semi-definite instead of positive definite. Since the Cholesky decomposition requires a positive definite matrix, this leads to problems. However, you can adjust the eigenvalues in a PCA approach to change the covariance matrix to become positive definite. You could simulate from the PCA (for lack of a better way to phrase it) or use Cholesky on the adjusted covariance matrix.


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.