Sep
14
Bootstrapping the discount function. FRM 2007
by David Harper, CFA, FRM, CIPM
FRM |
Learning Outcomes
- LO 22.1: Generate the discount function given a series of coupon bond prices.
- LO 22.2: Calculate a series of spot rates given the appropriate discount factors or STRIPS prices.
This article contains:
- The building block elements of the term structure of interest rates
- What is bootstrapping (To build out the yield curve one coupon at a time)
- An example of bootstrapping
- Translate the discount factor to spot rate
- Plot the spot rates to develop the term structure of interest rates
- The EditGrid calculation worksheet
Term structure of interest rates = Set of Treasury spot rates (spot rate at each maturity)
Before we bootstrap, some definitions:
- A discount function is a set of discount factors. That is, d(0.5) equals the discount factor at six months, d(1) equals the discount factor at one year. The discount function is the set of {d(0.5), d(1), ...}
- A discount factor is the present value of one dollar in the future. If d(1) = 0.95, then: one future dollar ($1) in one year is worth $0.95 today. Conversely, one present dollar ($1) is worth $1.053 in one year (i.e., $1/0.95 = $1.053)
- A discount factor is the decimal form of a zero-coupon bond. That is, if d(1) = 0.95, then a one-year zero-coupon bond with par value of $100 is priced at $95 (if par is $1,000, price is $950)
- A discount factor translates into, and necessarily implies, a spot rate. A spot rate is the yield on a zero-coupon instrument. If we are pricing Treasuries, the spot rates are Treasury spot rates. (And note, since Treasuries pay coupons, we are referring to Treasury STRIPS).
- The set of Treasury spot rates over time (six month Treasury spot, one year Treasury spot, 1.5 year Treasury spot and so on) produces a theoretical spot rate curve or term structure of interest rates. (Note this is sometimes called the Treasury yield curve, but technically the Treasury yield curve plots coupon-bearing yields to maturity [YTM] over time, whereas we are instead talking about zeros here. This distinction points out why we are talking about 'theoretical' spot rates.).
Bootstrapping is to build out the yield curve one coupon at a time
Per the learning outcome above (LO 21.1), the key to generating the discount function is bootstrapping. First, we compute the discount factor for the near-term six-month bond. Why? Because it has only one cash flow! Now that we have the six-month discount factor, we can use it to compute the discount factor for the one-year coupon-paying bond. In this way, by building out, we only have in each case one unknown to solve for.
An Example
For example, in the EditGrid spreadsheet below, I conjectured five coupon-bearing bonds (yellow background indicates inputs). The first bond is a zero (no coupon) paying par in six months. Since this bonds price is $98, its discount factor is 0.98.
Now let's bootstrap the one-year (theoretical) spot rate. The price of the 4% coupon one-year bond is $99.00. If d(1) is the one-year discount factor, then the following must be true: $99 = $2(0.98) + $102[d(1)].
Make sure you see how the price of the one year bond is a function of two cash flows: the discounted $2 coupon [$2 x d(0.5)] and the discounted final cash flow [$102 x d(1.0].
Solving for d(1) gives 0.9514, the one-year discount factor. Now this d(1) discount factor will be used for all coupons that are paid in one year.
Translate discount factor to spot rate
Below the discount function (i.e., the series of discount factors) are the spot rates. The spot rate is given by:
..and we could rearrange to solve for the discount rate...
Knowing our d(1) = 0.9514, the one-year theoretical spot rate is 5.05% because 5.05% = 2*[(1/0.9514)^(1/2)-1].
Term structure of interest rates
The EditGrid spreadsheet below repeats this for each maturity. The set of spot rates produces the term structure of interest rates:
EditGrid spreadsheet
Here is the spreadsheet. Inputs are displayed with a yellow background. You only need to input a price and coupon rate for each maturity.
Comments
Excellent explanation of spot rates, but it would be useful to show an example using annual coupons too.
most of the example online is showing semianual calculation. If i have a set of cashflow points with monthly period. how shud the calculation be? cant get the spot rate.
Leave a Comment