5.23.2005

Q&A: What should the swap fixed rate?

An investor enters into a two-year $20 million notional principal interest rate swap in which it promises to pay a fixed rate and receive payments at LIBOR. The payments are made every six months based on the assumption of 30 days per month and 360 days in a year. The term structure of LIBOR interest rates is given as follows:

Term (days) Rate
180 9%
360 9.75%
540 10.2%
720 10.5%

What should the fixed rate be?

A:

  • Compute the bond discount factor: the PV of a 6-mon LIBOR zero coupon bond for maturity of T days is DF(T) = 1 / [1 + L(0, T) * (T/360)]. think of this discount factor as the value of spot LIBOR deposit that pays $1 T days later.
Term (days) Spot LIBOR Rate Discount Factor
180 6m LIBOR = L(0, 180) = 9% B(0, 180) = 1 / (1+L(0, 180)*(180/360)) = 1 / (1+9%*(180/360)) = 0.9569
360 12m LIBOR = L(0, 360) = 9.75% B(0, 360) = 1 / (1+L(0, 360)*(180/360)) = 1 / (1+9.75%*(360/360)) = 0.9112
540 18m LIBOR = L(0, 540) = 10.2% B(0, 540) = 1 / (1+L(0, 540)*(540/360)) = 1 / (1+10.2%*(540/360)) = 0.8673
720 24m LIBOR = L(0, 720) = 10.5% B(0, 720) = 1 / (1+L(0, 720)*(720/360)) = 1 / (1+10.5%*(360/360)) = 0.8264
  • R = (360/T) * (1 - DF(T)) / (DF(1) + DF(2) + ... +DF(N)) = (360/180) * [(1 - 0.8264) / (0.9569 + 0.9112 + 0.8673 + 0.8264)] = 0.0975
  • Swap fixed payments would be $20,000,000 x 0.0975 x 180/360 = $975,000

Bonus Points

  • The interest amount is reset on each coupon reset date and paid one period after, but its value on reset date is par.
Suppose today is day 360, and the LIBOR on that day is l. Looking ahead to day 540, we anticipate receiving 1.0, the final principal payment, plus l*180/540. What is the value of this amount on day 360?

We would discount it by the appropriate 6-mon LIBOR: Value on day 360 = (Payment on day 540) * (One-period discount factor) = [1.0 + l * (180/540)] * {1 / [1 + (l * (180/540))]} = 1.0

  • R = (360/T) * (1 - DF(T)) / (DF(1) + DF(2) + ... +DF(N))
    • The PV of a $1 fixed-rate bond = R * ( DF(1) + DF(2) + ... +DF(N) ) + DF(N)
    • Initial swap PV ($1 principal) = PV(fixed) - PV(float) = V(fixed) - $1 = 0

Category: C++ Quant > Derivatives > Swaps

No comments:

Post a Comment