As an approach to asset-liability management (ALM), cash flow matching has advantages and disadvantages. The primary advantages are that:

- It works perfectly.
- It is relatively simple to understand.

The primary disadvantages are that:

- It can be costly (i.e., the interest that you earn on your assets may be low).
- It may be difficult to implement in practice.

The easiest way to explain cash flow matching is through an example, so here goes:

Suppose that you manage a pension fund that has liabilities of €2 million, €4 million, €7 million, and €11 million coming due in 1, 2, 3, and 4 years, respectively. You want to invest in bonds whose cash flows will exactly match the liabilities. The following bonds are available:

- 1-year, 2-year, 3-year, and 4-year zero-coupon bonds; the yields (YTMs) are 1%, 2%, 3%, and 4%, respectively
- 1-year annual-pay bonds with a coupon rate of 1%, selling at par
- 2-year annual-pay bonds with a coupon rate of 2%, selling at par
- 3-year annual-pay bonds with a coupon rate of 3%, selling at par
- 4-year annual-pay bonds with a coupon rate of 4%, selling at par

The easiest way to implement cash-flow matching is with the zero-coupon bonds: buy €2 million par of 1-year bonds, €4 million par of 2-year bonds, €7 million par of 3-year bonds, and €11 million par of 4-year bonds. This will match your cash flows perfectly – the 1-year bonds will mature in 1 year and pay €2 million, the 2-year bonds will mature in 2 years and pay €4 million, and so on, but it will be a costly way to match the cash flows; the outlay today to buy the bonds will be:

- €1,980,198 (= €2 million ÷ 1.01) for the 1-year bonds
- €3,844,675 (= €4 million ÷ 1.02
^{2}) for the 2-year bonds - €6,405,992 (= €7 million ÷ 1.03
^{3}) for the 3-year bonds - €9,402,846 (= €11 million ÷ 1.04
^{4}) for the 4-year bonds

The total cost for these bonds is €21,633,711.

The alternative is to use the coupon-paying bonds that have higher yields. To implement cash flow matching with coupon-paying bonds, you need to start with the longest-maturity liability and work back to the shortest. The steps aren’t difficult, but do require that you pay attention to all of the cash flows.

- Buy €10,576,923 (= €11,000,000 ÷ 1.04) par of the 4-year, 4% coupon bonds. The final cash flow on these bonds will be par plus the coupon or €10,576,923 + €423,077 = €11,000,000, which will cover the liability in 4 years. Note that these bonds will pay annual coupons of €423,077 one year, two years, and three years from today.
- As you already have a cash flow of €423,077 at year 3, you need only €6,576,923 (= €7,000,000 − €423,077) more; buy €6,385,362 (= €6,576,923 ÷ 1.03) par of the 3-year, 3% coupon bonds. The final cash flow on these bonds will be par plus the coupon or €6,385,362 + €191,561 = €6,576,923, so the total cash flow at year 3 will be €7,000,000 (= €6,576,923 + €423,077), which will cover the liability in 3 years. Note that these bonds will pay annual coupons of €191,561 one year and two years from today.
- As you already have cash flows of €423,077 and €191,561 at year 2, you need only €3,385,362 (= €4,000,000 − €423,077 − €191,561) more; buy €3,318,983 (= €3,385,362 ÷ 1.02) par of the 3-year, 2% coupon bonds. The final cash flow on these bonds will be par plus the coupon or €3,318,983 + €66,380 = €3,385,362, so the total cash flow at year 2 will be €4,000,000 (= €3,385,362 + €423,077 + €191,561), which will cover the liability in 2 years. Note that these bonds will pay annual coupons of €66,380 one year from today.
- As you already have cash flows of €423,077, €191,561, and €66,380 at year 1, you need only €1,318,982 (= €2,000,000 − €423,077 − €191,561 − €66,380) more; buy €1,305,923 (= €1,318,982 ÷ 1.01) par of the 1-year, 1% coupon bonds. The final cash flow on these bonds will be par plus the coupon or €1,305,923 + €13,059 = €1,318,982, so the total cash flow at year 1 will be €2,000,000 (= €1,318,982 + €423,077 + €191,561 + €66,380), which will cover the liability in 1 year.

Here are the cash flows in a table, which is probably easier to read:

Cash Flow by Year |
||||

Bond |
Year 1 |
Year 2 |
Year 3 |
Year 4 |

4-year |
€423,077 | €423,077 | €423,077 | €11,000,000 |

3-year |
€191,561 | €191,561 | €6,576,923 | |

2-year |
€66,380 | €3,385,362 | ||

1-year |
€1,318,982 | |||

Total CF |
€2,000,000 | €4,000,000 | €7,000,000 | €11,000,000 |

The total cost for this approach is €21,587,191, or €46,520 less than using the zero-coupon bonds.

The reason that this approach is less expensive than using only zero-coupon bonds is that the longer maturity bonds have higher yields; so, for example, the €2,000,000 cash flow in year 1 is funded partly by a bond with a 1% yield, and partly by bonds having yields of 2%, 3%, and 4%; using only zero-coupon bonds, the entire €2,000,000 is funded by a bond with a 1% yield. (However, see the Note, below.)

The reason that cash flow matching may be difficult to implement in practice is perfectly illustrated by this example: as most euro-denominated bonds have par values of €1,000, it will be impossible to purchase exactly €10,576,923 of 4-year bonds; you would have to decide between purchasing €10,576,000 par (and falling slightly short of your cash flow need) and purchasing €10,577,000 par (and spending too much). The same is true for the par values required at years 3, 2, and 1.

Note: in the example given the yields on the zero-coupon bonds and on the coupon-paying bonds of the same maturity are equal. That, of course, shouldn’t happen with an upward-sloping yield curve (lest there be an arbitrage opportunity), but that’s the sort of example that you see in the curriculum. In fact, if the zero-coupon and coupon-paying bonds are priced fairly, there should be no difference in the cost of cash flow matching with zeros and cash flow matching with coupon-paying bonds; once again, if there were a cost difference, there would be an arbitrage opportunity.

Sigh.