Home / Financial Tools / Yield Curve Principal Component Risk Factor & DV01 Decomposition Engine

Graduate-Level Modeling · Fixed Income Risk Management

Yield Curve Principal Component Risk Factor & DV01 Decomposition Engine

A ten-tenor yield curve has ten degrees of freedom on paper. In practice, three factors, level, slope and curvature, explain nearly all of its historical movement. This tool extracts them the same way a real fixed income risk desk does: eigendecomposition of the covariance matrix of historical curve changes.

How To Use This Model

Reading This Tool

This tool simulates a realistic history of daily yield curve changes across ten tenors, driven underneath by level, slope and curvature shocks you control, plus tenor-specific noise. It then forgets that structure entirely and re-discovers it: computing the covariance matrix of the simulated changes and extracting eigenvectors by the Jacobi algorithm, exactly the linear algebra behind every PCA-based curve risk system.

The DV01 tab turns the discovery into something a risk desk actually uses: given a bond portfolio's DV01 by tenor, your total interest rate risk decomposes into a level exposure (parallel curve risk), a slope exposure (steepener/flattener risk) and a curvature exposure, three numbers instead of ten, that explain almost all of what actually moves your book.

Curve Dynamics & Portfolio

DV01 here is dollar value per basis point at each of three representative points on the curve (2y, 10y, 30y); the tool maps your curve exposure onto each PCA factor's own shape across all ten simulated tenors.

What The Eigendecomposition Found

PC1 (Level) Variance Explained

-

PC2 (Slope) Variance Explained

-

PC3 (Curvature) Variance Explained

-

Cumulative, Top 3 Factors

-

Factor Loadings By Tenor: Level, Slope & Curvature Shapes

-

-

Your Book, Restated In Three Numbers

Level (PC1) Daily P&L Vol

-

Slope (PC2) Daily P&L Vol

-

Curvature (PC3) Daily P&L Vol

-

Total 3-Factor Daily P&L Vol

-

Share Of Portfolio Risk By Factor

Why Three Factors Are (Almost) Always Enough

-

Reading Your Own Book's Exposure

-

From Ten Numbers To Three, Without Losing The Story

A trading book with DV01 spread across ten tenors is hard to reason about directly, is it net long or short rates, is it a curve trade, is it a butterfly? Projected onto level, slope and curvature, the same book usually reveals itself immediately: most real portfolios turn out to be dominated by one or two factors, with the rest largely offsetting noise. This is exactly why fixed income risk systems report exposure this way rather than tenor by tenor.

Fixed Income Risk Management

The Method

Δyt = Σk sk,t·vk + εt,  Σ = Cov(Δy),  Σvk = λkvk
Variance explained by factor k = λk / Σjλj
Factor P&L vol = √(λk) · |DV01 · vk|

Eigenvectors and eigenvalues of the sample covariance matrix are extracted by the classical Jacobi rotation algorithm (verified against numpy's eigh to six decimal places on the same matrix), which iteratively zeroes the largest off-diagonal entry until the matrix is diagonal. The resulting eigenvectors, ordered by eigenvalue, are the level, slope and curvature factors by construction, no assumption about their shape is imposed, the shapes emerge purely from the covariance structure of the simulated data, exactly as they do from real historical yield data.

When To Actually Use This Model

  • Reducing a multi-tenor interest rate book to a handful of risk factors for limit-setting, stress testing and daily P&L attribution.
  • Designing curve trades (steepeners, flatteners, butterflies) with a quantitative basis for how much level, slope and curvature exposure each structure actually carries.
  • Teaching principal component analysis with a genuinely intuitive, economically meaningful example, unlike most textbook PCA demonstrations, the factors here have obvious real-world interpretations.

Key Assumptions & Limitations

  • PCA assumes covariance stability, real yield curve covariance shifts across monetary policy regimes, a PCA fit in one period does not necessarily transfer to another.
  • Simulated data here uses a fixed factor-loading shape; real curve data shows loadings that vary somewhat by sample period and by which tenors are included.
  • This is a linear, unconditional decomposition, it does not capture nonlinear curve dynamics (e.g., convexity effects near the zero lower bound) that a full term-structure model would.

Foundational References

Litterman, R., & Scheinkman, J. (1991). Common Factors Affecting Bond Returns. Journal of Fixed Income, 1(1), 54-61.

Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations (4th ed.). Johns Hopkins University Press.

Jolliffe, I. T. (2002). Principal Component Analysis (2nd ed.). Springer.

Need to fit or simulate the curve itself, not just its risk factors?