I am attempting estimate the 99% 10-day VaR of an investment grade bond due to changes in the US yield curve. The data provided is the daily prices of the bond over time. In addition I have the Daily treasury yield curve rates.

I understand how to carry out a historical simulation for the 99% VaR, however this will give the VaR due to all risk factors not just the changes in yield curve.

So far I have calculated the n-1 scenarios for returns of the bond and the changes in yields for each maturity but cannot figure out how to continue, any help would be appreciated.

  • $\begingroup$ What about breaking the bond out to a constant z spread (or one of your preference, depending on your curve move) and running your analysis that way? $\endgroup$
    – Kch
    Apr 5, 2021 at 3:14

1 Answer 1


Something like the following is likely to be acceptable to whoever looks at your VaR methodology.

Convert your historical (clean) price to yields of your bond (remember to use the right historical settlement date). I think for this exercise you can get away with ignoring the convexity and also ignoring the accrued, cost of financing, and other P&L due to passage of time. I.e. assume that the yield01 * the change in your bond's yield is the entire P&L.

Calculate the sensitivity of today's price to 1 basis point change in yield.

On each historical date, you have a change in your bond's yield, decomposed into the change in the benchmark yield and the change in your bond's spread to benchmark. These are your two market factors. Multiplying the latter two changes by today's sensitivity to 1bp yield change tells you each factor's contribution to the P&L under this historical scenario. To get the VaR, you sort the net P&Ls and take the 99th percentile. You can use marginal/component VaR to see how much comes from each market factor.

This approach would have problems if the historical yields are very different from the yield now.

  • $\begingroup$ Hi Dimitri, Thank you for taking the time to help me. I just have a few follow up questions. By converting the historical price data to yields is this equivalent to the returns of the bond each day? Also calculating the sensitivity of todays price to 1 basis point change in yield, is this for each US treasury yield separately or do I run the regression of price on all the changes in US treasury yields (1 month, 2 month.... 30 years) $\endgroup$
    – Daniel
    Apr 5, 2021 at 8:39
  • $\begingroup$ hi. You said you're given historical prices (rather than yields) for your bond. The daily returns (ignoring the daily accrued and coupon payments) is simply the change in (clean) price. A bond's yield is not a daily return, but an annualized figure that relates the price on a given settlement date to the remaining cash flows. It usually involves solving iteratively for a root of a polynomial. You'd need a tool to automate this tedious calculation. (If instead of historical bond prices you were given historical yields, then you'd need to convert yields to prices in order to get daily returns) $\endgroup$ Apr 5, 2021 at 11:45
  • $\begingroup$ calculating the sensitivity of todays price: nothing to do with treasury yield. Suppose today the price of your bond is 99.5 and (you calculate) this means the yield is 0.75%. Now suppose the yield went down 0.74% (bump down 1 basis point). Suppose you recalculate the price from this perturbed yield to be 99.734. Now you ignore the non-linearity of the yield to price relationship and assume that for every 1bp decrease in yield, you price goes up 0.234. Now if you have a historical scenario where treasury benchmark yields rose 3bp, and your bond's spread over treasury benchmark widened (cont) $\endgroup$ Apr 5, 2021 at 11:53
  • $\begingroup$ further 1bp, then your estimated P&L under this scenario is (3+1)*0.234. (It would not be hard to include convexity, i.e. 2nd term of Taylor expansion, in this P&L estimate, if required.) $\endgroup$ Apr 5, 2021 at 11:55
  • 1
    $\begingroup$ using yield01 + epsilon sensitivities to treasuries and the original yield01 to the bond's spread over treasuries; and the original yield01 sensitivity to the spread and yield01 + epsilon sensitivities to the spread. Rescaling the change in VaR to 100%, we get two figures that add up to the VaR, and tell us how much each market factor contributed. If we had sensitivities by tenor, then we could likewise see how much each tenor contibuted. $\endgroup$ Apr 5, 2021 at 18:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.