A
AcadiFi
Fixed Incomecfa

Modified Duration Has a Years Unit for a Reason

AcadiFi Editorial·2026-05-21·4 min read

The Real Question Behind Modified Duration

Candidates often accept the price-change shortcut:

Approximate price change percent = -modified duration x change in yield

Then the unit starts to feel odd. If modified duration estimates a percentage price change, why is it quoted in years?

The short answer is that modified duration is a sensitivity ratio:

Modified duration = percent price change / change in annual yield

The numerator is a percentage price change. The denominator is a yield change stated per year. When a ratio divides a percent price move by a per-year yield move, the resulting unit is years. That does not mean modified duration is literally a waiting period in the same way a bond's final maturity is a waiting period. It means the bond behaves as if each 1.00 percentage point annual yield change changes price by roughly the duration percentage.

For example, if a bond has modified duration of 6.40, a 0.30 percentage point increase in yield gives a first-order price estimate of:

-6.40 x 0.0030 = -0.0192 = -1.92%

The 6.40 is quoted in years because it came from the bond's cash-flow timing and yield sensitivity. The estimate converts that years-like sensitivity into a price percentage by multiplying by the annual yield change.

Macaulay Duration Comes First

Macaulay duration is a weighted-average time measure. It asks: when, on average, does the investor receive the bond's present-value-weighted cash flows?

A zero-coupon bond is easy. If it pays only at maturity, its Macaulay duration equals its maturity. A coupon bond pays some value earlier, so its Macaulay duration is shorter than final maturity.

Modified duration adjusts Macaulay duration for the yield environment:

Modified duration = Macaulay duration / (1 + yield per period)

The phrase yield per period matters. If the bond pays semiannual coupons and the quoted yield is annual with semiannual compounding, the denominator uses the semiannual yield, not the full annual quoted yield.

flowchart TD A["Start with bond cash flows"] --> B["Discount each cash flow"] B --> C["Weight each payment by present value"] C --> D["Macaulay duration as weighted timing"] D --> E["Divide by one plus yield per period"] E --> F["Modified duration as price sensitivity"]

That sequence prevents two common mistakes. First, candidates stop treating modified duration as an isolated formula. Second, they see why a higher yield lowers modified duration relative to Macaulay duration: discounting and yield sensitivity are being connected through the conversion.

Worked Example: A Coupon Bond With Semiannual Payments

Northbay Utilities has a bond with four years to maturity, a 5.00% annual coupon paid semiannually, and a yield to maturity of 6.00% compounded semiannually. The bond's Macaulay duration is 3.58 years.

The yield per period is:

6.00% / 2 = 3.00%

The modified duration is:

3.58 / 1.03 = 3.476 years

Now suppose yields rise by 0.40 percentage points, from 6.00% to 6.40%.

Approximate price change:

-3.476 x 0.0040 = -0.0139 = -1.39%

Notice the unit discipline:

  • Macaulay duration is a weighted timing measure.
  • Modified duration is a sensitivity measure.
  • The yield change is annualized.
  • The estimated output is a percentage price change.

If the bond price were 101.25 before the yield move, the estimated new price would be approximately:

101.25 x (1 - 0.0139) = 99.84

The estimate is linear. For larger yield moves, convexity improves the approximation, but the duration logic still starts the analysis.

Price Risk and Reinvestment Risk Move in Opposite Directions

Duration also helps explain why a bond investor's horizon matters.

When yields rise, an existing bond's price falls. That is market price risk. But the investor can reinvest coupon payments at higher yields. That is a reinvestment benefit.

When yields fall, the existing bond's price rises. But coupon reinvestment happens at lower yields.

flowchart LR Y["Yield change"] --> U["Yields rise"] Y --> D["Yields fall"] U --> P1["Bond price falls"] U --> R1["Coupons reinvest at higher rates"] D --> P2["Bond price rises"] D --> R2["Coupons reinvest at lower rates"] P1 --> H["Holding-period return impact"] R1 --> H P2 --> H R2 --> H

Macaulay duration is often taught as the approximate horizon where these two forces offset for a plain fixed-rate bond. If the investor's horizon is near duration, price risk and reinvestment risk tend to balance more closely. If the horizon is much shorter, market price risk dominates. If the horizon is much longer, reinvestment risk becomes more important.

That interpretation is not a license to skip the formula. It is a way to remember what the formula is measuring.

Calculator Checks Should Support the Concept

A calculator can help verify duration by repricing the bond at slightly higher and lower yields. That check is useful because it turns abstract sensitivity into observable price movement.

But the exam risk is using the calculator before deciding which duration concept applies.

Ask three questions first:

  1. Is the prompt asking about weighted cash-flow timing?
  2. Is it asking about price sensitivity to a small yield change?
  3. Is it asking about cash-flow changes from embedded options or prepayment behavior?

Macaulay duration fits the first question. Modified duration fits the second for an option-free bond with small yield changes. Effective duration belongs in the third when cash flows may change as yields change.

Exam Framing

On CFA questions, duration errors often come from unit confusion rather than arithmetic difficulty:

  • Using annual yield in the Macaulay-to-modified conversion when the bond pays semiannually.
  • Forgetting the negative sign in the price-yield relationship.
  • Treating Macaulay duration and modified duration as interchangeable.
  • Interpreting a duration number as exact instead of first-order.
  • Ignoring the investment horizon when price risk and reinvestment risk are both in play.

The clean workflow is:

flowchart TD A["Read the prompt"] --> B{"What is being tested"} B --> C["Timing of cash flows"] B --> D["Small yield sensitivity"] B --> E["Cash flows may change"] C --> F["Use Macaulay duration"] D --> G["Use modified duration"] E --> H["Use effective duration"] G --> I["Estimate price percent change"] F --> J["Assess horizon and reinvestment offset"]

Modified duration has a years unit because it is anchored in cash-flow timing and expressed as sensitivity per annual yield change. Once that is clear, the formula becomes easier to remember and harder to misuse.


Ready to level up your exam prep?

Join 2,400+ finance professionals using AcadiFi to prepare for CFA, FRM, and other certification exams.

Related Articles