Ultimately I'm trying to calculate stdev contribution, but I've hit a hurdle.

What I have:

20x20 correlation matrix for various assets

Standard deviations for each asset

Returns for each asset

Weights corresponding to various portfolios

What I've derived:

Covariance Matrix

Variance/Stdev for each of the portfolios

What I want:

Risk contributions for each asset in each portfolio, but that requires correlation of each asset to each individual portfolio.

So that's my hang up. I can't seem to figure out how to calculate Covar(asset,portfolio) or correl(asset,portfolio).


1 Answer 1


If $\Sigma$ is the covariance matrix of all assets and $w$ is the column vector of weightings of the asset in a certain portfolio. Then $$ w^T \Sigma w = VAR $$ is the variance of the portfolio. The contribution to volatility of asset $i$ is given by $$ w_i (\Sigma w)_i/\sqrt{VAR}, $$ where $(\Sigma w)_i$ is the $i_{th}$ entry in the vector $\Sigma w$.

Note that $(\Sigma w)_i$ is the covariance of the asset $i$ to the porfolio with weights $w$.

You can read more details in the following working paper and the references therein: http://arxiv.org/abs/1009.3638

Proof: Write $r_p = \sum_{j=1}^n w_j r_j$, where $r_p$ is the portfolio return, then $$ cov(r_i,\sum_{j=1}^n w_j r_j) = \sum_{j=1}^n w_j cov(r_i,r_j) = (\Sigma w)_i. $$

  • $\begingroup$ I think thats only true for $\rho=0$ or independent returns, because your formula is issuming that $VAR=\sum VAR_i$. $\endgroup$
    – emcor
    Jul 9, 2014 at 16:08
  • $\begingroup$ Yes, in this case there is correlation. So the portfolio variance is the weight vector * covariance matrix * transpose of weight vector $\endgroup$
    – Matt
    Jul 9, 2014 at 17:38
  • $\begingroup$ This answer seems right to me. $\endgroup$ Jul 9, 2014 at 22:14
  • $\begingroup$ No guys. I use the whole covariance matrix. Nowhere I assume anything about its shape. Read the paper or text books about risk contributions to volatility or the Euler allocation principle. $\endgroup$
    – Richi Wa
    Jul 10, 2014 at 7:03
  • $\begingroup$ @emcor this is wrong, I don't assume this. I use the linearity of covariance which is correct. See the proof. $\endgroup$
    – Richi Wa
    Jul 10, 2014 at 7:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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