Calculating Asset Risk Contributions from Portfolio Covariance
Summary
The document explains how to calculate each asset’s contribution to a portfolio’s volatility from the covariance matrix and portfolio weights. For covariance matrix Σ and weight vector w, portfolio variance is wᵀΣw. The covariance between asset i and the portfolio is the ith entry of Σw, because the portfolio return is a weighted sum of asset returns. Multiplying that covariance by the asset’s weight and dividing by portfolio standard deviation gives the asset’s volatility contribution.
The explanation includes an algebraic proof using the covariance of one asset’s return with the weighted sum of portfolio returns. It addresses the question of how to relate an individual asset to a portfolio, and applies when the covariance estimates and portfolio weights are specified. The document does not discuss estimation error, time-varying covariance, or alternative risk contribution conventions, so those considerations are outside its scope.
Key ideas
- Portfolio variance is the quadratic form of the covariance matrix and the portfolio weights.
- The vector Σw contains each asset’s covariance with the portfolio.
- An asset’s volatility contribution is its weight times its portfolio covariance, divided by portfolio volatility.
- The covariance relationship follows from linearity of covariance applied to the weighted portfolio return.
Tags
Full text
# Correlation of asset to portfolio, given certain variables
# Correlation of asset to portfolio, given certain variables
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).
## Answer by Richi Wa (score 5)
https://quant.stackexchange.com/a/12993
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. $$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.