Bond Portfolio Immunization and Cash Flow Matching: Classical, Contingent, and Liability-Driven Investing
Redington (1952) three conditions for classical immunization, cash flow matching (dedication), contingent immunization trigger calculation, horizon matching, liability-driven investing (LDI) glide path, and surplus optimization for pension funds and insurance companies. With $400M pension fund worked example and IFRS IAS 19 accounting implications.
Educational content, not professional advice — AI output and figures here can be wrong. Verify before you rely on it. Full disclaimer →
Why Liability-Driven Investors Need a Different Framework
For most investors, the goal is to maximize returns subject to risk constraints. For pension funds, insurance companies, and endowments with defined future payment obligations, the goal is fundamentally different: ensure that assets are always sufficient to meet liabilities, regardless of interest rate movements. The surplus — assets minus the present value of liabilities — must never turn negative.
This liability-driven mandate creates a specific set of portfolio construction requirements that total-return optimization ignores entirely. Immunization theory, developed by Frank Redington in 1952, provides the mathematical foundation for solving this problem.
Consider a pension fund with $400M in assets and a liability stream with a PV of $380M (105.3% funded status). A 100bps parallel rate decline — not unusual in a recession — could:
- Increase asset value by ~$24M (6.0Y duration × 100bps × $400M)
- Increase liability PV by ~$36M (9.0Y liability duration × 100bps × $380M)
- Net effect: Surplus falls from $20M to $8M — nearly wiping out the funding cushion
This is why duration matching of assets to liabilities is not optional for LDI mandates — it is foundational.
Related reading: Fixed Income Analysis AI | Portfolio Optimization for Fixed Income
Classical Immunization: The Redington Conditions
Frank Redington's 1952 paper "Review of the Principles of Life-Office Valuations" established the three conditions for immunizing a bond portfolio against a single parallel shift in interest rates:
- PV(assets) = PV(liabilities) — The present value of asset cash flows must equal the present value of liability cash flows, discounted at the same yield. This is the funded status = 100% condition.
- Duration(assets) = Duration(liabilities) — The Macaulay duration of the asset portfolio must equal the Macaulay duration of the liability stream. This ensures that a given change in rates affects assets and liabilities equally in percentage terms.
- Convexity(assets) > Convexity(liabilities) — The convexity of the asset portfolio must exceed the convexity of the liabilities. This creates a "convexity surplus" — a second-order benefit where the asset portfolio appreciates more (or depreciates less) than the liabilities for any rate move, large or small.
Condition 3 is the most nuanced. It means that an immunized portfolio should have a barbell or butterfly structure rather than a bullet — the barbell's higher convexity creates the positive convexity surplus even at matched duration. Practically, this means buying some long-duration bonds alongside the duration-matched core.
- "I have a pension fund with the following liabilities: Year 3: $25M, Year 5: $30M, Year 8: $45M, Year 10: $55M, Year 15: $80M, Year 20: $90M, Year 25: $75M. Total PV at 5.0% discount rate = $245M. Calculate: (a) the Macaulay duration of this liability stream, (b) the present value of each payment, (c) the PV-weighted duration. Then tell me what Macaulay duration I need for my bond portfolio to satisfy Redington condition 2."
- "I'm immunizing a pension liability with Macaulay duration 11.3 years and PV $245M. Candidate bond portfolio: 40% in 7-year Treasury (duration 6.2Y, convexity 0.46), 60% in 25-year Treasury strip (duration 25Y, convexity 6.25). Check all three Redington conditions: (a) is portfolio duration = 11.3Y? Show the weighted-average calculation. (b) Is portfolio PV = $245M? Assume 40% × $98M + 60% × $147M. (c) What is portfolio convexity? Is it greater than liability convexity (assume 1.38)?"
Duration Matching in Practice: The $400M Pension Fund
Let's work through a realistic immunization setup. A corporate pension fund has:
- Total assets: $400M
- Projected benefit obligation (PBO): $380M (105.3% funded)
- Liability stream: 25-year payment schedule, peak payments in years 8–15
- Liability Macaulay duration: 9.4 years (discounted at AA corporate yield of 5.2%)
- Liability convexity: 1.12
To immunize, the bond portfolio must have: Macaulay duration = 9.4Y, convexity > 1.12, and PV ≥ PBO ($380M). The remaining $20M surplus is held in cash or short-duration bonds as a buffer.
- "My pension fund has $400M in assets and a liability PBO of $380M. Liability schedule: Year 1: $8M, Year 2: $10M, Year 3: $12M, Year 5: $18M, Year 7: $22M, Year 10: $35M, Year 12: $40M, Year 15: $55M, Year 18: $60M, Year 20: $55M, Year 22: $45M, Year 25: $20M (total undiscounted: $380M). Using a 5.2% flat discount rate (AA corporate yield): (a) calculate the PV of each payment, (b) sum to get total liability PV, (c) calculate liability Macaulay duration, (d) what bond portfolio duration do I need to immunize this obligation?"
- "After building a duration-matched bond portfolio (duration 9.4Y) for my $400M pension, 6 months pass. Interest rates have fallen 40bps. Recalculate: (a) the new PV of my liabilities at 4.8% discount rate (was 5.2%), (b) the approximate change in asset value assuming duration 9.4Y and original value $380M, (c) has the surplus increased, decreased, or stayed the same? (d) Has portfolio duration drifted below 9.4Y as bonds rolled down the curve? Do I need to rebalance?"
Cash Flow Matching (Dedication): When Precision Matters More Than Cost
Cash flow matching — sometimes called "dedication" — constructs a portfolio whose coupon and principal cash flows exactly fund each liability payment. Unlike duration matching, cash flow matching requires no ongoing rebalancing and eliminates reinvestment risk, but it typically costs more because:
- It requires bonds that mature on or near each liability payment date
- It cannot exploit the shape of the yield curve (it must buy whatever maturities match the liabilities)
- Excess cash flows in early periods must be reinvested at the prevailing rate — the portfolio is not truly "dedicated" unless Treasury strips or zero-coupon bonds are used
The standard solution for near-term liabilities (within 5–7 years) uses Treasury strips or zero-coupon bonds, which provide exact cash flows at known future dates. For longer liabilities, coupon bonds are used with the understanding that small residual reinvestment risk remains.
- "Build a cash flow matching portfolio for the following near-term pension liabilities using Treasury STRIPS: Year 1: $8M, Year 2: $10M, Year 3: $12M, Year 4: $15M, Year 5: $18M. Current STRIP prices: 1Y strip = $96.20 (yield 4.0%), 2Y strip = $92.10 (yield 4.3%), 3Y strip = $87.80 (yield 4.4%), 4Y strip = $83.40 (yield 4.5%), 5Y strip = $79.20 (yield 4.6%). For each liability, calculate: the face value of STRIPS to buy, the purchase cost, and the total portfolio cost. Compare this to the PV of those liabilities discounted at 4.5% flat — which is cheaper?"
- "I want to use cash flow matching for the first 7 years of my pension liability ($8M, $10M, $12M, $15M, $18M, $22M, $24M in years 1–7) and duration matching for years 8–25. For the duration-matched portion (remaining PV approximately $282M, liability duration 13.2Y), build a bond portfolio using 10-year Treasuries (duration 8.5Y, yield 4.45%) and 30-year Treasuries (duration 18.5Y, yield 4.60%). What allocation between 10Y and 30Y achieves a portfolio duration of 13.2Y?"
Contingent Immunization: Active Management With a Safety Net
Contingent immunization (Leibowitz and Weinberger, 1982) combines active bond management with an automatic immunization trigger. The manager pursues an active total-return strategy while the portfolio value exceeds the "immunization trigger" — the minimum portfolio value that, if immunized today, would be sufficient to fund all future liabilities.
The trigger calculation:
Immunization trigger = PV of future liabilities / (1 + immunization rate)
When portfolio value ≥ trigger → active management is permitted
When portfolio value = trigger → immediate immunization kicks in
For the $400M fund: if liabilities have a PV of $380M at 5.2%, and the manager can achieve immunization at 5.0% (slightly lower), the trigger would be $380M / 1.0 ≈ $380M (simplified). Active management is permitted as long as assets remain above $380M.
- "Explain contingent immunization for my pension fund: $400M in assets, $380M in liabilities (PV at 5.2%). The portfolio manager wants to pursue an active 60/40 stocks/bonds strategy to improve returns, but the board requires protecting liability coverage. Set up the contingent immunization framework: (a) define the immunization trigger today at 5.2% immunization rate, (b) if the active portfolio loses $15M in a quarter (assets drop to $385M), is the trigger breached? (c) if rates also rise 50bps to 5.7% reducing liability PV to $362M, what happens to the trigger? (d) what is the maximum loss the active portfolio can sustain before immunization must be triggered?"
Horizon Matching: The Practical Compromise
Most institutional LDI programs use horizon matching — a hybrid approach that recognizes cash flow matching is most valuable for near-term liabilities (where certainty is critical and reinvestment risk is short) and duration matching is adequate for long-term liabilities (where precision is less critical and cash flow matching would be expensive).
Standard horizon matching structure:
- Years 1–5: Cash flow matched using Treasury STRIPS or zero-coupon bonds. No rebalancing required.
- Years 6–15: Duration matched using intermediate-maturity Treasuries and IG corporates.
- Years 15+: Duration matched using long-duration bonds (20–30 year Treasuries, 30-year IG corporates).
- "Design a horizon matching strategy for my $400M pension: near-term (years 1–5) cash flow matched with STRIPS, medium-term (years 6–15) duration matched with 7–10 year Treasuries, long-term (years 16–25) duration matched with 20–30 year bonds. My liability payments are: Years 1–5: $8M, $10M, $12M, $15M, $18M (total PV at 4.5% = $55M). Years 6–15: $22M–$55M (total PV at 4.8% = $185M). Years 16–25: $60M–$20M (total PV at 5.0% = $140M). For each tranche, specify: the amount to allocate, the instrument type, and the approximate duration target."
Liability-Driven Investing (LDI): The Hedge Ratio Framework
LDI formalizes the immunization concept into a two-portfolio structure: the hedging portfolio (which replicates the duration and spread sensitivity of the pension liability) and the return-seeking portfolio (equities, alternatives, hedge funds aimed at improving funded status over time).
LDI Hedge Ratio = Duration-matched bond assets / Total assets
A 60% hedge ratio means 60% of assets ($240M of $400M) is invested in bonds structured to match liability duration. The remaining 40% ($160M) is the return-seeking portfolio.
De-risking glide path: As funded status improves, the hedge ratio increases. Many pension plans use trigger-based de-risking: when funded status reaches 105%, increase hedge ratio from 50% to 70%; at 110%, increase to 85%; at 115%, achieve full immunization at 100% hedge ratio.
- "My pension fund has $400M in assets and $380M in liabilities, giving a funded ratio of 105.3% and a surplus of $20M. I'm implementing a trigger-based LDI glide path: Funded ratio 100–105% → hedge ratio 50%; 105–110% → 70%; 110–115% → 85%; >115% → 100%. At the current 105.3% funded ratio, I should be transitioning from 50% to 70% hedge. What does this mean in dollar terms? How much additional long-duration bond allocation do I need? The hedging portfolio uses 30-year Treasuries (duration 18.5Y) and 10-year Treasuries (duration 8.5Y). My liability duration is 9.4Y. What allocation achieves a hedging portfolio duration of 9.4Y?"
- "Model the surplus impact of three interest rate scenarios on my LDI portfolio ($400M assets: 60% hedging portfolio with duration 9.4Y, 40% return-seeking equity portfolio). Liability PV = $380M, liability duration = 9.4Y. Scenario A: rates +100bps. Scenario B: rates -100bps. Scenario C: rates unchanged, equity returns +15%. For each scenario, calculate: change in liability PV, change in hedging portfolio value, change in equity portfolio value, net surplus change, and new funded ratio."
Surplus Optimization and IFRS/US GAAP Pension Accounting
The ultimate goal of LDI is not just immunizing liabilities — it is optimizing the surplus (assets minus liability PV) subject to a surplus VaR constraint. Surplus VaR is the maximum likely loss in surplus at a given confidence level (e.g., 95% over 1 year).
Under US GAAP (ASC 715) and IFRS (IAS 19), the pension liability (PBO under US GAAP, DBO under IFRS) is discounted using high-quality corporate bond yields (AA-rated). This means:
- Rising interest rates reduce the liability on the balance sheet — favorable for funded status
- Falling rates increase the liability — the "perfect storm" is equities declining simultaneously with rates (as in 2008–2009)
- For US GAAP, actuarial gains/losses flow through Other Comprehensive Income (OCI) unless the "corridor method" is used
- "My corporate pension plan uses IAS 19 accounting. Liability (DBO) = $380M discounted at AA corporate yield of 5.2%. Duration of DBO = 9.4Y. My current assets are $400M, split 60% bonds (duration 9.4Y) and 40% equities. Stress test: (a) rates fall 100bps to 4.2% — what happens to DBO? What happens to my bond portfolio? (b) simultaneously, equities fall 25%. What is the new funded status? (c) What is my surplus VaR at 95% confidence assuming annual rate vol = 80bps and equity vol = 18%, correlation between rates and equities = -0.25?"
CFA Level 3 Insight: The CFA curriculum requires candidates to know that classical immunization assumes a flat yield curve and parallel shifts only — unrealistic in practice. Non-parallel shifts (twists, butterflies) can cause an immunized portfolio to fail even when Redington's three conditions are initially satisfied. This is why practitioners add key-rate duration matching (also called multi-factor immunization) on top of Redington's conditions. See Key Rate Duration with Claude for the implementation details.
Claude Prompts for Ongoing Immunization Monitoring
- "It's month-end rebalancing for my immunized pension portfolio. Current status: asset duration 8.9Y (was 9.4Y — drifted as bonds rolled down curve), liability duration 9.2Y (was 9.4Y — drifted as time passed), funded ratio 104.1% (was 105.3% — equity markets fell 3%). What rebalancing actions do I need to take? Prioritize by impact: (a) extend asset duration from 8.9Y back to 9.2Y using 20-year Treasuries — how many dollars of 20Y Treasuries do I buy? (b) Do I need to adjust the hedging portfolio size given the funded ratio change?"
- "Generate a monthly immunization monitoring report for my $400M pension fund. Include: (1) current vs target duration of assets and liabilities, (2) PV of assets vs PV of liabilities (funded ratio), (3) surplus in dollars and as percent of liabilities, (4) convexity surplus (asset convexity minus liability convexity — must be >0), (5) rebalancing actions needed if any tolerance band is breached, (6) key risk: what rate move would breach the contingent immunization trigger?"
For comprehensive risk measurement of the immunization portfolio, see Portfolio VaR Modeling with Claude. For the active portfolio allocation within the LDI framework, see Fixed Income Portfolio Optimization. For yield curve sensitivity beyond parallel shifts, see Key Rate Duration Analysis.
Setting Up Claude for LDI and Immunization Work
{
"mcpServers": {
"claudefinlab-portfolio": {
"url": "https://claudefinancelab.com/portfolio/sse",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
},
"claudefinlab-market": {
"url": "https://claudefinancelab.com/market/sse",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
The portfolio MCP server computes liability PVs, tracks funded status in real time, and alerts on duration drift — making it practical to run continuous immunization monitoring rather than month-end snapshots. See Quantitative Finance tools for the full toolkit.
Frequently Asked Questions
What are the three Redington conditions for classical immunization?
Frank Redington (1952) showed that a bond portfolio immunizes a single liability if: (1) the present value of asset cash flows equals the PV of liability cash flows at the current yield; (2) the Macaulay duration of assets equals the duration of the liability horizon; and (3) the convexity of the asset portfolio exceeds the convexity of the liability. The third condition means that for any non-zero interest rate change, the gain in assets exceeds the increase in liability PV — creating a convexity-driven insurance policy. A bullet structure satisfies conditions 1 and 2 but typically violates condition 3; a barbell structure satisfies all three.
What is the difference between cash flow matching and duration matching?
Cash flow matching (dedication) pairs each liability payment with a bond that matures on that date, eliminating reinvestment risk entirely. Duration matching sets the weighted-average duration of the asset portfolio equal to the liability duration, allowing reinvestment risk but requiring much less cash and providing more flexibility in bond selection. Duration matching requires periodic rebalancing as rates move and time passes; cash flow matching does not. Most institutional mandates use horizon matching — cash flow matching for near-term liabilities (1–5 years) and duration matching for long-dated obligations.
What is contingent immunization and when is it triggered?
Contingent immunization permits active portfolio management as long as the portfolio value exceeds the immunization trigger — the minimum portfolio value that, if immunized at today's rate, would be sufficient to fund all future liabilities. The trigger is the floor value: PV of all liabilities at the current immunization rate. If the portfolio falls to this floor (through active losses or market movements), immunization is triggered immediately. Contingent immunization is most common in pension plans where the sponsor wants some upside from active management but cannot risk being underfunded.
How does the LDI hedge ratio affect pension funded status volatility?
Surplus volatility = sqrt[(1 - hedge ratio)² × asset vol² + remaining rate risk²]. At a 0% hedge ratio (no duration matching), surplus volatility is driven entirely by asset volatility and liability rate sensitivity — very high. At a 100% hedge ratio (fully immunized), rate risk is eliminated and surplus volatility is near zero (driven only by credit spread and selection risk in the bond portfolio). Typical pension plans run 40–80% hedge ratios, accepting some surplus volatility in exchange for the expected return from the unhedged portion. See our Portfolio VaR guide for surplus VaR calculations.
How does IFRS IAS 19 affect the immunization target?
Under IAS 19, the defined benefit obligation (DBO) is discounted at the yield on high-quality (AA-rated) corporate bonds in the currency of the obligation. This creates a specific immunization target: match the asset portfolio's duration not to a risk-free rate but to the AA corporate duration. If AA corporate yields move differently from Treasury yields (due to credit spread changes), duration matching using Treasuries alone may fail to immunize the IFRS liability. Most LDI programs use a blend of Treasuries and AA-rated corporate bonds to track the DBO discount rate more precisely.
Connect Claude to live financial data via MCP — EDGAR, FDIC, BIS, CME and 18 more.
New guides & tools — free
Get notified when we add new MCP servers, finance AI guides, and eval results.