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.
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
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.
Write the liability amount due on each date, including a zero if no liability is due then.
Include coupons paid before maturity as well as coupon and principal at maturity.
At each date, subtract payments from bonds whose holdings are already known, then solve for the remaining holding.
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
Year 2. The two-year bond pays $105 per bond, and each three-year bond pays a $5 coupon. Thus
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
Cash-flow check. Substituting the holdings verifies each liability payment:
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
The present value of the liabilities at the same effective annual rate is
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
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
The portfolio costs \(100(2+3+4)=\$900.00\). Discounting the liabilities at 5% gives
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
Check the three dates using these exact holdings:
The portfolio cost is
Discounting the liabilities at 5% gives
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.
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.
- 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.)
- 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\).)
- 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.)
- 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.)
- 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.)