I'm trying to learn to bootstrap and am taking some bonds from the Treasury curve:


For some reason the zero rate I'm ending up with for the 1.5 year bond (cell B19) is less than the YTM of that bond (cell F4). This doesn't make sense because it is an upward sloping curve. Am I misunderstanding something about bootstrapping?

  • $\begingroup$ Does this help? $\endgroup$
    – Kurt G.
    Apr 16, 2022 at 16:02
  • $\begingroup$ I would recommend you use Prices (not YTMs) in your calculations and at the end do not compare the Spot Rate for 10/31/2023 to the YTM of the coupon bond as it is likely meaningless due to quirks in the YTM calculation and non 6 month periods. The PV of the final CF is 971.6-1.875*(994/1000)-1.875*(984.1/1000) no ytm used. YTMs and continuous time spot rates are different animals and should not be mixed together. YTM uses $\frac{1}{(1+y/2)^n}$ spot rate uses $(1+r)^T$ in your case or $e^{rT}$ as I prefer. $\endgroup$
    – nbbo2
    Apr 16, 2022 at 18:14

1 Answer 1


You are mixing up your time fractions. you used 0.5 and 1 for 6M and 1Y respectively, but calculated the 18M rate using actual year fractions (~1.545) instead of 1.5. Hence the lower value.

You should instead calculate the PV of the coupons using the actual year fractions for 6M and 1Y (~.49 and ~.93 resp.) and then use the actual year fraction for 18M OR use 6M = 0.5 consistently (although this is, strictly speaking, incorrect - unless you are using 30/360 day count convention and your payment dates come out to 180 days apart)

you can find a version of your spreadsheet here with edits in orange demonstrating the two approaches.


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.