Bond Mathematics

Bonds are often described as simple instruments: lend money today, receive coupons periodically, get your principal back at maturity. But beneath this apparent simplicity lies a rich mathematical framework that governs how bonds are priced, how sensitive they are to interest rate changes, and how they can, under the right conditions, become vectors of systemic financial risk.

This blog builds that framework from the ground up. We begin with the most fundamental idea in finance “that money received tomorrow is worth less than money received today” and from that single premise, we construct the entire machinery of bond pricing and risk management. We then close with one of the most dramatic examples of how that mathematics played out in the real world: the convexity-driven feedback loops of 2008.

Each section builds on the last. By the end, you will understand not just how to calculate a bond’s price, yield, or duration, but why those calculations work, what assumptions underlie them, and where they break down.

Present Value & Discounting

The time value of money

The foundational premise of all fixed-income mathematics is that a dollar received in the future is worth less than a dollar received today. This is true for three compounding reasons: inflation erodes purchasing power, there is an opportunity cost to capital (money in hand can be invested), and future cash flows carry uncertainty.

If we have a discount rate r representing these factors, then the present value of a single cash flow C received t years from now is:

PV=C(1+r)tPV = \frac{C}{(1 + r)^t}

The term 1(1+r)t\frac{1}{(1 + r)^t} is the discount factor. It tells us what one unit of currency, received t years hence, is worth in today’s terms. As t increases or r increases, the discount factor falls, and the present value shrinks.

Pricing a bond’s full cash flow stream

A standard coupon bond delivers a series of periodic coupon payments, typically semiannual, plus a par value (face value) at maturity. If the bond has a face value of F, an annual coupon rate c, pays m times per year, matures in T years, and we use a discount rate r (also quoted per annum), then the total number of periods is n = T × m and the coupon per period is:

C=cFmC = c * \frac{F}{m}

The fair price P of the bond is the sum of the present values of all these cash flows:

P=t=1nC(1+rm)t+F(1+rm)nP = \sum_{t=1}^{n} \frac{C}{(1+\frac{r}{m})^t} + \frac{F}{(1+\frac{r}{m})^n}
P=C(1(1+rm)n)rm+F(1+rm)nP = C * \frac{(1 − (1 + \frac{r}{m})^{−n})}{\frac{r}{m}} + F * (1 + \frac{r}{m})^{−n}

An Example:

Consider a 5-year bond with face value $1,000, a 6% coupon paid semiannually, and a discount rate of 8% per annum.

  • n=10n = 10, C=30C = 30, rm=4%\frac{r}{m} = 4\%
  • Annuity PV = 30 × [1 − (1.04)^(−10)] / 0.04 = 30 × 8.1109 = $243.33
  • Par PV = 1000 × (1.04)^(−10) = 1000 × 0.6756 = $675.60
  • Price = $243.33 + $675.60 = $918.93

The bond prices below par because the discount rate (8%) exceeds the coupon rate (6%). Investors demand a lower entry price to compensate.

Clean price vs. Dirty price

The formula above gives the dirty price, the full economic value of the bond, including accrued interest since the last coupon date. In practice, bonds are quoted at their clean price, which doesn’t include the accrued interest. When you buy a bond between coupon dates, you pay the dirty price, but it is quoted to you as the clean price. The relationship is simply:

Dirty Price = Clean Price + Accrued Interest

Yield to Maturity

Given a market price P for a bond, we can ask the inverse question: what single discount rate, applied uniformly to all cash flows, would reproduce that price? That rate is the Yield to Maturity (YTM).

Formally, YTM is the internal rate of return (IRR) of the bond — the rate y that satisfies:

P=t=1nC(1+ym)t+F(1+ym)nP = \sum_{t=1}^{n}\frac{C}{(1 + \frac{y}{m})^{t}} + \frac{F}{(1 + \frac{y}{m})^n}

This equation is structurally identical to the pricing equation, but now P is known (it’s the market price) and y is the unknown. The YTM is the value of y that makes both sides equal.

No closed-form solution

For bonds with more than one coupon period remaining, this equation is a polynomial of degree n in (1+ym)(1 + \frac{y}{m}). Polynomials of degree five or higher have no general closed-form solution (by Abel’s impossibility theorem), so YTM must be found numerically. The two most common approaches are bisection and Newton-Raphson iteration.

Newton-Raphson iteration

Newton-Raphson uses the derivative of the price function with respect to yield to refine successive guesses. Starting from an initial estimate yθy_{\theta}:

yn+1=ynP(yn)PmarketP(yn)y_{n+1} = y_{n} − \frac{P(y_{n}) − P_{market}}{P'(y_{n})}
Iterative YTM Calculation – Step by Step

For our 5-year, 6% coupon bond now priced at $950 (we want the implied yield):

  1. Start with initial guess: yθy_{\theta} = 0.07 (7%). Compute P(0.07)958.42P(0.07) ≈ 958.42. This is too high.
  2. Compute P'(0.07), the price sensitivity. Update: y1=0.07(958.42950)P(0.07)0.0719y₁ = 0.07 − \frac{(958.42 − 950)}{ P'(0.07)} ≈ 0.0719.
  3. Compute P(0.0719)950.05.P(0.0719) ≈ 950.05. Close enough. One more iteration converges to y7.21%y ≈ 7.21\%.
YTM’s key assumptions and limitations

YTM is a deeply useful summary statistic, but it rests on two assumptions that are almost certainly false in practice:

Flat yield curve: YTM applies the same discount rate to all cash flows, regardless of their timing. In reality, short-dated and long-dated cash flows should be discounted at different rates reflecting the shape of the yield curve. A bond’s YTM conflates all these rates into one.

Reinvestment assumption: YTM implicitly assumes that all coupon payments received will be reinvested at exactly the YTM rate for the remaining life of the bond. In practice, reinvestment rates vary with market conditions, making the realized return generally different from the YTM.

Limitation due to the above assumptions

YTM should be understood as a yield measure, not as a return forecast. It tells you the rate that equates price to cash flows today; it does not tell you what you will actually earn over the holding period.

Spot Rates & Bootstrapping

The limitation of YTM for pricing

Since YTM uses a flat discount rate for all maturities, it is an imprecise tool for pricing bonds in a world where the yield curve has a shape. The theoretically correct approach is to discount each cash flow at the rate appropriate for its maturity – the spot rate for that period.

A spot rate sts_{t} is the yield on a zero-coupon bond maturing at time t. It represents the pure time-value of money for that horizon, with no reinvestment ambiguity. The arbitrage-free price of any bond is:

P=t=1nCFt(1+st)tP = \sum_{t=1}^{n} \frac{CF_{t}}{(1 + s_{t})^t}
Bootstrapping the zero curve

Liquid zero-coupon bonds rarely exist across all maturities. Instead, we observe prices of coupon bonds in the market and bootstrap spot rates from them sequentially. The procedure exploits the fact that a coupon bond is simply a portfolio of zero-coupon bonds.

Bootstrapping — Step-by-Step Example

Suppose we observe the following par-priced bonds (price = face value = 100):

BondMaturityCouponPrice
A1 Year5%100
B2 Year6%100
C3 Year7%100
YearCalculationSpot Rate
1Bond A has one cash flow: 105 at maturity. Since price = 100, we get 100=105(1+s1)100 = \frac{105}{ (1 + s₁)}s1=5.00%s_{1}=5.00\%
2Bond B pays 6 at year 1 and 106 at year 2. Discount the year-1 coupon using s₁: PV₁ = 6 / 1.05 = 5.714. The remaining value must be discounted at s₂: 1005.714=106/(1+s2)2100 − 5.714 = 106 / (1 + s₂)²s2=6.03%s_{2}=6.03\%
3Bond C pays 7 at years 1 and 2, and 107 at year 3. Discount years 1 and 2 using s₁ and s₂s3=7.07%s_{3} = 7.07\%

As it can be seen from the spot rates, the curve is upward sloping.

Uses of the spot rate curve

Once constructed, the spot rate curve (also known as zero curve) becomes the foundation for arbitrage-free valuation of all fixed-income instruments. It allows traders to identify bonds that are cheap or rich relative to the curve, to price interest rate derivatives, and to build forward rate curves that reveal the market’s implied expectations about future short-term rates.

The spot curve is the true risk-free term structure. Every coupon bond can be decomposed into a portfolio of zero-coupon bonds, each priced using the appropriate spot rate. Any deviation from this pricing creates an arbitrage opportunity.

Macaulay Duration and Modified Duration

We know that bond prices fall when yields rise. But by how much? The answer depends on the bond’s maturity, coupon rate, and yield level. We need a single number that captures this sensitivity — a measure of a bond’s interest rate risk. That measure is duration.

Macaulay duration (MacD)

Frederick Macaulay defined duration as the weighted average time to receive bond’s cash flows, where the weights are the present values of each cash flow as a fraction of the bond’s total price. Formally:

DMac=t=1ntPV(CFt)PD_{Mac} = \sum_{t=1}^{n} t * \frac{PV(CF_{t})}{P}
=t=1ntCFt(1+ym)tP= \sum_{t=1}^{n}t * \frac{CF_{t}} {(1 + \frac{y}{m})^t * P}

The units of Macaulay duration are years. A zero-coupon bond has a Macaulay duration exactly equal to its maturity (since there is only one cash flow). A coupon bond has a Macaulay duration less than its maturity, because the coupons pull the weighted-average receipt date earlier.

An example for the readers:

A 3-year, 10% annual coupon bond, face value $100, YTM = 8%.

t(Years)CFPV(CF)Weight (w)t * w
1109.260.08680.0868
2108.570.08030.1606
311087.320.83292.4987
Total2.746

Price=9.26+8.57+87.32=105.15.Price = 9.26 + 8.57 + 87.32 = 105.15. MacD=0.0868+0.1606+2.4987=2.746MacD =0.0868 + 0.1606 + 2.4987 = 2.746

Modified Duration

Modified duration is defined as:

DMod=1PΔPΔyD_{Mod} =-\frac{1}{P}*\frac{ΔP}{Δy}

Macaulay duration and modified duration can be related as below:

DMod=DMac1+ymD_{Mod} = \frac{D_{Mac}}{1 + \frac{y}{m}}

Modified duration tells us the percentage price change of the bond for a one-unit (100 basis points) change in yield. For our example above, at YTM=8%:DMod=2.7461.08=2.543.YTM = 8\%: D_{Mod} = \frac{2.746}{1 .08} = 2.543. A 100bps rise in yield would decrease the bond’s price by approximately 2.543%.

Dollar Duration and DV01

In trading, it is often more useful to think in absolute dollar terms rather than percentages. Dollar Duration (DD) is simply Modified Duration multiplied by the bond’s price:

ΔPDModPΔy=DDΔyΔP ≈ − D_{Mod} * P * Δy = − DD * Δy
DV01=DModP0.0001DV01 = D_{Mod} * P * 0.0001

DV01 (Dollar Value of 1 basis point) is the workhorse of interest rate risk management on trading desks. It measures how much money you make or lose for a 1bps change in yield – a direct, actionable risk quantity.

Duration falls as coupon rates rise (higher coupons pull cash flows forward in time). Duration rises as maturity increases. Duration falls as yields rise (higher discount rates reduce the relative weight of distant cash flows).

Convexity & Taylor’s Expansion

Why duration is only an approximation

The modified duration approximation ΔPPDModΔy\frac{ΔP}{P} ≈ −D_{Mod} * Δy assumes a linear relationship between price and yield. But the true price-yield relationship is a curve, a convex curve. For small yield changes, the linear approximation is adequate. For large yield changes, it systematically underestimates the price increase when yields fall, and overestimates the price decline when yields rise.

To capture this curvature, we can use Taylor’s expansion:

Any sufficiently smooth function can be approximated locally by its Taylor series. For the bond price function P(y), expanding around the current yield yθy_{\theta}:

P(yθ+Δy)P(yθ)+P(yθ)·Δy+½·P(yθ)·(Δy)2P(y_{\theta} + Δy) ≈ P(y_{\theta}) + P'(y_{\theta})·Δy + ½·P”(y_{\theta})·(Δy)²
ΔPP(yθ)·Δy+½·P(yθ)·(Δy)2ΔP ≈ P'(y_{\theta})·Δy + ½·P”(y_{\theta})·(Δy)²

We already know that P(y)P=DMod.\frac{P'(y)}{P} = −D_{Mod}. The second derivative P(y)P”(y), normalized by price, gives us the convexity:

C=P(y)P=t=1nt(t+1)·CFtP·(1+y)t+2C = \frac{P”(y)}{ P }= \sum_{t=1} ^{n} t(t+1)·\frac{CF_{t}}{ P·(1+y)^{t+2}}

For semiannual compounding (substituting y/2 and adjusting the formula), convexity is divided by 4. Plugging back into the Taylor expansion gives the full price approximation:

ΔP/PDMod·Δy+½·C·(Δy)2ΔP/P ≈ − D_{Mod}·Δy + ½·C·(Δy)²
Why convexity is always positive for vanilla bonds

The convexity term ½·C·(Δy)2 ½·C·(Δy)² is always positive for a plain-vanilla bond (since (Δy)² is always positive and C is positive). This means the bond always gains more from a fall in yields than it loses from an equivalent rise in yields, a property called positive convexity.

Geometrically, the price-yield curve of a bond is always bowed toward the origin. The duration approximation uses a tangent line, which lies below the true curve on both sides. Convexity corrects for this gap.

An example to illustrate the importance of convexity:

Take a 10-year, 6% coupon bond at YTM = 6% (priced at par = $100). Suppose DMod=7.36D_{Mod} = 7.36 and C=68.78C = 68.78. For a 200bps yield rise:

  • · Duration only: ΔP/P7.36×0.02=14.72%ΔP/P ≈ −7.36 × 0.02 = −14.72\%Price85.28Price ≈ 85.28
  • · Duration + Convexity: ΔP/P14.72%+½×68.78×(0.02)2=14.72%+1.38%=13.34%ΔP/P ≈ −14.72\% + ½ × 68.78 × (0.02)² = −14.72\% + 1.38\% = −13.34\%Price86.66Price ≈ 86.66
  • · Actual price (computed exactly):86.59 ≈ 86.59

The convexity correction closes much of the gap between the linear approximation and the true price.

Positive convexity as an advantage and its cost

Positive convexity is intrinsically valuable. A bond with higher convexity will outperform a bond with lower convexity (and the same duration) in both rising and falling rate environments. All else equal, the market prices this benefit in higher convexity bonds trade at lower yields (higher prices). Investors pay for convexity.

The value of convexity increases with yield volatility. The more rates move around, the more valuable it is to hold a bond that profits asymmetrically from large moves. This is why convexity is closely linked to options, both derive value from volatility.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top