The price of a bond can vary because:

  • the yield curve changes

  • the flow of time (the time to maturity is reducing, for example compare a 1 year ZC bond with a 0.5 year ZC bond)

How can I quantify the effect of each precisely?


Modified Duration and Convexity measure a bond's first- and second-order sensitivity to yields. With small changes in yield, duration is often sufficient since the change due to convexity will be much smaller. With larger yield changes, convexity can have a impact.

Sensitivity to time is more complicated mathematically, and there's not as much practical application, but in general, bonds tend to move toward par (100%) as time passes, all else being equal. So if the current price is close to par, there won't be much sensitivity to time passing.


There is no way to write anything in mathematical notation on this exchange. If it were me I would either construct regressions using the method of maximum likelihood or a Bayesian method because you could incorporate the present value formula directly in the regression. You cannot run separate regressions because it would be inaccurate.


Consider Bond A and Bond B both with the same coupon and the same redemption date. But send Bond B forward in time as closer to redemption.

Calculate the price of the Bond A with the yield of Bond B and note the change in price. Then calculate the price of the original Bond A with the remaining time of Bond B and note the change in price.

The results begin two separate graphs. One graph of Bond A price changing with yield and another graph of Bond A price changing with time.

Calculating bond price is not too difficult. Calculating yield from bond price is more difficult and therefor I previously posted an alternative bond pricing method that has a direct inverse. But an alternative bond pricing only works within its own system.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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