Interest Rates

A worked-through tour of the interest rate zoo — compounding conventions, LIBOR vs LIBID, spot and forward rates, FRAs, and bond pricing, all with quiz solutions.

Quick quizzes first

Quiz 1.

The bank rate is 14% per year, compounded quarterly. What’s the equivalent rate under (a) continuous compounding and (b) annual compounding?

a. Continuous: $\ln(1 + 0.14/4) \times 4 = 13.76\%$.

Wait — I dropped the 4. Let me redo: continuous $R_c = m\ln(1 + R_m/m) = 4\ln(1.035) = 0.1376 = 13.76\%$.

b. Annual: $(1 + 0.14/4)^4 - 1 = 0.1475 = 14.75\%$.

Quiz 2.

What kind of rates are LIBOR and LIBID? Which one is bigger?

LIBOR = London Interbank Offered Rate. The rate a bank charges when it lends to other banks.

LIBID = London Interbank Bid Rate. The rate a bank pays when it takes deposits from other banks.

LIBOR > LIBID. (lending rate > deposit rate — duh, that’s how a bank makes money.)

Quiz 3. The 6-month and 1-year spot rates are both 10% per year.

A bond with an 8% coupon and 18 months to maturity (coupon was just paid) has a yield of 10.4%. What’s the price? And what’s the 18-month spot rate? Everything is semiannual compounding.

If we set face value to $100, then the price is the future cash flows discounted at 10.4%, which gives **$96.74**.

The 18-month spot rate $R$ (annual) comes from this equation:

$\therefore R = 10.42\%$.

Quiz 4.

You invest $1,000 today and get $1,100 a year later. What’s the annual return under (a) annual compounding, (b) semiannual, (c) monthly, (d) continuous?

Quiz 6.

Zero-coupon rates are in the table above.

What’s the value of an FRA that lets the holder earn 9.5% per year on a $1,000,000 principal over the 3-month window starting 1 year from now? (The 9.5% is on a compounding basis.)

The forward rate is 9.0% continuous, or 9.102% with quarterly compounding. Plug into equation 4.9 — value of the FRA is $893.56.

Quiz 7.

The term structure slopes upward. Rank these from largest to smallest:

(a) the 5-year zero rate, (b) the yield on a 5-year coupon bond, (c) the forward rate from 4.75 to 5 years out.

What if the term structure slopes down instead?

Upward: $c > a > b$.

Downward: $b > a > c$.

OK now let’s actually back up and go through all the rates that show up in this world.

The zoo of interest rates

Treasury rates. What you earn investing in T-bills and T-bonds. Since the Treasury basically has zero chance of going bankrupt — well, that’s the assumption — the Treasury rate gets called the risk-free rate.

LIBOR (London InterBank Offered Rate). The rate a bank charges another bank when lending to it. (To even borrow at LIBOR, the borrowing bank has to be at least AA-rated.) Traditionally the British Bankers’ Association publishes LIBOR every business day at 11 a.m. for all maturities up to 12 months, in the major currencies.

LIBID (London Interbank Bid Rate). What a bank pays when accepting deposits from another bank. So there’s always a spread: LIBOR > LIBID.

Side note worth pinning down — derivatives folks don’t actually treat T-bill / T-bond rates as the risk-free rate. They use LIBOR as risk-free. Just go with it.

Repo rate. A financial institution sells a security today at price $x$ and contracts to buy it back later at a slightly higher price $y$. That’s a repurchase agreement. Functionally, the institution borrowed cash. The implied rate — based on the gap $y - x$ — is the repo rate.

Continuously compounded rate.

OK so when we just say “interest rate,” every elementary schooler knows what we mean. 10% a year, you put 100 won in the bank, after a year you’ve got 10% extra growth.

So after 1 year: $100 + 100R = 100(1+R)$.

After 2 years? Work it out:

$$100(1+R)^2$$

After $n$ years: $100(1+R)^n$.

More generally, deposit $A$ for $n$ years and you’ve got $A(1+R)^n$.

Now, what if the rate is 10% per year but interest gets paid twice a year? Same as saying you get 5% every 6 months.

So: deposit $A$ for $n$ years, with interest paid $m$ times per year. After $n$ years you’ve got:

That’s it. Pretty obvious, but it’s a small enough calculation that you should probably just work it through yourself once.

Now — the move we’re about to do — take $m$, the number of compounding periods per year, and crank it up to infinity.

We’re looking at the limiting case. The maximum.

So the moment one second passes — no, shorter than that —

0.000000000001 seconds —

no wait, 0.0000000000000000000000000001 —

no no no no, just every single instant, you receive interest of $R/\infty$. After $n$ years, $A$ has become:

There’s an exponential lurking in there.

The definition of $e$ is

and that same definition is sitting inside

right here.

So: at rate $R$ paid $\infty$ times per second, $\infty$ times over $n$ years, with each payment being $R/\infty$ — what you end up with is just $A$ multiplied by $\exp(Rn)$.

OK now let’s talk about “equivalence.”

What this is asking is:

(You’re getting 10% with semiannual compounding — what continuous compounding rate gives you the same result as semiannual at 10%?)

Or flip it: you’re getting 10% continuously compounded — what semiannual rate gives the same thing? Or quarterly?

That’s why I’m calling it “equivalence.”

You see what we’re doing here.

The relationship between a continuously compounded rate $R_c$ and an $m$-times-per-year rate $R_m$ — you can solve it for $R_c$, or you can solve it for $R_m$. I’ll write both forms:

This relationship is going to come up a lot.

Going from “I’m thinking in continuous compounding” to “the equivalent quarterly rate.”

Going from semiannual to continuous.

It’s going to show up in every direction, so we’d better get used to it. (T_T)

Zero-coupon rate (n-year spot rate, n-year zero rate)

The return you earn on an investment that starts today, has no intermediate payments, and pays out principal-plus-interest at the end of year $n$.

For example: if the 5-year zero-coupon rate on a Treasury bond is quoted at 5% continuous, that means $100 invested for 5 years at the risk-free rate becomes $128.40.

But — in the real world, almost nothing is a zero-coupon bond. Most bonds are coupon bonds. So how do we theoretically slap a “value” on those?

Easy enough in principle: discount every cash flow the bond throws off, using the appropriate zero-coupon rate (the risk-free rate) for each one.

Let’s run a 2-year Treasury, face $1,000,000, semiannual coupon at 6%, using continuous-compounded zero rates.

If we’re handed the zero-coupon rates, we can pin down an “appropriate,” “fair” value.

Suppose the zero rates look like this:

Maturity (y)Treasury zero rate (%)
0.55.0
15.8
1.56.4
2.06.8

Our bond ($n=2$, $F=100$, $c=6\%$) is a Treasury, so it pays $3 every 6 months.

Discount every cash flow over those 2 years at its appropriate rate, sum ’em up — that’s the present value:

But wait. That table — that’s kind of absurd, right????

Nobody is handing you that table from on high. There’s gotta be some principle for constructing it, right????

The construction method is the bootstrap method, which we’ll get to in a sec.

But there are still a few more rates I want to introduce first.

Yield to maturity

The discount rate that makes the present value of the bond’s cash flows equal to its market value.

In other words — the yield of a coupon bond.

Example: some coupon bond’s market price is 98.39. (6% coupon, 2-year maturity, face 100.)

The question is: “Hey, this bond throws off cash flows of 3, 3, 3, 103 over 2 years — at what discount rate do those PV out to 98.39?” Find that rate.

Call the unknown rate $y$. Then:

We need the $y$ that satisfies this (continuous compounding).

But… try solving it. Go on.

Yeah… it’s hard. So there’s no choice but trial and error. (T_T) sob sob.

Par yield

The coupon rate that makes the bond’s price equal its face value.

So: face 100, 2-year maturity, no coupon rate yet — we’re finding the coupon rate.

Question: “What coupon rate makes the price come out to face value?” Answer that.

Discount each coupon over 2 years at the appropriate zero rate (that table from before), sum them up, and find the coupon rate that makes the total equal 100.

So:

Just find the coupon rate that satisfies this.

Bootstrapping the table

Now — how do we build the table

Maturity (y)Treasury zero rate (%)
0.55.0
15.8
1.56.4
2.06.8

in the first place?

We need data. Some kind of data. Only then can we infer the risk-free rate at 0.5y, 1y, 2y, etc.

What data? Something like this:

PrincipalMaturity (y)Annual coupon ($)Price
1000.25097.5
1000.50094.9
1001.00090.0
1001.50896.0
1002.0012101.6

(Half the annual interest gets paid every 6 months.)

With data like this, we can build out the Treasury zero-coupon (= risk-free) rate for any maturity we want.

The 6-month and 1-year zero rates? Trivial!!!!

Look at the table — invest 94.9 today, get 100 with certainty 6 months later. That’s a risk-free rate, no question:

One row down.

And also also also also also also also also also also —

we can grab the 1-year too.

Two rows down.

Now — how do we get 1.5 years from this table?

If you lock up 96.0 for 1.5 years, you get $4 every 6 months plus the principal back. Discount each of those at the appropriate rate, set the sum equal to 96.0, solve for the 1.5-year risk-free rate.

(Continuous compounding throughout.)

Keep doing this and the table just keeps extending.

And when we run out of raw data but still want more points?

In that case, analysts assume the risk-free rate curve is linear, take two known points, draw a line, and read off whatever maturity they need — that’s what the book said anyway.

In practice they collect as much data as possible and just fit a curve to it.

Forward rates

The interest rate for some future window, implied by today’s spot rates.

How do we calculate one? Apparently you just need a LIBOR zero-coupon table.

Ah — so what we’re doing right now —

Like I said up top, LIBOR gets published at 11 a.m. for major currencies across maturities. So the LIBOR for each maturity is already pinned down.

Using that as the foundation, we can pin down the forward rate — the red part in the figure.

So how does the forward rate get computed?!?!?!??!

Simple.

Like that. And looking at the equation, the principle is: the “total rate” is the average of the rates over each sub-period — and that defines the forward rate.

$0.03 + 0.05 + x = 3 \times 0.046$

What’s the principle, in plainer language?

The value you get under “use the forward rate over the future window” must equal the value you get under “just use today’s spot rates over the whole stretch.”

Whichever way you slice it, the result has to come out the same.

If they didn’t, you’d have an arbitrage opportunity — and the market kills it (or, well, it shifts over time, but you get the idea).

Choosing “3% in year 1, 5% in year 2”

versus choosing “4% for 2 years”

— these two have to land in the same place.

Therefore:

Forward rate agreements (FRAs)

There’s a transaction called a forward rate agreement (FRA).

Who uses these? Anyone who thinks the actual future rate is going to differ from the forward rate that today’s market implies.

Plain version: “Oh god!!!!!!!!! What if Korea hits zero rates too??!?!?! Oh god!!!!!!!!!! Let me lock in a contract at the forward rate — even if rates collapse to zero, I!!!! get to grow my money at the rate I locked in!!!! I gotta lock this in!!!!”

OK OK, let’s go go go.

Let’s learn about FRAs. (From here on I’ll just treat LIBOR as the risk-free rate.)

First, the terminology, in picture form:

You get the gist, right?

OK, so when there’s a gap between $R_K$ and $R_M$, the company gets to earn off the difference!

Here’s how it shakes out.

You were supposed to receive interest at rate $R_M$, but a profit pops up because you actually receive at the higher $R_K$.

Or: you were supposed to pay at $R_M$, but a loss pops up because you have to pay the higher $R_K$ instead.

Or: you were supposed to pay at $R_M$, but a loss pops up because you only get back the lower $R_K$.

Or: you were supposed to pay at $R_M$, but a profit pops up because you only have to pay the lower $R_M$.

Heads up — this is a perspective you’ll really get when we hit swaps in Chapter 7 — but you can re-read the situation above as:

Receive the fixed rate $R_K$, pay $R_M$, over $T_1$ to $T_2$ (where $R_M$ is the actual realized rate).

Or:

Pay the fixed $R_K$ on the principal over $T_1$ to $T_2$, receive the actual $R_M$.

In other words — this whole thing can also be reinterpreted as an interest rate swap. Cool.

Well well well well well well —

let’s see how the value of an FRA gets pinned down, theoretically.

It’s theory, so there are assumptions, but the assumptions are pretty natural.

First: we calculate “as if the forward rate definitely realizes.”

Second: we discount to PV at the risk-free rate (LIBOR, in our case).

Hey!!!!!!!!!! Right now, the forward rate set for the window $T_1$ to $T_2$ is 5.12%, but —

I’m going to enter an FRA to receive 6% over that window!!!!

100 million won!!!!!!!!!!!!!!!!!!!!!!!!

Suppose someone enters that contract.

Since we’re assuming the forward rate definitely realizes, and we discount at the risk-free rate, the present value of those cash flows is the value of the FRA.

Both obvious and simple, right? (Thanks to the assumptions… A peaceful household sets all things in order, a peaceful household sets all things in order… gotta stay on good terms with my assumptions.)

Sorry, lame joke.

So — over that window —

this profit/loss arises, and the present value just gets computed by slapping that red bit straight onto the value:

Right? And the 0.04 is the risk-free rate hehhh.

Prob 4.8

The cash prices of the 6-month and 1-year T-bills are 94.0 and 89.0.

A 1.5-year T-bond pays $4 every 6 months and trades at $94.84.

A 2-year T-bond pays $5 every 6 months and trades at $97.12.

Find the 6-month, 1-year, 1.5-year, and 2-year zero rates.

Invest 94.0 in the 6-month T-bill and you get 100 for sure. So $(6/94) \times 100 = 0.0638$, and as an annual rate that’s 12.766%.

Invest 89.0 in the 1-year T-bill and you get 100 for sure. So $(11/89) \times 100 = 0.1235$, which is directly 12.35% annualized.

For the 1.5-year zero rate, use the info that the 1.5-year T-bond paying $4 semiannually is at 94.84:

So this relationship holds, and as an equation:

Punch it into a calculator: $R = 0.115$.

The 1.5-year zero rate is 11.5%!!! squeal!

For the 2-year — pays $5 semiannually, price 97.12 — I’ll skip the diagram and just write the equation:

Punch it: $R = 0.113$.

So the 2-year zero rate is 11.3%, hehh.

Prob 4.12

A bond has 3 years to maturity, an 8% annual coupon (paid semiannually), and a cash price of 104. What’s the bond’s yield?

Hehh.. yield of the bond.. yield of the bond? Yield to maturity, that’s what it’s asking.

So: discount every cash flow the bond throws off, sum them up, and find the rate that makes the total equal the bond’s price.

Like I said, this… is a pain to actually solve.

It’d really be easier to just write code for this — but I tried approximating it as a quadratic via Taylor expansion. (Figured the answer would come out around 0.0~~ something, so the approximation should be fine.)

The solution manual says 6.40%.

Error: 0.05%… 0.0005 in absolute terms, so I’m pretty pleased. hehhh.

Prob 4.13

The continuous-compounded spot rates are below. Compute the forward rates.

Maturity (y)Treasury zero rate (%)
12.0
23.0
33.7
44.2
54.5

Just write ’em out next to it:

Maturity (y)Treasury zero rate (%)Forward rate (%)
12.0.
23.0$6 - 2 = 4.0$
33.7$3.7 \times 3 - 6 = 5.1$
44.2$4.2 \times 4 - 3.7 \times 3 = 5.7$
54.5$4.5 \times 5 - 4.2 \times 4 = 5.7$

Prob 4.15

Value an FRA that pays 5% per year on $1,000,000 of principal in the third year, using the spot rates above.

Just assume the forward rate realizes, discount the future cash flows back to today.

One little diagram makes it easy:

Punch into a calculator: 894.9387.

Prob 4.16

A coupon bond, 10-year maturity, 8% coupon, currently priced at $90.

Another coupon bond, 10-year maturity, 4% coupon, currently priced at $80.

What’s the 10-year spot rate (annual) (= zero-coupon rate)?

Hint: think of it as a long position in 2 of the 4%-coupon bond and a short position in 1 of the 8%-coupon bond.

OK OK OK OK — this is asking us to find the spot rate, the zero-coupon rate, the risk-free rate.

What’s the role of the risk-free rate again?

It’s the floor — money left alone grows by at least the risk-free rate. So when we PV something at the risk-free rate, we’re saying “at minimum, the present value is this much.”

So: assume the PVs of the two bonds, when each cash flow is discounted at its appropriate zero rate, are 80 and 90 respectively. (That’s the setup, right? Cool?)

The $90 one first:

And the $80 one:

Hmm — looks like it might link up with the first one, doesn’t it?

Multiply both sides by 2:

Whoa!!! If we line up the first equation with this doubled second one — everything cancels except the 10th-year term!

(That’s literally what the hint meant — buy 2 of one, sell 1 of the other, hehh.)

Combining the two:

QED.


Originally written in Korean on my Naver blog (2016-10). Translated to English for gdpark.blog.