Tutorials › Exam FM - Financial Mathematics › Worked Cash-Flow Matching Portfolio

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

Worked Cash-Flow Matching Portfolio

Learn to build, reconcile, and value a coupon-bond portfolio whose dated cash flows exactly meet a set of liabilities.

Advanced 11 min read

What You'll Learn

  • Represent liabilities and coupon bonds as cash flows at specified dates.
  • Solve for bond holdings from the final payment date backward.
  • Reconcile asset and liability cash flows at every date.
  • Verify the portfolio cost against the present value of the liabilities.
  • Avoid common errors involving coupon timing, units, and valuation.

Why Match Cash Flows by Date?

A portfolio may have the same present value as a liability portfolio and still have different cash flows on particular dates. Exact cash-flow matching imposes a stronger condition: the assets held generate the amount needed to pay each liability on its due date. The central task is to identify the available bonds’ payments, solve for holdings, and check the resulting cash-flow schedule date by date.

This tutorial considers hypothetical fixed-cash-flow liabilities and hypothetical default-free, noncallable coupon bonds. The bonds and liabilities share the same discrete payment dates. We assume there are no taxes, transaction costs, or other cash flows, and that bond payments are received in full as scheduled. These assumptions make it possible to check the match directly from the dated cash flows.

Definition: Suppose liabilities \(L_1,\ldots,L_n\) are due at times \(t_1,\ldots,t_n\), and asset \(j\) pays \(C_{j,k}\) at time \(t_k\). Holdings \(h_j\) exactly match the liabilities if $$ \sum_j h_j C_{j,k}=L_k $$ at every liability date \(t_k\), and the asset portfolio has no unmatched cash flows at other dates. Holdings may be expressed as bond units or as face amount, but the cash-flow amounts must use the corresponding units consistently.

Set Up the Cash-Flow Equations

For a bond with face amount $100 and annual coupon rate 5%, the annual coupon is $5. A one-year bond pays $105 at year 1; a two-year bond pays $5 at year 1 and $105 at year 2; a three-year bond pays $5 at years 1 and 2 and $105 at year 3. If \(h_1,h_2,h_3\) are the numbers of these bonds held, the portfolio cash flows are

$$ \begin{aligned} A_1&=105h_1+5h_2+5h_3,\\ A_2&=105h_2+5h_3,\\ A_3&=105h_3. \end{aligned} $$

The final-date equation contains only the longest bond’s redemption payment. Once that holding is determined, the preceding date’s equation can be solved, allowing for the coupon paid by the longer bond. Continue backward until all holdings are known. This structure makes backward substitution a natural method for staggered-maturity coupon bonds.

1
List every payment date.
Write the liability amount due on each date, including a zero if no liability is due then.
2
Write each bond’s payments.
Include coupons paid before maturity as well as coupon and principal at maturity.
3
Solve from the last date backward.
At each date, subtract payments from bonds whose holdings are already known, then solve for the remaining holding.
4
Reconcile and value.
Substitute the holdings into every date’s cash flow. If valuing the portfolio, use the same valuation basis for assets and liabilities.

Worked Example: Matching Three Liabilities with Coupon Bonds

Worked Example: Matching Three Liabilities with Coupon Bonds

A hypothetical fund must pay $210 at the end of year 1, $325 at the end of year 2, and $455 at the end of year 3. It can buy one-, two-, and three-year bonds, each with face amount $100 and annual coupon rate 5%. Coupons and principal are paid annually. Find the bond holdings that exactly match the liabilities. Then verify the portfolio cost at an effective annual valuation rate of 5%.

Method and assumptions. The bonds are assumed to make all scheduled payments, and each holding is measured in $100-face bond units. Let \(h_1,h_2,h_3\) be the holdings of the one-, two-, and three-year bonds. Work backward from year 3, then check all dates. The common mistake to avoid is omitting a coupon from a longer bond at an earlier liability date.

Year 3. Only the three-year bond pays principal at this date. Its payment is $105 per bond, so

$$ 105h_3=455 \quad\Longrightarrow\quad h_3=\frac{455}{105}=\frac{13}{3}. $$

Year 2. The two-year bond pays $105 per bond, and each three-year bond pays a $5 coupon. Thus

$$ 105h_2+5\left(\frac{13}{3}\right)=325, \qquad 105h_2=325-\frac{65}{3}=\frac{910}{3}, \qquad h_2=\frac{26}{9}. $$

Year 1. All three bonds pay at this date. The one-year bond pays $105 per bond; the other two each pay a $5 coupon. Therefore

$$ \begin{aligned} 105h_1+5\left(\frac{26}{9}\right)+5\left(\frac{13}{3}\right)&=210,\\ 105h_1&=210-\frac{130}{9}-\frac{195}{9}=\frac{1565}{9},\\ h_1&=\frac{313}{189}. \end{aligned} $$

Cash-flow check. Substituting the holdings verifies each liability payment:

$$ \begin{aligned} A_1&=105\left(\frac{313}{189}\right)+5\left(\frac{26}{9}\right)+5\left(\frac{13}{3}\right) =\frac{1565+130+195}{9}=210,\\ A_2&=105\left(\frac{26}{9}\right)+5\left(\frac{13}{3}\right) =\frac{910+65}{3}=325,\\ A_3&=105\left(\frac{13}{3}\right)=455. \end{aligned} $$

Cost and independent valuation check. At a 5% effective annual yield, each of these 5% coupon bonds is priced at par, or $100 per bond unit. The total cost is

$$ 100\left(\frac{313}{189}+\frac{26}{9}+\frac{13}{3}\right) =100\left(\frac{1678}{189}\right) =\$887.83. $$

The present value of the liabilities at the same effective annual rate is

$$ \frac{210}{1.05}+\frac{325}{1.05^2}+\frac{455}{1.05^3} =200+\frac{130000}{441}+\frac{3640000}{9261} =\frac{8222200}{9261} =\$887.83. $$

The portfolio cost and liability present value agree to the cent. The holdings are not whole-number bond units; fractional holdings are permitted under the stated model. Rounding the holdings before checking the payments would generally disrupt the exact match.

Why Equal Cash Flows Give Equal Present Values

The portfolio-value check follows from discounting each date’s cash flow. Assume the effective annual valuation rate is \(i\), with \(i>-1\), and all payments occur at integer year-ends. A dollar paid at year \(k\) has present value \(v^k\), where \(v=1/(1+i)\). If the portfolio exactly matches the liabilities at each date, multiplying each date’s matching equation by \(v^k\) and adding gives

$$ \sum_{k=1}^{n} A_kv^k = \sum_{k=1}^{n} L_kv^k. $$

The left side is the discounted value of the portfolio’s payments, and the right side is the present value of the liabilities. Thus they are equal when both are valued using the same discount factors. This does not mean that arbitrary asset and liability cash flows with equal present values are an exact match: equality of values is one scalar condition, whereas exact matching requires equality at every payment date.

Worked Example: Reconstructing a Portfolio from Its Cash Flows

A fund owes $245 at year 1, $335 at year 2, and $420 at year 3. The only available assets are the same hypothetical 5% annual coupon bonds with $100 face amount and maturities of one, two, and three years. Determine the holdings and verify both the cash flows and the value at an effective annual rate of 5%.

Method. Use backward substitution, including the coupon from each longer bond at earlier dates. The known 5% yield equals the coupon rate, so each bond is worth $100 per bond unit.

At year 3, the three-year bond’s payment gives \(105h_3=420\), so \(h_3=4\). At year 2, the three-year bonds pay \(5(4)=20\), leaving \(335-20=315\) for the two-year bonds. Hence \(105h_2=315\), so \(h_2=3\). At year 1, the two- and three-year bonds pay coupons totaling \(5(3)+5(4)=35\). The one-year bonds must therefore provide \(245-35=210\), giving \(105h_1=210\), or \(h_1=2\).

The date-by-date reconciliation is

$$ \begin{aligned} A_1&=105(2)+5(3)+5(4)=210+15+20=245,\\ A_2&=105(3)+5(4)=315+20=335,\\ A_3&=105(4)=420. \end{aligned} $$

The portfolio costs \(100(2+3+4)=\$900.00\). Discounting the liabilities at 5% gives

$$ \frac{245}{1.05}+\frac{335}{1.05^2}+\frac{420}{1.05^3} =\frac{8334900}{9261} =\$900.00. $$

The exact date-by-date reconciliation and the independent present-value calculation both confirm the result.

Worked Example: Solving Fractional Holdings for a New Liability Schedule

A hypothetical liability portfolio requires $160 at year 1, $260 at year 2, and $420 at year 3. Use the same one-, two-, and three-year bonds, each with $100 face amount and a 5% annual coupon. Find exact holdings and check the portfolio cost at a 5% effective annual valuation rate.

Method. Solve from the final date backward, retaining exact fractions until the final dollar amount. This avoids errors caused by rounding a holding partway through the calculation.

At year 3, \(105h_3=420\), so \(h_3=4\). At year 2, the three-year bonds pay \(5(4)=20\), leaving $240 for the two-year bonds. Therefore \(105h_2=240\), and \(h_2=16/7\). At year 1, the known coupons total \(5(16/7)+20=80/7+140/7=220/7\). The one-year bonds must pay \(160-220/7=900/7\), so

$$ 105h_1=\frac{900}{7} \quad\Longrightarrow\quad h_1=\frac{60}{49}. $$

Check the three dates using these exact holdings:

$$ \begin{aligned} A_1&=105\left(\frac{60}{49}\right)+5\left(\frac{16}{7}\right)+5(4) =\frac{900}{7}+\frac{80}{7}+20=160,\\ A_2&=105\left(\frac{16}{7}\right)+5(4)=240+20=260,\\ A_3&=105(4)=420. \end{aligned} $$

The portfolio cost is

$$ 100\left(\frac{60}{49}+\frac{16}{7}+4\right) =100\left(\frac{368}{49}\right) =\$751.02. $$

Discounting the liabilities at 5% gives

$$ \frac{160}{1.05}+\frac{260}{1.05^2}+\frac{420}{1.05^3} =\frac{6955200}{9261} =\frac{36800}{49} =\$751.02. $$

This confirms both the cash-flow match and its value. The cost is rounded to cents; the holdings and intermediate cash flows were kept exact.

Common Errors and Practical Checks

A reliable solution separates the cash-flow problem from the valuation check. First establish that the asset payments meet each liability on its date. Then, if requested, value both sets of payments using a consistent rate and compounding basis. A matching portfolio can be wrong even when its total cost looks plausible, so the date-by-date check is essential.

  • Leaving out coupons from longer bonds. In the first example, the year 1 payment includes coupons from both the two- and three-year bonds. Omitting either coupon leads to an incorrect holding of the one-year bond.
  • Mixing bond units and face amount. Each holding above counts $100-face bonds. If holdings instead represent face amount in dollars, each per-unit cash flow must be rescaled accordingly.
  • Using a single present-value equation as proof of an exact match. Equal present values do not establish that the portfolio can pay each liability when due. Check every date separately.
  • Rounding before the reconciliation. Fractional holdings can be required. Keep exact fractions through the cash-flow equations, and round money only when reporting a requested value.
  • Adding a cash flow at an unlisted date. Exact matching also requires that the assets do not produce an unmatched payment on another date. Include all coupon dates in the schedule.
Key takeaway: For staggered-maturity coupon bonds, solve the final liability first and work backward, accounting for every earlier coupon. Then substitute the holdings into every dated cash-flow equation and, when appropriate, verify value using the same discount basis for assets and liabilities.

Check Your Understanding

Assume all bonds below are hypothetical, default-free, $100-face bonds with annual 5% coupons paid at each year-end. Use exact holdings for the cash-flow checks.

  1. A portfolio holds 1 one-year bond, 2 two-year bonds, and 3 three-year bonds. What cash flow does it provide at each year-end? (Answer: $130 at year 1, $225 at year 2, and $315 at year 3.)
  2. A fund owes $135, $230, and $420 at years 1, 2, and 3. Find the holdings of the one-, two-, and three-year bonds by working backward. (Answer: \(h_1=2,\ h_2=2,\ h_3=4\).)
  3. A fund owes $165 at year 1, $215 at year 2, and $315 at year 3. Find the exact holdings of the three bonds, then state the portfolio cost at a 5% effective annual yield. (Answer: \(h_1=590/441,\ h_2=40/21,\ h_3=3\); cost \(=\$100(590/441+40/21+3)=\$650.23\), rounded to cents.)
  4. A portfolio holds \(h_1=60/49,\ h_2=16/7,\ h_3=4\). State its cash flow at each of the three dates and verify its value at a 5% effective annual rate. (Answer: $160, $260, and $420; both the portfolio cost and liability present value are \(36800/49=\$751.02\), rounded to cents.)
  5. At a 5% effective annual yield, a fund owes $245, $335, and $420 at years 1, 2, and 3. A proposed portfolio holds 2, 3, and 4 bonds of the respective maturities. Is it an exact match, and what is its cost? (Answer: Yes; the cash flows are $245, $335, and $420, and the cost is $900.00.)
Clinical Biostats