Macaulay Duration Calculation Walkthrough
Macaulay Duration Calculation Walkthrough
Summary: Duration tells you the weighted average time until you receive a bond's cash flows. This walkthrough shows exactly how to calculate Macaulay duration step by step, interpret the result, and connect it to modified duration for price sensitivity analysis.
What Macaulay Duration Actually Measures (Why It Matters)
Duration answers a deceptively simple question: when do you get your money back? Not the face value at maturity, but the present-value-weighted average time across all cash flows. A 10-year bond paying a 5% coupon does not have a duration of 10 years (the final principal payment is just one piece of the puzzle).
The point is: duration measures time exposure to interest rate risk. A bond with duration of 4.571 years behaves, from a rate-sensitivity perspective, roughly like a zero-coupon bond maturing in 4.571 years. The longer the duration, the more vulnerable the bond to rising rates.
Investors need this metric because maturity alone misleads. Two 10-year bonds with different coupons have different durations, meaning different price volatility when yields move. The 1994 Bond Market Massacre demonstrated this brutally: 20-year Treasuries lost -20.5% while 1-3 year Treasuries declined less than 5%. Same asset class, radically different duration exposure.
The Formula (Breaking It Down)
Macaulay duration uses this construction:
MacDur = Sum(t x PV of Cash Flow at t) / Sum(PV of all Cash Flows)
In plain terms: multiply each cash flow's time period by its present value weight, then sum. The denominator is just the bond's price (total present value of all cash flows).
The mathematical expression:
MacDur = (Sum from t=1 to n of t x CF_t / (1+y)^t) / Price
Where:
- t = time period (year 1, year 2, etc.)
- CF_t = cash flow at time t (coupon or coupon + principal)
- y = yield to maturity per period
- Price = sum of all discounted cash flows
The unit is years. This number tells you the center of gravity of the bond's cash flows on a timeline.
Full Worked Example: 5-Year 5% Coupon Bond
Setup: Consider a $1,000 face value bond with a 5% annual coupon, maturing in 5 years, currently priced at $1,100 (trading at a premium). The yield to maturity works out to 2.82%.
Step 1: Map the Cash Flows
| Year | Cash Flow | Description |
|---|---|---|
| 1 | $50 | Coupon payment |
| 2 | $50 | Coupon payment |
| 3 | $50 | Coupon payment |
| 4 | $50 | Coupon payment |
| 5 | $1,050 | Final coupon + principal |
Step 2: Discount Each Cash Flow
Using the 2.82% YTM as the discount rate:
| Year | Cash Flow | PV Factor | Present Value |
|---|---|---|---|
| 1 | $50 | 0.9726 | $48.63 |
| 2 | $50 | 0.9459 | $47.30 |
| 3 | $50 | 0.9200 | $46.00 |
| 4 | $50 | 0.8948 | $44.74 |
| 5 | $1,050 | 0.8704 | $913.92 |
Total Present Value: $1,100.59 (approximately the market price)
Step 3: Calculate Weights
Each cash flow's weight equals its PV divided by total PV:
| Year | Present Value | Weight (PV/Total) |
|---|---|---|
| 1 | $48.63 | 4.42% |
| 2 | $47.30 | 4.30% |
| 3 | $46.00 | 4.18% |
| 4 | $44.74 | 4.07% |
| 5 | $913.92 | 83.07% |
Notice the asymmetry: Year 5 dominates because it includes the $1,000 principal repayment. This is why duration for coupon bonds is always less than maturity (the early coupons pull the weighted average forward).
Step 4: Compute Weighted Time
Multiply each year by its weight:
| Year (t) | Weight | t x Weight |
|---|---|---|
| 1 | 0.0442 | 0.0442 |
| 2 | 0.0430 | 0.0860 |
| 3 | 0.0418 | 0.1255 |
| 4 | 0.0407 | 0.1627 |
| 5 | 0.8307 | 4.1536 |
Macaulay Duration = 0.0442 + 0.0860 + 0.1255 + 0.1627 + 4.1536 = 4.571 years
Interpreting the Result (The Durable Lesson)
That 4.571-year duration means: on a present-value-weighted basis, you receive your cash flows in 4.571 years on average. For a 5-year bond, this makes intuitive sense (duration less than maturity because of interim coupon payments).
Why this matters: this bond behaves like a 4.571-year zero-coupon bond from an interest rate sensitivity standpoint. When rates rise, the price drops roughly in proportion to duration. The causal chain:
Rates rise -> Future cash flows worth less in PV terms -> Bond price falls -> Duration determines magnitude
The CFA Institute curriculum emphasizes this point: duration is the first-order approximation of price sensitivity to yield changes (convexity handles the second-order effects for larger moves). Source: CFA Institute, 2025. Yield-Based Bond Convexity and Portfolio Properties.
From Macaulay to Modified Duration (The Bridge to Price Sensitivity)
Macaulay duration measures time. Modified duration measures percentage price sensitivity. The conversion is straightforward:
Modified Duration = Macaulay Duration / (1 + y)
For our example:
- Macaulay Duration = 4.571 years
- YTM = 2.82%
- Modified Duration = 4.571 / 1.0282 = 4.445
The interpretation: for a 100 bps (1%) increase in yield, the bond price falls approximately 4.445%.
Dollar impact on our $1,100 bond: -$48.90 price decline for a 1% rate increase.
This is why duration matters for portfolio construction. During the 2022-2023 Fed hiking cycle, yields rose +236 bps on the 10-year Treasury. The Bloomberg Aggregate Bond Index (duration around 6 years) returned -13.01% in 2022. The math connected directly: higher duration meant larger losses as rates climbed from near-zero to over 5%.
Detection Signals: You're Calculating Wrong If...
You're likely making calculation errors if:
- Your duration exceeds maturity. Impossible for option-free bonds (the weighted average time cannot exceed the final payment date)
- Coupons are ignored. Zero-coupon bonds have duration equal to maturity; any coupon bond must have lower duration
- Discount factors don't decline. Each subsequent year's PV factor must be smaller than the previous (compounding effect)
- Weights don't sum to 100%. The individual cash flow weights must add to 1.0 (or 100%)
Essential Checklist for Macaulay Duration Calculation
- Identify all cash flows and their timing (coupons plus principal)
- Use the correct YTM for discounting (not coupon rate)
- Verify present values sum to approximately the market price
- Multiply time by weight for each period, then sum
High-Impact Refinements
- Convert to modified duration for price sensitivity analysis
- Compare duration to investment horizon for immunization decisions
- Check if bond has embedded options (which require effective duration instead)
When Macaulay Duration Falls Short
The calculation assumes:
-
Parallel yield curve shifts. If only the 5-year point moves while 2-year stays flat, duration misses the nuance. Key rate duration handles non-parallel shifts (a topic the curve risk article covers in depth).
-
No embedded options. Callable bonds have cash flows that depend on rate paths. Effective duration (using scenario analysis) replaces Macaulay/modified duration for these securities.
-
Small rate changes. For moves beyond 100 bps, convexity adjustments matter. A 20-year bond with duration 12 and convexity 180 shows duration-only error of approximately 0.9% on a 100 bp move.
Quick Reference: Duration by Bond Type
| Bond Category | Typical Duration |
|---|---|
| Treasury Bills | < 1 year |
| Intermediate Treasuries | 3-7 years |
| Long Treasuries (10+ years) | 10-20+ years |
| Bloomberg US Aggregate Index | 6.0 years (current) vs 4.97 years (long-term average) |
| Investment Grade Corporates | ~8 years |
| Agency MBS | 5.18 years (March 2022) |
Source: Hartford Funds, 2025. Duration of the Bloomberg US Aggregate Bond Index; DoubleLine, 2022. Advantages of Agency Mortgage-Backed Securities.
The point is: know your duration exposure before you experience a rate shock, not after. The 2022 bond market reminded investors that duration works in both directions, and the Bloomberg Agg's above-average duration amplified losses when the Fed moved aggressively.
Test Your Understanding
The test: If a 7-year bond with a 6% coupon trades at par (100), its duration is approximately 5.9 years. Can you explain why it's lower than 7 years? (Hint: the coupon payments pull the weighted average forward from the final principal payment.)
Duration is mechanical once you understand the weights. The discipline is applying it consistently, recalculating as rates change, and recognizing when modified duration needs a convexity adjustment for larger yield moves.