Let's say a have a correlation matrix $\Omega$ for 25 assets which I use to generate a Monte-Carlo simulation. Let's assume that $\Omega$ is valid (i.e positive-semi-definite, etc...) and estimated empirically with market data.

Now assume that I want to add a risk factor $r$, but I only know the correlation $\rho$ of that risk factor to a given asset $m$. As $r$ is not easily observable, I can't include it in the empirical estimation. Plus, traders can't mark the correlation with the remaining 24 asset without making the correlation matrix invalid (i.e not positive-definite anymore).

I was actually thinking about:

  • generating $N$ correlated standard normal numbers for the 25 assets for which correlation is known
    • yielding a set $Z$ of size $N \times 25$.
  • Taking from $Z$ the random numbers corresponding to asset $m$, let's denote them $Z_m$, which is a vector of $N$ standard normal random numbers
  • Correlating a new set of indepentand standard normal numbers $X$ with $Z_m$
    • yielding $Y$, a vector of size $N$
  • "Appending" $Y$ to $Z$.

Somebody suggested me to do something different:

  • Extend $\Omega$ adding $r$
  • Setting $\Omega_{r,m}=\rho$
  • For each asset $i$ in $\Omega$ such that $i \neq r,m$:
    • Set $\Omega_{r,i}=\Omega_{m,i} \cdot \Omega_{r,m}$
  • Correlate $Z$ as mentioned in the first point above.

Theoretically, is one of these methods "more right than the other"?

Is there another common approach to solving this kind of problem?


1 Answer 1


You have the risk factor $F$ and the asset that it is correlated to $r_m$. You can calculate the variances of each of these, say $\sigma^2_F$ and $\sigma^2_m$. If you do not care about the distribution but just work with variances and correlations then can look at an OLS setting: $$ F = \beta r_m + \epsilon $$ with $\beta = \rho \frac{\sigma_F}{\sigma_m}$ and $\epsilon$ uncorrelated. Then the covariane is preserved: $$ Cov(F,r_m) = Cov(\beta r_m + \epsilon, r_m) = Cov(\beta r_m,r_m) = \beta \sigma^2_m = \rho \sigma_m \sigma_F. $$

If we assume that $\epsilon$ is uncorrelated with all other $r_i$ then for any other asset $r_i$ you have $$ Cov(F,r_i) = Cov(\beta r_m + \epsilon, r_i) = \beta Cov(r_m,r_i), $$ and you get a full covariance matrix. In the case $\epsilon$ is correlated to $r_i$ you add $Cov(\epsilon,r_i)$.

This could be a way to go if you are just interested in co/variances.

  • $\begingroup$ If I assume $\epsilon$ is uncorrelated, then following your equation $ \rho_{F,i} = \frac{Cov(F,r_i)}{\sigma_F \sigma_i} = \beta \frac{ Cov(r_m,r_i)}{\sigma_F \sigma_i}$. Replacing $\beta = \rho_{F,m} \frac{\sigma_F}{\sigma_m}$, you get $ \rho_{F,i} = \rho_{F,m} \frac{ Cov(r_m,r_i)}{ \sigma_m \sigma_i} = \rho_{F,m} \rho_{i,m} $ right? $\endgroup$
    – SRKX
    May 5, 2015 at 7:42
  • 1
    $\begingroup$ Looks correct to me ... so thus would be approach 2) but with an OLS story behind it. $\endgroup$
    – Richi Wa
    May 5, 2015 at 9:04
  • $\begingroup$ But is there any advantage compared to version 1)? $\endgroup$
    – SRKX
    May 5, 2015 at 9:06
  • $\begingroup$ if you do MC sample you usually don't have the exact covariance (see e.g. Sampling with exact covaraince). So if you can have the exact covariance - why not use it? $\endgroup$
    – Richi Wa
    May 5, 2015 at 9:29
  • $\begingroup$ Since I know nothing about the relation of $F$ and the other assets so how can I know the exact covariance? $\endgroup$
    – SRKX
    May 5, 2015 at 9:36

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.