Skip to content
All library documents

Projecting Yield Curve Changes onto Principal Components

Article Quant Q&A · Author: Kiann

Summary

The note describes an attempt to explain daily EUR swap yield-curve changes using three principal components, commonly interpreted as level, slope, and curvature moves. The author forms daily tenor changes, estimates a covariance matrix from a one-year sample, extracts eigenvectors, and tries to reconstruct a particular day’s curve move by weighting the three component shapes. The reported weights are correlations between that day’s realized move and each component, but the resulting estimate is far from the observed changes.

The central methodological issue raised is how to obtain coefficients that actually reconstruct a move. Correlations are standardized association measures, not generally the projection coefficients needed to express a vector in a component basis; scaling, centering, and the convention used for PCA loadings also matter. The note does not supply a resolution or test results validating a corrected method. Its setup also mentions using uncentered moves, which affects covariance-based PCA, and selecting a limited historical window may make estimated components unstable. It is a troubleshooting question rather than a completed empirical analysis.

Key ideas

  • PCA can summarize yield curve changes as a small set of component shapes.
  • Correlations between a daily move and components are not generally reconstruction weights.
  • Projection coefficients depend on component scaling and the PCA convention used.
  • Whether yield moves are centered affects the covariance matrix and resulting components.
  • The note identifies a reconstruction mismatch but does not validate a corrected procedure.

Tags

Full text
# PCA predicted yield curve moves do not match (closely) realized yield curve moves


# PCA predicted yield curve moves do not match (closely) realized yield curve moves












I have a need to set-up a methodology to decompose the x-day yield curve moves into its underlying (3) PCAs. Specifically, for an example, to generate the 1-day moves in the EUR-swap yield curve; then explain each day's moves in terms of the 3 PCA's I have generated.

I have found that my PCA-based moves do not correspond to the realized moves; and I am not sure what I might have done wrong in my calculation methodology. My understanding is that, for a specified yield-curve move (from 1yr to 30yr), the moves across the term can be estimated from

yield(T) = w1 * PCA1(T) + w2 * PCA2(T) + w3 * PCA3(T)

where for example, w1, w2, w3 are the weights for each PCA1, 2 and 3. T is the tenor of the yield-rate, such as 1yr, 2yr... 30y.

My methodology is as follows

- extract EUR swap yield-rate data April 2016 - April 2019 (from 1yr to 30yr)

- extract 1-day move (absolute basis pt change)

- Extract sample set of 252 days (i.e. from April 2018 - April 2019).

- Generate the co-variance matrix of the term-structure movement (without removing the mean of the moves)

- Generate the eigenvalues, and eigenvectors (used python Numpy for this). Use the dominant 3 PCA, which is the parallel, twist and bowing movements. See picture of my PCA's below.

For the 1st day of my realized yield-move (such as 10th April 2019), I calculate the correlation between realized moves and PCA1, PCA2, PCA3. I obtain the following correlations : w1 = 0.70, w2 = 0.396, w3 - -0.342

With these weights, I should have been able to estimate the realized move, such that 1yr move = w1 * PCA1(1yr-pt) + w2 * PCA2(1yr-pt) + w3 * PCA3(1yr-pt).

However, my estimation is quite far off. I am not sure if my methodology had anything missing. I referred to some existing threads, but couldn't find something that addressed my practical calculations.

Applications of PCA to yield curve analysis

Principal component analysis for yield curve

Attributing the change in NII to Shift, Twist and Butterfly

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.