Decomposing Portfolio Variance into Principal Component Contributions
Summary
The document describes how to attribute a portfolio’s variance to principal components derived from the covariance matrix of asset returns. PCA expresses that covariance matrix using eigenvectors and eigenvalues. Projecting portfolio weights onto the eigenvector basis transforms the portfolio variance into a sum of component contributions, each determined by its eigenvalue and squared projected weight. Dividing an individual contribution by total portfolio variance gives its share.
The answer connects this calculation to principal portfolio returns: in the eigenvector basis, their covariance matrix is diagonal, with the eigenvalues on the diagonal. This makes the variance contributions separable by component. The explanation assumes an orthogonal eigenvector matrix and a covariance matrix consistent with the returns and portfolio weights being analyzed. It offers a conceptual calculation rather than a worked numerical example, and the source material referenced for further detail is not reproduced in the document.
Key ideas
- PCA diagonalizes the return covariance matrix into eigenvectors and eigenvalues.
- Portfolio weights can be projected onto the eigenvector basis to obtain component exposures.
- Each component contributes its eigenvalue multiplied by the square of its projected portfolio weight.
- A component’s percentage contribution is its variance contribution divided by total portfolio variance.
Tags
Full text
# Calculating Variance Explained from PCA Loadings
# Calculating Variance Explained from PCA Loadings
I have a return history for a universe of risky assets and I've run a principal component algorithm and obtained a loadings matrix (num_factors by num_assets) for the first 5 factors.
I have a portfolio as well (a subset of the above universe) with weights w for each of the assets. This portfolio has a variance \sigma^2. How do I figure out the percentage of the variance in the portfolio that comes from factor 1?
## Answer by Richi Wa (score 7, accepted)
https://quant.stackexchange.com/a/11178
PCA gives you a decomposition of the covariance matrix of the form $$ \Sigma = V \Lambda V^T $$ where $\Lambda$ is diagonal with the eigenvalues in the diagonal. Your portfolio variance is $$ w^T \Sigma w = (V^T w )^T \Lambda (V^T w) $$ On the other hand if you take your return matrix $R$ and define $$ F = V^T R $$ then the covariance matrix of these so called principle portfolios is $\Lambda$. You find this here by Meucci.
In fact he writes $V^{-1} R$ for the return of principle portfolios and defines the weights $w^* = V^{-1} w$ for the weight of the original portfolio on the principle portfolios.
He then defines $v_n = (w^*)^2 \lambda_n^2$ for the contribution of the n-th principle portfolio to the portfolio variance. If you relate this to the total volatility of the portfolio then you are done. Note that $V$ is orthogonal which means that $V^{-1} = V^T$.
I recommend to read the following white paper or this blog entry or this to get more details.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.