Bootstrapping is the standard method for deriving the zero-coupon (spot) rate curve from observed par yields. It works iteratively, starting from the shortest maturity and solving for each successive spot rate.
The logic is straightforward: a coupon bond can be viewed as a portfolio of zero-coupon cash flows. Since we know the bond's price (par, by definition for par rates) and the discount rates for all earlier cash flows from prior bootstrap steps, we can solve for the remaining unknown, the spot rate at that maturity.
The procedure:
The procedure assumes no arbitrage between coupon bonds and zero-coupon bonds. If that condition fails, two bonds of identical maturity would price inconsistently, creating a riskless profit opportunity. In practice, dealers enforce this condition continuously.
Suppose the 1-year par rate is 4.00% and the 2-year par rate is 4.20%, both with semiannual coupons.
Step 1: 1-year spot rate. A 1-year par bond pays a single coupon plus principal at maturity. With only one cash flow period, the spot rate equals the par rate directly. So the 1-year spot rate is 4.00%, or 2.00% per semiannual period.
Step 2: 2-year spot rate. A 2-year par bond with a 4.20% annual coupon (semiannual) pays:
We know the 6-month spot rate (2.00% annualized, so 1.00% per period) and the 1-year spot rate (4.00% annualized, so 2.00% per period). Let s denote the unknown 2-year annualized spot rate, so the semiannual period rate is s/2.
Setting the present value equal to par:
2.10 / (1.01)^1 + 2.10 / (1.02)^2 + 102.10 / (1 + s/2)^4 = 100
Computing the known terms:
So: 102.10 / (1 + s/2)^4 = 100 - 2.0792 - 2.0184 = 95.9024
Solving: (1 + s/2)^4 = 102.10 / 95.9024 = 1.06462
1 + s/2 = 1.06462^(1/4) = 1.01583
s/2 = 0.01583, so s = 3.166% per period annualized... wait, let me redo: s = 2 * 0.01583 = 0.03166.
Annualized: 2-year spot rate = approximately 4.224%.
The 2-year spot rate (4.224%) exceeds the 2-year par rate (4.20%). That relationship is not a coincidence.
In an upward-sloping yield curve, par rates are lower than spot rates at longer maturities. The reason is averaging. A par bond's yield reflects a blend of discount rates across all its cash flows. Early coupons get discounted at relatively low short-term spot rates, which pulls the blended par rate below the spot rate at the final maturity. The further out the maturity, the larger the gap.
Conversely, in an inverted curve, par rates exceed spot rates at longer maturities because the early coupons are discounted at high short-term rates. This dynamic is why YCP's yield curve chart can look flat or inverted in par yield terms even when the spot curve tells a more nuanced story.
Once you have the spot curve, you can extract implied forward rates directly. The forward rate between year t1 and year t2 satisfies:
(1 + s2)^t2 = (1 + s1)^t1 * (1 + f)^(t2 - t1)
Solving for f:
f = [ (1 + s2)^t2 / (1 + s1)^t1 ]^(1 / (t2 - t1)) - 1
This is the rate at which the market prices lending from t1 to t2, given today's spot curve. It is not a forecast. It is the break-even rate embedded in current pricing. If realized rates come in below the forward, a long position in the longer maturity bond profits on the carry and roll. See forward rates and the YCP forwards page for live implied forward rates across the Treasury curve.
Real-world bootstrapping is messier than the textbook case. Treasury coupon bonds do not mature on exact semiannual intervals, on-the-run liquidity creates pricing kinks, and the discrete set of available maturities requires interpolation. Practitioners typically apply cubic spline or Nelson-Siegel fitting to smooth the bootstrapped curve before using it for pricing or risk analysis. Risk systems at dealers and buy-side firms run this process in real time as Treasury prices update throughout the trading session.
Why not just use Treasury yields directly?
Treasury yields are yield-to-maturity, which blend multiple discount rates into a single number. Two bonds with the same maturity but different coupons can have different yields even if they are priced consistently. Spot rates eliminate that ambiguity by assigning a single discount rate to each maturity.
Does bootstrapping work for corporate bonds?
Yes, but the input must be a consistent set of par rates for a single credit quality and seniority. Mixing issuers or ratings contaminates the curve. In practice, dealers bootstrap OIS, SOFR swap, or Treasury curves and then add credit spreads separately.
What is the relationship between spot rates and discount factors?
The discount factor for maturity t is simply 1 / (1 + s_t)^t, where s_t is the t-year spot rate. Bootstrapping and discount factor stripping are two descriptions of the same operation.