Generating Correlated Normal Draws with Cholesky Decomposition
Summary
The document explains how Cholesky decomposition generates correlated normal random vectors for Monte Carlo simulation. Starting from independent standard normal draws, multiply the vector by a Cholesky factor of the target covariance matrix and add the desired mean. The factor’s transpose is not separately applied to the random vector; its role is in the factorization that guarantees the resulting covariance.
The response verifies the construction by calculating the transformed vector’s mean and covariance: the identity covariance of the independent draws combines with the factor to recover the target matrix. This gives a direct justification for using the lower triangular factor in simulation, including applications such as spread-option pricing with stochastic volatility. The explanation assumes a valid positive-definite covariance matrix and independent standard normal inputs; it does not discuss numerical issues or alternatives for matrices that fail those conditions.
Key ideas
- Begin with a vector of independent standard normal random variables.
- Multiply that vector by the Cholesky factor and add the target mean to obtain correlated normal draws.
- The factor’s transpose appears in the covariance calculation, even though it is not separately applied to the random vector.
- The resulting covariance equals the target matrix because the input vector has identity covariance.
Tags
Full text
# Covariance matrix and Cholesky decomposition
# Covariance matrix and Cholesky decomposition
I am simulating a spread option with stochastic volatility using Monte Carlo simulation. I have the positive-definite covariance matrix $$ \rho = \left( \begin{array}{cccc} 1 & \rho_{1,2} & \rho_{1,3} & \rho_{1,4} \\ \rho_{2,1} & 1 & \rho_{2,3} & \rho_{2,4} \\ \rho_{3,1} & \rho_{3,2} & 1 & \rho_{3,4}\\ \rho_{4,1} & \rho_{4,2} & \rho_{4,3} & 1 \end{array} \right) $$
which by definition can be decomposed into the product of two matrixes through Cholesky decomposition in the following way: $$ \rho = L L^T $$ where $T$ indicates the transposed matrix.
In the literature, this factorization renders a system of equations of the form: $$ x_1 = z_1 \\ x_2 = \rho_{1,2} z_1 + \sqrt{1 - \rho_{1,2}^2z_2} \\ x_3 = ... $$
My question is the following. Why do we ignore the matrix $L^T$ when writing the final equations for the random deviates? Why isn't this approach leading to wrong equations, given that we are 'ignoring' part of the system? It seems like we are forgetting half of the problem.
I know this is the correct way to compute random deviates, but I would like to know the reason why this approach works.
## Answer by vanguard2k (score 6, accepted)
https://quant.stackexchange.com/a/16450
I am not sure if I understood your question correctly but I will try to answer it anyway.
If you have a standard normal random vector $z \sim N(\mathbb{0},I_n)$ (where $z,0 \in \mathbb{R}^{n\times1}$ and $I_n \in \mathbb{R}^{n\times n}$ is the identity matrix) and you want to transform it into a multivariate normal $x \sim N(\mu,\Sigma)$ you do it the following way: If $L$ is the Cholesky factorization of $\Sigma$, $\Sigma = LL^T$, then
$$ x = \mu + Lz.$$
Why? Because when you want to see if you really end up with a covariance matrix $\Sigma$ in this construction, it works:
$$\mathbb{E}[(x-\mathbb{E}(x))^T(x-\mathbb{E}(x))] = \mathbb{E}[(Lz)^T(Lz)]=L^T\mathbb{E}[z^Tz]L=L^TI_nL = \Sigma.$$
Or lets think the other way around: If you want to see what matrix you have to multiply $z$ with to create a distribution with covariance matrix $\Sigma$, it turns out to be $L$.
Maybe one more thing: Some textbooks even define the multivariate normal like this: Suppose you have a vector $z$ of independent standard normals and a matrix $L$ such that $LL^T$ is SPD then the distribution of $x=\mu + Lz$ is called multivariate normal with $\mu$ and $LL^T=\Sigma$.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.