Skip to content
All library documents

Reconstructing Historical Bond Duration from Prices

Article Quant Q&A · Author: michael

Summary

The document asks how to estimate a bond’s historical duration using its current duration and a record of daily prices. The answer treats each historical date as a separate valuation: identify the settlement date, retrieve that date’s price, and infer the yield corresponding to that price with a spreadsheet’s yield function.

It then reprices the bond at yields one basis point above and below the inferred yield, using the resulting price changes to estimate interest-rate sensitivity. This approach relies on historical bond terms and settlement conventions being available and correctly entered; the excerpt gives little detail on coupon schedules, day-count conventions, or the precise duration calculation. Its closing reference to DV01 is terse and potentially ambiguous, so users should distinguish the price sensitivity estimate from duration and ensure units and scaling are handled consistently.

Key ideas

  • Historical duration can be estimated by valuing the bond separately at each date of interest.
  • Use the historical settlement date and bond price to infer that date’s yield.
  • Reprice at yields one basis point above and below to estimate price sensitivity.
  • Correct bond terms and settlement conventions are needed for meaningful estimates.
  • The excerpt does not clearly distinguish the DV01 estimate from duration itself.

Tags

Full text
# Calculate historical duration based on current duration & historical prices


# Calculate historical duration based on current duration & historical prices












Suppose I have today current duration of a bond and it's historical daily prices. How from that I can calculate the historical duration? e.g. the value of duration I would saw if yesterday, week ago, 43 days ago I checked?

(I know the exact formulas for duration are not trivial, but let's say reasonable approximation I can enter as formula to Excel).

Thanks,

## Answer by JoshK (score 1)

https://quant.stackexchange.com/a/26353

You will use the YIELD() and PRICE() functions in Excel. There's really no difference between historic duration calculation and current. You just need the price and settle day. Here's how you do it:

- Get the settlement day for the day that you are interested. For TSY's it's the next business day.

- Get the price on the day you care about.

- Use YIELD() to get the effective yield for that day.

- Use PRICE() to get the price for a yield 1bp higher and 1bp lower.

## 4-your original price is your dv01.

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.