The Analyst's Path

Phase 12Finance Plus, AI and the quant-code trackFinance trackFI1.0622,005 words2 h 2 min of readingabout 18 hours of study7 concept pagesfree

Fixed-Income Portfolio Management I: Liability-Driven and Index-Based

Through late September and early October 2022, a number of UK defined-benefit pension schemes became more solvent and less able to pay their bills in the same week.

Advertisement

Finance-Plus Ring · Branch FI (Fixed Income Analytics), node six · ~18 focused hours · Mastery gate >= 85%

This Ring is additive institutional and CFA breadth. It presents the toolkit and the plumbing alongside, not in place of, the program's process-over-P&L, concentration-over-diversification philosophy.

Through late September and early October 2022, a number of UK defined-benefit pension schemes became more solvent and less able to pay their bills in the same week. Long gilt yields rose hard, the present value of their pension promises fell faster than the value of their assets did, and reported funded ratios improved. The hedges that had produced that improvement were held through levered pooled vehicles, and those vehicles called for cash that could only be raised by selling the very assets whose prices were falling. On 28 September 2022 the Bank of England began buying long-dated gilts to break the loop. (Check the dates, the size and the terms of the operation against the Bank of England's own market notices before quoting them; checked 2026-09-08.)

Advertisement

Both halves of that description were true of the same scheme on the same morning. Solvency improved; liquidity failed.

The arithmetic underneath is not new to you. A liability is a stream of dated payments, so it has a present value, a duration, a convexity and a dispersion exactly as a bond does. Accept that one sentence and the whole liability-driven apparatus falls out of a single comparison: line the asset side's numbers up against the liability side's and look at what fails to match. Present value answers whether you are funded. Money duration answers what a rate move does to the gap between the two. Dispersion and convexity answer whether the match survives anything other than a parallel shift. Leverage answers how many basis points of adverse move you can absorb before somebody asks you for cash by Thursday.

There is a second problem here and it is the mirror image of the first. Where no liability exists, a bond mandate is usually written against an index instead, and a bond index cannot be bought. A large aggregate index holds several thousand line items, most of which have not traded this week, many of which cannot be sourced at institutional round-lot size, and a fair number of which no dealer will show you a two-way price on before lunch. Equity indexing solved replication decades ago. Bond indexing never has and never will, so the craft becomes sampling by cell, and then measuring honestly how badly the sample misses.

By the end you should be able to take a liability schedule and a bond universe and produce two builds that both fund it, price the difference between them to the rupee, and defend the choice in front of a trustee. You should be able to size a swap or a futures overlay to close a stated fraction of a duration gap, and then compute the collateral that overlay will demand in a selloff nobody forecast. And you should be able to construct a sampled tracker cell by cell, then decompose its tracking error into the three separate risks that produced it.

A warning about where the errors in this region live. Almost nothing here is hard to compute and almost everything here is easy to compute wrongly, because the mistakes are definitional rather than arithmetic. A portfolio duration taken by the wrong method. A hedge ratio measured against assets when the liability is the correct base. A dispersion condition checked on the wrong side of the balance sheet. A headroom figure quoted before leverage is applied to it. Each of those produces a number that looks entirely reasonable on a page and is wrong by a factor no reader can see. Every worked example below therefore closes on a check that an independent route has to reproduce.


Learning objectives

By the end you can:

  1. Compute a portfolio's duration by both accepted methods, the market-value-weighted average and the cash-flow-yield method, state which one a liability comparison requires, and quantify the money-duration error that choosing wrongly introduces.
  2. Compute portfolio convexity and dispersion, explain what dispersion measures that duration cannot, and state the parallel-shift assumption that sits underneath every one of these measures.
  3. Build a cash-flow-matched (dedicated) portfolio against a multi-period liability schedule, solving backward from the last payment, and price its cost against the present value of the liabilities it retires.
  4. Build a duration-matched portfolio against the same schedule, verify the three immunisation conditions (present value, money duration, and dispersion and convexity at least as large as the liability's), and say why the third condition exists at all.
  5. Quantify structural risk: show what a duration-matched book loses under a stated twist that a parallel-shift match cannot see, and rank a barbell, a laddered build and a dedicated build by exposure to it.
  6. Run a contingent immunisation programme: compute the cushion, compute the trigger yield at which active management must stop, and show what the client actually receives when a manager runs past the trigger.
  7. Size a futures or swap overlay from a stated duration gap using basis point value, convert the requirement into contracts or notional, and report the residual the rounding leaves behind.
  8. Carry funded-ratio arithmetic into a bond book: compute the hedge ratio, size a glide-path step, compute levered collateral headroom from 10,000 / (leverage x duration), and state the cash call a stated selloff produces.
  9. Write a rebalancing policy for an immunised portfolio with explicit triggers, compute the drift after one year, and cost the rebalancing trade in basis points of the portfolio.
  10. Explain why a bond index cannot be replicated, build a stratified sample by cell, decompose the resulting tracking error into duration, spread and idiosyncratic components, and price the trade-off between more holdings and more transaction cost.

Prerequisites & connections

Builds on. FI1.05 (Fixed-Income Instruments, Issuance and Trading) supplies the instruments themselves, together with day counts, settlement arithmetic and the matrix pricing that gives an untraded index constituent a price at all. FI1.02 supplies the entire measurement kit used here: Macaulay and modified duration, money duration and PVBP/DV01, convexity, key-rate durations, and the single-liability Redington immunisation this node extends to a multi-period schedule. FI1.03 supplies the curve, so that a bond and a liability can be valued off the same arbitrage-free spot rates rather than off separate yields. FI1.04 supplies effective duration and negative convexity, which is what any callable or mortgage exposure in the asset book actually carries. AA1.02 supplies the funded ratio, the surplus and the duration gap at the allocation level, and AA1.05 supplies the institutional client whose objectives and constraints set the mandate. DV1.01 prices the futures and swaps used in the overlay; this node only sizes them. E11.01 supplies credit, ratings and recovery, which is what the corporate and state-loan cells of a bond index are made of.

Deliberate non-overlaps, listed so that nothing here rebuilds a neighbour's material. FI1.02 owns duration, convexity, DV01 hedging and the single-liability immunisation; the extension to several liabilities, and the dispersion condition that only appears once there are several, is what is added here. FI1.03 owns bootstrapping and the term structure. FI1.05 owns instrument anatomy, coupon structures, day counts, settlement and matrix pricing, so every price used here is taken as given. AA1.02 owns risk budgeting, the funded ratio and the glide path as allocation objects; the arithmetic reappears here inside a bond book with a collateral account attached. AA1.05 owns the hedge-ratio decision at mandate level, including the Indian retirement-trust pattern of investment, and this node does not restate it. AA1.08 owns index construction, the exchange-traded wrapper and the mechanics of equity indexing, so the index material here is confined to what is different about bonds. FI1.07 (Active Fixed Income: Yield-Curve and Credit Strategies) owns every active strategy, including carry, roll-down, curve trades, credit positioning and the excess-return decomposition. E11.01 owns issuer credit analysis. MS1.03 owns repo and the funding leg that makes leverage possible.

Feeds forward. FI1.07 (Active Fixed Income: Yield-Curve and Credit Strategies) begins where the passive and liability-driven mandates here stop, and uses the same measurement kit to take deliberate risk against a benchmark. Its active duration budget is this node's hedge ratio pointed in the opposite direction. AA1.03 measures whether any of it worked, and a liability-relative mandate needs an attribution scheme that AA1.03's framework has to be adapted to. AA1.05 and PW1.01 write the policy statement that this node's build has to satisfy. AL1.04's private-credit and real-asset sleeves compete for the same balance sheet, and the collateral arithmetic here is what decides how much illiquidity a levered plan can afford.

Case Lab: run CL-FI.3. The Sarayu Gratuity Trust: Dedicate, Immunise, or Argue About It after Worked Examples 1 and 5. It hands you a liability schedule, a bond universe and a governance constraint, and asks for a recommendation between the two builds. The rebalancing trigger has to be written as a number the quarterly report can test. Then the case moves the clock forward a year and makes you fire it. The write-before-peek rule applies.


Core teaching content

Role of bonds in a portfolio

The role of bonds in a portfolio is to do one of four jobs: diversify equity risk, pay regular cash flow, protect against inflation, or defease a known obligation. Each job fails in its own way, so a mandate should say which one it needs. Diversification, for example, works in a growth scare but fails in an inflation shock, because inflation lifts the discount rate for bonds and equities at once.

3 min read, on its own page

2. Two portfolio durations, and only one of them belongs next to a liability

A single bond's modified duration is unambiguous. A portfolio's is not, because there are two defensible ways to aggregate and they give different answers.

The market-value-weighted method takes each holding's modified duration and weights it by market value. It is fast, it is what every risk system reports, and it is the right number when you want to know how the portfolio's market value responds to a parallel shift in every constituent's own yield.

The cash-flow-yield method treats the portfolio as one large bond. Pool every cash flow the portfolio will pay, solve for the single internal rate that discounts that pooled stream back to the portfolio's market value, then compute Macaulay and modified duration off that rate in the ordinary way. This is the number a liability comparison needs, because a liability is itself a pooled stream discounted at a single rate, and the two sides have to be measured the same way.

The two agree only when every holding has the same yield. Worked Example 6 puts a three-bond US book through both: 5.914470 years by market-value weights against 6.017865 years by the cash-flow yield, a difference of 0.103395 years. On a $100 million book that is $1,033.95 of basis point value, or 1.718130% of the cash-flow-yield figure, which is enough to leave a hedge visibly wrong while both numbers look right. The gap widens with the spread of yields across the book, so a portfolio holding a government bond next to a high-yield credit will diverge far more than one holding two governments.

Two further measures matter once a liability is in the picture.

Convexity you already know: the curvature that duration misses, which is a benefit for an option-free asset because it makes gains accelerate and losses decelerate. In a liability context it acquires a second job, which the third immunisation condition below makes explicit.

Dispersion is the one that is new here, and it has no role at all in single-bond analytics. Write it as the present-value-weighted variance of the times at which cash flows arrive:

Dispersion = sum over t of w_t x (t - MacDur)^2      where w_t = [CF_t / (1+y)^t] / PV

Dispersion measures how spread out the cash flows are around their own centre of gravity. A single zero-coupon bond maturing at the Macaulay duration has a dispersion of exactly zero. A barbell holding two zeros five years either side of that point has a dispersion of 25. Both have the same duration and they are not the same portfolio.

Dispersion is what tells them apart, and it is the only one of these four measures that a single-bond risk report has no reason to carry.

Every measure named so far assumes the yield curve moves in parallel. Duration is defined as the derivative with respect to one rate. A portfolio duration built from several bonds implicitly assumes their yields move together, and the cash-flow yield is a single number by construction. What happens when that assumption is false, which is always, is the subject of structural risk below.

Cash flow matching

Cash flow matching, also called dedication, buys a portfolio whose cash inflows arrive on the same dates as the liabilities they fund and in at least the same amounts. Nothing is forecast or rebalanced, and interest-rate risk disappears because no asset ever has to be sold or reinvested at an unknown rate. The cost is a bond maturing near every payment date and no return above the matched yield.

3 min read, on its own page

Bond immunization

Bond immunisation builds a bond portfolio whose value moves with the present value of its liabilities when rates change. With several liabilities it takes three conditions, and the third, a floor on dispersion and convexity, has no single-liability analogue. It is needed because matching duration protects against a parallel shift but does nothing about a change in the curve's shape, and a portfolio bunched at one maturity is repriced very differently from a liability spread across five.

3 min read, on its own page

5. Structural risk: the twist a parallel match cannot see

An immunised book that satisfies all three conditions is protected against a parallel shift and exposed to everything else. The residual exposure has a name, structural risk, and it is measurable.

The clean demonstration holds duration constant and varies only the shape of the asset side. Take a single $100 million liability due in seven years, priced at a flat 4.50%. Two builds match its 7.000000-year duration exactly. A barbell of two-year and fifteen-year zeros, weighted 0.615385 and 0.384615, has a dispersion of 40.000000. A ladder of five-, seven- and nine-year zeros in equal present-value thirds has a duration of 7.000000 and a dispersion of 2.666667.

Now impose one stated twist on both: the curve pivots about the seven-year point at 4 basis points per year of maturity, so the two-year rate falls 20 basis points, the seven-year is unchanged, and the fifteen-year rises 32 basis points. The liability, sitting exactly at the pivot, does not move. The barbell falls to $98.512116 million and the ladder to $99.899097 million, so the barbell's surplus goes to negative $1.487884 million and the ladder's to negative $0.100903 million. The barbell loses $1.386981 million more than the ladder on an identical duration match and an identical curve move.

Nothing about that outcome is visible in either portfolio's duration, and the number that predicts it is dispersion. High dispersion means the assets straddle the liability widely, and a wide straddle is a bet on curve shape whether the manager intended one or not.

This is why key-rate durations belong in a liability-driven report and a single duration figure does not. Building the profile is prerequisite work; the use of it here is to lay the asset profile and the liability profile side by side, bucket by bucket, and look at the difference in each bucket rather than the difference in the total. Two books with identical total duration and different bucket profiles are different books.

The dedicated portfolio, by contrast, carries no structural risk at all, because no holding of its ever has to be sold at a price the curve sets: the cash arrives on the date the liability is due, whatever the curve did in between. That immunity to curve shape is most of what the 34.35 basis points of dedication premium in Worked Example 1 buys.

Structural risk is therefore the one exposure whose size you choose at construction and cannot change afterwards without trading.

Contingent immunization

Contingent immunisation lets a manager run an active bond portfolio while the assets stay above what is needed to lock in a safety-net return, and forces a switch to a locked-in portfolio once the cushion is gone. The cushion is the whole budget for active risk, and it moves whenever rates move. The stop is written in advance, so the switch happens when the numbers say so.

3 min read, on its own page

7. Overlays: sizing the derivative from the gap, not from the notional

A plan whose bond sleeve is too small or too short to match the liability's duration has three ways out. It can buy longer bonds, which the mandate may not permit and the market may not supply. It can shift assets out of return-seeking sleeves into bonds, which costs expected return. Or it can add duration synthetically with an interest-rate swap or a bond future, which costs almost no capital and adds a collateral obligation instead.

The sizing arithmetic is the DV01 sizing already in your hands, applied to the gap rather than to a single position:

BPV needed = target hedge fraction x (liability BPV - current asset BPV)
notional   = BPV needed / (BPV per unit of the hedge instrument)

Everything turns on measuring both sides in the same currency-per-basis-point unit. A plan with $2,400 million of liabilities at 14.20 duration carries a liability BPV of $3,408,000 per basis point. A $1,020 million bond sleeve at 6.30 duration carries $642,600. The gap is $2,765,400 per basis point, and the starting hedge ratio, which is asset BPV over liability BPV, is 18.855634%.

Closing 60% of that gap requires $1,659,240 per basis point of new exposure. A thirty-year receive-fixed swap with a BPV of $1,780 per $1 million of notional needs $932.157303 million of notional. Ultra ten-year Treasury note futures with a DV01 of $185 per contract need 8,968.8649 contracts, which rounds to 8,969 and leaves the hedge $25.00 per basis point over-hedged. Reporting that residual is not pedantry: on a fifty-basis-point move it is $1,250, and on a book where nobody reports it, the residuals from twenty such trades accumulate silently.

Two properties of the swap route deserve emphasis. A receive-fixed swap adds duration, because its fixed leg behaves like a long bond position, and that is the direction a pension plan almost always needs. And the swap requires no capital at inception, which is exactly why plans use it and exactly why the collateral question arises at all.

The instrument choice is a governance question as much as a market one. Futures are exchange-traded, margined daily in cash, and short-dated, so they need rolling four times a year and the roll has a cost and a basis. Swaps are longer-dated and match a long liability better, but they are cleared through a central counterparty with variation margin in cash and initial margin posted up front. In India the liquid instruments are the overnight-index swap referencing the MIBOR fixing and, for shorter exposures, exchange-traded government bond futures. The ten-year sector is where liquidity concentrates, and anything longer has to be assembled from what trades.

Whichever instrument is chosen, its own BPV is an input to the sizing and a moving one, since a futures contract's DV01 changes as the cheapest-to-deliver bond changes and a swap's changes as it seasons. A hedge sized off last quarter's BPV is a hedge that has quietly drifted. (Check the current contract specifications, tick values and the state of the rupee swap market with the exchange and CCIL before sizing anything; checked 2026-09-08.)

{
  "skill": "Building a liability schedule's risk statistics and sizing the overlay that closes its duration gap",
  "use": "Have an assistant turn a stated benefit schedule and a bond universe into a table carrying present value, Macaulay duration, modified duration, convexity, dispersion and BPV for both sides, then solve for the hedge notional that closes a stated fraction of the BPV gap and re-run the whole thing under a parallel shift and under a stated twist.",
  "tools": ["Chat assistants with code execution - Claude, ChatGPT, Gemini", "Python: NumPy and pandas for the cash-flow table and the root-finder", "A spreadsheet for the trustee-facing version, because a committee reads rows, not code"],
  "prompt": "Here is a liability schedule as (year, amount) pairs, a spot curve as (year, zero rate) pairs, and a list of candidate bonds as (maturity, annual coupon). Compute, from first principles and without rounding intermediates: the present value of the liabilities off the curve; their cash-flow yield; their Macaulay duration, modified duration, convexity and dispersion at that yield; and their BPV measured as half the two-sided one-basis-point reprice of the whole curve. Then solve the two-equation system that matches present value and BPV using exactly two of the candidate bonds, report the face amounts, and report asset dispersion and asset convexity so I can check the third immunisation condition. Finally, reprice both sides under a plus and minus 100 basis point parallel shift and report the surplus in each case.",
  "verify": "Recompute the liability present value by a second route before anything downstream is trusted: a level schedule must tie to the annuity closed form and a single payment to a discount factor, to at least six decimal places. Cross-check the curve-based BPV against modified duration times present value times 0.0001, which is computed at the cash-flow yield rather than off the curve and should therefore land within about a quarter of one percent of it; a gap far larger than that means one of the two was taken on the wrong base, which is the commonest silent error in this region. Check that the surplus after a plus 100 and a minus 100 basis point shift is small and POSITIVE on both sides; a match that loses money in one direction has the convexity condition inverted. Trace the discount curve to a named primary source with a date, which for rupee work is the FBIL or CCIL valuation curve and for dollar work the US Treasury par yield curve. An asset dispersion below the liability's is a failed build, not a rounding issue.",
  "diy": "You must be able to run the backward dedication recursion and the two-by-two present-value-and-BPV solve on paper, and to state the three conditions from memory in the right order. An assistant will produce a duration table in four seconds and will not tell you that the build it produced is a barbell whose dispersion is eight times the liability's, which is a curve bet the trustees never authorised. That judgement is the structural-risk question, and it is yours.",
  "market": "IN"
}

8. Liability-driven investing for a pension book, and what leverage does to it

The glide path is an allocation decision, and it is settled where the institutional client's objectives are settled. What belongs here is what happens inside the bond book once a glide-path step has been taken, and the two numbers that decide whether the plan survives the step.

The hedge ratio is asset BPV divided by liability BPV. It is the fraction of the liability's rate sensitivity the assets currently reproduce, and it is a different number from the funded ratio in every respect. A plan can be 120% funded with a 20% hedge ratio, which means it is solvent today and its solvency is a bet on rates. A plan can be 80% funded with a 100% hedge ratio, which means its deficit is stable and will have to be closed with contributions rather than markets. Trustees who confuse the two make the same mistake in both directions.

The collateral headroom is the number of basis points the hedge can move against you before somebody asks for cash. On an unlevered position held as physical bonds the answer is effectively unlimited, because a fall in a bond you own is a mark, not a call. On a levered position it is finite, small, and computable from a formula worth memorising:

headroom in basis points  =  10,000 / (leverage x modified duration)

The derivation takes one line. A fund with exposure E at leverage L has net asset value E / L and loses E x D x 0.0001 per basis point, so the number of basis points that exhausts its capital is (E/L) / (E x D x 0.0001), and the E cancels. Exposure size drops out entirely, which is why a small fund and a large fund at the same leverage and duration have exactly the same fragility.

Put numbers on it. At a modified duration of 17.80, typical of a thirty-year exposure, the headroom is 280.899 basis points at 2x leverage, 187.266 at 3x, 140.449 at 4x, 112.360 at 5x and 80.257 at 7x. Long-dated gilt yields moved by more than 100 basis points inside a week in late September 2022, which is what turned a leverage number into a solvency event for the pooled vehicles holding those hedges. (Check the size and the window of that move against the Bank of England's published gilt yield series before quoting it; checked 2026-09-08.)

Worked Example 2 runs the whole sequence on a US plan. Two builds deliver an identical $2,301,840 per basis point of asset-side sensitivity and an identical 67.542254% hedge ratio. One holds physical bonds plus a cleared swap; the other replaces the bond sleeve with a 4x levered pooled fund and moves $696.707865 million into equities. In a 120 basis point selloff accompanied by an 8% equity fall, the first build faces a $170.920363 million variation margin call against $946.927200 million of eligible Treasuries and $60.000000 million of cash, a cover of 5.891207 times. The second faces a $259.099249 million recapitalisation call against a $60.000000 million liquid buffer and has to sell $199.099249 million of equities into the drawdown. Same hedge ratio, same surplus arithmetic, entirely different week.

What leverage buys is real and should be stated fairly. The second build carries $696.707865 million more return-seeking exposure for the same capital, and in most years that is worth more than the liquidity it costs. The policy question is not whether leverage is bad. It is how many basis points of headroom the plan will hold, in writing, before the market decides for it.

A defensible collateral policy names four things: the minimum headroom in basis points, the size and composition of the liquid buffer held outside the levered vehicle, the order in which assets are sold if the buffer is exhausted, and the person who is allowed to authorise the sale without waiting for a quarterly meeting. A plan carrying all four could recapitalise its hedge in the week that mattered. A plan missing any one of them sold gilts instead, at the price the selling itself was setting.

9. Rebalancing: an immunised portfolio is a position you maintain

An immunised portfolio drifts out of match with the passage of time alone, before any rate has moved. The reason is that a coupon bond's Macaulay duration does not fall by one year for each calendar year that passes, and it does not fall by the same amount as the liability's does.

Worked Example 5 measures the drift on the rupee build with the curve deliberately held unchanged, so that time is the only variable. Over one year the liability's Macaulay duration falls from 3.056426 to 2.495260, a decline of 0.561166 years. The asset portfolio's falls from 3.058247 to 2.207195, a decline of 0.851051 years. The assets shortened 0.289885 years more than the liability did, and the hedge ratio fell from 100% to 88.393184%, leaving ₹15,265.92 per basis point unhedged on a ₹56.49 crore book.

Nothing went wrong. No rate moved, no credit deteriorated, nobody made a decision. The match decayed because the two sides age at different rates, and a manager who set an immunised portfolio and did not return to it would find the hedge quietly degrading every quarter.

The rebalancing trade is small when it is done often and large when it is not. Restoring the match here takes selling ₹6.259786 crore of the short bond's face and buying ₹6.215316 crore of the long bond's face, a self-funding switch worth ₹6.283275 crore each way, and at a round-trip cost of 4 basis points on the traded amount it costs ₹50,266.20, or 0.889847 basis points of the portfolio. Skipping it leaves the ₹15,265.92 per basis point exposed, which on a 100 basis point rally costs ₹0.154876 crore of surplus, or 27.417291 basis points of the portfolio. That is 30.811230 times the cost of the trade.

A written policy turns that comparison into a rule rather than a judgement each quarter. A usable one names five things:

  • The trigger. A hedge ratio outside a stated band, for example 98% to 102%, or a BPV gap above a stated currency amount, whichever binds first.
  • The cadence. A minimum review frequency regardless of triggers, monthly for a levered book and quarterly for an unlevered one.
  • The instruments. Which sleeves may be traded to restore the match and which may not, since selling the illiquid sleeve to fix a duration gap is how a rebalancing policy becomes a liquidity event.
  • The tolerance for dispersion. A restated condition-three check, because a duration-restoring trade can satisfy condition two and quietly break condition three.
  • The authority. Who executes without a meeting, and what they must report afterwards.

A policy without the last line is a document, not a policy.

10. Why a bond index cannot be bought

An equity index tracker can hold every constituent. A bond index tracker cannot, and four separate obstacles stand in the way.

Start with sheer issue count. A broad aggregate index holds thousands of individual securities, because a single issuer contributes a new line item with every issue it brings, each with its own coupon, maturity and covenant package. The synthetic index in Worked Example 4 carries 5,248 issues across five cells. A $900 million portfolio buying every one of them at a $1,000,000 institutional round lot could fund 900.00 positions, which is 17.149390% of the index. Holding every issue at round-lot size would take a $5,248.00 million portfolio, and the tracker would then be constrained by minimum denominations at the other end.

Liquidity is the second obstacle. A large share of any bond index has not traded in the current week and much of it will not trade this month. The last observed price is a matrix price, so the index itself is partly a model output, and a tracker trying to buy at that price will discover the difference between a valuation and an offer.

Third, a bond index carries turnover by construction. Bonds mature and leave; new issues enter monthly. An equity index changes constituents a few times a year, while a bond index changes them continuously, and every change is a trade the tracker has to make and pay for.

Fourth, and least discussed, the index is not investable at its own weights. Market-value weighting in bonds sends the largest weights to the largest borrowers, which is an odd property for a portfolio to have. It also means the index's duration drifts as issuers change their issuance patterns, so a tracker's duration target moves without anyone deciding that it should.

The practical consequence is that fixed-income indexing is always sampling. The honest question is never whether the sample misses, only by how much and along which axis.

Equity indexing gets to skip that conversation entirely, which is why so much writing about index funds does not transfer.

Stratified sampling for a bond index

Stratified sampling divides a bond index into cells along the dimensions that drive returns, then holds enough bonds in each cell to match the cell's weight and risk. It is a way to track an index without holding every bond in it. Analysts judge the result by tracking error, the standard deviation of the gap between portfolio and index returns, which shows how closely the sample copies the index.

4 min read, on its own page

State development loans

State development loans are bonds issued by more than two dozen Indian states across many maturities, in small individual sizes. They trade thinly once they leave the auction window, which makes them hard to source for a rupee bond tracker. Analysts care because the tracker must then substitute other bonds for the loans it cannot hold, and that substitution adds tracking error.

3 min read, on its own page

13. Choosing between the approaches

Four builds compete for the same liability, and the choice is usually decided by two questions rather than by cost.

Cash-flow matchingDuration matchingContingent immunisationIndex-based mandate
Liability certainty requiredHigh: dates and amounts must be knownModerate: a schedule with an estimated shapeModerateNone
Funding status it suitsAt or above 100%Any, but a deficit needs a contribution planSurplus above the immunising costNot applicable
Rebalancing burdenNoneContinuous, with a written triggerContinuous, plus a monitored trigger yieldContinuous, driven by index changes
Governance capacityLowestModerateHighestModerate
Exposure to a twistNoneReal, and grows with dispersionRealMeasured as tracking error
Cost against the liability PVHighest, and computableLowestBetween, and path-dependentNot comparable
What it is really buyingCertaintyEfficiencyOptionality on the managerMarket beta at low cost

The rupee example prices the top-left against the top-middle exactly: ₹64.076015 crore against ₹63.856687 crore, a premium of ₹0.219327 crore, 34.3468 basis points of the liability, or 6.8694 basis points a year across the five-year schedule. Set that against the 0.889847 basis points a year the immunised alternative costs to rebalance and the arithmetic does not settle it, because the difference is small either way. What settles it is governance: dedication needs a trustee board that can approve a portfolio once, and immunisation needs one that can supervise a quarterly trade forever.

The two questions that actually decide the answer are therefore these. Does the plan know its liability dates and amounts, or does it only know their approximate shape? And does the plan have a body capable of executing a rebalancing trade in the week it is triggered, rather than at the next scheduled meeting? A plan that answers "known" and "no" should dedicate. A plan that answers "approximate" and "yes" should immunise. The other two combinations need a conversation before a portfolio.

Pension funded ratio

The pension funded ratio shows how much of a plan's liabilities its assets cover, so it says how big the funding hole is. It sits beside the hedge ratio, which says how stable that funding position is. A trustee reads the two numbers first in a liability-driven mandate's monthly report, each with its prior-month value and its policy target beside it.

5 min read, on its own page

Common mistakes & how experts think differently

  1. Averaging modified durations when a liability comparison is on the table. The market-value-weighted average answers a different question from the cash-flow-yield method, and on the three-bond book in Worked Example 6 the two differ by 0.103395 years, or $1,033.95 of BPV on $100 million. An expert picks the method before computing, states which one was used in the report, and never compares an asset duration taken one way with a liability duration taken the other.
  1. Matching duration and stopping there. Two conditions immunise a single liability; three are needed for a schedule. Dispersion is the condition that gets dropped, and it is the one that carries the twist exposure. An expert checks it in the same breath as the duration match and treats a dispersion shortfall as a failed build rather than as a refinement to look at later.
  1. Treating high dispersion as safety. Condition three says asset dispersion must be at least the liability's; it does not say more is better. The barbell in the structural-risk comparison carries fifteen times the ladder's dispersion, 40.000000 against 2.666667, and loses $1.386981 million more under an identical twist. An expert wants the smallest dispersion that clears the condition.
  1. Confusing the funded ratio with the hedge ratio. One measures solvency and the other measures stability, and a plan can score well on either while failing the other. An expert reports both, in that order, with their policy targets beside them, and can say in one sentence which of the two a given trade improved.
  1. Sizing an overlay off notional rather than off basis point value. A $900 million swap and a $900 million bond portfolio have nothing in common. Everything must be converted to currency per basis point before it can be added or netted. An expert writes the BPV of every sleeve, including the derivative, in one column and sums it, then divides by the liability BPV to get the hedge ratio, and reports the reconciliation line that proves the sum ties.
  1. Quoting collateral headroom before applying leverage. A holder of a thirty-year bond outright never receives a call at all, however far the price falls, while the same exposure inside a 4x levered fund calls for cash after 140.449438 basis points. An expert quotes headroom as 10,000 / (leverage x duration), holds a stated buffer against it in writing, and knows that the formula is independent of fund size.
  1. Assuming a favourable reinvestment rate inside a dedication. The gap between an assumed 5.00% and the curve's implied 7.400561% forward is what makes dedication cost 34.3468 basis points more than immunisation in Worked Example 1, and an author who quietly assumed the forward would have reported a cheaper portfolio that does not fund the liability if rates fall. An expert states the reinvestment assumption on the face of the build and tests the schedule at a lower one.
  1. Reporting a tracking error without saying what produced it. A 23 basis point figure that is 96% idiosyncratic and a 23 basis point figure that is 96% duration mismatch call for opposite responses, and only the decomposition distinguishes them. An expert always reports the three components, in variance shares rather than in standard-deviation shares.
  1. Believing an immunised portfolio is a completed trade. With the curve deliberately frozen, the rupee build in Worked Example 5 drifted from a 100% hedge ratio to 88.393184% in twelve months on the passage of time alone. An expert treats an immunised book as a maintained position with a written trigger, a cadence and a named person who may execute.
  1. Running past the trigger in a contingent immunisation. The trigger yield is the point at which the safety net stops being purchasable, and a manager who holds on through it converts a floor into a hope. In Worked Example 3 the client contracted for 4.00% and receives 3.501627%. An expert monitors the cushion at least weekly, recomputes the trigger yield every time either rates or assets move, and treats the switch as mandatory rather than as a judgement call.

Worked examples

Every input is stated. Every answer is reproduced by an independent route where one exists, and the verify block that closes the worked examples restates every figure at full precision. Synthetic entities are labelled synthetic; every curve is stated rather than sourced, so nothing here should be used as a market quote.

Worked example 1: Dedication against immunisation for a rupee trust (India, ₹)

The Kanha Retirement Trust (synthetic) owes five annual payments, in ₹ crore: 12.00, 15.00, 18.00, 14.00 and 20.00, at the ends of years one to five, ₹79.00 crore undiscounted. The rupee zero curve is stated as 6.60%, 6.85%, 7.00%, 7.10% and 7.20% for years one to five, annually compounded. Four bonds are available, all with annual coupons and ₹100 face: a one-year at 6.80%, a two-year at 7.00%, a three-year at 7.10% and a five-year at 7.40%. There is no four-year bond. Trust policy requires surplus cash carried between dates to be assumed reinvested at 5.00%, not at any curve-implied rate.

Solution. Step 1, price the universe off the curve. Discounting each bond's own cash flows at the stated zeros: the one-year prices at 100.187617, the two-year at 100.287132, the three-year at 100.304754 and the five-year at 100.951479, with implied yields to maturity of 6.600000%, 6.841539%, 6.983907% and 7.166905%. The present value of the liability schedule off the same curve is ₹63.856687 crore.

Step 2, dedicate, solving backward. The five-year bond must meet year five alone, so its face is 20.00 / 1.0740 = ₹18.621974 crore, paying ₹1.378026 crore of coupon in each of years one to four. Year four then has ₹12.621974 crore unfunded and no four-year bond to fund it, so cash must be carried from year three at the policy rate: 12.621974 / 1.05 = ₹12.020928 crore. Year three therefore needs 18.00 + 12.020928 = ₹30.020928 crore, of which the five-year coupon supplies ₹1.378026 crore, leaving the three-year bond to supply the rest at a face of ₹26.744072 crore and a coupon of ₹1.898829 crore. Year two needs ₹15.00 crore against coupons of 1.378026 + 1.898829, so the two-year face is ₹10.956210 crore with a coupon of ₹0.766935 crore. Year one needs ₹12.00 crore against coupons of 1.378026 + 1.898829 + 0.766935, so the one-year face is ₹7.449635 crore.

Step 3, price the dedication and tie it out.

HoldingFace (₹ crore)PriceCost (₹ crore)
One-year, 6.80%7.449635100.1876177.463612
Two-year, 7.00%10.956210100.28713210.987669
Three-year, 7.10%26.744072100.30475426.825576
Five-year, 7.40%18.621974100.95147918.799158
Total64.076015

The tie-out runs year by year, and the residual cash after the last payment is 0.000000000:

YearInflowCarry inAvailableLiabilityCarry out
112.0000000.00000012.00000012.000.000000
215.0000000.00000015.00000015.000.000000
330.0209280.00000030.02092818.0012.020928
41.37802612.62197414.00000014.000.000000
520.0000000.00000020.00000020.000.000000

Step 4, price the dedication premium by an independent route. Dedication costs ₹64.076015 crore against a liability present value of ₹63.856687 crore, a premium of ₹0.219327 crore, or 34.3468 basis points. That gap should be exactly the present value of the reinvestment assumption, and it is. The curve's implied one-year forward from year three to year four is (1.0710^4 / 1.0700^3) - 1 = 7.400561%. Rolling the year-four shortfall at that forward would need 12.621974 / 1.07400561 = ₹11.752242 crore at year three rather than ₹12.020928 crore, a difference of ₹0.268685 crore, whose present value at the three-year zero is ₹0.219327 crore. The two routes agree to twelve decimal places.

Step 5, immunise instead. Match present value and BPV with the two-year and five-year bonds. Liability BPV, taken as half the two-sided one-basis-point reprice of the whole curve, is 0.01819816 ₹ crore per basis point, or ₹181,981.60 per basis point. Solving the two-equation system gives ₹34.329325 crore of two-year face and ₹29.151422 crore of five-year face, worth ₹34.427895 crore and ₹29.428792 crore, summing to ₹63.856687 crore.

Step 6, check all three conditions. Condition one: assets less liabilities is 0.000000000000. Condition two: asset BPV less liability BPV is 0.000000000000. Condition three needs the risk statistics at each side's own cash-flow yield.

LiabilityImmunised assetsBullet (three-year only)
Cash-flow yield7.051208%7.055937%6.983907%
Macaulay duration (years)3.0564263.0582472.805829
Modified duration (years)2.8551072.8566812.622664
Convexity12.53072912.7618299.582146
Dispersion (years squared)1.9620002.2151800.288796
BPV (₹ per bp)181,981.60181,981.60167,437.03

Asset dispersion exceeds the liability's by 0.253180 and asset convexity by 0.231100, so condition three passes with a small margin. The bullet alternative fails conditions two and three together.

Step 7, confirm the match survives a parallel shift. Shift the whole curve down 100 basis points and the liability is worth ₹65.717123 crore against assets of ₹65.717847 crore, a surplus of ₹0.000725 crore. Shift it up 100 and the figures are ₹62.075997 crore and ₹62.076646 crore, a surplus of ₹0.000649 crore. The surplus is positive in both directions, which is the convexity condition doing its job.

Read it. The trust pays ₹0.219327 crore, 6.8694 basis points a year over five years, to convert a maintained position into a completed one. That is what the premium buys and it is close to all it buys: dedication removes twist risk and the need for any future decision, and it caps reinvestment risk at the 5.00% the policy assumed. One year of carry still has to earn that 5.00%, so a year-three rate below it would leave the year-four payment short, and the premium is the price of making that unlikely rather than impossible. It does not improve the funded ratio, and it does not protect against the trust's own liability being remeasured. If the four-year maturity existed, the premium would collapse toward zero and the argument for dedication would rest on governance alone.

Worked example 2: A duration gap, an overlay, and a levered week (US, $)

The Cardinal Valley Employees' Retirement System (synthetic) reports liabilities with a present value of $2,400 million, a modified duration of 14.20 years and a convexity of 320. Assets are $2,040 million: $1,020 million of core bonds at a modified duration of 6.30 and a convexity of 55, and $1,020 million of equities. A thirty-year receive-fixed swap is available with a modified duration of 17.80 and a convexity of 420. Ultra ten-year Treasury note futures have a DV01 of $185 per contract. The board has approved closing 60% of the duration gap.

Solution. Step 1, the two ratios. The plan is 85.000000% funded, a deficit of $360.0000 million. Liability BPV is 2,400,000,000 x 14.20 x 0.0001 = $3,408,000 per basis point. Asset BPV is 1,020,000,000 x 6.30 x 0.0001 = $642,600. The BPV gap is $2,765,400, and the starting hedge ratio is 642,600 / 3,408,000 = 18.855634%.

Step 2, size the overlay. Closing 60% of the gap needs 0.60 x 2,765,400 = $1,659,240 per basis point. The swap's BPV per $1 million of notional is 1,000,000 x 17.80 x 0.0001 = $1,780, so the notional required is 1,659,240 / 1,780 = $932.157303 million. In futures instead, 1,659,240 / 185 = 8,968.8649 contracts, which rounds to 8,969 and leaves the book over-hedged by $25.0000 per basis point. The hedge ratio after the overlay is (642,600 + 1,659,240) / 3,408,000 = 67.542254%.

Step 3, the 100 basis point move, both directions. Using duration and convexity on each leg:

Rates fall 100 bpRates rise 100 bp
Change in liability PV ($m)+379.200000-302.400000
Change in bond sleeve ($m)+67.065000-61.455000
Change in swap value ($m)+185.499303-146.348697
Surplus change with overlay ($m)-126.635697+94.596303
Surplus change without overlay ($m)-312.135000+240.945000
Funded ratio with overlay82.490080%87.347268%
Funded ratio without overlay75.815522%94.324228%

The overlay is doing exactly what a hedge does. In the rally it saves $185.499303 million of surplus; in the selloff it gives up the same amount. A trustee who wanted only the first half of that table wanted a rate view, not a hedge.

Step 4, build the same hedge two ways. Total asset-side BPV after the overlay is $2,301,840 per basis point either way. Build A holds $1,020 million of physical bonds, $1,020 million of equities and the $932.157303 million cleared swap. Build B replaces the physical bond sleeve entirely with a 4x levered pooled fund holding $1,293.168539 million of thirty-year exposure, which requires a net asset value contribution of $323.292135 million and releases $696.707865 million into equities, taking the return-seeking sleeve to $1,716.707865 million. Both builds report a 67.542254% hedge ratio.

Step 5, headroom. The levered fund's headroom is 10,000 / (4.0 x 17.80) = 140.449438 basis points, which the direct route confirms: net asset value of $323.292135 million divided by a fund BPV of $2.301840 million per basis point is 140.449438. Exposure size cancels out of the formula, so the answer would be the same on a fund a hundred times larger.

LeverageHeadroom at duration 17.80 (bp)
2.0x280.899
3.0x187.266
4.0x140.449
5.0x112.360
7.0x80.257

Step 6, the fast selloff. Rates rise 120 basis points in ten trading days and equities fall 8%. The levered fund loses 1,293.168539 x (17.80 x 0.0120 - 0.5 x 420 x 0.0120^2) = $237.115383 million, taking its net asset value to $86.176751 million and its headroom to 37.438202 basis points, below the 100 basis point recapitalisation trigger. Restoring 150 basis points of headroom needs $345.276000 million of net asset value, a cash call of $259.099249 million. The plan holds a $60.000000 million liquid buffer outside the fund, so $199.099249 million of equities must be sold into an 8% drawdown.

Build A faces the same market and a different week. Its variation margin on the cleared swap is $170.920363 million, against a bond sleeve worth $946.927200 million after the move plus the same $60.000000 million of cash, all of it eligible collateral. Cover is 5.891207 times, against build B's 0.231571.

Step 7, the funded ratio in the same event. The liability falls to $2,046.336000 million. Build A's assets fall to $1,714.406837 million, a funded ratio of 83.779342%, down 1.220658 percentage points. Build B's assets fall to $1,665.547987 million, a funded ratio of 81.391716%.

Strip the equity shock out and the rate move on its own is a good month for solvency. Build A's assets would be $1,796.006837 million against the same $2,046.336000 million liability, a funded ratio of 87.766957%, up 2.766957 percentage points from 85.000000%. Build B looks better still on that measure, at $1,802.884617 million and 88.103059%, up 3.103059 points, because it carries the same basis point value on less capital and puts the difference to work. The equity fall is what turns the first into a small decline and the second into a larger one, and neither version of the arithmetic has anything to say about the cash call.

Read it. Both builds hedged the same fraction of the same liability and neither was mis-sized. What separated them was where the leverage sat and what could be posted against it, and the cost of getting that wrong was a forced sale of $199.099249 million at the worst available price. Note also what the funded ratio did: it fell only 1.22 points in build A, so a report carrying solvency alone would have described a quiet month. The collateral line is the one that would have described the actual week.

Worked example 3: A contingent immunisation that hits its trigger (US, $)

Blue Ridge Casualty (synthetic) ring-fences $100.00 million against a five-year obligation. The client's contract sets a safety-net return of 4.00% a year. A fully immunised portfolio can currently be locked at 5.20%. The manager instead runs an active book with a modified duration of 9.00 and a convexity of 95, expecting rates to fall.

Solution. Step 1, the cushion. The safety net promises 100.00 x 1.04^5 = $121.665290 million at year five. Locking that today at 5.20% requires 121.665290 / 1.052^5 = $94.425218 million. The cushion is 100.000000 - 94.425218 = $5.574782 million, which is 5.574782% of the portfolio.

Step 2, walk the rate up. The active portfolio is revalued at each rate with duration and convexity; the required figure is discounted at the same rate.

Immunisation ratePortfolio value ($m)Required ($m)Cushion ($m)
5.20%100.00000094.425218+5.574782
5.70%95.61875092.212917+3.405833
6.20%91.47500090.062524+1.412476
6.60%88.33100088.385429-0.054429
7.20%83.90000085.939490-2.039490

Step 3, solve for the trigger yield. The cushion crosses zero at 6.584581%, which is 138.4581 basis points above today's rate. At that point the portfolio is worth $88.449380 million and the required figure is $88.449380 million, a residual of 0.0000000000. On a duration-only model the trigger sits at 6.395996%, 119.5996 basis points away, and the 18.8585 basis point difference between the two answers is the active book's convexity.

Step 4, price the room at other durations. On the duration-only model, the same cushion supports:

Active modified durationTrigger yieldRoom (bp)
5.0010.2859%508.59
7.007.2202%202.02
9.006.3960%119.60
12.005.9331%73.31
15.005.7270%52.70

Step 5, run past it. Rates reach 7.20%. The portfolio is worth $83.900000 million against $85.939490 million required, a shortfall of $2.039490 million. Locking in at 7.20% now produces 83.900000 x 1.072^5 = $118.777967 million against the promised $121.665290 million, a terminal shortfall of $2.887323 million. The client receives (118.777967 / 100)^(1/5) - 1 = 3.501627% a year against a contracted floor of 4.00%.

Read it. The cushion is a budget, the trigger yield is the date it runs out, and both move every day. The 138.4581 basis points of room here looks generous until you set it against how far long rates moved in 2022, and it shrinks to 73.31 basis points if the manager expresses a stronger view by extending duration to 12.00. What this example does not show, and what a real programme must, is that the trigger has to be recomputed continuously: it was 138 basis points away on day one, and by the time rates had risen 100 it was 38 away, not 138.

Worked example 4: A 26-bond stratified sample and where its tracking error comes from (US, $)

The Meridian US Aggregate (synthetic) holds 5,248 issues in five cells. A $900 million portfolio samples it with 26 bonds. Index modified duration is 6.12 years, portfolio duration 6.17. Assume a rate volatility of 90 basis points a year, and treat the rate factor, the cell spread factors and the idiosyncratic residuals as independent.

CellIndex weightPortfolio weightSpread durationSpread sigma (bp)Index issuesHoldingsIdiosyncratic sigma (bp)
Treasury 1-5y0.22000.22500.000906415
Treasury 5-10y and longer0.18000.17400.000612315
IG corporate A, 1-5y0.15000.14802.80381,4505150
IG corporate BBB, 5-10y0.20000.19906.10621,9008250
Agency MBS0.25000.25401.9048380690

Solution. Step 1, the duration term. Active duration is 6.17 - 6.12 = 0.0500 years, so the contribution is 0.0500 x 90 = 4.500000 basis points.

Step 2, the spread terms. Each cell contributes |weight mismatch| x spread duration x spread sigma. Index spread duration is 2.115000 years and the portfolio's is 2.110900, an active spread duration of -0.004100.

CellWeight mismatchSpread contribution (bp)Idiosyncratic contribution (bp)
Treasury 1-5y+0.00500.00001.6875
Treasury 5-10y and longer-0.00600.00001.5069
IG corporate A, 1-5y-0.00200.21289.9281
IG corporate BBB, 5-10y-0.00100.378217.5893
Agency MBS+0.00400.36489.3326

Step 3, the idiosyncratic terms. Each cell contributes cell weight x idiosyncratic sigma / sqrt(names held). The BBB cell holds eight bonds where the index holds 1,900, and at 0.1990 x 250 / sqrt(8) it contributes 17.5893 basis points on its own.

Step 4, add in quadrature. Spread variance totals 0.321398 and idiosyncratic variance 500.165769, so tracking error is sqrt(4.500000^2 + 0.321398 + 500.165769) = 22.819666 basis points a year. In variance shares: 96.049562% idiosyncratic, 3.888718% duration, 0.061720% spread weights.

Step 5, price the fix. Doubling to 52 holdings halves the idiosyncratic variance to 250.082884 and brings tracking error to 16.451574 basis points, a reduction of 6.368092. Getting there means selling half of each existing position and buying 26 new ones at an average size of $17.307692 million, turning over $450 million at a one-way 11 basis points, or $495,000. That is 5.500000 basis points of the portfolio once, 1.100000 basis points a year over five years, and 0.172736 basis points of cost per basis point of tracking error removed.

Step 6, price the alternative nobody offers. Full replication would need every one of the 5,248 issues. At a $1,000,000 institutional round lot, $900 million funds 900.00 positions, which is 17.149390% of the index, leaving 4,348.00 issues unreachable. Holding all of them at round-lot size would require a $5,248.00 million portfolio.

Read it. The tracking error is almost entirely a small-sample effect and almost not at all a construction error, which is the signature of a competently built stratified sample: the manager fixed everything that could be fixed by weighting and is left with the risk that only capital can fix. On these numbers the doubling trade is worth doing, at roughly six basis points of tracking error removed for one basis point a year of cost. Change the portfolio size to $90 million and the same trade fails, because the positions fall below round lots and the spreads widen, which is why the same decomposition gives opposite answers at different fund sizes.

Worked example 5: One year of drift, with the curve deliberately frozen (India, ₹)

Continue Worked Example 1's immunised build: ₹34.329325 crore of two-year face and ₹29.151422 crore of five-year face, against the five-payment schedule. One year passes. The zero curve is held exactly unchanged in shape, so the same 6.60%, 6.85%, 7.00%, 7.10% rates now apply to the shortened maturities. The ₹12.00 crore first payment has been made.

Solution. Step 1, the year's cash. Coupons received are 34.329325 x 0.07 + 29.151422 x 0.074 = ₹4.560258 crore against a ₹12.00 crore payment, so ₹7.439742 crore must be raised by selling bonds pro rata.

Step 2, revalue. The two-year bond now has one flow of 1.070000 per rupee of face and prices at 1.003752. The five-year has four flows left, three of 0.074000 and one of 1.074000, and prices at 1.010934. Before the sale the book is worth ₹63.928308 crore; after selling 11.637633% of it, holdings are ₹30.334204 crore and ₹25.758887 crore of face, worth ₹56.488566 crore.

Step 3, measure the drift. The remaining liability of 15.00, 18.00, 14.00 and 20.00 has a present value of ₹56.466533 crore, so the surplus is ₹0.022032 crore, essentially unchanged. The match is not.

A year agoNowChange
Liability Macaulay duration (years)3.0564262.495260-0.561166
Asset Macaulay duration (years)3.0582472.207195-0.851051
Liability BPV (₹ crore per bp)0.018198160.01315255
Asset BPV (₹ crore per bp)0.018198160.01162595
Hedge ratio100.000000%88.393184%-11.606816 pp

The assets shortened 0.289885 years more than the liability did, purely because a coupon bond's duration does not decline by one year per year and the two sides decline at different rates. The unhedged gap is ₹0.00152659 crore per basis point, or ₹15,265.92 per basis point.

Step 4, compute the trade. Re-solving the two-equation system on the shortened bonds gives required faces of ₹24.074418 crore and ₹31.974203 crore, so the trade is to sell ₹6.259786 crore of two-year face and buy ₹6.215316 crore of five-year face. Both legs are worth ₹6.283275 crore, so the switch is self-funding to twelve decimal places, and the asset BPV afterwards is 0.01315255, matching the liability to twelve decimal places.

Step 5, price the decision. At a round-trip cost of 4 basis points on the traded amount the switch costs ₹0.00502662 crore, or ₹50,266.20, which is 0.889847 basis points of the portfolio. Skipping it leaves ₹15,265.92 per basis point unhedged; on a 100 basis point fall in yields that costs ₹0.154876 crore of surplus, which is 27.417291 basis points of the portfolio and 30.811230 times the cost of the trade. Condition three still holds after the drift, with asset dispersion of 2.050122 against the liability's 1.287684.

Read it. The most useful property of this example is that nothing happened. No rate moved, no credit changed, nobody made a decision, and the hedge still fell 11.6 percentage points in twelve months. An immunisation is a position with a maintenance schedule attached, and the schedule is not optional. The costing also tells you the cadence. A restoring trade costs 0.889847 basis points, while one year of unattended drift puts 24.639994 basis points of surplus at risk on a single standard deviation of rate movement, taken here as 90 basis points and repriced off the curve exactly as the 100 basis point figure above was. At nearly twenty-eight to one, cost is not what should decide how often this book is rebalanced, and a hedge-ratio band is the right trigger because it fires when the exposure appears rather than when the calendar turns.

Worked example 6: Two portfolio durations, and the twist neither of them sees (US, $)

A $100 million book holds three US Treasuries with annual coupons: $40 million of a two-year 4.50% at a yield of 4.20%, $35 million of a seven-year 4.00% at 4.55%, and $25 million of a twenty-year 5.25% at 5.05%.

Solution. Step 1, bond by bond.

BondPriceFace ($m)Macaulay (yrs)Modified (yrs)Convexity
Two-year 4.50%100.56421139.7755821.9570561.8781735.367856
Seven-year 4.00%96.76493636.1701276.2273675.95635343.760652
Twenty-year 5.25%102.48190924.39454912.93576312.313910207.523352

Step 2, the market-value-weighted duration. 0.40 x 1.878173 + 0.35 x 5.956353 + 0.25 x 12.313910 = 5.914470 years, a BPV of $59,144.70.

Step 3, the cash-flow-yield duration. Pooling every cash flow the three bonds pay and solving for the single rate that discounts the pool to $100.0000 million gives a cash-flow yield of 4.770493%. At that rate the pooled stream has a Macaulay duration of 6.304947 years, a modified duration of 6.017865 years, a convexity of 71.877456 and a dispersion of 32.841550. BPV is $60,178.65.

Step 4, the size of the disagreement. The two methods differ by 0.103395 years, which is $1,033.95 per basis point, or 1.718130% of the cash-flow-yield figure. On a hedge sized off the wrong one, that residual is live in every rate move for the life of the position.

Step 5, apply a twist that neither method contains. The two-year sector rises 50 basis points, the seven-year rises 10, and the twenty-year falls 25.

BondShiftValue change ($m)
Two-year 4.50%+50 bp-0.372968
Seven-year 4.00%+10 bp-0.207709
Twenty-year 5.25%-25 bp+0.786094
Portfolio+0.205418

The market-value-weighted average of the three shifts is +17.2500 basis points, and a parallel-shift estimate at that rate gives -5.914470 x 0.001725 x 100 = -$1.020246 million. The actual answer is +$0.205418 million. The estimate is wrong by $1.225664 million, which is 122.5664 basis points of the book, and it has the sign backwards.

Step 6, the key-rate route. Bumping each bond's own yield by one basis point and scaling to the book gives key-rate durations of 0.751162 years to the two-year sector, 2.083958 to the seven-year and 3.075885 to the twenty-year, summing to 5.911005 years against the market-value-weighted 5.914470. Applying each bucket's own shift gives an estimate of +$0.184995 million, an error of $0.020424 million, or 2.0424 basis points of the book.

Read it. A parallel-shift measure applied to a non-parallel move got the direction of the P&L wrong, by more than a full percentage point of the portfolio. The key-rate route got it right to two basis points using nothing the parallel measure did not already have, because it kept the buckets separate instead of averaging them first. Reporting a key-rate profile in a liability-driven mandate rests on exactly that comparison, since the liability is a fixed set of buckets and the assets are the manager's choice of buckets.

Worked example 7: A rupee tracker and the cells it can actually reach (India, ₹)

A synthetic composite rupee bond index weights 52% central government securities, 28% state development loans and 20% corporate bonds. State loans are issued by 28 states and union territories; the six largest issuers carry 61% of outstanding stock. Within the state-loan sleeve, index weights by maturity bucket are 14% at one to three years, 26% at three to seven, 34% at seven to twelve and 26% beyond twelve, with key-rate durations of 1.90, 4.60, 7.30 and 11.80 years. Assume a state-loan-over-central-government spread volatility of 22 basis points a year, an independent key-rate volatility of 34 basis points a year, and a corporate sleeve contributing 18 basis points of its own sampling error. These parameters are stated for the example rather than sourced.

Solution. Step 1, what can be sourced. Holding state loans only from the six largest issuers reaches 28% x 61% = 17.080000% of the index and leaves 10.920000% to be substituted with central government bonds of matched duration. At a spread duration of 5.40 and a spread volatility of 22, that substitution contributes 0.1092 x 5.40 x 22 = 12.972960 basis points of tracking error.

Step 2, tracker version one, collapse the buckets. The manager drops the twelve-year-plus bucket, which does not trade, and redistributes into 30% at one to three, 40% at three to seven and 30% at seven to twelve.

BucketIndex weightTracker weightMismatchKRD (yrs)Contribution (bp)
1-3y0.140.30+0.161.90+1.7654
3-7y0.260.40+0.144.60+3.7398
7-12y0.340.30-0.047.30-1.6957
12y and longer0.260.00-0.2611.80-17.8165

The sleeve's duration falls from 7.012000 to 4.600000 years, a shortfall of 2.412000 years, and the key-rate mismatch contributes 18.368606 basis points. Total tracking error is sqrt(12.972960^2 + 18.368606^2 + 18^2) = 28.804572 basis points a year.

Step 3, tracker version two, fill the long bucket with government paper. Match the index bucket by bucket and source the twelve-year-plus exposure from long central government bonds. The key-rate mismatch goes to zero. The price is a second substitution: 17.080000% x 26% = 4.440800% of the index is now carried as basis risk at a spread duration of 11.80, contributing 11.528317 basis points. Combining the two substitution terms gives sqrt(12.972960^2 + 11.528317^2) = 17.355108 basis points, and total tracking error is sqrt(17.355108^2 + 18^2) = 25.003995 basis points a year.

Step 4, compare. Version two is 3.800577 basis points better, and it carries 15.360800% of the index as state-versus-central basis risk rather than as a 2.412000-year duration hole inside the sleeve. Against the US sample's 22.819666 basis points, version one runs at 1.262270 times and version two at 1.095721 times.

Step 5, the trading cost, for scale. At an illustrative 0.75 basis points round-trip on central government paper, 6.50 on off-the-run state loans and 35% annual index turnover, the state sleeve carries 0.343735 basis points a year of extra drag and the whole index costs 0.606235 basis points a year to track.

Read it. Neither design removes the risk of a segmented market; each chooses which residual to carry, and the arithmetic picks the smaller one. The comparison also settles a question of scale. Twenty-five basis points of tracking error against 0.6 basis points of trading cost makes a rupee tracker a sampling problem with a trading problem attached, and a manager who spends the review meeting on execution costs is discussing the smaller number by a factor of forty. (Check state-loan issuance concentration against the RBI's weekly auction results and traded volumes against CCIL before applying any of these parameters to a live mandate; checked 2026-09-08.)

Verify block

Every figure printed above, at full precision, produced by one script.

FigureValue
WE1 liability present value (₹ crore)63.856687
WE1 dedication cost (₹ crore)64.076015
WE1 dedication premium (₹ crore / bp of PV)0.219327 / 34.3468
WE1 implied forward f(3,4)7.400561%
WE1 reinvestment drag, present value (₹ crore)0.219327
WE1 liability BPV (₹ per bp)181,981.60
WE1 immunised faces, two-year / five-year (₹ crore)34.329325 / 29.151422
WE1 liability dispersion / asset dispersion1.962000 / 2.215180
WE1 liability convexity / asset convexity12.530729 / 12.761829
WE1 bullet BPV (₹ per bp) / dispersion167,437.03 / 0.288796
WE1 surplus at -100 bp / +100 bp (₹ crore)0.000725 / 0.000649
WE2 liability BPV / asset BPV ($ per bp)3,408,000.00 / 642,600.00
WE2 BPV to add for a 60% close ($ per bp)1,659,240.00
WE2 swap notional ($m) / futures contracts932.157303 / 8,969
WE2 hedge ratio before / after18.855634% / 67.542254%
WE2 levered fund exposure / net asset value ($m)1,293.168539 / 323.292135
WE2 headroom at 4x, duration 17.80 (bp)140.449438
WE2 fund loss at +120 bp ($m)237.115383
WE2 cash call / forced equity sale ($m)259.099249 / 199.099249
WE2 build A variation margin / cover ($m, x)170.920363 / 5.891207
WE2 funded ratio after the event, A / B83.779342% / 81.391716%
WE2 funded ratio on the rate move alone, A / B87.766957% / 88.103059%
WE2 funded-ratio change over the whole event, A / B (pp)-1.220658 / -3.608284
WE3 terminal promise / required today ($m)121.665290 / 94.425218
WE3 cushion ($m / %)5.574782 / 5.574782%
WE3 trigger yield, with / without convexity6.584581% / 6.395996%
WE3 room to the trigger, with / without convexity (bp)138.4581 / 119.5996
WE3 terminal shortfall ($m) / realised return2.887323 / 3.501627%
WE4 duration term / spread variance / idio variance4.500000 bp / 0.321398 / 500.165769
WE4 tracking error / after doubling (bp)22.819666 / 16.451574
WE4 trade cost (bp once / bp a year)5.500000 / 1.100000
WE4 round lots fundable / index issues900.00 / 5,248
WE5 coupons received / sale needed (₹ crore)4.560258 / 7.439742
WE5 hedge ratio after one year88.393184%
WE5 trade: sell / buy face (₹ crore)6.259786 / 6.215316
WE5 trade cost (₹ / bp of portfolio)50,266.20 / 0.889847
WE5 cost of skipping on a 100 bp fall (₹ crore / bp / x the trade)0.154876 / 27.417291 / 30.811230
WE6 duration, MV-weighted / cash-flow yield (yrs)5.914470 / 6.017865
WE6 cash-flow yield / dispersion4.770493% / 32.841550
WE6 actual twist P&L / parallel estimate ($m)+0.205418 / -1.020246
WE6 key-rate estimate / its error ($m)+0.184995 / -0.020424
WE7 substitution TE / key-rate TE (bp)12.972960 / 18.368606
WE7 long-bucket substitution TE / combined substitution TE (bp)11.528317 / 17.355108
WE7 tracker v1 / v2 total TE (bp)28.804572 / 25.003995
WE7 index tracking cost (bp a year)0.606235

Practice set

Work each problem before reading its solution. A calculator is assumed and no problem needs a spreadsheet, though several are faster with one. Numeric answers within 0.5% of the stated figure count as correct unless the problem says otherwise, and a sign error counts as wrong however close the magnitude. The first three carry scaffolding; the rest do not.

P1 (guided). Two duration methods on one rupee book. A ₹100 crore book holds ₹25 crore of a three-year 7.00% G-Sec at a yield of 7.05%, ₹40 crore of a six-year 8.80% NBFC bond at 9.40%, and ₹35 crore of a twelve-year 7.15% G-Sec at 7.30%, all with annual coupons. Compute the portfolio's modified duration by the market-value-weighted method and by the cash-flow-yield method, and state the BPV difference in rupees.

Solution. Individual modified durations are 2.622965, 4.473141 and 7.847284 years at prices of 99.868904, 97.340248 and 98.827415 per ₹100. The market-value-weighted figure is 0.25 x 2.622965 + 0.40 x 4.473141 + 0.35 x 7.847284 = 5.191547 years. Pooling all cash flows and solving for the single rate that returns ₹100 crore gives a cash-flow yield of 8.028704%, at which the pooled stream has a modified duration of 5.118962 years. The difference is 0.072585 years, which on ₹100 crore is ₹7,258.50 per basis point. The gap is larger here than on a government-only book because the NBFC bond's yield sits 210 to 235 basis points above the two government yields, and yield dispersion across the holdings is exactly what drives the two methods apart.

P2 (guided). Dedicate a three-year schedule. Liabilities of $500,000, $700,000 and $900,000 fall at the ends of years one, two and three. Available bonds, annual coupons, are a one-year 4.00%, a two-year 4.50% and a three-year 4.75%. Solve backward for the face amounts. Then, using a spot curve of 3.95%, 4.40% and 4.65%, price the portfolio and compare its cost with the present value of the liabilities.

Solution. Year three: 900,000 / 1.0475 = $859,188.544 of face, paying $40,811.456 of coupon in years one and two. Year two: (700,000 - 40,811.456) / 1.045 = $630,802.435 of face, paying $28,386.110 in year one. Year one: (500,000 - 40,811.456 - 28,386.110) / 1.04 = $414,233.110 of face. Pricing the three bonds off the stated curve gives a total cost of $1,908,520.522, and the present value of the liabilities off the same curve is $1,908,520.522. The difference is 0.000000000, and it must be: a portfolio whose cash flows exactly replicate the liability has, by no-arbitrage, exactly the liability's present value. Every rupee or dollar of dedication premium in a real problem comes from a maturity you could not source or a reinvestment rate you had to assume conservatively, never from the recursion itself.

P3 (guided). Which condition fails. A $250 million asset portfolio is proposed against a $250 million liability. Asset modified duration is 8.40 years and liability modified duration is 8.40 years. Asset dispersion is 6.20 years squared and liability dispersion is 9.10. State whether the build is immunised, name the condition that fails, and say what a manager should do about it.

Solution. Condition one passes: both sides are $250 million. Condition two passes: money duration is 250 x 8.40 = 2,100.0000 on each side. Condition three fails, by 6.20 - 9.10 = -2.90 years squared. The assets are bunched more tightly around the 8.40-year point than the liability is, so a twist that steepens or flattens around that point reprices the two sides differently and the surplus moves even though the parallel match is exact. The remedy is to spread the asset cash flows, typically by replacing part of a bullet holding with a pair of shorter and longer bonds that preserve the money duration. The remedy is not to lengthen duration, which would break condition two while leaving condition three unfixed.

P4. Size a futures overlay. An Indian trust reports liabilities with a present value of ₹900 crore at a modified duration of 11.60 years, against assets of ₹720 crore at a modified duration of 5.40. A ten-year G-Sec futures contract has a stated BPV of ₹5,800 per contract. Compute the funded ratio, the hedge ratio, the number of contracts needed to close 75% of the BPV gap, and the hedge ratio after rounding.

Solution. Funded ratio is 720 / 900 = 80.000000%. Liability BPV is 900 crore x 11.60 x 0.0001 = ₹10,440,000 per basis point; asset BPV is 720 crore x 5.40 x 0.0001 = ₹3,888,000. The hedge ratio is 3,888,000 / 10,440,000 = 37.241379% and the gap is ₹6,552,000 per basis point. Closing 75% needs ₹4,914,000 per basis point, which is 4,914,000 / 5,800 = 847.2414 contracts, rounded to 847. The hedge ratio afterwards is (3,888,000 + 847 x 5,800) / 10,440,000 = 84.296935%, against the 84.310345% an unrounded trade would have given.

P5. Cushion and trigger. A $250 million portfolio has a four-year horizon, a contracted safety-net return of 3.50%, and an available immunisation rate of 4.80%. Compute the terminal promise, the required assets today and the cushion. Then, using a duration-only model and an active modified duration of 7.50, find the trigger yield.

Solution. The safety net promises 250 x 1.035^4 = $286.880750 million. Locking that at 4.80% requires 286.880750 / 1.048^4 = $237.824327 million, so the cushion is $12.175673 million, or 4.870269% of assets. Setting 250 x (1 - 7.50 x (r - 0.048)) equal to 286.880750 / (1+r)^4 and solving gives a trigger yield of 6.025891%, which is 122.5891 basis points of room. A manager who lengthened duration to 12.00 would cut that room to 57.85 basis points, and one who shortened it to 5.00 would widen it to 301.40, which is the arithmetic every contingent mandate should force a manager to look at before the trade rather than after it.

P6. Dispersion of a two-payment liability. A trust owes ₹40 crore at year three and ₹60 crore at year eight. At a discount rate of 7.25%, compute the present value, Macaulay duration, convexity and dispersion, and express the dispersion as a standard deviation in years.

Solution. Present value is 40 / 1.0725^3 + 60 / 1.0725^8 = ₹66.698747 crore. Macaulay duration is 5.569361 years and modified duration 5.192878. Convexity is 37.237211. Dispersion is sum of w_t (t - 5.569361)^2 = 6.245189 years squared, a standard deviation of 2.499038 years. Any asset portfolio proposed against this liability must carry at least 6.245189 of dispersion, which rules out a single-payment asset at every maturity, since its dispersion is zero. A single coupon bond is not ruled out by inspection, and its dispersion has to be computed rather than assumed. At this yield the six-year and seven-year bonds that match the 5.569361-year duration carry dispersions of 1.439203 and 4.368227, both short of the condition, and the shortest maturity that clears it is eight years, which needs a coupon near 16.36% to match the duration at all.

P7. Headroom and the call. A levered pooled fund holds $800 million of exposure at a modified duration of 16.50, at 5x leverage. Compute the net asset value, the fund's BPV, and its headroom in basis points by both routes. Then, on a 90 basis point selloff and a duration-only model, compute the remaining headroom and the cash call required to restore 120 basis points.

Solution. Net asset value is 800 / 5 = $160.0000 million and fund BPV is 800 x 16.50 x 0.0001 = $1.320000 million per basis point. Headroom is 10,000 / (5.0 x 16.50) = 121.212121 basis points, which the direct route confirms as 160.0000 / 1.320000 = 121.212121. A 90 basis point move costs 800 x 16.50 x 0.0090 = $118.800000 million, leaving a net asset value of $41.200000 million and 31.212121 basis points of headroom. Restoring 120 basis points needs 120 x 1.320000 = $158.400000 million, a cash call of $117.200000 million, which is 73.25% of the fund's original net asset value. Note what the leverage did: a move of 0.9% in a bond market consumed three quarters of the equity in the vehicle.

P8. Build a tracking error. A sampled portfolio is 1.20 percentage points overweight a cell with a spread duration of 5.90 and a spread volatility of 55 basis points. It is 0.80 points underweight a second cell with a spread duration of 2.20 and a volatility of 40. It holds 14 names carrying 42% of the portfolio at an idiosyncratic volatility of 190 basis points each, and runs a duration mismatch of 0.08 years against a rate volatility of 85 basis points. Compute total tracking error, treating the factors as independent.

Solution. The two spread terms are 0.0120 x 5.90 x 55 = 3.894000 and 0.0080 x 2.20 x 40 = 0.704000 basis points. The idiosyncratic term is 0.42 x 190 / sqrt(14) = 21.327447. The duration term is 0.08 x 85 = 6.800000. Adding in quadrature, tracking error is sqrt(3.894^2 + 0.704^2 + 21.327447^2 + 6.800000^2) = 22.732331 basis points a year. As in the worked example, the sample size dominates: the idiosyncratic term alone is 88.0% of the variance.

P9. Required asset duration. A US plan has $1,800 million of liabilities at a modified duration of 13.40 years against $1,440 million of assets. Compute the funded ratio and the asset modified duration required for a 50%, 75% and 100% hedge. Then compute what the bond sleeve's own duration would have to be if only 55% of assets sit in bonds and the plan wants a full hedge with no derivatives.

Solution. The funded ratio is 1,440 / 1,800 = 80.000000%. Required asset duration is hedge ratio x (liability PV / assets) x liability duration, so 8.375000 years at 50%, 12.562500 at 75% and 16.750000 at 100%. The asset side has to run longer than the liability because it is the smaller pool. If only 55% of assets are in bonds, the bond sleeve alone must carry 16.750000 / 0.55 = 30.454545 years of modified duration, which no cash bond market supplies. The plan therefore has three choices and only three: move assets into bonds, obtain a mandate change, or use a derivative overlay. Reporting the 30.45 figure is what makes that conversation short.

P10. Price a missing maturity. Using Worked Example 1's numbers, state the year-four shortfall, the cash needed at year three under the trust's 5.00% policy assumption and under the curve's implied forward, and the present value of the difference. Express the answer in basis points of the liability.

Solution. The year-four shortfall after the five-year bond's coupon is ₹12.621974 crore. At the 5.00% policy rate that needs ₹12.020928 crore at year three; at the implied forward of 7.400561% it would need ₹11.752242 crore. The difference of ₹0.268685 crore discounted at the three-year zero of 7.00% is ₹0.219327 crore, which is 34.3468 basis points of the ₹63.856687 crore liability. That figure is the entire dedication premium in this problem, and it disappears if a four-year bond exists.

P11. Compute the rebalancing trade. One year into the rupee immunisation, asset BPV is 0.01162595 ₹ crore per basis point against a liability BPV of 0.01315255, on a portfolio worth ₹56.488566 crore held as ₹30.334204 crore of one-year face priced at 1.003752 and ₹25.758887 crore of four-year face priced at 1.010934. Compute the trade that restores the match without changing market value.

Solution. Solve the two-equation system for faces that satisfy both the ₹56.488566 crore market value and the 0.01315255 BPV. The answer is ₹24.074418 crore of the short bond and ₹31.974203 crore of the long, so the trade is to sell ₹6.259786 crore of short face and buy ₹6.215316 crore of long face. Each leg is worth ₹6.283275 crore, so the switch is self-funding, and the asset BPV afterwards ties to the liability's to twelve decimal places. The gap being closed is ₹15,265.92 per basis point, which is 11.606816 percentage points of hedge ratio.

P12. Rank two builds under a twist. A $100 million liability falls due in seven years and is priced at a flat 4.50%. Build A is a barbell of two-year and fifteen-year zeros weighted 0.615385 and 0.384615; build B is a ladder of five-, seven- and nine-year zeros in equal present-value thirds. Both match the liability's 7.000000-year duration. Apply a twist in which the curve pivots about the seven-year point at 4 basis points per year of maturity, and rank the two builds.

Solution. The liability's terminal payment is $136.086183 million and its dispersion is 0.000000. Build A's dispersion is 40.000000 years squared and build B's is 2.666667. The twist gives -20 basis points at two years, -8 at five, 0 at seven, +8 at nine and +32 at fifteen, so the liability does not move. Build A falls to $98.512116 million and build B to $99.899097 million, leaving surpluses of -$1.487884 million and -$0.100903 million. Build A loses $1.386981 million more than build B on an identical duration match, and the number that predicted it in advance was dispersion. Both builds satisfy the third immunisation condition against a zero-dispersion liability; only one of them satisfies it by a sensible margin.

P13. Does the extra sample pay. Using Worked Example 4's figures, state the tracking error before and after doubling the sample, the cost in basis points a year, and the cost per basis point of tracking error removed. Then say what would change the answer.

Solution. Tracking error falls from 22.819666 to 16.451574 basis points, a reduction of 6.368092. The trade turns over half the portfolio at 11 basis points one way, costing 5.500000 basis points once, or 1.100000 basis points a year amortised over five years, so the cost is 0.172736 basis points per basis point of tracking error removed. Two things would reverse the answer. A smaller portfolio pushes position sizes below round lots, so the effective spread widens and the same 26 names cost several times as much. A shorter expected holding period shortens the amortisation: at a one-year horizon the cost is 5.500000 basis points a year against the same 6.368092 of tracking error removed, and the trade stops being obvious.

P14. Recommend a build. A synthetic Indian trust owes the five-payment schedule of Worked Example 1. Dedication costs ₹64.076015 crore and immunisation ₹63.856687 crore. The immunised alternative requires an annual rebalancing trade costing 0.889847 basis points of the portfolio. The trustee board meets quarterly, has no delegated authority to trade between meetings, and its investment committee turns over every two years. Recommend a build in three sentences, with the arithmetic that supports it.

Solution. Dedication costs ₹0.219327 crore more, which is 34.3468 basis points of the liability, or 6.8694 basis points a year across five years. Immunisation costs 0.889847 basis points a year to maintain, so on cost alone immunisation wins by roughly six basis points a year, which is close to noise on a ₹64 crore book. The recommendation is dedication, because the deciding constraint is not cost: a board that meets quarterly with no delegated trading authority cannot reliably execute a rebalancing trade in the week a trigger fires, and an immunisation that is not rebalanced is an unhedged position wearing a hedge's label. The one condition that would flip the answer is a delegation of authority to a named officer with a written trigger, at which point the six basis points a year and the flexibility both favour immunisation.


Applied mini-project

Fund a liability twice, hedge a gap, and write the policy that keeps the hedge alive.

Four artefacts, each with an explicit numerical test that must be shown rather than asserted. Use a spreadsheet or Python. Label every synthetic entity synthetic, and trace any real curve to a named primary source with the date recorded: FBIL or CCIL for the rupee government valuation curve, the US Treasury par yield curve for dollars.

  • Artefact 1, a dedication that ties (2 tests). Take a liability schedule of at least five dated payments and a bond universe of at least six candidates, and deliberately omit a maturity so that cash must be carried. Solve backward for the face amounts, price the portfolio, and produce the year-by-year tie-out table. Test 1: available cash meets or exceeds the liability on every date and the residual after the last payment is non-negative and below 0.01% of the schedule. Test 2: the dedication premium over the liability's present value equals the present value of your stated reinvestment assumption's drag, computed independently, to within 1e-6 of the currency unit. If Test 2 fails, either your recursion or your forward rate is wrong, and you must say which.
  • Artefact 2, an immunisation with all three conditions (3 tests). Build a two-bond or three-bond portfolio against the same schedule off the same curve. Test 3: asset present value equals liability present value to 1e-9. Test 4: asset BPV equals liability BPV to 1e-9, with BPV computed as half the two-sided one-basis-point reprice of the whole curve, not from a rounded duration. Test 5: asset dispersion and asset convexity each exceed the liability's, with both figures reported. Then reprice both sides at plus and minus 100 basis points and show the surplus is positive in both directions.
  • Artefact 3, a hedged gap and its collateral (2 tests). Take a stated funded ratio, liability duration and asset duration, and size an overlay to close a stated fraction of the BPV gap, in both swap notional and futures contracts. Test 6: the post-overlay hedge ratio computed from summed sleeve BPVs equals the target, and the rounding residual is reported in currency per basis point. Test 7: produce a collateral table showing headroom in basis points at three leverage levels, the cash call under a stated fast selloff, and the buffer that would be required to avoid a forced sale. State the buffer as a policy number, not as an observation.
  • Artefact 4, a written rebalancing and collateral policy (1 test). One page, naming the hedge-ratio band, the review cadence, the tradable sleeves, the restated dispersion check, the minimum headroom in basis points, the composition of the liquid buffer, the sale order if the buffer is exhausted, and the person authorised to act without a meeting. Test 8: run your own policy against Artefact 3's stress and state, in currency, whether it would have held. A policy that fails its own stress is a finding, not a failure, provided you say so.

Deliverable. One workbook or notebook, plus a two-page memo carrying the headline numbers of all four artefacts and the eight test residuals. The memo also names every assumption you made: the curve source and its date, the reinvestment rate, the volatilities, the transaction costs, the leverage and the equity shock. It closes on the one assumption the recommendation is most sensitive to, with that sensitivity quantified.

Rubric (21 points; pass at 17 with no zero on any row). Score your own work against it before anyone else does, and write down the row you were most tempted to be generous on.

#Criterion0123
1Dedication tie-out (Tests 1-2)fails or absentfunds the scheduleplus the premium reconciledpremium reconciled to 1e-6 with the forward shown
2Immunisation conditions (Tests 3-5)any condition failsone and two passall three passall three pass and the shift check is shown both ways
3Cost comparisonabsentstated in currencystated in bp of the liability and per yearplus what the premium buys, in one paragraph
4Overlay sizing (Test 6)wrong unit or absentnotional computednotional and contracts, residual reportedplus the reconciliation of summed sleeve BPVs
5Collateral analysis (Test 7)absentone leverage levelthree levels and the cash callplus the buffer required to avoid a forced sale
6Rebalancing and collateral policy (Test 8)absentdescribes triggersall eight elements namedpolicy run against its own stress and the verdict stated
7Assumptions named, sourced and datednonepartialcompletecomplete, sourced, dated, and the binding one quantified

Score each row on the same 0 to 3 scale. Any artefact whose test fails scores zero on its row regardless of how well the memo reads, because the entire claim of a liability-driven build is that the numbers tie, and a build whose numbers do not tie is making a claim it has not earned. A memo that reports a failed test honestly and diagnoses it scores higher on row 7 than one that quietly omits it.


Reading & resources

Treat each item as an anchor to verify against and to learn from, never as a source to lift a number from without tracing it yourself.

The liability-driven spine:

  • CFA Institute Level III, Liability-Driven and Index-Based Strategies. The canonical exam treatment of dedication, the three immunisation conditions, contingent immunisation and index sampling, in the vocabulary a professional reader will expect. [Paid] [Intermediate]
  • Frank J. Fabozzi (ed.), The Handbook of Fixed Income Securities. The desk reference; its chapters on portfolio management, dedication and index replication are the fullest treatment of the mechanics here. [Paid] [Intermediate-Advanced]
  • Martin L. Leibowitz and Alfred Weinberger's work on contingent immunisation, first published in the Financial Analysts Journal in the early 1980s. The cushion, the safety-net return and the trigger are their construction, and the original papers are shorter and clearer than most summaries of them. [Paid] [Advanced]
  • F. M. Redington, "Review of the Principles of Life-Office Valuations", Journal of the Institute of Actuaries, 1952. The origin of immunisation, written by an actuary for actuaries, and still the clearest statement of why the convexity condition exists. [Free] [Advanced]

Leverage, collateral and what went wrong in 2022:

  • Bank of England market notices and Financial Policy Committee records covering September to November 2022. The primary account of the gilt intervention, the size of the operations and the subsequent supervisory expectations for LDI leverage and headroom. [Free] [Intermediate]
  • The Pensions Regulator's guidance on leveraged liability-driven investment for UK trustees. Written for the people who actually sign the policy, and the closest thing to a public standard for how much headroom a levered book should hold. [Free] [Beginner-Intermediate]
  • Bank for International Settlements quarterly reviews covering the episode. Useful for the mechanism, the margin spiral and the cross-market spillovers, rather than for the UK specifics. [Free] [Advanced]

Index construction and tracking:

  • Bloomberg Index Services methodology documents for its aggregate bond indices, and the equivalents from FTSE Russell and ICE. The rulebooks state the inclusion criteria, the rebalancing dates and the pricing sources that a tracker has to live with. [Free] [Intermediate]
  • Richard C. Grinold and Ronald N. Kahn, Active Portfolio Management. The risk-decomposition framework behind the tracking-error arithmetic used here, written for equities and applying almost unchanged to a cell-structured bond portfolio. [Paid] [Advanced]

Primary sources for the data you will actually use:

  • FBIL and CCIL: rupee benchmark rates, the government securities valuation curve, and traded volume statistics. The India anchor for every curve and every liquidity claim in this node. [Free] [Beginner-Advanced]
  • Reserve Bank of India weekly auction results and the Handbook of Statistics on the Indian Economy, for state development loan issuance by state and by maturity. The 61% concentration figure in Worked Example 7 would have to be sourced and dated from here. [Free] [Intermediate]
  • US Treasury daily par yield curve rates and CME Group contract specifications for Treasury futures, including the DV01 of each contract and the delivery basket. [Free] [Beginner-Intermediate]
  • Pension Benefit Guaranty Corporation and sponsor Form 5500 filings for US plan funded ratios, liability durations and asset allocations; the equivalent Indian disclosures sit in the sponsor's own annual report under the employee-benefits note. [Free] [Intermediate]

Do this, not just read: build Worked Example 1's dedication in a spreadsheet, then delete the three-year bond from the universe and rebuild it. Watch the cash-carry lengthen from one year to two, watch the dedication premium more than triple, from 34.3468 basis points of the liability to 114.573187, and watch what a 3.00% reinvestment assumption does to the same table. Twenty minutes of watching a schedule get more expensive as the universe thins will teach you more about why dedication is rare than any chapter on it.


Teach it back & journal

Feynman prompt. Explain to a colleague who has only ever managed a total-return bond fund why two portfolios with the same duration can be entirely different hedges. Use one anchor and carry it all the way: the seven-year liability, the barbell of two-year and fifteen-year zeros, and the ladder of five, seven and nine. Make them compute both durations and agree they are both 7.000000 years. Then hand them the twist, four basis points per year of maturity pivoting about the seven-year point, and make them reprice each build themselves rather than watching you do it. When they reach negative $1.487884 million against negative $0.100903 million, ask them which number in the original description of the two portfolios could have warned them, and do not accept "duration" as the answer. If they say "dispersion" without prompting, and then ask you what the liability's dispersion was before proposing anything, the mechanism is installed.

Then take the second half, which is harder to teach because it is not a valuation idea. Ask them to tell you, without looking, what happens to a plan's funded ratio when long rates rise 120 basis points overnight, and let them say correctly that it improves. Then ask them where the cash for the margin call comes from. Most people who have never run a hedged book have never had to hold those two answers in their head at once. The moment they do, the 2022 episode stops being a story about the United Kingdom and becomes a piece of arithmetic they can carry into any levered position.

Journal prompt. For one month, every time you meet a duration figure in a factsheet, a pitch, a pension disclosure or a rating report, write down four things before you use it. Whether it is modified or effective. Whether a portfolio figure came from market-value weights or from the cash-flow yield. What the base is, if it is expressed as a ratio. And whether anything in the document tells you the dispersion or the key-rate profile. Then answer in writing at the end of the month. Count the portfolio durations that named their method, and the hedge ratios that named their base. Count the liability-driven mandates that disclosed collateral headroom in basis points rather than a reassuring sentence about liquidity. Where a document did not tell you, record what you did and what you should have done.

Then write a paragraph on the harder question this material raises. A liability-driven build is the closest thing in investing to a genuinely solved problem: the answer is computable, the conditions are checkable, and the tests either pass or fail. The arithmetic is therefore not the part that fails. What fails is the document that says who acts, on which trigger, with what buffer, and by when. Which of the four collateral-policy elements, or the five rebalancing-policy elements, would you personally be most likely to leave out when you were busy? Write down what specifically goes wrong when that element is missing, on which timescale, and what you will put in place this quarter to make leaving it out harder than writing it down.


This module's flashcards and mastery quiz are wired into the app: see the node's Quiz and Reviews.

Advertisement

The gate

The module's flashcards and its quiz are in the app. The quiz is the gate: you need 85% to pass it, and the next module opens when you do.

Terms this module defines