I am trying to simulate correlation in order to price a correlation swap (via Monte-Carlo). For simplicity, let's assume we have 2 assets, and everything is correlated with $\rho$, and there is no drift or anything. Say, the swap has $M$ observation periods, and we simulate $N$ paths per asset.

So we start by using a multivariate normal distribution with $\mu=\begin{bmatrix}0\\0\end{bmatrix}$ and $\Sigma=\begin{bmatrix}1&\rho\\\rho&1\end{bmatrix}$. Now we generate $M$ correlated pairs of normal variables $R = \begin{bmatrix}r_{11}&\ldots & r_{1M}\\r_{21}&\ldots&r_{2M}\end{bmatrix} \in \mathbb{R}^{2\times M}$. We do this $N$ times, such that we obtain $R_1,\ldots,R_N$. For each sample $R_i$ we now compute the realised sample correlation $\bar{\rho}_i$ between its 2 assets.

Finally, we can compute the average of all realised sample correlations: $$\bar{\rho} = \frac1N \cdot\sum_{i=1}^N \bar{\rho}_i$$

What I have noticed is, the average realised sample correlation is disproportionally often lower than the target correlation, i.e. $$\bar{\rho} < \rho$$ I would have expected $\bar{\rho} \approx \rho$.

Below are a few sample plots, which highlight this effect (with 3 out of 4 paths lower than 50%, and 1 path around 50%):

enter image description here Source Code to generate graph: zerobin

Question: Does anybody know why this is the case? Or am I generating random variables incorrectly?


1 Answer 1


Sample correlation is known to be a biased estimator.

Biased estimators are perfectly acceptable, and many common estimators are biased, such as:

  1. Sample standard deviation $s$

  2. Logistic regression maximum likelihood estimators

  • $\begingroup$ In your code example, you use N=50. Increase to a higher number (say 500, 5000) to see that the estimator will converge. $\endgroup$ May 4 at 19:31
  • $\begingroup$ @Kermittfrog I did not give any code. Which example do you mean? // Consistent estimators can be biased. Unbiased estimators have their expectation equal to the true value no matter the sample size. $\endgroup$
    – Dave
    May 4 at 20:40
  • $\begingroup$ my comment was meant to second your answer, it was directed at the OP. Sorry for not making that clear enough. $\endgroup$ May 5 at 3:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.