Cholesky Decomposition

Interactive visualization of transforming uncorrelated shocks into correlated shocks via Cholesky decomposition

When simulating multivariate returns, random number generators produce uncorrelated standard normal draws \(z^u_{t+1}\). To simulate returns for a portfolio of correlated assets, we must transform these into properly correlated shocks (Christoffersen 2012, chap. 8):

\[ z_{t+1} = \Upsilon^{1/2} z^u_{t+1} \]

where \(\Upsilon^{1/2}\) is the Cholesky decomposition (lower triangular matrix square root) of the correlation matrix \(\Upsilon\), satisfying \(\Upsilon^{1/2}(\Upsilon^{1/2})' = \Upsilon\).

In the bivariate case:

\[ \Upsilon^{1/2} = \begin{bmatrix} 1 & 0 \\ \rho_{1,2} & \sqrt{1-\rho_{1,2}^2} \end{bmatrix} \]

which gives the correlated shocks:

\[ z_{1,t+1} = z^u_{1,t+1}, \qquad z_{2,t+1} = \rho_{1,2}\, z^u_{1,t+1} + \sqrt{1-\rho_{1,2}^2}\, z^u_{2,t+1} \]

Note

Why Cholesky? The Cholesky decomposition guarantees that the resulting shocks have exactly the target correlation matrix while preserving zero means and unit variances. It is the standard method for correlating random draws in financial simulation.

Uncorrelated vs. correlated shocks

Drag the correlation slider and observe how the originally circular scatter of uncorrelated shocks transforms into a tilted ellipse. The Cholesky matrix updates reactively, and the sample statistics confirm that the transformation achieves the target correlation while preserving zero means and unit variances.

Tip

How to experiment

Set \(\rho\) to 0 and observe that both scatters look identical (circular). Then increase \(\rho\) toward +1: the right scatter tilts into an elongated ellipse along the diagonal. Set \(\rho\) negative to see the tilt reverse. At extreme values (\(|\rho| > 0.9\)), the ellipse becomes very narrow, meaning the two assets move almost in lockstep.

References

Christoffersen, Peter F. 2012. Elements of Financial Risk Management. 2nd ed. Academic Press.