Tutorials › Exam FM - Financial Mathematics › Matching Liabilities with Coupon Bonds

Exam FM · Asset-Liability Matching · Tutorial 646 of 998

Matching Liabilities with Coupon Bonds

Build and check a portfolio of coupon bonds by equating its cash flow to each liability on the date that payment is due.

Advanced 11 min read

What You'll Learn

  • Represent each bond’s coupons and redemption as cash flows on their actual payment dates.
  • Set up one matching equation for every liability date.
  • Solve systems of equations for bond holdings, including fractional units.
  • Check a proposed match by reconstructing the portfolio’s cash flow at every date.
  • Recognize when coupon timing or nonnegative-holding restrictions make a match infeasible.

Why Coupon Dates Matter

A coupon bond does not deliver its entire value at maturity. It pays coupons on specified dates and returns principal at redemption. To match a liability portfolio exactly, the bond portfolio must provide the required amount on each liability date, not merely have the same present value or the same total of all future payments.

The task is to list the cash flow from each bond at each relevant date, multiply each bond’s cash flow by the number of units held, and equate the portfolio total to the liability due on that date. A coupon paid before a liability cannot be carried forward without an assumption about reinvestment; a coupon paid after a liability is too late to meet it. Exact matching avoids those timing gaps by aligning dated amounts directly.

Definition: Exact cash-flow matching with coupon bonds means choosing holdings so that, at every date when a bond or liability has a cash flow, the total bond cash flow equals the liability cash flow. A bond’s cash flow includes its coupon on each coupon date and its redemption payment at maturity. If the final coupon is paid at maturity, both the coupon and redemption are included on that date.

Turning Bonds into Matching Equations

Suppose there are \(m\) bonds and \(n\) liability dates. Let \(h_j\) be the number of units held of bond \(j\), and let \(q_{kj}\) be the cash flow from one unit of bond \(j\) on liability date \(t_k\). Let \(L_k\) be the liability payment due on that date. The matching condition is:

$$ \sum_{j=1}^{m} h_jq_{kj}=L_k,\qquad k=1,\ldots,n. $$

The coefficient \(q_{kj}\) is determined from the bond’s payment schedule, not from its price. It is the coupon if \(t_k\) is a coupon date before maturity, the coupon plus redemption if \(t_k\) is the maturity date, and zero if the bond pays nothing then. The equations can be written as a matrix system, but a date-by-date table is often the clearest way to build it.

For example, a bond with a face amount of $1,000, an annual coupon rate of 4%, and annual coupons pays $40 on each coupon date. If it matures at year 3, its cash flows at years 1, 2, and 3 are $40, $40, and $1,040. The last amount includes both the $40 coupon and the $1,000 redemption.

Assumptions: Unless stated otherwise, the examples treat bond payments and liabilities as deterministic, assume no default or transaction costs, use coupon dates that coincide with the listed liability dates, and allow fractional bond units. Holdings are nonnegative unless short selling is explicitly permitted. These equations match cash flows; they do not by themselves impose a purchase-budget or present-value constraint.

The core justification is direct. At date \(t_k\), one unit of bond \(j\) contributes exactly \(q_{kj}\). Holding \(h_j\) units contributes \(h_jq_{kj}\). Adding the contributions from every bond gives the portfolio’s cash available on that date. It meets the liability there exactly if that sum is \(L_k\). Repeating this argument for each date gives the full system of matching equations.

$$ \text{Portfolio cash flow at }t_k =\sum_{j=1}^{m}h_jq_{kj} =L_k. $$

A valuation interest rate is not needed to establish this equality: it compares dollars available on the same date. Discounting can be useful for other questions, such as comparing present values, but equal present values do not guarantee equal cash flows at individual dates. Conversely, a portfolio can match dated payments even when no valuation rate has been specified.

A Reliable Setup and Solution Method

1
List all relevant dates.
Include every liability date and every coupon or redemption date that can affect the match. A bond payment on a date with no liability still matters if the portfolio is required to have no surplus cash flow on that date.
2
Write each bond’s per-unit cash flows.
Use the coupon amount on coupon dates and add redemption to the final coupon at maturity. Record zero on dates when the bond pays nothing.
3
Form one equation per date.
Multiply each per-unit cash flow by its bond holding and set the sum equal to the liability for that date.
4
Solve and check every date.
Substitute the holdings back into all equations. If nonnegative holdings are required, reject a solution that needs a negative holding.

When the latest liability date is also the maturity date of only one bond, its equation may determine that bond’s holding first. Earlier equations can then be solved in reverse order. This triangular pattern is convenient, but it is not guaranteed: overlapping maturities or coupon schedules can produce a general system that must be solved simultaneously.

Worked Example: Matching Three Dated Payments with Two Bonds

A fund must pay $32 at year 1, $232 at year 2, and $520 at year 3. Bond A has a $1,000 face amount, a 4% annual coupon, and matures at year 3. Bond B has a $1,000 face amount, a 6% annual coupon, and matures at year 2. Find holdings that exactly match all liabilities. Use the date-by-date equation method and verify the result.

Step 1: List the per-unit bond cash flows. Bond A pays $40 at years 1 and 2, then $1,040 at year 3 ($40 coupon plus $1,000 redemption). Bond B pays $60 at year 1, then $1,060 at year 2 ($60 coupon plus $1,000 redemption); it pays nothing at year 3.

Let \(A\) and \(B\) denote units of the respective bonds. The year-3 equation is \(1{,}040A=520\), so \(A=520/1{,}040=0.5\) unit.

At year 2, Bond A contributes \(40(0.5)=20\). Thus \(20+1{,}060B=232\), giving \(1{,}060B=212\) and \(B=212/1{,}060=0.2\) unit, or \(1/5\) unit.

Check at year 1. The portfolio pays \(40(0.5)+60(0.2)=20+12=32\), exactly the year-1 liability. At year 2 it pays \(40(0.5)+1{,}060(0.2)=20+212=232\). At year 3 it pays \(1{,}040(0.5)=520\). All three dates match.

Method and trap avoided: Starting with the last payment makes the redemption-date equation easy to solve. Do not treat Bond B’s year-2 payment as only its $60 coupon; its redemption is due on that date too.

Worked Example: Include the Final Coupon in Redemption Cash Flow

Liabilities are $1,120 at year 1, $1,100 at year 2, and $2,060 at year 3. Three bonds are available: Bond A pays a 5% annual coupon on $1,000 face value and matures at year 1; Bond B pays a 4% annual coupon on $1,000 face value and matures at year 2; Bond C pays a 3% annual coupon on $1,000 face value and matures at year 3. Find nonnegative holdings that match the liabilities.

Cash-flow schedule per unit. Bond A pays $1,050 at year 1: its $50 coupon plus $1,000 redemption. Bond B pays $40 at year 1 and $1,040 at year 2. Bond C pays $30 at years 1 and 2, then $1,030 at year 3.

Let \(A\), \(B\), and \(C\) be the holdings. At year 3, only Bond C pays, so \(1{,}030C=2{,}060\), giving \(C=2\).

At year 2, Bond C contributes \(30(2)=60\). The equation is \(1{,}040B+60=1{,}100\), so \(1{,}040B=1{,}040\) and \(B=1\).

At year 1, Bond B contributes \(40(1)=40\), and Bond C contributes \(30(2)=60\). The remaining amount for Bond A is \(1{,}120-40-60=1{,}020\). Therefore \(1{,}050A=1{,}020\), and \(A=1{,}020/1{,}050=34/35\) unit.

Check all dates. At year 1, the cash flow is \(1{,}050(34/35)+40+60=1{,}020+100=1{,}120\). At year 2 it is \(1{,}040+60=1{,}100\). At year 3 it is \(1{,}030(2)=2{,}060\). The holdings are all nonnegative and the match is exact.

Method and trap avoided: Solve from the latest date and work backward, subtracting coupons from bonds already determined. The maturity payment for Bond C is $1,030, not $1,000: omitting its final coupon changes the year-3 holding and disrupts the other equations.

Worked Example: Track Interim Coupons Before Maturity

A liability fund needs $95 at each of years 1 and 2, $1,345 at year 3, and $420 at year 4. Bond X has a $1,000 face amount, a 6% annual coupon, and matures at year 3. Bond Y has a $1,000 face amount, a 5% annual coupon, and matures at year 4. Determine the exact holdings.

Bond X pays $60 at years 1 and 2, then $1,060 at year 3. Bond Y pays $50 at years 1, 2, and 3, then $1,050 at year 4. Let \(X\) and \(Y\) be the holdings.

At year 4, \(1{,}050Y=420\), so \(Y=420/1{,}050=0.4\) unit. At year 3, Bond Y contributes \(50(0.4)=20\), so \(1{,}060X+20=1{,}345\). Therefore \(1{,}060X=1{,}325\) and \(X=1.25\) units.

Check the earlier dates. At year 2, the cash flow is \(60(1.25)+50(0.4)=75+20=95\). Year 1 has the same coupon amounts, so it also equals $95. At year 3, \(1{,}060(1.25)+50(0.4)=1{,}325+20=1{,}345\). At year 4, \(1{,}050(0.4)=420\). Each liability is met exactly.

Method and trap avoided: Work backward from the last payment, then include every interim coupon from a bond whose holding has already been determined. A bond that matures later can still contribute to earlier liability dates through its coupons.

Feasibility, Surpluses, and Common Errors

An exact match requires the equations to be consistent with the available bond cash flows. If there are fewer bonds than liability dates, a solution may still exist, but the equations impose multiple conditions on the holdings. If the equations conflict, no exact match exists using those bonds. If nonnegative holdings are required, a solution that uses a negative holding is also infeasible under that restriction. A negative holding represents a short position, which is a different investment constraint.

Be explicit about whether the objective is to match liabilities only at their due dates or to have no excess cash flow at any bond payment date. If a bond pays on a date with no liability, its payment is a surplus on that date. It does not change the amount available on other dates unless reinvestment is separately modeled. For a strict date-by-date match with zero surplus, include that date as an equation with a zero right-hand side.

  • Omitting redemption. At maturity, include both the final coupon and face amount. A $1,000 bond with a $40 final coupon pays $1,040, not $1,000.
  • Omitting an interim coupon. A bond maturing later may pay coupons before maturity. Include those payments in every applicable date equation.
  • Using total cash flow instead of dated cash flow. Adding all payments across years cannot establish that the portfolio has enough cash on each particular liability date.
  • Ignoring holding restrictions. Algebraic solutions can require negative units. Check the sign of each holding against the problem’s permitted investment positions.
  • Rounding too early. Retain exact fractions or unrounded values while solving, then check the original equations before rounding a reported holding.
Key takeaway: A coupon-bond match is a system of cash-flow equations, one for each relevant date. Build the bond payment schedule first, solve for holdings, and verify the portfolio amount separately at every date. Matching values in aggregate is not a substitute for matching timing.

This dated-cash-flow approach is aligned with the SOA Exam FM (Financial Mathematics) syllabus. In exam work, a compact table of dates, per-unit bond payments, and liabilities is often the best defense against coupon-timing and maturity-payment errors.

Check Your Understanding

For each problem, identify the bond cash flows by date, form the matching equations, and check the stated holdings against every liability.

  1. A $1,000 bond pays a 3% annual coupon and matures at year 2. A fund owes $30 at year 1 and $1,030 at year 2. How many units of the bond are needed to match both payments? (Answer: 1 unit.)
  2. Bond A has $1,000 face value, a 4% annual coupon, and matures at year 1. Bond B has $1,000 face value, a 5% annual coupon, and matures at year 2. Liabilities are $90 at year 1 and $840 at year 2. Find nonnegative holdings. (Answer: A = \(5/104\) unit; B = \(0.8\) unit.)
  3. Bond A has $1,000 face value, a 4% annual coupon, and matures at year 2. Bond B has $1,000 face value, a 6% annual coupon, and matures at year 3. Liabilities are $70, $1,070, and $530 at years 1, 2, and 3, respectively. Find holdings and verify the year-1 coupons. (Answer: A = 1 unit; B = \(0.5\) unit.)
  4. Bond A has $1,000 face value, a 5% annual coupon, and matures at year 1; Bond B has $1,000 face value, a 4% annual coupon, and matures at year 2; Bond C has $1,000 face value, a 3% annual coupon, and matures at year 3. Liabilities are $645, $1,620, and $2,060 at years 1, 2, and 3. Find holdings. (Answer: A = \(0.5\) unit; B = \(1.5\) units; C = 2 units.)
  5. Bond A has $1,000 face value, a 5% annual coupon, and matures at year 1. Bond B has $1,000 face value, a 5% annual coupon, and matures at year 2. Liabilities are $40 at year 1 and $1,050 at year 2. Is an exact match possible with nonnegative holdings? What holdings solve the equations if short selling is allowed? (Answer: No nonnegative exact match exists; with short selling, A = \(-1/105\) unit and B = 1 unit.)
Clinical Biostats