Introduction
In our last session, we established the conceptual framework for bootstrapping: an iterative algorithm to extract a theoretically pure spot rate curve from the market prices of coupon-bearing bonds. We concluded by noting that the process is most clearly demonstrated by starting with a special, idealized construct called a par-yield curve.
Today, we will transition from the high-level concept to a rigorous, step-by-step mathematical derivation. Your goal for this lesson is to perform the derivation of a spot rate curve directly from a given par-yield curve. This will solidify your understanding of the core algebraic mechanics of bootstrapping, preparing you to implement the algorithm in code.
1. Understanding the Par-Yield Curve
Before we begin the derivation, we must be precise about our starting point. What exactly is a par-yield curve?
A par bond is a bond whose market price is equal to its face value (e.g., a price of $100 for a $100 face value bond). For this to occur, the bond's coupon rate must be equal to its yield-to-maturity (YTM).
A par-yield curve (or par curve) is a plot of the coupon rates that bonds of various maturities would need to have in order to trade at par. In essence, it shows the YTM for par bonds at each maturity.
To explore this concept further, please review the following text and video.
Par Curve, Spot Curve, and Forward Curve
This reading from Financial Exam Help 123 provides a concise definition of the par curve.
Focus on the section titled "Par Curve." Pay attention to the key insight: the par curve gives the coupon rate that a bond must pay to sell at par today.
Bootstrapping Spot Rates From the Par Curve
The video "Bootstrapping Spot Rates From the Par Curve" by Ryan O'Connell offers a clear visual and verbal explanation of the par curve.
Watch the initial segment, "What is a Par Curve?", where the presenter defines the par curve and illustrates its relationship between maturity and the coupon rate/YTM for a bond priced at par.
With this foundation, we can now use a par curve as a clean input for our bootstrapping derivation. By assuming we have a set of bonds trading at par, we simplify the pricing equation because the price is always known to be the face value (e.g., 100).
2. Step-by-Step Bootstrapping Derivation
Let's derive a spot rate curve from a hypothetical par curve for government bonds that pay semi-annual coupons. Our goal is to find the spot rates which are the appropriate rates for discounting single cash flows at those future times.
| Maturity (Years) | Par Yield (Coupon Rate) |
|---|---|
| 0.5 | 2.0% |
| 1.0 | 2.4% |
| 1.5 | 2.76% |
| 2.0 | 3.084% |
We will assume a face value of $1000 for all bonds.
Step 1: The 0.5-Year Spot Rate ()
We start with the shortest maturity: the 0.5-year (6-month) bond.
- From our par curve, its coupon rate is 2.0%.
- Since it's a par bond, its price is $1000.
- This bond has only one cash flow at maturity: the face value plus one coupon payment. The semi-annual coupon is . So, the total cash flow is $1010.
The pricing formula is:
Plugging in our values:
Solving for :
As you can see, for the first period, the spot rate is simply equal to the par yield. This is our anchor point.
Step 2: The 1.0-Year Spot Rate ()
Now, we move to the 1.0-year bond.
- Its coupon rate (par yield) is 2.4%. The semi-annual coupon payment is .
- Its price is $1000.
- It has two cash flows: a $12 coupon at 0.5 years and a final payment of $1012 at 1.0 year.
We price this bond by discounting each cash flow with its corresponding spot rate:
We know every variable except :
- Price = $1000
- Coupon = $12
- = 2.0% (from Step 1)
Let's plug them in and solve:
Now, we isolate the term with our unknown, :
We have successfully "bootstrapped" the 1-year spot rate. The following resources provide excellent walkthroughs of this iterative process.
Bootstrapping: Deriving the Spot Curve from the Par Curve
This section of the Financial Exam Help 123 article meticulously lays out the mathematical steps we are performing.
Read the section titled "Bootstrapping: Deriving the Spot Curve from the Par Curve." Follow the derivations for the one-year spot yield (s_2) and the 1½-year spot yield (s_3). Compare their calculations to the steps we just took.
Bootstrapping Spot Rates From the Par Curve
This video by Ryan O'Connell demonstrates the exact algebraic steps for the 1-year, 2-year, and 3-year spot rates.
Watch the following segments to see the process in action: The 1-year rate, which confirms our finding that the first spot rate equals the par rate. The 2-year rate, which follows the exact same logic we used for our 1-year bond. The 3-year rate, to see how the pattern continues for longer maturities.
Step 3: Generalizing the Process
The pattern is now clear. To find the -th spot rate, , we use the -period par bond. Its price is known (par), its coupon rate is known (from the par curve), and all spot rates for periods 1 to are known from previous steps.
Let's write the general equation for a par bond with maturity (in years) and payments per year. The coupon payment is . The price (par value, ) is:
At each step, we solve for the only unknown, . We can rearrange this to get a direct formula for the final term:
The right side of the equation contains only known values. Once we compute it, we can algebraically solve for . This recursive process is the heart of the bootstrapping algorithm.
This can be expressed in a more compact form, as shown in the LSEG article, which isolates the final spot rate we are solving for. The equation below is adapted for semi-annual payments () and uses for price (NPV), for the annual coupon rate, and for maturity in periods.
This formula directly mirrors the algebraic steps we perform at each stage of the bootstrapping process. You'll find this generalized form extremely useful when we move to the Python implementation.
Conclusion
In this lesson, we have moved from concept to concrete calculation, executing a formal, step-by-step derivation of a spot rate curve. By starting with a par-yield curve, we were able to work through the algebra of bootstrapping in a clean and methodical way.
Key Takeaways:
- Par Curve as Input: A par-yield curve, which provides the coupon rates for bonds to trade at par, serves as an ideal starting point for demonstrating the bootstrapping logic.
- Iterative Solution: Bootstrapping is a recursive process. You must solve for spot rates in sequence, from shortest to longest maturity, as each step depends on the results of the previous ones.
- The Core Algebra: For each maturity , you price the corresponding par bond by discounting its cash flows. All cash flows before maturity are discounted using previously calculated spot rates, leaving the spot rate as the only unknown to solve for.
- General Formula: The iterative process can be summarized into a general formula that isolates the unknown spot rate at each step, a structure that lends itself well to programmatic implementation.
In our next lesson, we will translate this mathematical derivation into a practical Python function. You will write code that implements the bootstrapping algorithm to build a spot rate curve from a set of market bond data, which is the ultimate goal of this module.