Back of the Envelope

Observations on the Theory and Empirics of Mathematical Finance

[FM] Bonds – II: Yield to maturity and bootstrapping

with 5 comments

Till we began our discussion on bond markets, we had been working with the following pricing equation with a constant rate of interest, r:

\displaystyle P = \frac{C}{1 + r} + \frac{C}{(1 + r)^2} + \frac{C}{(1 + r)^3} + \frac{C}{(1 + r)^4} + ... + \frac{C + 100}{(1 + r)^n}

But clearly, in the real world we just don’t have one interest rate, but as a visit to any bank website will tell you, there is a separate rate for each maturity.

Consider a bond that matures at time t = 2, pays a cash flow C_1 at time 1, and cash flow C_2 at time 2. Then, if we knew the rate applicable for each maturity (called the spot rates), we could still price the bond easily by writing:

\displaystyle P = \frac{C_1}{1 + r_1} + \frac{C_2}{(1 + r_2)^2}

where r_1 is the one period annualized rate for 1 year, and r_2 is the annualized rate for 2 years. A constant rate that gives the same price as obtained using the correct spot rates is what the market participants call the Yield to Maturity or YTM. That is, finding YTM involves finding the price of the bond by using instead a constant rate , y, and this gives the following equation:

\displaystyle P = \frac{C_1}{1 + y} + \frac{C_2}{(1 + y)^2}

But which is the ‘right’ way? What comes first, the rate for each maturity r_1 and r_2 or the YTM y?

It is the spot rates which are the fundamental quantities, and not the YTM. In fact, just like IRR, YTM is nothing but a rate that makes the NPV from investment in a bond 0. So, for our two-period bond example, y is that rate which solves the following equation:

\displaystyle -P + \frac{C_1}{1 + y} + \frac{C_2}{(1 + y)^2} = 0

In fact, this is how YTM is defined.


In fact, even more fundamental than the rates r_1 and r_2 are the prices themselves. Because one buys and sells bonds, and not interest rates. This brings us to the idea of bootstrapping.

(In case you are curious, bootstrap refers to the strap/loop provided in the shoes/boots. It was designed to help people get in and out of the shoes easily. As this wiki entry will tell you, over time this came be known as the metaphor to ‘pull oneself up’ without outside effort – a kind of ‘self-sustaining force’.)

Say, we have zero-coupon bonds of maturity 1 and 2 available in the bond market, with prices P_1 \mbox{ and } P_2 respectively. Then, since the bonds are zero coupon bonds (i.e. there are no intervening coupons, and only a final cash flow, say C), we can write their prices are:

\begin{aligned} \displaystyle P_1 &= \frac{C}{1 + r_1} \\ P_2 &= \frac{C}{(1 + r_2)^2} \end{aligned}

If we observe P_1 \mbox{ and }P_2, then it’s clear that we can find the spot rates r_1 \mbox{ and }r_2 as:

\begin{aligned} \displaystyle r_1 &= \frac{C}{P_1} - 1 \\ r_2 &= \sqrt{\frac{C}{P_2}} - 1 \end{aligned}

So, if there are zero coupon bonds in the market, finding the spot rates r_1 \mbox{ and } r_2 is easy.

Unfortunately in most countries, including India, there does not exist an active market in zero coupon bonds across maturities. All long-term bonds issued by Government of India are coupon bearing bonds. In that case, as you would guess, extracting spot rates is not as easy.

Let’s again consider two bonds – but this time we consider coupon bearing bonds (a more realistic situation) rather than zero-coupon bonds.

Let’s call the price of coupon bond of maturity 1 (with only a single cash flow C_{11}) as P_1, and the price of of coupon bond of maturity 2 (with cash flow C_{21} at time 1 and cash flow C_{22} at time 2) as P_2. Then we have:

\begin{aligned} \displaystyle P_1 &= \frac{C_{11}}{1 + r_1} \\ P_2 &= \frac{C_{21}}{1 + r_1} + \frac{C_{22}}{(1 + r_2)^2} \end{aligned}

Since P_1 is traded, given its coupon C_{11}, we can still find r_1 as earlier as:

\displaystyle r_1= \frac{C_{11}}{P_1} - 1

What is not so obvious now is finding r_2, as instead of a single cash flow at time 2, we have cash flows from a coupon bearing bond both at time 1 \mbox{ and } 2. But since P_2 is known from the market, it turns out we can still find r_2. This is how:


\begin{aligned} \displaystyle P_2 &= \frac{C_{21}}{1 + r_1} + \frac{C_{22}}{(1 + r_2)^2} \end{aligned}

Since r_1 is known from P_1, and P_2 is known from the market, given the cash flows C_{21} and C_{22} from the bond, the only unknown remaining is r_2, i.e. in:

\displaystyle \underbrace{P_2}_{\mbox{known}} = \underbrace{\frac{C_{21}}{1 + r_1}}_{C_{21} \mbox{ known, } r_1 \mbox{ known from } P_1} + \underbrace{\frac{C_{22}}{(1 + r_2)^2}}_{C_{22} \mbox{ known, } \underline{r_2 \mbox{ unknown}}}

the only variable unknown is r_2. Since LHS = RHS, we can now easily ‘bootstrap’ r_2 from the above equation.

After finding r_2, say, if we now had a third coupon bond with maturity 3, we can find out r_3 similarly as:

\displaystyle \underbrace{P_3}_{\mbox{known}} = \underbrace{\frac{C_{31}}{1 + r_1}}_{C_{31} \mbox{ known, } r_1 \mbox{ known from } P_1} + \underbrace{\frac{C_{32}}{(1 + r_2)^2}}_{C_{32} \mbox{ known, } r_2 \mbox{ known from } P_2} + \underbrace{\frac{C_{33}}{(1 + r_3)^3}}_{C_{33} \mbox{ known, } \underline{r_3 \mbox{ unknown}}}

This process of successively backing out spot rates from bond prices like this is called bootstrapping.

That is, even if there aren’t any zero coupon bonds in the market, one can still extract the spot rates by the process of backing out, i.e. by bootstrapping, as above.

As should be clear, this process would only work if there are enough coupon bearing bonds across all maturities in the bond market. As even if one bond is missing “in between”, that would mean all other rates starting from that point would be indeterminate. So, for example, if there were no 2 period bond, i.e. P_2 in the market, one couldn’t have extracted r_2. But not only that, in that case one couldn’t have extracted even r_3, as bootstrapping r_3 depends on knowing r_2.

The schedule of spot rates (r_1 \mbox{ , } r_2 \mbox{ , } r_3 \mbox{ , ... } r_n) for different maturities (1 \mbox{ , } 2 \mbox{ , } 3 \mbox{ , ... } r_n) is called as the Term Structure of Interest Rates.

Plotting r_n for a given maturity n gives us a curve which is known as the Zero Coupon Yield Curve (ZCYC) – or simply stated, just a yield curve (not to be confused with the plot of YTMs for different maturities).

So in practice when one doesn’t have ‘nice’ sequential set of coupon bonds, one is forced to use fit the term structure using curve fitting techniques.


Written by Vineet

September 25, 2014 at 1:41 pm

5 Responses

Subscribe to comments with RSS.

  1. […] Consider the following bond pricing equation using yield to maturity: […]

  2. […] a previous post we introduced the notion of the term structure of interest rates . Here we try and understand […]

  3. […] Consider the following bond pricing equation using yield to maturity: […]

    A Matter of Course

    September 30, 2015 at 12:03 pm

  4. […] Consider the following bond pricing equation using yield to maturity: […]

  5. […] Consider the following bond pricing equation using yield to maturity: […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: