I have computed the PCs for daily changes in the UST yield curve over the last 5 years using the covariance matrix and can explain 94% of the variance using the first two components, which is good enough for what I'm doing.

The first component is level with each tenor implying a move in the same direction. What I'm struggling with is how to interpret this in terms of a 'DV01 equivalent' move. Let's say that I have a swap position that has a DV01 of $100k. My goal is to determine the PC1 equivalent of this number, which I think will be a more realistic measure that as each point will move in the same direction, but not necessarily by 1 basis point.

I do the following: a) determine an anchor point (e.g. 5Y) and reformulate the PC1 in terms of a 5Y equivalent, as I think that the tenor that will most likely move by 1bp is the 5Y tenor; b) I then determine the shift applied to the rest of the yield curve using the following formulation below,

$ \textbf{PC1} = \Bigg[ \textbf{SD} \cdot \bigg[ \textbf{P} \cdot \big[ \textbf{Sc} \cdot \textbf{SD} \cdot \textbf{P} \big] ^ {-1} \bigg] \Bigg] \cdot \big[1\big]$


  • $\textbf{SD}$ is the standard deviation matrix of size $n \times n$ where $n$ is the number of tenors
  • $\textbf{P}$ is the first Principal Component vector, which is simply the eigenvalues of the covariance matrix of the daily returns of size $n \times 1$
  • $\textbf{Sc}$ is a scalar vector that represents a 1bp shock at the 5Y point, so is a $n \times 1$ vector with 0 at each element apart from 1 at the corresponding 5Y tenor

The output of the above expansion does indeed lead to an $n \times 1$ vector that has a shift for every tenor and exactly 1 at the 5Y point, so the result does appear to be correct.

However, I just wanted to confirm that I was thinking of this correctly. The following vectors are the first two PCs,

PC2     PC1
-0.15028    0.05154 
-0.32138    0.13310 
-0.41856    0.20852 
-0.41465    0.26116 
-0.33315    0.29555 
-0.19980    0.31919 
-0.04874    0.33416 
0.08760     0.34173 
0.19759     0.34324 
0.27930     0.34002 
0.33455     0.33347 
0.37023     0.32502 

I have assumed the vector $\textbf{Sc}$ is $[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]$.

So if the 5Y tenor corresponds to the 4th element in the vector, the equivalent 5Y PC1 measure result (in basis points),

PC1 5Y equivalent (bps)

So am I right in saying that the result above is more realistic as a risk measure than DV01 in that if the 5Y point moves by 1bps, the long end will move by 1.4-1.5bps and the short end by 0.7bps?

Thank you.

  • $\begingroup$ If you can show the nx1 vector we can eyeball it for correctness. The 10yr sector should be pretty close to the 5yr. 0.95 or something. $\endgroup$
    – dm63
    Feb 10 '19 at 13:47
  • $\begingroup$ dm63, I've added the information you requested. $\endgroup$
    – insomniac
    Feb 15 '19 at 21:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.