I'm relatively new in this field, so I have a couple of points that I need to clarify.

I would like to know how I can estimate the correlation matrix necessary to implement a Cholesky decomposition for a model that has two different sources of risk.

Let's take for example an Heston model where we have two Brownian motions, $W_{s}$ and $W_{v}$.

In the case of a portfolio composed by two stocks, in order to be able to simulate correlated paths:

  1. How do I estimate the correlation matrix of the variance process for the two stocks? Moving average std or other methods?

  2. Because in Heston model $W_{s}$ and $W_{v}$ are correlated, so that we have $\rho_{1}=corr(W_{1s},W_{1v})$ for the first asset and $\rho_{2}=corr(W_{2s},W_{2v})$ for the second asset, do I have to get two different matrixes of dimension $2\times2$ (one for each stock) or one matrix of dimension $4\times4$?

Thank you in advance!

  • $\begingroup$ Please take a look at this post and this post. $\endgroup$
    – Rod
    Commented Oct 17, 2013 at 22:15

2 Answers 2


You need to obtain a $4 \times 4$ correlation matrix. As you effectively observe, you have four random processes driving the system, with $i \in 1,2$

$$ \frac{dS_i}{S_i} = \mu_i dt + \sqrt{v_i} dW_{Si} \\ dv_i = \kappa(\bar{v}_{i}-v_i) dt + \xi \sqrt{v_i} dW_{vi} $$

Each of the $W_{ji},j\in\{S,v\},i\in 1,2$ is a brownian motion correlated with the others, with coefficient $\rho_{i_1,j_1}^{i_2,j_2}$.

Because $v$ is not observed, you cannot work backwards from historical market data to values of $W_{ji}$, so you cannot obtain correlations in the "usual" manner.

You can estimate the parameters of each individual model (including the $\rho_{i,j_1}^{i,j_2}$ values) either by calibrating to historical time series data or to the options markets (depending on your application). This leaves you with a set of cross correlations $\rho_{i_1,j_1}^{i_2,j_2},i_1\neq i_2$ to estimate, and you probably lack basket options to calibrate them from.

You can calibrate these historically, perhaps using Gibbs Sampling due to the complexity of the joint terminal distribution. Alternatively, you could just go with estimates based on simple relationships. That is, set

$$ \rho_{1,S}^{2,S} = \text{Corr}\left( \text{Ret}(\{S_1\}), \text{Ret}(\{S_2\}) \right)\\ \rho_{1,v}^{2,v} = \text{Corr}\left( \left\{\sigma_1^{\text{implied}}\right\}, \left\{\sigma_2^{\text{implied}}\right\} \right) \\ \rho_{1,S}^{2,v} = \rho_{1,v}^{2,S} = 0 $$

You are unlikely (in my opinion) to be making estimation errors larger than your model errors.


thanks for your answer. Actually I though to use a similar method but using the historical returns and calculating the rolling volatility, obtaining a backward measure of the correlation.

One more question: With $corr(\{\sigma_{1}^{implied}\},\{\sigma_{2}^{implied}])$ do you mean a correlation calculated from a chain of options (i.e. ATM for every maturity available for example) or other type of implied volatilities?

Then, adding all these terms together, and leaving 0 on the cross correlations, it is possible that the final correlation matrix is not positive definite. What do you think about?

  • $\begingroup$ This is a comment (or another question), not an answer. $\endgroup$
    – Shane
    Commented Nov 17, 2013 at 11:56

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.