Macaulay Duration and Modified Duration: Bond Price Sensitivity

Derive Macaulay and modified duration from a bond's cash flows, interpret the weights, and test the price-change estimate with a worked bond example.

Why does a fixed-rate bond lose value when its yield rises, and how much value should it lose?

The first part is intuitive. A bond’s promised cash flows do not change, but investors discount those cash flows at a higher yield, so their present value falls. Duration turns the second part—how much?—into a useful number.

This article develops two related measures:

  • Macaulay duration is a present-value-weighted average time to receive the cash flows.
  • Modified duration is the local percentage sensitivity of price to a change in the bond’s yield.

The distinction matters. One is a time measure; the other is a price-risk measure derived from it.

Set the assumptions and notation first

Start with an option-free bond whose cash flows are fixed. Let:

  • $CF_t$ be the cash flow paid at the end of period $t$;
  • $y$ be the yield per period, written as a decimal;
  • $n$ be the number of remaining periods; and
  • $P(y)$ be the bond’s full price at yield $y$.

Assume one compounding period per year for now, so $t$ is measured in years. Then

$$ P(y)=\sum_{t=1}^{n}\frac{CF_t}{(1+y)^t}. $$

For a coupon bond, the final $CF_n$ includes both the last coupon and the principal repayment.

This setup is deliberately narrower than saying “the interest rate changed.” Modified duration differentiates price with respect to the bond’s own yield under a stated cash-flow and compounding convention. A benchmark curve shift, a credit-spread change, or a bond with an embedded option may require a different duration measure.

Differentiate price with respect to yield

Differentiate each discounted cash flow:

$$ \frac{dP}{dy} =-\sum_{t=1}^{n}\frac{t\,CF_t}{(1+y)^{t+1}}. $$

Factor out $1/(1+y)$:

$$ \frac{dP}{dy} =-\frac{1}{1+y} \sum_{t=1}^{n}\frac{t\,CF_t}{(1+y)^t}. $$

The derivative is negative for an ordinary bond with positive cash flows. That is the familiar inverse price-yield relationship in calculus form.

Macaulay duration is a weighted average time

Define the present-value weight of cash flow $t$ as

$$ w_t=\frac{CF_t/(1+y)^t}{P}. $$

Because the discounted cash flows add up to the price,

$$ \sum_{t=1}^{n}w_t=1. $$

Macaulay duration is

$$ D_{\mathrm{Mac}} =\sum_{t=1}^{n}t\,w_t =\frac{1}{P} \sum_{t=1}^{n}\frac{t\,CF_t}{(1+y)^t}. $$

So the definition really is a weighted-average payment time. It works like an average age: each time $t$ is multiplied by its share of the bond’s present value.

That interpretation gives several useful checks:

  • A zero-coupon bond has only one payment, so its Macaulay duration equals its maturity.
  • Paying more value earlier—usually through a higher coupon—pulls duration toward the present.
  • For otherwise similar option-free bonds, a longer maturity usually means a longer duration.
  • A higher yield discounts distant cash flows more heavily, usually reducing Macaulay duration.

The weights behave like probabilities only when the relevant cash flows are nonnegative. For instruments with negative or sign-changing cash flows, “weighted average time” needs more care.

Modified duration is the price sensitivity

Divide the derivative by price and use the Macaulay-duration definition:

$$ \frac{1}{P}\frac{dP}{dy} =-\frac{D_{\mathrm{Mac}}}{1+y}. $$

Modified duration is therefore

$$ D_{\mathrm{mod}} \equiv \frac{D_{\mathrm{Mac}}}{1+y} =-\frac{1}{P}\frac{dP}{dy}. $$

For a small finite yield change $\Delta y$, replace the differential with a first-order approximation:

$$ \frac{\Delta P}{P} \approx -D_{\mathrm{mod}}\,\Delta y. $$

This is the formula traders and risk reports use most often. Keep the units straight:

  • a 1 percentage-point change is $\Delta y=0.01$;
  • a 1 basis-point change is $\Delta y=0.0001$; and
  • “a 1% change in yield” is ambiguous unless you say whether you mean one percentage point or one percent of the starting yield.

Worked example: a two-year coupon bond

Consider a bond with:

  • face value USD 1,000;
  • a 9% annual coupon, so the annual coupon is USD 90;
  • two years to maturity; and
  • a 10% yield with annual compounding.

Its cash flows are $CF_1=90$ and $CF_2=1{,}090$. The price is

$$ P =\frac{90}{1.10} +\frac{1{,}090}{1.10^2} =982.6446. $$

The Macaulay duration is

$$ D_{\mathrm{Mac}} =\frac{ 1\left(90/1.10\right) +2\left(1{,}090/1.10^2\right) }{982.6446} =1.9167\text{ years}. $$

The modified duration is

$$ D_{\mathrm{mod}} =\frac{1.9167}{1.10} =1.7425. $$

For a 1 percentage-point rise in yield,

$$ \frac{\Delta P}{P} \approx -1.7425(0.01) =-1.7425\%. $$

Now compare the estimate with exact repricing:

Annual yield Exact price Change from the 10% price Duration estimate
9% USD 1,000.0000 +1.7662% +1.7425%
10% USD 982.6446 — —
11% USD 965.7495 −1.7193% −1.7425%

The estimate is close, but the gains and losses are not perfectly symmetric. Bond price is a curved—not straight—function of yield.

Why the approximation misses: convexity

Modified duration gives the slope of the price-yield curve at the current yield. A tangent line is a good local approximation, but it cannot reproduce curvature.

Including the second derivative gives the familiar convexity adjustment:

$$ \frac{\Delta P}{P} \approx -D_{\mathrm{mod}}\,\Delta y +\frac{1}{2}\mathcal C(\Delta y)^2, $$

where

$$ \mathcal C=\frac{1}{P}\frac{d^2P}{dy^2} $$

under the same yield convention. The larger the yield move, the more this second-order term can matter. Embedded options can also make cash flows change when yields change, so effective duration and effective convexity are often more appropriate for callable or putable bonds.

Semiannual coupons and other compounding conventions

Suppose $y$ is a nominal annual yield compounded $m$ times per year, and cash flow $CF_k$ arrives in period $k$. Then

$$ P(y)=\sum_{k=1}^{N} \frac{CF_k}{(1+y/m)^k}. $$

Macaulay duration measured in years is

$$ D_{\mathrm{Mac}} =\sum_{k=1}^{N}\frac{k}{m}w_k, $$

and modified duration is

$$ D_{\mathrm{mod}} =\frac{D_{\mathrm{Mac}}}{1+y/m}. $$

This is why a formula that simply divides by $1+y$ is incomplete unless the article has already defined $y$ as the yield per payment period.

Dollar duration and PVBP

Modified duration estimates a percentage price change. Multiply by price to express the sensitivity in money:

$$ \Delta P \approx -P D_{\mathrm{mod}}\,\Delta y. $$

For a one-basis-point move, the price value of a basis point is approximately

$$ \operatorname{PVBP} \approx P D_{\mathrm{mod}}(0.0001). $$

For the example bond,

$$ \operatorname{PVBP} \approx 982.6446(1.7425)(0.0001) =0.1712\ \text{USD}. $$

The sign is usually reported separately: price falls when yield rises.

Duration is not yield elasticity

The original lesson also compared duration with elasticity. If yield elasticity is defined as the percentage change in bond price divided by the percentage change in yield, then

$$ \epsilon_{P,y} =\frac{dP/P}{dy/y} =\frac{y}{P}\frac{dP}{dy} =-yD_{\mathrm{mod}}. $$

That identity is correct, but modified duration is usually the more practical risk measure because it uses an absolute yield change. Elasticity becomes awkward near $y=0$ and is not a substitute for stating the yield convention.

A compact checklist

Before using a duration number, ask:

  1. Is it Macaulay, modified, effective, spread, or key-rate duration?
  2. Which yield or curve is being shocked?
  3. Is the yield change in decimals, percentage points, or basis points?
  4. What payment frequency and compounding convention are used?
  5. Are the cash flows fixed, or can an embedded option change them?
  6. Is the yield move small enough for a first-order approximation?

Those questions prevent most duration mistakes.

Source and further reading

This English edition follows the derivation and classroom-average analogy of the original Korean note recorded in the page metadata. It makes the yield and compounding assumptions explicit, corrects the worked example with exact repricing, and adds the convexity, PVBP, and embedded-option limits needed to use duration responsibly.

This is an educational explanation, not a recommendation to buy or sell a security.

Comments

Discussion happens via GitHub Discussions. You'll need a GitHub account to comment.