Skip to content
All library documents

Choosing Covariance or Correlation for Cholesky Sampling

Article Quant Q&A · Author: user3212376

Summary

The document explains how covariance and correlation matrices can both support generation of correlated normal samples through Cholesky factorization. Using the covariance matrix applies the variables’ scales directly; using the correlation matrix requires scaling the resulting samples by each variable’s volatility. For a positive definite covariance matrix, these approaches represent the same target distribution when scaling is handled correctly.

The discussion highlights a practical reason to factor the correlation matrix: it can remain positive definite when one or more variables have zero volatility, even though the covariance matrix is then singular and ordinary Cholesky decomposition may fail. This choice therefore affects implementation robustness in degenerate cases. The explanation is limited to the stated normal-sampling setup and assumes valid matrix inputs; it does not address alternatives for non-positive-definite matrices or compare numerical methods.

Key ideas

  • Covariance-based Cholesky sampling incorporates variable scales directly into the factorization.
  • Correlation-based sampling requires rescaling simulated values by their respective volatilities.
  • A covariance matrix can be singular when a variable has zero volatility, preventing ordinary Cholesky factorization.
  • A correlation matrix may still be positive definite when the covariance matrix is singular because of zero volatility.

Tags

Full text
# Does one use the covariance or correlation matrix in cholesky decomposition to generate correlated samples


# Does one use the covariance or correlation matrix in cholesky decomposition to generate correlated samples












Can we interchangeably use Cholesky decomposition of covariance and correlation matrix to generate simulations? If not, in which situations do we use one or the other and why? Thanks in advance.

## Answer by Jacob M. Morley (score 4)

https://quant.stackexchange.com/a/10673

You can use the either, as both necessarily are symmetric positive definite; covariance is a personal preference. It's really just a matter of scaling, as $\mathcal{N}(0,\Sigma)$ is distributionally $\sqrt{\Sigma} \mathcal{N}(0,1) $.

Correlation would require additional scaling (i.e. multiplication of every $\mathcal{N}(0,\rho)$ element by its respective volatility, and therefore requires more operations).

Glasserman (p. 72-74) also uses the covariance matrix for his introduction to Cholesky factorization, so I suspect it is not unusual, however I have also seen correlation (e.g. example of @Probilitator).

## Answer by Lee Jackson (score 3)

https://quant.stackexchange.com/a/21327

I think Cholesky on correlation matrix is better because it makes code apply more generally in case we don't have full rank.

For example, suppose we want to simulate three correlated normals with covariance matrix [[a^2,0,0], [0,b^2,0], [0,0,c^2]]

i.e. variables are uncorrelated and have vols a, b, and c. Because this is positive definite, we can do Cholesky no problem, with result also [[a,0,0], [0,b,0], [0,0,c]]

However, if we get new data in telling us that b = c = 0, the Cholesky decomposition will fail because of non positive definiteness. Hence we'd need to modify our code to handle this case.

If however we'd done our coding in terms of a [diagonal] matrix S of volatilities and a correlation matrix K, we would perform Cholesky on K (to get matrix A say) and it would run fine even in zero volatility cases. The covariance matrix is the given by (SA)^2.

The underlying reason is that a correlation matrix is positive definite whenever the covariance matrix is, but the converse is false.

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.