Principal Components Analysis and the Cholesky Decomposition
February 15, 2007
Over the last six months or so we have received numerous requests and comments from visitors regarding the Cholesky decomposition method and the PCA method used in Monte Carlo simulation of multi-asset paths. We have written a bit about these techniques elsewhere in this site. Once again, here is a very brief, perhaps a bit too brief, explanation of these techniques.
Principal Components Analysis (PCA) and the Cholesky decomposition are two different methods that can be applied to independent random processes (such asset price movements) to generate correlated random deviates of these variables. Of the two PCA is more mathematically detailed but more stable whereas Cholesky is easy to implement but can break down pretty easily. It all depends on how stable the correlation matrix is.
In both the methods we should be able to recover the original correlation matrix using reverse transformation. Let's see how. Let's say we have a 2 x 2 correlation matrix, between asset prices (it is important to make a distinction between asset prices as a random series as opposed to asset returns as a random series).
Principal Components Analysis
We calculate the eigenvalues, , and the eigenvectors, , of the correlation matrix, . This is the eigensystem of the matrix.
Using the matrix of eigenvectors and the diagonal matrix of eigenvalues if we perform the following (reverse) transformation we will recover the original correlation matrix, :
However, is the variance of the correlated random variable (this is a vector of two random variables) which is given by where is the vector of independent normal numbers (random numbers drawn from a normal distribution with mean zero and a standard deviation of one). Therefore, generates correlated random deviates from the vector of independent random normal deviates. This is used in a multi-asset Monte Carlo simulation.
The Cholesky is a square root matrix which when multiplied with itself gives the original correlation matrix. The Cholesky matrix, of the correlation matrix above is:
Note that all elements above the diagonal are zero (this is a characteristic feature of Cholesky matrix no matter what the correlation matrix is). Multiplying the transpose of the Cholesky matrix with the Cholesky matrix we get the original correlation matrix.
To get the correlated random deviates we simply need to operate the vector of random variables with the Cholesky . Therefore, the vector produces the vector of correlated random deviates.
The Cholesky decomposition is easier to understand intuitively (we hope!) than the PCA. Also, in a very simple Excel spreadsheet application fewer operations are necessary in the multiplication because the Cholesky is a lower triangular matrix (all elements above the diagonal are zero) and one can use recursive algorithm to obtain the Cholesky. However, there are many disadvantages of Cholesky and it is sometimes not a very robust method. It can often not exist for a particular correlation matrix (on your Excel sheet you can see the #Value in the matrix cells if the Cholesky does not exist.
However, a very important point to note is that though both these reverse transformations generate the original correlation matrix the two operations are not identical. That is even though the operation and the operation both generate correlated random deviates for the same set of assets:
But the most interesting thing about the two is that as the number of simulations increase (beyond 20,000) both these methods converge.
Any comments and queries can
be sent through our
More on Quantitative Finance >>
back to top