PCA Hedge
Please follow the steps below and build everything in Python.
Curve Interpolation
First thing is to get the curve ready. Please get the Treasur yield curve data as of 10/27/2025 at the 14 points from the U.S. Department of the Treasury website
Interpolate the data to get a continuous curve function so that you can query the yield at any year fraction (10 pts)
Portfolio Delta Ladder
Download TLT holdings as of 10/27/2025 from here
I downloaded the data from TLT product page > Holdings > Detailed Holdings and Analytics
Please filter out cash and money market fund (MMF). There are 44 T-bonds left
Make a bond pricing function to compute the PV of a specific bond (20 pts)
First compute all coupon dates
For this exercise you may ignore the calendar noise from weekends and holidays and just assume, for example, 8/15/2051 minus 6M is 2/15/2051
Multiply the coupon rate by notional, both given in the holdings data, and divide by 2 (as the coupon rates are annual, while the bonds pay coupon semiannually)
Find PV (clean price) of the bond which is sum of all discounted cash flows, including all coupon payments and the notional payment in the end. You will have to compute the discount factors from the curve we prepared
Make a bond pricing function to do so for you
Compute the portfolio Delta ladder by first generating 14 scenario curves and run your bond pricing functions on them (10 pts)
Curve PCA and Hedge
Get curve data from 9/1/2025 - 10/27/2025, perform PCA and find PCs and scores
Hedge out PC1:
Compute the Delta ladder of a 10y ZCB as of 10/27/2025
Recall that the answer is known in closed form. Go with the closed form. Do not generate scenario curves for this specific question
If you want to hedge out PC1 risk, what’s the notional of 10y ZCB you should use? (20 pts)
Now add the 10y ZCB to your portfolio and write down the new Delta ladder. You will have Delta ladder before and after hedge
Get curve data from 10/28/2025 and compute the PnL with and without the Hedge (10 pts)
Hedge out both PC1 and PC2:
Now forget about the PC1 hedge. Let’s get back to the portfoilo Delta ladder you computed from the previous section
Compute the Delta ladder of a 2y ZCB as of 10/27/2025
Same as before, do not generate scenario curves for this
If you want to hedge out both PC1 and PC2 risk, what’s the notionals of 10y and 2y ZCB you should use? (20 pts, 10 each)
Now add the hedge (both 10y and 2y) to your portfolio and write down the new Delta ladder. You will have Delta ladder before and after hedge
Get curve data from 10/28/2025 and compute the PnL with and without the Hedge (10 pts)