Portfolio Duration
A portfolio's Macaulay duration is just the value-weighted average of its holdings' individual durations — the same money-weighted-average idea, applied one level up.
By the end you'll be able to compute a portfolio's duration as a present-value-weighted average of its components, and explain why that average — and any single cash flow's own duration — shifts as time passes.
Predict: shifting more value into the longer-duration bond — does the portfolio duration rise toward it? Drag the weight slider and check the balance point.
Two bonds sit on the beam below at their own durations, Bond A and Bond B. The triangle beneath the beam marks the portfolio duration — the value-weighted average, and literally the point where the beam balances. Drag the weight slider to shift value between the two bonds and watch the balance point slide; drag either duration slider to reposition a bond on the beam. Hover or focus a bond for its exact numbers.
D_port = 50% × 2.00y + 50% × 8.00y = 5.00 years
Note: a single fixed cash flow's own Macaulay duration equals its time to payment — the whole weight sits at one point, so there's nothing to average. And every duration on this page — a single bond's or the portfolio's — drifts as the calendar moves forward, even if the weight slider never budges.
A portfolio's price is just the sum of its holdings' prices, and duration is a present-value-weighted average of time — so the portfolio's duration is the value-weighted average of the durations sitting inside it.
For holdings with prices \(P_1, \ldots, P_k\) and durations \(D_1, \ldots, D_k\), the portfolio price is \(P = \sum_k P_k\), and because differentiation is linear (\(dP/di = \sum_k dP_k/di\)), the portfolio duration is
\(D_{port} = \sum_k \dfrac{P_k}{P}\cdot D_k\)
The weights \(P_k/P\) must be market-value shares — not face amounts, not bond counts. This holds for Macaulay or modified duration alike, as long as you don't mix the two in one weighted sum. At the other extreme, a single fixed cash flow \(C\) at time \(t\) has price \(C\cdot v^t\) and Macaulay duration \(D_{mac} = (t\cdot C\cdot v^t)/(C\cdot v^t) = t\) — its whole weight sits at one point, so the "average" is just that one time.
An insurer holding a mix of short zero-coupon bonds and long corporate bonds doesn't care about each bond's duration in isolation — it cares about the one number that summarizes the whole book's interest-rate exposure. A large, long-duration holding can dominate that number even if it's outnumbered by smaller, shorter bonds, which is exactly why weighting by dollars invested — not by how many bonds you hold — is the rule that keeps the summary honest.
A portfolio holds a 2-year zero-coupon bond (price \(100\cdot v^2 = 90.703\)) and an 8-year zero-coupon bond (price \(100\cdot v^8 = 67.684\)) at yield \(i = 5\%\). Total price \(P = 90.703 + 67.684 = 158.387\). Weights: \(w_A = 90.703/158.387 = 0.5727\), \(w_B = 0.4273\).
\(D_{port} = 0.5727(2) + 0.4273(8) = 1.145 + 3.418 =\) 4.564 years
That's below the simple average of 5 — pulled toward the shorter bond because its lighter discounting leaves it with more present value, and hence more weight.
Same setup, different maturities: a 3-year zero-coupon bond (price \(100\cdot v^3 = 86.384\)) and a 10-year zero-coupon bond (price \(100\cdot v^{10} = 61.391\)) at \(i = 5\%\). Total price \(P = 86.384 + 61.391 = 147.775\). The 3-year bond's weight is \(86.384/147.775 = 0.5845\), so the 10-year bond's weight is \(1 - 0.5845 = \) ____. Now finish it: \(D_{port} = 0.5845(3) + \) ____ \(\times 10 = \) ____
Reveal the answer
10-year weight \(= 1 - 0.5845 = 0.4155\). \(D_{port} = 0.5845(3) + 0.4155(10) = 1.7535 + 4.155 = \) 5.91 years. Set Bond A duration = 3, Bond B duration = 10, and the weight slider to 58% on the interactive above, and check the readout lands near 5.91.
More info — why duration keeps moving even when nothing is traded
Two forces reshape duration on their own. First, time passing: as the calendar advances, every remaining payment is closer, so its time-to-payment shrinks and the nearer cash flows pick up relative weight — duration generally drifts down as maturity approaches. Second, yield changes: modified duration is itself a function of the yield, so when yields fall, distant cash flows lose less value to discounting and gain relative weight, pushing duration up (and the reverse when yields rise) — that curvature of duration with respect to yield is exactly what convexity measures. Because both the horizon and the yield keep moving, a duration figure — for one bond or a whole portfolio — is a snapshot valid only at the instant and rate it was computed, which is why duration-matched strategies need periodic rebalancing.
Check your understanding
A portfolio holds Bond A (present value $200, Macaulay duration 4 years) and Bond B (present value $300, Macaulay duration 12 years). What is the portfolio's Macaulay duration?
An advisor averages a portfolio's duration by weighting each block of bonds by how many bonds it holds, not by present value. She holds 10 zero-coupon bonds due in 1 year (present value $9,500 total) and 10 zero-coupon bonds due in 9 years (present value $4,000 total). Why is her number-weighted duration wrong?
A portfolio has Macaulay duration \(D_{mac} = 6.4\) years at yield \(i = 5\%\). Using \(D_{mod} = D_{mac}/(1+i)\) and \(\Delta P/P \approx -D_{mod}\cdot\Delta i\), estimate the percentage price change if the yield rises by 0.50 percentage points.
You compute a portfolio's Macaulay duration today. Six months pass, no trades happen, and yields stay unchanged. Is that duration figure still exactly valid?
Recap
- Portfolio duration is the value-weighted average of the holdings' own durations: \(D_{port} = \sum_k (P_k/P)\cdot D_k\).
- Weights are market-value shares \(P_k/P\) — never face amounts or bond counts.
- A single fixed cash flow's Macaulay duration equals its time to payment: for \(C\) at time \(t\), \(D_{mac} = t\).
- Duration drifts as time passes (nearer cash flows gain weight) and as yields change (distant cash flows gain or lose relative weight) — a duration figure is a snapshot, not a constant.
Dive deeper
- General Cash Flows, Portfolios, and Asset Liability Management — SOA Exam FM (AnalystPrep) Establish that portfolio duration is the weighted average of component durations.
- Properties of Duration — CFA Level 1 (AnalystPrep) Review how duration varies with coupon, yield, and time to maturity.
Sources
- Portfolio Duration and How Duration Moves