◆Financial Derivatives — In Progress Please await announcements of new courses and upcoming batches. Course Updates →
The Mountain Path Academy

Bond Portfolio
Immunization

Match the funding horizon. Understand the offsetting risks. Test the hedge when the yield curve changes.

By Prof. V. Ravichandran · Fixed Income Securities · CFA / FRM / MBA · 18 learning sections · 5 Excel caselets

THE MOUNTAIN PATH ACADEMY · FIXED INCOME
Immunization at a Glance
A future liability · A matched portfolio · A monitored hedge
THE CORE IDEA
Price risk and reinvestment risk offset to first order.

Duration matching is local protection under stated assumptions.

Funding
PV assets ≥ PV liabilities
Start with enough capital
Horizon
DMac = H
Classical single-liability model
Exposure
Match DV01
Use dollar sensitivity for assets and liabilities
Curve risk
Test twists
Steepening and flattening matter
Convexity
Control dispersion
Extra curvature is not a complete hedge
Maintenance
Rebalance
Duration and funding drift over time
LEARNING SECTION 01

1. What is bond portfolio immunization?

Bond portfolio immunization means building a bond portfolio that will be worth enough to pay a known future obligation, whether interest rates rise or fall. You are not trying to predict rates. You are arranging the portfolio so that a rate move hurts in one way and helps in another, and the two roughly cancel.

Think of a pension fund that must pay $1,000,000 in five years, an insurer that must settle a claim, or a university that has promised a scholarship. Each has the same question: will the money be there on the day it is needed?

The idea in one line: if the portfolio’s Macaulay duration equals the time until the payment, the loss from a price change and the gain from reinvesting coupons (or the reverse) offset each other for a small, one-time, parallel shift in rates.

By the end of this guide you will be able to:

  1. Explain price risk and reinvestment risk and why they offset at the duration horizon.
  2. Calculate Macaulay duration, modified duration, convexity and DV01.
  3. Build a two-bond portfolio that immunizes a single or multiple liabilities.
  4. Stress-test the portfolio correctly and explain why a small surplus appears.
  5. Recognise when immunization fails: curve twists, duration drift, credit and cash-timing risk.
LEARNING SECTION 02

2. The two risks that offset each other

When interest rates change, a bond investor with a fixed horizon faces two effects that pull in opposite directions.

If yields…Price risk (bonds you must sell)Reinvestment risk (coupons you reinvest)
RisePrices fall, so you sell for less. BadCoupons earn a higher rate. Good
FallPrices rise, so you sell for more. GoodCoupons earn a lower rate. Bad

Which effect wins depends on how long you hold the bond:

Short horizon

You sell soon, before much reinvestment happens. Price risk dominates.

Horizon = duration

The two effects are balanced. They offset.

Long horizon

You reinvest for many years. Reinvestment risk dominates.

Immunization picks the balancing point. The next two sections show how to measure it and why it works.

LEARNING SECTION 03

3. The duration toolkit: Macaulay, modified, convexity and DV01

With annual coupons, let CFt be the cash flow at year t and y the yield. PV(CFt) = CFt / (1 + y)t.

Price  P = Σ PV(CFt)
Macaulay duration  DMac = Σ t × PV(CFt) / P
Modified duration  DMod = DMac / (1 + y)
Convexity  C = Σ t(t + 1) × PV(CFt) / [(1 + y)2 × P]
Price change  ΔP / P ≈ −DMod × Δy + ½ × C × (Δy)2
DV01  = P × DMod × 0.0001
MeasureWhat it tells youUsed for
Macaulay durationThe present-value-weighted average time to the cash flows, in years.Matching the investment horizon.
Modified durationApproximate % price change for a 1-percentage-point (100 bp) change in yield.Price sensitivity.
ConvexityHow much the price–yield curve bends.Improving the estimate for large moves.
DV01Dollar price change for a 1 bp change in yield.Matching dollar exposure of assets and liabilities.

A zero-coupon bond’s Macaulay duration equals its maturity. A coupon bond’s duration is shorter than its maturity because some cash arrives earlier.

Worked example — Bond B from Caselet 1

An 8-year bond paying a 6% annual coupon, priced at par ($1,000) at a 6% yield.

DMac = 6.5824 years · DMod = 6.5824 / 1.06 = 6.2098 · C = 49.15 · DV01 = $0.62 per bond.

If the yield rises by 100 bp: duration alone predicts −6.21%. Adding convexity gives −6.21% + ½ × 49.15 × 0.01² = −5.96%. The exact repriced change is −5.97%.

LEARNING SECTION 04

4. Why holding to the duration horizon works

Suppose the yield moves once, immediately after you buy, from y to a new level q and stays there. Every cash flow can then be carried to the horizon H: cash received before H is reinvested at q, and cash due after H is sold at its price at H.

Wealth at the horizon  WH(q) = Σ CFt (1 + q)H − t = P(q) × (1 + q)H

In words: reprice the bond at the new yield, then grow that value to the horizon at the new yield. Two things move when q rises: P(q) falls (price risk) and (1 + q)H rises (reinvestment). Calculus shows the net effect:

(1 / WH) × dWH / dq = (H − DMac) / (1 + q)
Set H = DMac and the right-hand side is zero. A small rate change, up or down, leaves horizon wealth unchanged to a first approximation. That is immunization.

If H is shorter than duration, wealth falls when rates rise (price risk wins). If H is longer than duration, wealth rises when rates rise (reinvestment wins). This matches the three panels in Section 2.

LEARNING SECTION 05

5. Choosing the weights for a two-bond portfolio

Duration of a portfolio is the market-value-weighted average of the bonds’ durations. With two bonds A and B, solve for the weight that hits the target horizon H:

Dp = wA DA + wB DB
wA = (H − DB) / (DA − DB)    wB = 1 − wA
Quick check with Caselet 1 numbers

H = 5, DA = 3, DB = 6.5824 → wA = (5 − 6.5824) / (3 − 6.5824) = 44.17%, wB = 55.83%.

Check: 0.4417 × 3 + 0.5583 × 6.5824 = 5.00 years.

Three rules to remember:

  1. Use market-value weights, not face values.
  2. The target must lie between the two durations. Otherwise one weight is negative (a short sale) or above 100% (leverage). Choose a different bond instead.
  3. Use the same yield and compounding convention for every duration in the calculation.
LEARNING SECTION 06

6. The three conditions for immunizing a liability

For a liability (or set of liabilities), immunization against a parallel shift requires three things. They are known as the Redington conditions.

ConditionFormulaPlain meaning
1. Enough moneyPVA ≥ PVLAssets today are worth at least the present value of what you owe.
2. Same rate sensitivityPVA × DMod,A = PVL × DMod,LAssets and liabilities gain or lose the same dollars for a small rate move (equal DV01).
3. More curvature in assetsPVA × CA > PVL × CLFor bigger moves, assets gain more or lose less than liabilities.

When PVA = PVL, conditions 2 and 3 simplify to equal duration and higher asset convexity, which is the version used in most textbooks.

Why equal duration is not enough when assets are larger

Assets $1,100,000 and liabilities $1,000,000, both with modified duration 4.5. Asset DV01 = 1,100,000 × 4.5 × 0.0001 = $495; liability DV01 = $450. A rate change moves the two by different dollar amounts. Match DV01, not just duration.

LEARNING SECTION 07

7. Caselet 1: Fund a single liability in five years

An institution must pay $1,000,000 in 5 years. The yield curve is flat at 6%. Two bonds are available, each with $1,000 face value:

  • Bond A: 3-year zero-coupon bond (duration 3 years).
  • Bond B: 8-year bond paying a 6% annual coupon (priced at par).
StepCalculationResult
1. Money needed today1,000,000 / 1.065$747,258.17
2. Bond A price1,000 / 1.063$839.62
3. Bond B durationΣ t × PV(CFt) / P, from its 8 cash flows6.582381 years
4. Weight in A(5 − 6.582381) / (3 − 6.582381)44.1712%
5. Weight in B1 − 44.1712%55.8288%
6. Invest in A747,258.17 × 44.1712%$330,073.02 (393.12 bonds)
7. Invest in B747,258.17 × 55.8288%$417,185.15 (417.19 bonds)
8. Check portfolio duration0.441712 × 3 + 0.558288 × 6.5823815.0000 years

What happens over the five years: Bond A matures at year 3 and its $1,000 face per bond is reinvested for 2 more years. Bond B pays coupons in years 1–5, which are reinvested, and is sold at year 5 with three payments still to come.

LEARNING SECTION 08

8. Stress test: plus or minus 200 basis points

Now test the Caselet 1 portfolio. Keep the number of bonds bought at 6% fixed. Let the yield jump immediately after purchase to a new level and stay there. Then work out what each bond is worth at year 5.

Year-5 wealth from a bond = number of bonds × bond price at the new yield × (1 + new yield)5
Shock (bp)New yieldBond A wealth at year 5Bond B wealth at year 5Total wealth at year 5Surplus over $1,000,000
−2004.00%$425,201.02$575,916.25$1,001,117.27$1,117.27
−1005.00%$433,417.28$566,858.82$1,000,276.10$276.10
06.00%$441,712.16$558,287.84$1,000,000.00$0.00
+1007.00%$450,085.66$550,184.27$1,000,269.93$269.93
+2008.00%$458,537.79$542,530.15$1,001,067.94$1,067.94

Read across a row to see the offset. When yields rise, Bond A’s principal (received at year 3) is reinvested at a higher rate, so Bond A’s wealth goes up. Bond B has to be sold at year 5 at a lower price, so its wealth goes down. When yields fall, the effects reverse. In every case the two changes almost cancel and the liability is still met.

Surplus after an immediate permanent yield shockSurplus is zero at the base yield, about 1,117 dollars at minus 200 basis points and 1,068 dollars at plus 200 basis points.Caselet 1 · Surplus above the $1,000,000 liability$0$400$800$1,200−200−1000+100+200Immediate yield shock (basis points)
Surplus at year 5 for shocks from −200 bp to +200 bp in 50 bp steps. The U-shape is the convexity effect left over after duration matching.
Why is there a small surplus rather than exactly zero? Convexity. The asset portfolio’s convexity is 32.16; the 5-year liability’s is 26.70. A quick estimate is ½ × (32.16 − 26.70) × (Δy)2 × $1,000,000 = $272.97 at ±100 bp and $1,091.88 at ±200 bp, close to the exact figures. Higher-order effects explain why −200 bp gives slightly more than +200 bp.

The result holds for this one-time parallel shift. It does not guarantee the outcome for other rate paths or curve shapes.

LEARNING SECTION 09

9. Caselet 2: Watch price and reinvestment effects cancel

This caselet isolates the two risks using a single bond. Buy a 7-year bond with an 8% annual coupon at an 8% yield (price $1,000). Its Macaulay duration is 5.622880 years, so set the horizon H = 5.622880 years.

By the horizon, five coupons (years 1–5) have been received and reinvested. The remaining two payments (years 6 and 7) are sold at their value at H.

Yield after purchaseReinvested coupons at HSale value at HTotal wealthTarget wealth
7%$479.86$1,061.90$1,541.76$1,541.48
8% (no change)$492.37$1,049.11$1,541.48$1,541.48
9%$505.18$1,036.58$1,541.76$1,541.48

Target wealth = $1,000 × 1.085.622880 = $1,541.48.

At 9%: reinvested coupons rise by $12.80, sale value falls by $12.52. Net effect +$0.28. At 7%: coupons fall by $12.51, sale value rises by $12.80. Net effect again +$0.28. The two risks cancel almost exactly; the tiny gain is convexity.
LEARNING SECTION 10

10. Caselet 3: Immunize multiple liabilities

Payments of $200,000, $400,000 and $500,000 are due in years 2, 4 and 6. The curve is flat at 5%. Treat the three payments as one liability with its own PV and duration.

PVL = Σ Lt / (1 + y)t    DL = Σ t × PV(Lt) / PVL
YearPaymentPV at 5%t × PV
2$200,000.00$181,405.90362,811.79
4$400,000.00$329,080.991,316,323.96
6$500,000.00$373,107.702,238,646.19
Total$1,100,000.00$883,594.583,917,781.94

Liability duration = 3,917,781.94 / 883,594.58 = 4.433913 years. Fund it with 3-year and 7-year zeros:

WeightAmount invested
3-year zero(4.433913 − 7) / (3 − 7) = 64.1522%$566,845.04
7-year zero35.8478%$316,749.55

Check: asset DV01 and liability DV01 both equal $373.12 per basis point, so condition 2 of Section 6 holds.

LEARNING SECTION 11

11. Caselet 4: Bullet versus barbell under a curve twist

Two portfolios have the same duration of 5 years at a flat 5% curve:

  • Bullet: 100% in a 5-year zero.
  • Barbell: 50% in a 1-year zero and 50% in a 9-year zero.
Macaulay durationModified durationConvexity
Bullet5.004.76190527.2109
Barbell5.004.76190541.7234

Each zero is repriced at its own new yield. Returns are immediate price changes:

Scenario1-yr yield5-yr yield9-yr yieldBulletBarbell
Parallel +100 bp+100+100+100−4.6288%−4.5603%
Parallel −100 bp−100−100−100+4.9010%+4.9779%
Steepening−500+500.0000%−1.8535%
Flattening+500−500.0000%+1.9578%
Parallel shifts: the barbell’s higher convexity helps slightly, as Section 6 predicts. Steepening: the 9-year zero falls 4.19% while the 1-year zero gains only 0.48%, so the barbell loses 1.85%. The bullet is unaffected because its 5-year yield did not move.
LEARNING SECTION 12

12. Caselet 5: Rebalance as the horizon shortens

Duration matching is not “set and forget”. As time passes the horizon shrinks by one year every year, but the portfolio’s duration does not fall at the same pace, and yields change too. This caselet rebalances once a year.

Set-up: $1,000,000 due in 5 years, a 5% flat yield, a 3-year zero and an 8-year zero. Start with 60% / 40% (0.6 × 3 + 0.4 × 8 = 5 years).

Each year: (1) reprice the bonds you hold at the new yield; (2) work out the years left on each bond and on the liability; (3) recompute the short weight = (years to liability − long years left) / (short years left − long years left); (4) sell and buy to reach those weights.

Review yearYieldYears to liabilityShort / cash weightWealth before trade
05.00%560.00%$783,526.17
15.50%460.00%$807,271.31
26.00%360.00%$839,732.27
35.20%260.00%$903,861.56
44.80%175.00%$956,702.49
54.50%0100.00%$1,004,789.17

The short zero matures at year 3; after that the short position is held as cash earning the previous review’s yield, with duration 0. That is why the weight changes to 75% at year 4. At year 5 the long zero is sold and the liability is paid.

Outcome on this path: wealth of $1,004,789.17 against a $1,000,000 payment, a surplus of $4,789.17. A different rate path or trading costs would give a different number; rebalancing keeps the hedge on track but does not guarantee a surplus.
LEARNING SECTION 13

13. Failure Modes & Real-World Limitations

1. Non-parallel yield curve shifts

Classical immunization protects against parallel shifts only. If short and long rates move differently, a portfolio with the right total duration can still lose. Caselet 4 showed a 1.85% barbell loss under a steepening with duration exactly matched.

Response: measure key-rate durations and test steepening, flattening and curvature changes.

2. Duration drift over time

The liability gets one year closer every year, but a coupon bond’s duration falls by less than one year. Yield changes and coupon receipts also move the portfolio’s duration. A match made today will not hold next year.

Response: recheck PV, duration and DV01 at regular intervals and after big rate moves; rebalance within set tolerance bands, allowing for costs (Caselet 5).

3. Too much cash-flow dispersion

Cash flows spread far from the liability date raise convexity but also raise curve risk. The closer the asset cash flows sit to the liability date, the less a curve twist can hurt.

Response: for a single fixed payment, a default-free zero maturing on that date is a perfect match. For several payments, consider cash-flow matching or key-rate limits.

Other limitationWhy it matters
Credit and spread riskA default or spread widening is not hedged by a government-rate duration match.
Callable bonds and prepaymentsCash-flow timing, and therefore duration, changes when rates change.
Liquidity and trading costsRebalancing can be expensive or impossible in a stressed market.
Inflation-linked or uncertain liabilitiesA fixed nominal hedge may not match payments that can change.
Different curvesDiscounting, funding and reinvestment at different rates creates basis risk.
Lot sizes and limitsWhole-bond quantities and investment rules can prevent an exact match.
LEARNING SECTION 14

14. Key-rate duration and a practical checklist

Key-rate duration measures how much a portfolio’s value changes when the yield at one maturity moves while the rest of the curve stays put. Two portfolios can have the same total DV01 but very different exposure at the 2-year, 5-year or 10-year point.

Parallel shift:  Change in surplus ≈ −(DV01A − DV01L) × change in yield (bp)
Curve twist:  Change in surplus ≈ −Σk (KRD01A,k − KRD01L,k) × change in yield at key rate k (bp)

Here DV01 and KRD01 are dollar values per basis point. Close the gap at every key rate, not just in total.

A practical immunization checklist:

  1. List every liability payment and its date.
  2. Value assets and liabilities on the same curve.
  3. Check funding (PVA ≥ PVL), then match DV01 and key-rate exposures.
  4. Stress test: ±100 and ±200 bp parallel, steepening, flattening and a credit-spread shock.
  5. Confirm cash is available on every payment date.
  6. Set rebalancing triggers, rebalance, and record the new hedge after each payment.
LEARNING SECTION 15

15. Interactive two-bond allocation calculator

Enter the target horizon, two bond durations and the liability. The calculator returns the market-value weights, the amounts to invest and a check of portfolio duration. The default inputs reproduce Caselet 1.

LEARNING SECTION 16

16. Excel companion: five practical caselets

Download the six-sheet workbook. Every number in this article is calculated live from the yellow input cells, so you can change a yield, coupon or maturity and see the effect immediately. Text is set at 22 points for classroom projection, and each sheet links back to the contents page.

WorksheetWhat to explore
Overview & ConceptContents with links, colour legend, key formulas, assumptions and sources.
Caselet 1 - Single LiabilityDated cash flows, duration from the cash flows, allocation, the ±200 bp stress test (correct and wrong methods) and a surplus chart.
Caselet 2 - Rate Shock DynamicsEach coupon carried to a fractional horizon; reinvestment effect and sale-value effect shown separately.
Caselet 3 - Multi-LiabilityComposite liability PV and duration, two-zero allocation, DV01 check and a payment-date warning.
Caselet 4 - Non-Parallel & ConvBullet vs barbell duration and convexity; exact repricing for parallel shifts and curve twists.
Caselet 5 - Dynamic RebalancingYear-by-year repricing, target weights and funded trades to the final surplus.

Trace the article to the workbook

Worksheet and cellFormula or calculation
Caselet 1!B28=SUM(G16:G23)/B27 — Bond B Macaulay duration
Caselet 1!B29=(B6-B28)/(B9-B28) — weight in Bond A
Caselet 1!B31=B7/(1+B8)^B6 — money needed today
Caselet 1!B34=B29*B9+B30*B28 — portfolio duration check
Caselet 1!C46:G54Units × price at new yield × (1 + new yield)^5 — stress test and surplus
Caselet 3!B17=SUM(E11:E13)/B16 — liability duration
Caselet 5!B23=B21-B22 — terminal surplus
LEARNING SECTION 17

17. Questions and answers

Does duration matching guarantee the target amount?

No. It protects against a single small parallel shift. Large moves, repeated moves, curve twists, defaults and cash-timing gaps can still cause a shortfall. A default-free zero that matures on the payment date is the only exact match for a single payment.

If the portfolio is immunized, why does its market value fall when rates rise?

Immunization is about wealth at the horizon, not today’s price. The price falls now, but coupons and maturing bonds are reinvested at the higher rate, which makes up the difference by the horizon (Caselet 2).

Should I use Macaulay or modified duration?

Use Macaulay duration to match a time horizon. Use modified duration (and DV01) to compare price sensitivity of assets and liabilities in dollars.

Assets are larger than liabilities. Can I just match durations?

No. Match DV01 (PV × modified duration × 0.0001). Otherwise the larger portfolio moves by more dollars for the same rate change (Section 6).

The barbell has more convexity. Why does it lose in a steepening?

Convexity measures the benefit from a parallel move. In a steepening, the long end rises while the short end falls, and the barbell’s long bond is hit hard. Key-rate exposure, not convexity, explains the loss.

How often should I rebalance?

At regular reviews and after large rate moves, coupon receipts, liability payments or changes to the liability schedule. Use tolerance bands so that trading costs do not outweigh the benefit.

Is a bullet always better than a barbell?

For one fixed payment, a matching zero-coupon bullet is ideal. For several payments or uncertain amounts, match the whole cash-flow profile or key-rate exposures instead.

LEARNING SECTION 18

18. Further learning and sources

Every figure in this guide was recalculated from the cash flows and can be reproduced in the Excel companion. For deeper study:

Explore the Term Structure of Interest Rates →

Explore the Barbell Strategy of Bonds →

Browse Fixed Income Securities →

Search concepts: bond portfolio immunization · Macaulay duration · modified duration · price risk · reinvestment risk · liability-driven investing · Redington immunization · dollar duration · DV01 · key-rate duration · convexity · cash-flow dispersion · bullet versus barbell · duration drift · rebalancing.