PCA Factor Model for Yield Curve Risk
Let $r_t \in \mathbb{R}^m$ be the vector of daily changes at $m$ yield-curve nodes (e.g., 2y, 5y, 10y, 30y), and let $\hat{\Sigma}$ be their sample covariance matrix. You want to build a 3-factor model using PCA.
- Define the factor returns $f_t = V^\top r_t$, where $V \in \mathbb{R}^{m \times 3}$ contains the top 3 eigenvectors of $\hat{\Sigma}$ as columns. Show that $\text{Cov}(f_t) = \Lambda_3$, the diagonal matrix of the top 3 eigenvalues, when the columns of $V$ are orthonormal.
- Suppose you have a portfolio with key-rate DV01 exposure vector $e \in \mathbb{R}^m$. Compute the factor exposures $V^\top e$ and define the residual exposure. What fraction of the portfolio's variance is explained by the 3-factor model?
- Explain how you would stress-test the portfolio using shocks aligned with the PCA factors. What does "rotation ambiguity" mean for factor interpretation, and why does it matter less in practice for yield curves than for other applications?
Hints
- Start from the definition $\text{Cov}(f_t) = V^\top \hat{\Sigma} V$ and use the fact that $\hat{\Sigma} v_i = \lambda_i v_i$ for each eigenvector.
- For the factor exposures, decompose the rate vector as $r_t = VV^\top r_t + (I - VV^\top) r_t$ and apply $e^\top$ to both sides to split the P&L into explained and residual components.
- Rotation ambiguity means any orthogonal rotation within the eigenspace spans the same subspace -- but for yield curves, the well-separated eigenvalues and natural level/slope/curvature shapes make the decomposition essentially unique.
Worked Solution
How to Think About It: PCA on yield curve changes is probably the most practically important decomposition in fixed-income risk. The first three principal components -- level, slope, and curvature -- typically explain 95-99% of yield curve variation. When someone asks you about PCA factors for rates, they want to see that you understand three things: (1) the math of why eigenvectors diagonalize covariance, (2) how to map a portfolio's node-level risk into factor risk, and (3) why the "rotation ambiguity" that plagues PCA in other settings is less of a problem here because the factors have natural economic interpretations.
Part 1: Factor covariance is diagonal
We need to show that if $V = [v_1 \mid v_2 \mid v_3]$ where each $v_i$ is an eigenvector of $\hat{\Sigma}$ with eigenvalue $\lambda_i$, and the columns are orthonormal ($V^\top V = I_3$), then $\text{Cov}(f_t) = \Lambda_3$.
The factor returns are $f_t = V^\top r_t$. Their covariance is:
$\text{Cov}(f_t) = V^\top \text{Cov}(r_t) V = V^\top \hat{\Sigma} V$
Now compute the $(i,j)$ entry:
$(V^\top \hat{\Sigma} V)_{ij} = v_i^\top \hat{\Sigma} v_j = v_i^\top (\lambda_j v_j) = \lambda_j (v_i^\top v_j)$
By orthonormality, $v_i^\top v_j = \delta_{ij}$, so:
$(V^\top \hat{\Sigma} V)_{ij} = \lambda_j \delta_{ij}$
This gives $\text{Cov}(f_t) = \text{diag}(\lambda_1, \lambda_2, \lambda_3) = \Lambda_3$.
The factors are uncorrelated, and each factor's variance equals its eigenvalue. This is exactly why PCA is useful -- it produces uncorrelated risk factors ranked by the variance they explain.
Part 2: Factor exposures and residual
The portfolio's P&L (to first order) from rate moves is $\Delta P \approx e^\top r_t$, where $e$ is the key-rate DV01 vector.
Decompose $r_t$ into the part explained by the 3 factors and the residual:
$r_t = V f_t + \epsilon_t = V V^\top r_t + (I - V V^\top) r_t$
So the P&L decomposes as:
$\Delta P = e^\top V f_t + e^\top \epsilon_t$
- Factor exposures: $\beta = V^\top e \in \mathbb{R}^3$. The $i$-th component $\beta_i = v_i^\top e$ is the portfolio's sensitivity to factor $i$ (level, slope, curvature).
- Residual exposure: $e_{\text{res}} = (I - V V^\top) e$. This is the part of the portfolio's risk not captured by the 3-factor model -- it lives in the space orthogonal to the first 3 PCs.
The variance explained by the factor model is:
$\text{Var}_{\text{factor}} = \beta^\top \Lambda_3 \beta = \sum_{i=1}^{3} \lambda_i \beta_i^2$
The total variance is $e^\top \hat{\Sigma} e$, so the fraction explained is:
$R^2 = \frac{\sum_{i=1}^{3} \lambda_i \beta_i^2}{e^\top \hat{\Sigma} e}$
For a typical rates portfolio, this is well above 95%. If it is not, the portfolio has significant exposure to higher-order curve reshaping -- a red flag worth investigating.
Part 3: Stress testing and rotation ambiguity
To stress-test using PCA factors, apply a shock of size $s_i$ to each factor and compute the resulting yield curve move:
$\Delta r = \sum_{i=1}^{3} s_i v_i$
A common choice is $s_i = k \sqrt{\lambda_i}$ for some multiplier $k$ (e.g., $k = 2$ for a roughly 2-standard-deviation move). The portfolio impact is:
$\Delta P = e^\top \Delta r = \sum_{i=1}^{3} s_i \beta_i$
You can also stress individual factors in isolation (e.g., a pure level shock $\Delta r = s_1 v_1$) to see which factor dominates the risk.
Rotation ambiguity refers to the fact that PCA only identifies the eigenspace, not a unique set of basis vectors within it. Any orthogonal rotation $\tilde{V} = V Q$ (where $Q$ is a $3 \times 3$ orthogonal matrix) spans the same subspace and explains the same total variance. The rotated factors $\tilde{f}_t = Q^\top f_t$ are still uncorrelated (since $Q^\top \Lambda_3 Q$ need not be diagonal, this is only true if $Q$ commutes with $\Lambda_3$, which happens when eigenvalues are distinct and $Q$ is just sign flips). More precisely, when eigenvalues are distinct, the eigenvectors are unique up to sign. The real ambiguity arises when eigenvalues are close or degenerate.
For yield curves, rotation ambiguity matters less because the eigenvalues are well-separated (the first PC explains roughly 80-90% of variance, the second 5-10%, the third 2-5%) and the eigenvectors have natural shapes -- roughly flat (level), linearly sloped (slope), and humped (curvature). These shapes are stable across different time periods and currencies, so the factors have robust economic meaning without needing ad hoc rotation.
Answer: (1) $\text{Cov}(f_t) = V^\top \hat{\Sigma} V = \Lambda_3$ by orthonormality of eigenvectors. (2) Factor exposures are $\beta = V^\top e$, residual exposure is $(I - VV^\top)e$, and the fraction of variance explained is $\sum \lambda_i \beta_i^2 / (e^\top \hat{\Sigma} e)$. (3) Stress-test by shocking along eigenvectors scaled by $\sqrt{\lambda_i}$; rotation ambiguity is minor for yield curves because eigenvalues are well-separated and factors map to level/slope/curvature.
Intuition
PCA on yield curve changes is the workhorse of fixed-income risk management because the covariance structure of rates is remarkably low-dimensional. Three factors -- level, slope, and curvature -- capture almost all the variation, and this is not a statistical accident. It reflects the fact that central banks primarily move the level of rates, the term premium drives the slope, and supply/demand dynamics at intermediate maturities create curvature. When you map a portfolio's key-rate DV01s into these three factor exposures, you compress an $m$-dimensional risk vector into three numbers a risk manager can actually act on.
The deeper lesson is about the gap between statistical and economic meaning. PCA gives you uncorrelated factors ranked by variance explained, but it does not promise those factors mean anything. For yield curves, we are lucky -- the factors happen to align with economic drivers, so the decomposition is both statistically efficient and economically interpretable. In other domains (equity factor models, for instance), the PCA factors are often uninterpretable garbage, and you need to rotate them (Varimax, Promax) or abandon PCA entirely in favor of economically motivated factors. Knowing when PCA "just works" versus when it needs help is the mark of a practitioner who has actually built models, not just read about them.