Tutorials › Exam FM - Financial Mathematics › Replicating Forward Rates With Swap Cash Flows

Exam FM · Derivatives and Exam Traps · Tutorial 991 of 998

Replicating Forward Rates With Swap Cash Flows

Use spot discount factors to derive forward rates, replicate swap cash flows period by period, and check a swap’s value by matching discounted cash flows.

Advanced 11 min read

What You'll Learn

  • Derive a period forward rate from two discount factors and its accrual fraction.
  • Replicate a forward accumulation factor with zero-coupon bond positions.
  • Express a plain-vanilla swap as a series of floating-versus-fixed forward agreements.
  • Value both swap legs and verify their values by matching cash flows.
  • Avoid sign, principal-exchange, and accrual-period errors in swap replication.

Why Replicate a Swap With Forward Rates?

A multi-period interest rate swap can be viewed as a sequence of agreements, one for each coupon period. In each period, one party exchanges a floating-rate payment for a fixed-rate payment on the same notional amount. This representation connects the swap’s cash flows to forward rates implied by discount factors. It also gives a direct check on a swap valuation: each period’s projected floating payment, discounted to today, must match the corresponding difference between discount factors.

The methods here use the single-curve, no-arbitrage framework: all cash flows are discounted using the same curve, there are no transaction costs or credit adjustments, and the swap’s floating rate for a period is set at the start of that period and paid at its end. The forward rates derived from discount factors are rates that make the corresponding forward investment consistent with those discount factors; they are not necessarily forecasts of future observed rates. This topic is aligned with the SOA Exam FM (Financial Mathematics) syllabus.

Definition: Let \(D(0,t)\) be the time-0 price of a zero-coupon bond paying 1 at time \(t\), with \(D(0,0)=1\). For a period from \(t_{j-1}\) to \(t_j\), let \(\alpha_j\) be its year fraction under the rate’s day-count convention. The simple forward rate \(F_j\) implied by the discount factors is $$ F_j=\frac{D(0,t_{j-1})/D(0,t_j)-1}{\alpha_j} =\frac{D(0,t_{j-1})-D(0,t_j)}{\alpha_jD(0,t_j)}. $$

Deriving the Forward Rate From Bond Prices

A forward investment starts at \(t_{j-1}\), not today. To lock in its accumulation factor using zero-coupon bonds, short one bond paying 1 at \(t_{j-1}\) and use the proceeds to buy zero-coupon bonds paying at \(t_j\). The time-0 proceeds from the short position are \(D(0,t_{j-1})\). Each bond paying 1 at \(t_j\) costs \(D(0,t_j)\), so those proceeds buy \(D(0,t_{j-1})/D(0,t_j)\) such bonds.

At \(t_{j-1}\), the short bond requires a payment of 1. At \(t_j\), the purchased bonds pay \(D(0,t_{j-1})/D(0,t_j)\). Thus the accumulation factor on 1 invested at \(t_{j-1}\) is the ratio of discount factors. By the definition of a simple annualized rate, this factor is also \(1+\alpha_jF_j\). Equating the two gives the forward-rate formula:

$$ 1+\alpha_jF_j=\frac{D(0,t_{j-1})}{D(0,t_j)} \qquad\Longrightarrow\qquad F_j=\frac{D(0,t_{j-1})/D(0,t_j)-1}{\alpha_j}. $$

The accrual fraction matters. A forward accumulation factor of 1.03 over a half-year period implies an annualized simple forward rate of \(0.03/0.5=0.06\), not 3%. The formula assumes simple interest over that accrual period; do not substitute a compounding convention from a different problem.

A Swap as a Series of Forward Agreements

Consider a plain-vanilla swap with notional \(N\), fixed rate \(K\), and payment dates \(t_1,\ldots,t_n\). In period \(j\), the floating payment is \(N\alpha_jL_j\), where \(L_j\) is the rate fixed at \(t_{j-1}\). The fixed payment is \(N\alpha_jK\). A party receiving floating and paying fixed therefore has the period cash flow

$$ N\alpha_j(L_j-K)\quad\text{at }t_j. $$

This is the cash flow of a forward-rate agreement (FRA) for that period: it compares the floating rate with a contracted fixed rate on the same notional and accrual fraction. The swap is the collection of these period agreements. In a valuation using the implied forward rates, replace \(L_j\) by \(F_j\) to obtain the time-0 value of each period’s net cash flow. The sign reverses for a party paying floating and receiving fixed.

There is also a useful bond-leg interpretation. A fixed-rate bond paying coupons \(N\alpha_jK\) and principal \(N\) at \(t_n\) has value \(N K\sum_{j=1}^n\alpha_jD(0,t_j)+ND(0,t_n)\). A floating-rate note that begins at a reset date has value \(N\) under the stated assumptions: its floating coupons and principal are consistent with the forward rates on the curve. Receiving floating and paying fixed is equivalent, in value, to holding the floating-rate note and owing the fixed-rate bond. The principal amounts cancel in the swap itself; they are included in this bond comparison only to make the leg values comparable.

Theorem: In the single-curve framework, the time-0 value of a swap that receives floating and pays fixed is $$ V_0=N\sum_{j=1}^n\alpha_jD(0,t_j)(F_j-K) =N\left(1-D(0,t_n)-K\sum_{j=1}^n\alpha_jD(0,t_j)\right). $$ The second expression follows by substituting the forward-rate formula period by period. A swap that pays floating and receives fixed has value \(-V_0\).

The telescoping in the theorem is the key cash-flow check. For each period, \(\alpha_jD(0,t_j)F_j=D(0,t_{j-1})-D(0,t_j)\). Adding these differences leaves \(D(0,0)-D(0,t_n)=1-D(0,t_n)\). If the swap’s fixed rate is set to make its value zero at initiation, the fair fixed rate is

$$ K_{\text{fair}}= \frac{1-D(0,t_n)} {\displaystyle\sum_{j=1}^n\alpha_jD(0,t_j)}. $$

Worked Example: Derive Forward Rates and Value a Swap

A hypothetical three-year swap has annual payments, notional \(N=\$1{,}000{,}000\), and fixed rate \(K=6\%\). The discount factors are \(D(0,0)=1\), \(D(0,1)=0.96\), \(D(0,2)=0.91\), and \(D(0,3)=0.85\). Find the implied annual forward rates and the time-0 value to the party receiving floating and paying fixed.

Method. Derive each one-year forward rate from adjacent discount factors, then value the net swap payments. Here each \(\alpha_j=1\).

Period 1. \(F_1=(1/0.96-1)=0.0416667\), or 4.1667%.

Period 2. \(F_2=(0.96/0.91-1)=0.0549451\), or 5.4945%.

Period 3. \(F_3=(0.91/0.85-1)=0.0705882\), or 7.0588%.

The discounted floating-leg value is \(N[(1-0.96)+(0.96-0.91)+(0.91-0.85)]\). The three terms are \(0.04\), \(0.05\), and \(0.06\), so the floating-leg value is \(\$1{,}000{,}000(0.15)=\$150{,}000\).

The fixed-leg annuity factor is \(0.96+0.91+0.85=2.72\). Its value is \(\$1{,}000{,}000(0.06)(2.72)=\$163{,}200\). Therefore, the value to the party receiving floating and paying fixed is \(\$150{,}000-\$163{,}200=-\$13{,}200\).

Check. Directly, \(N\sum_jD(0,t_j)(F_j-K)\) gives \(\$1{,}000{,}000[0.96(0.0416667-0.06)+0.91(0.0549451-0.06)+0.85(0.0705882-0.06)]\), which is \(-\$13{,}200\), allowing for displayed-rate rounding. The common mistake avoided is using the fixed rate as though it were the floating rate in every period.

Matching a Forward Agreement With Bond Positions

The zero-coupon construction used to derive \(F_j\) also gives an intuitive replication check. The short bond due at the period start supplies the investment amount at that date; the bonds bought for the period end deliver the locked accumulation amount. A fixed-rate forward deposit can be compared with this implied floating accumulation. Their difference is the forward agreement’s net period value. In a swap, perform this comparison separately for every accrual period and discount each net cash flow using the discount factor for its payment date.

Worked Example: Replicate a Forward Rate With Zero-Coupon Bonds

Discount factors are \(D(0,1)=0.95\) and \(D(0,2)=0.88\). A two-year notional amount of \(\$2{,}000{,}000\) is considered for a one-year agreement beginning at year 1. Find the implied forward rate. Then find the time-0 value of receiving floating and paying a fixed 7.5% over that year.

Method. Use the zero-coupon bond portfolio to establish the forward accumulation factor, and compare it with the fixed accumulation factor.

Short one bond paying \(\$1\) at year 1 and use its \(\$0.95\) proceeds to buy \(0.95/0.88=1.07954545\) bonds paying \(\$1\) at year 2. The time-0 cost and proceeds are both \(\$0.95\), so the portfolio has zero initial cost. It pays \(-\$1\) at year 1 and \(+\$1.07954545\) at year 2. Thus the implied one-year forward rate is \(1.07954545-1=0.07954545\), or 7.9545%.

The fixed agreement would turn \(\$1\) at year 1 into \(1.075\) at year 2. The floating accumulation exceeds this by \(1.07954545-1.075=0.00454545\) per dollar. On \(\$2{,}000{,}000\), the year-2 difference is \(\$9{,}090.91\). Discounting gives \(\$9{,}090.91(0.88)=\$8{,}000\).

Check. The direct valuation is \(\$2{,}000{,}000[0.95-1.075(0.88)]=\$2{,}000{,}000(0.004)=\$8{,}000\). The two methods agree. The common mistake avoided is discounting the year-2 net amount with the year-1 discount factor.

Unequal Accrual Periods and Full Cash-Flow Checks

Payment dates need not be equally spaced, and an accrual fraction need not be 1. Keep the period’s \(\alpha_j\) attached to both its floating and fixed payments. The discount factor is still taken at the payment date \(t_j\). The following example checks the projected floating payments against the discount-factor differences, then compares the two swap legs.

Worked Example: Match Irregular Swap Cash Flows to Discount Factors

A hypothetical swap has notional \(\$500{,}000\), fixed rate \(K=6\%\), and payment dates at 0.5, 1.5, and 2.5 years. The year fractions are \(0.5,1,1\), respectively. The discount factors at times \(0,0.5,1.5,2.5\) are \(1,0.98,0.93,0.86\). Find the value to the party receiving floating and paying fixed.

Method. Compute each forward rate using its own accrual fraction. Then show that its discounted floating payment equals notional times the difference between consecutive discount factors.

For the first period, \(F_1=(1/0.98-1)/0.5=0.0408163\), or 4.0816%. Its floating payment is \(\$500{,}000(0.5)(0.0408163)=\$10{,}204.08\), and its present value is \(\$10{,}000\), since \(\$500{,}000(1-0.98)=\$10{,}000\).

For the second period, \(F_2=(0.98/0.93-1)/1=0.0537634\), or 5.3763%. Its floating payment is \(\$26{,}881.72\), and its present value is \(\$26{,}881.72(0.93)=\$25{,}000\), equal to \(\$500{,}000(0.98-0.93)\).

For the third period, \(F_3=(0.93/0.86-1)/1=0.0813953\), or 8.1395%. Its floating payment is \(\$40{,}697.67\), and its present value is \(\$40{,}697.67(0.86)=\$35{,}000\), equal to \(\$500{,}000(0.93-0.86)\). The total floating-leg value is \(\$10{,}000+\$25{,}000+\$35{,}000=\$70{,}000\).

The fixed payments are \(\$500{,}000(0.06)(0.5)=\$15{,}000\), \(\$30{,}000\), and \(\$30{,}000\). Their present values are \(\$14{,}700\), \(\$27{,}900\), and \(\$25{,}800\), totaling \(\$68{,}400\). The swap value is therefore \(\$70{,}000-\$68{,}400=\$1{,}600\).

Check. The theorem gives \(\$500{,}000[1-0.86-0.06(0.5(0.98)+0.93+0.86)]=\$500{,}000[0.14-0.06(2.28)]=\$1{,}600\). The common mistake avoided is treating the first half-year as a full year when calculating either coupon.

Common Exam Traps

  • Reversing the position. Receiving floating and paying fixed has value \(V_{\text{float}}-V_{\text{fixed}}\). The opposite swap has value \(-V_0\).
  • Dropping the accrual fraction. The forward-rate formula divides the accumulation excess by \(\alpha_j\). A half-year rate cannot be treated as a full-year rate without adjustment.
  • Using the wrong discount date. A payment at \(t_j\) is discounted with \(D(0,t_j)\), not the discount factor at the period’s start.
  • Adding principal exchanges to the swap. A standard interest rate swap exchanges interest payments, not principal. Principal appears in the bond-leg comparison but cancels when comparing the two bonds’ maturity payments.
  • Calling an implied forward rate a forecast. It is the rate consistent with today’s discount factors under the model, not a guarantee of the future floating rate.
Key takeaway: For each payment period, derive \(F_j\) from adjacent discount factors, multiply by the correct notional and accrual fraction, and discount at the period end. The identity \(\alpha_jD(0,t_j)F_j=D(0,t_{j-1})-D(0,t_j)\) makes the floating-leg cash-flow match transparent.

Check Your Understanding

For each question, use the single-curve assumptions stated in this tutorial and keep the fixed-versus-floating position explicit.

  1. Discount factors are \(D(0,1)=0.97\) and \(D(0,2)=0.92\), with annual periods. Find the implied forward rate for year 1 to year 2. (Answer: \(0.97/0.92-1=5.4348\%\).)
  2. A two-year annual swap has notional \(\$1{,}000{,}000\), fixed rate 5%, and discount factors \(D(0,1)=0.96\), \(D(0,2)=0.90\). Find the value to the party receiving floating and paying fixed. (Answer: \(\$1{,}000{,}000[1-0.90-0.05(0.96+0.90)]=\$7{,}000\).)
  3. For a one-year agreement from year 1 to year 2, \(D(0,1)=0.985\), \(D(0,2)=0.95\), and \(\alpha=0.5\). Find its implied forward rate. (Answer: \((0.985/0.95-1)/0.5=7.3684\%\).)
  4. A three-year annual swap has discount factors \(0.97,0.93,0.88\) at years 1, 2, and 3. Find the fair fixed rate at initiation. (Answer: \((1-0.88)/(0.97+0.93+0.88)=4.3165\%\).)
  5. For the year-1-to-year-2 period in question 2, find the time-0 value to the party receiving floating and paying a 5% fixed rate on \(\$1{,}000{,}000\). (Answer: \(\$1{,}000{,}000[(0.96-0.90)-0.05(0.90)]=\$15{,}000\).)
Clinical Biostats