Question about 3.a.11.Hull Swaps.xls

hsuwang

Member
Hello David,
in your 3.a.11 Hull Swaps spreadsheet, I wonder if the semi-annual forward rates (C29) and continuous forward rates (C30) have been switched around. The formula used in row 29 ((R2*T2-R1*T1)/T2-T1) should give us the continuous forward rates. Also, I am not sure why it is 10.20% for the forward rate for period .25 (3 months forward rate), wouldn't it be the same as LIBOR (10%)? I see that you cell referenced the 3 months forward rate to be the 1st floating Rate (10.20%) and I'm not sure why. Can you please help me with this. Thanks.

ps. should the 3 months forward rate be 10.20%, shouldn't this be restated into semi-annual terms too?
 

hsuwang

Member
I'm sorry to append,
in the same video tutorial / spreadsheet, you mentioned that there's a very common source of confusion for using the LIBOR for the last coupon to determine the coupon at time .25, but discounting the cash flow at the LIBOR rate at time .25 (10%). This confuses me as to why we are not using 10% to determine the coupon for time .25. If we use 10.2% (the LIBOR for last coupon) to determine the coupon at time .25, now if we apply this logic for the following coupons at time .75 and 1.25, would we be using 10% to get the coupon for time .75 (and 10.5% for time 1.25?) but discounting that coupon back at 10.5% (and 11% for time 1.25) , if this is the case, then coupon rate will not equal the discount rate, and thus the bond would not trade at par after the coupon payment.

I am sorry but I think chapter 6 and 7 really confuses me and I feel lost..
 

David Harper CFA FRM

David Harper CFA FRM
Subscriber
Hi Jack,

6 and 7 are difficult; if it helps I will be collecting just the key XLS into a special screencast (like i did for the gujarati XLS). I'd like to do a better job conveying the more difficult ideas 6 and 7...

Re: "I wonder if the semi-annual forward rates (C29) and continuous forward rates (C30) have been switched around"
Yes, apologies, I switched the labels in XLS. I actually did notice this while recording, and I changed the PPT (so the screencast correctly reflects ) but I had not gotten back to to fixing the switched labels in the underlying XLS. Which I just did...

You'll note my example is copied from Hull, and part of the challenge is that the swap is given in semiannual while LIBOR is given in continuous. It was *not* totally necessary to do this; e.g., the example could be shown entirely in continuous or semi-annual frequency. I often think I should just do a continuous but then it will maybe cause more confusion in comparing to the source Hull...

re: "should the 3 months forward rate be 10.20%, shouldn’t this be restated into semi-annual terms too? "
No but only because that is an assumption of the problem; i.e., 10.2% is already given in semiannual frequency
(I just amended the XLS to better reflect)

"This confuses me as to why we are not using 10% to determine the coupon for time .25. If we use 10.2% (the LIBOR for last coupon) to determine the coupon at time .25, now if we apply this logic for the following coupons at time .75 and 1.25, would we be using 10% to get the coupon for time .75 (and 10.5% for time 1.25?) but discounting that coupon back at 10.5% (and 11% for time 1.25) , if this is the case, then coupon rate will not equal the discount rate, and thus the bond would not trade at par after the coupon payment."

Well. this is the hardest aspect of the valuation. But please note: the floating rate bond will not trade at par in between coupons (due precisely to your observation: the coupons and discount rates will be misaligned; while this may seem obvious, I mean something more subtle: the clean price of the bond will not equal par in between coupons). I think we need to separate the cash flows from the discount rate:

You are right about the cash flows:
*next coupon (in .25 months) based on 10.25%
* subsequent coupon (in .75 months) based on prevailing LIBOR at .25 months
but please note that's not the 10%, 10.5%, 11%: those are spot rates at time of valuation
(i.e., this is not the FRA valuation, this is two bonds)

i think your mistake is "would we be using 10% to get the coupon for time .75" as the coupon at 0.75 will pay the 6-month LIBOR (in arrears) prevailing at 0.25. The best estimate at time 0 is the 6 month forward (0.25,0.75).

So, the valuation is merely premised on the floater being equal to par 3 months forward. I find it helpful to separate that (utterly) from the observed spot rate curve assumption (10% at 0.25, 10.5% at 0.75, 11% at 1.25) which is employed to discount *after* we have computed future cash flows. I hope that's a start... David
 

hsuwang

Member
Hello David,
Thanks for the reply. Yes it would be really helpful if you can do a screencast for the more difficult concepts in chapter 6 and 7 (if it is not too much trouble). I know time is tight and I really don't want to add on more work and pressure for you.

I think I found out the mistake I had (about discounting rates and forward rates), but I'm not sure. Can you please further clarify as to why for the bond's floating cash flows, we stop at time .25. You mentioned that the floating bond pays coupons that float with the same rate we use for discount rate, and this is what confuses me. If this is the case, why are we using 10.2% (1st floating rate) instead of 10% (discount rate) at time .25?
Thanks!
 

David Harper CFA FRM

David Harper CFA FRM
Subscriber
You said "the floating bond pays coupons that float with the same rate we use for discount rate" and this is only true in an extremely limited sense: at the moment in time the coupon settles. At other time is untrue.

So, in this example, if we go back to t - 3 months: 6-month LIBOR (spot) was 10.2%. And then (t-3) the coupon was determined: 5.1 million will be paid at t + 3

Now go forward to today t0. we are going to receive the $5.1 in three months. What discount rate to use? the 3 month zero.
Today is arbitrary, we just happen to be doing the valuation today. We could go forward to t+1 month and:

* The coupon is the same: 10.2%/2*100
* we will discount, however, at the 2 month spot.

That's why i say maybe think of a 2-step:
1. What is the logic for generating the future cash flow series, and
2. What discount rates should we use: they will be based on our best estimate of a zero rate.

So, only at the next coupon (t+3) do we have an elegance:
* A coupon that pays forward in 6 months will be known in magnitude ($X)
* and it will be based on the same zero rate we need to discount

but go forward even one day after that (t + 3 months + 1 day) and technically, our bond will not be par b/c:
* a coupon that pays at X% (a 6 month rate) will be
* discounted at a zero rate slightly less than 6 months

David
 

David Harper CFA FRM

David Harper CFA FRM
Subscriber
....sorry to append, I was just thinking about how dicey this floater is, how it can be complicated even by the compound frequency. The premise of valuing the floater as one cash flow is along the lines of:

if today we 6% coupon $100 bond maturing in 3 months, the bond is priced at par i.i.f. the zero (discount) rate is 6% (i.e., if coupon = yield, bond = par)

but in this case, the math is non trivial because:

$103*exp[-6%*.5] < 100

we need the zero rate to equal the coupon, with same frequency:

$103/[1+6%/2]^(2*1/2) = $100

that may not exactly help with clarification but maybe just another "wrench" that shows the compound frequency switch complicates...but essentially the idea is, if i switch to annual coupon, that a 3 year bond

yr 1 coupon 5%
yr 2 coupon 9%
yr 3 coupon 3% [random, making up]

must have par value if using these coupons as discount rates:

PV [yr 1 coupon] = $5/(1+5%), then the next one is key to understanding this IMO:
PV [yr 2 coupon] = $9/[(1+5%)(1+9%)]
PV [yr 3 CF] = $103/[(1+5%)(1+9%)(1+3%)]

regardless of the rates, the sum of PV must be 100. And i can also change the compound frequency, but i must do it for both the coupons and the zero/discount rates (!)

David
 

hsuwang

Member
Hello David,
I'm sorry but I think I'm still having trouble understanding this concept

"So, only at the next coupon (t+3) do we have an elegance:
* A coupon that pays forward in 6 months will be known in magnitude ($X)
* and it will be based on the same zero rate we need to discount"

The part the confuses me is, I thought we are using the 6-month forward rate to determine the coupon, which should be different from the zero rate we need to discount, so why would the rates be the same? ie. 10%, 10.5%, 11%, are the spot rates at time .25, .75, 1.25, but shouldn't the coupons for time .75 and 1.25 be determined by the 6-month forward rate (which we derive from the spot rates)? (like what we did for the FRA at the bottom of the spreadsheet)

I think most of my confusion comes from the difference with the bonds and FRA calculation. ie. with bond valuation we use LIBOR spot rates to determine the coupons (after time .25), but for FRA we calculate the semi-annual forward rates to determine the cash flows.

Thanks..
 

David Harper CFA FRM

David Harper CFA FRM
Subscriber
Hi Jack,

I agree with your entire statement: the floating coupons are predicted by the 6 month forwards, which are necessarily different from the zero rates from which they are extracted. But note above, the "valuation" is performed at t+3. At t+3, the next coupon is received at t+9 and discounted at forward (t+3,t+9). If we "transport" to t+3, then we are looking at a six-month coupon paying c% (6 month forward) that is discounted at c% (a 6 month forward, which is the expected 6-month spot in 3 months time!). So that only applies to the first coupon....

For the rest, what you say is true, the extracted/implied forwards determine the coupon and they will not match the spots. But since they are implied from the spot, the bond still trades at par at (t + 3). And t+3 is merely the arbitrary time to the next coupon settlement, b/c that is the only place we can find a par.

Please take a look at this link below, I had this little sheet in last year's i rate swap (frankly because I struggled a lot with this myself, so I just did this test to convince myself). This is just annual pay coupons for three years, but if you try to change the three LIBOR rates, you will note the PV (price) of the bond is always par regardless. And to agree with your points above, notice the spot rates are *different* from the forward rates (this XLS is reverse from above, i suppose, it extracts spot rates from forwards). For myself, I had to dwell on this sheet to overcome this issue we are talking about. Let me know what you think:

http://sheet.zoho.com/public/btzoho/floater-par-v1-1

David
 

hsuwang

Member
Hello David,
First of all, thank you very much for sharing the excel spreadsheet.

so essentially, the spot rates used to discount the cash flows (coupons) are made up with forward rates (LIBOR) for each preceding periods. It make sense here because it seems like LIBOR is the implied forward rate, ie the coupons are determined from the LIBOR rate, and discounted back to PV by the spot rates, however, in the 3.a.11 spreadsheet, we are discounting the coupons by the LIBOR rates, which makes them seem like spot rates to me..

what gets even more complicated for me to understand is in the FRA (bottom part) calculation, we extract the implied forward rate from the LIBOR rates, (which I thought was already forward rates themselves).

I think there must be something I'm really not getting..
 

hsuwang

Member
Sorry to append,
I looked deeper into 3.a.11, and actually tried to figure out the PV of the floating rate bond (using the forward rate extracted from the LIBOR spot rates, and then discounting back at LIBOR), and it does equal 102.51. Now this really solved my confusion.

I think my problem was that I treated the LIBOR floating rates as forward rates instead of spot rates. But this is also why I am not sure in the zoho spreadsheet you provided, maybe the LIBOR should be forward rates (derived from LIBOR) while the spot should be LIBOR floating spot rates.

Thanks!
 
Top