Marginal Risk Contributions with a Factor Covariance Model
Summary
The document derives portfolio risk and marginal risk contributions under a factor model. Asset returns are represented by factor exposures plus specific residual risk, giving the asset covariance matrix as the factor covariance projected through the loading matrix, plus a diagonal matrix of idiosyncratic variances. Portfolio variance follows by applying the weights to that covariance matrix, and portfolio standard deviation is its square root.
The accepted answer corrects the derivative with respect to the asset weights: multiply the asset covariance matrix by the weight vector and divide by portfolio standard deviation. The resulting marginal contributions satisfy the risk aggregation check that the weight-weighted sum equals total portfolio standard deviation. This is an analytical result under the stated covariance structure and consistent vector conventions. The document does not provide data, numerical validation, or a separate derivation of marginal contributions attributable to individual factors.
Key ideas
- Factor-model asset covariance combines systematic factor risk and specific risk.
- Portfolio variance is the weighted quadratic form of the asset covariance matrix.
- Marginal risk contribution is the covariance matrix times the weight vector, divided by portfolio standard deviation.
- Weighting and summing asset marginal contributions recovers total portfolio risk.
- The document does not derive separate marginal contributions for individual factors.
Tags
Full text
# Marginal Risk Contribution under Factor structure
# Marginal Risk Contribution under Factor structure
Given the factor structure below with K factors, the return for N assets is given by (under matrix notation):
$R =\alpha + \beta F + \epsilon$
where $F$ is matrix of K factor returns and $\beta$ is matrix of NxK factor loadings and $\epsilon \sim N(0,\Omega)$. The return on a portfolio of those N stocks with weight vector $w$ can be written as:
$Ptf = wR = w\alpha + wBF + w\epsilon$
Taking the expectation and variance yields:
$E[Ptf] = w\alpha + w \beta E[F]$
$V[Ptf] = (w\beta)\Sigma (w \beta)^T + w\Omega w^T$
Where $\Sigma$ is the covariance matrix of the factors and $\Omega$ is the diagonal covariance matrix of specific risk component.
It follows that the standard deviation of the portfolio is: $\sigma_{ptf}=\sqrt{V[Ptf]}$
I am interested in the marginal risk contribution $MRC$ of the stocks, but also the factors to the portfolio. My derivation of $MRC$ which I obtained by generalizing the common case of no factor structure is as follows:
$MRC = \partial \sigma_{ptf} /\partial w = (w\beta\Sigma \beta^T + w\Omega)/\sigma_{ptf} $
My problem arises when I compute $MRC$ using the the equation above. In fact when I re-compose the risk using the weights, I do not find it is equal to the portfolio risk. Any help is appreciated. I will upload sample code shortly.
## Answer by Kermittfrog (score 1, accepted)
https://quant.stackexchange.com/a/71404
Let $\mathbf{w}$ denote the $N\times 1$ vector of portfolio weights, $B$ the $N\times K$ factor loading matrix, $\Sigma$ the $K\times K$ matrix of factor covariances and $\Omega$ the $N\times N$ diagonal matrix of idiosyncratic risks.
Then the $N\times N$ matrix of asset variances is
$$ \Sigma_N=B\Sigma B^T+\Omega $$ and the portfolio variance is $$ \sigma_p^2=\mathbf{w}^T\Sigma_N\mathbf{w}=\mathbf{w}^TB\Sigma B^T\mathbf{w}+\mathbf{w}^T\Omega \mathbf{w} $$
The MRC vector, defined as $\mathbf{v}=\partial \sigma_p/\partial \mathbf{w}$ is:
$$ \mathbf{v}\equiv\frac{\partial \sigma_p}{\partial \mathbf{w}}=\frac{B\Sigma B^T\mathbf{w}+\Omega \mathbf{w}}{\sigma_p} $$
Clearly, if you now compute $\mathbf{w}^T\mathbf{v}$, you obtain $\sigma_p$, the portfolio risk.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.