I'm trying to apply the output from PCA analysis I've run on some yield curve history and am getting a bit confused. I have followed the steps below,
- From a history of the yield curve ($m \times n$ where $m$ are the days and $n$ are the tenor points) I derive the daily returns
- Calculate a covariance matrix from the daily returns
Calculate the eigenvectors and eigenvalues that correspond to the covariance matrix. The first two eigenvectors (principal components) are,
Tenor PC2 PC1 1Y -0.15028 0.05154 2Y -0.32138 0.13310 3Y -0.41856 0.20852 5Y -0.41465 0.26116 7Y -0.33315 0.29555 10Y -0.19980 0.31919 15Y -0.04874 0.33416 20Y 0.08760 0.34173
PC1 explains 85% of the variance and PC2 explains 11%, so these two components are enough for the purposes of my analysis.
What I would like to do is measure the amount the yield curve moves if I assume the 5Y point moves by exactly one unit with every point moving in the same direction (the move exactly described by PC1).
To do this I calculate a shift to the yield curve using the following expansion, $ \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]$
where,
- $\textbf{SD}$ is the standard deviation matrix of size $n \times n$ where $n$ is the number of tenors, the diagonal value is the square root of the diagonal of the covariance matrix and zeros everywhere
- $\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 unit shift 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.
This is the output,
0.071660453
0.336473214
0.707324248
1
1.204548309
1.340536029
1.429582409
1.489268877
However, some other references suggest that I can use the eigenvectors as weights directly. If I do that and scale the results of the PC1 vector so that the 5Y element is exactly 1, I get this result,
0.197343561
0.509633359
0.798451041
1
1.131677872
1.222203892
1.279510769
1.308506297
So my question simply is - which result is correct? Is it the first one or the second, which is simply a linear scaling of the eigenvector?
Thank you in advance.