Understanding how to figure out spot rates on bond instruments is a fundamental skill for fixed-income analysts, portfolio managers, and anyone serious about valuing debt securities accurately. Unlike a standard yield to maturity (YTM), which assumes a flat yield curve and reinvestment at a single rate, a spot rate—often called a zero-coupon yield—represents the true market rate for a specific maturity. It is the discount rate that equates the present value of a single cash flow at a specific future date to its price today. Mastering this concept allows you to strip a coupon bond into a series of zero-coupon bonds, providing a precise framework for arbitrage-free valuation and risk management Easy to understand, harder to ignore..
The Core Concept: Spot Rates vs. Yield to Maturity
Before diving into the mechanics, it is critical to distinguish between the yield to maturity and the spot rate curve. The YTM is a single, blended internal rate of return for a bond’s entire cash flow stream. It assumes every coupon payment is reinvested at that exact same YTM until maturity—a theoretical assumption that rarely holds in real markets where the yield curve slopes upward, downward, or humps That's the part that actually makes a difference. Which is the point..
A spot rate ($z_t$ or $r_t$), conversely, is the yield on a theoretical zero-coupon bond maturing at time $t$. In practice, the collection of these rates across all maturities forms the spot rate curve (or zero-coupon yield curve). Which means 5 years, 2 years). If you hold a 2-year bond paying semi-annual coupons, there are four distinct cash flows. Day to day, each cash flow should technically be discounted by the spot rate corresponding to its specific payment date (6 months, 1 year, 1. Figuring out these rates transforms a "dirty" coupon bond price into a clean map of the time value of money.
Most guides skip this. Don't.
Method 1: Bootstrapping from the Par Yield Curve (The Standard Approach)
The most common method to figure out spot rates is bootstrapping. But this iterative process derives zero-coupon rates sequentially from the yields of coupon-bearing bonds trading at par (or near par). Since liquid zero-coupon bonds (STRIPS) often do not exist for every single maturity, we manufacture them synthetically using the prices of actively traded coupon bonds.
The official docs gloss over this. That's a mistake Easy to understand, harder to ignore..
The Logic: A bond trading at par has a coupon rate equal to its yield to maturity. We can treat this bond as a portfolio of zero-coupon bonds. Because we know the price (Par = 100) and the coupon payments, we can solve for the missing spot rates one by one, starting from the shortest maturity Simple as that..
Step-by-Step Bootstrapping Example
Imagine we have the following semi-annual bonds trading at par (Price = 100):
| Maturity | Coupon Rate (Annual) | YTM (BEY) |
|---|---|---|
| 0.That said, 5% | 2. 0% | 3.That said, 0% |
| 2. 0 Year | 2.Here's the thing — 5 Years | 2. 0% |
| 1.In practice, 0 Years | 3. 5 Years | 3.5% |
| 1.0% | 2.5% | 3. |
Note: BEY stands for Bond Equivalent Yield (semi-annual compounding). Periodic rate = BEY / 2.
Step 1: The 6-Month Spot Rate ($z_{0.5}$) The 0.5-year bond pays a coupon of $1 (2%/2 * 100) and returns principal of $100 at maturity. Total cash flow = $101. $ 100 = \frac{101}{(1 + z_{0.5})^1} $ $ 1 + z_{0.5} = 1.01 $ $ z_{0.5} = 1.00% \text{ (per period)} \rightarrow \mathbf{2.00% \text{ BEY}} $ For the first period, the spot rate equals the YTM because there are no prior cash flows to discount.
Step 2: The 1-Year Spot Rate ($z_{1.0}$) The 1-year bond pays $1.25 every 6 months (2.5%/2 * 100) and $101.25 at maturity. We already know $z_{0.5}$. We discount the first coupon at $z_{0.5}$ and solve for $z_{1.0}$. $ 100 = \frac{1.25}{(1.01)^1} + \frac{101.25}{(1 + z_{1.0})^2} $ $ 100 = 1.2376 + \frac{101.25}{(1 + z_{1.0})^2} $ $ 98.7624 = \frac{101.25}{(1 + z_{1.0})^2} $ $ (1 + z_{1.0})^2 = 1.02519 $ $ 1 + z_{1.0} = 1.012517 $ $ z_{1.0} = 1.2517% \text{ (per period)} \rightarrow \mathbf{2.5034% \text{ BEY}} $ Notice the 1-year spot rate (2.5034%) is slightly higher than the 1-year par yield (2.50%) because the yield curve is upward sloping.
Step 3: The 1.5-Year Spot Rate ($z_{1.5}$) The 1.5-year bond pays $1.50 per period. We discount the first two coupons using the known rates $z_{0.5}$ and $z_{1.0}$. $ 100 = \frac{1.50}{1.01} + \frac{1.50}{(1.012517)^2} + \frac{101.50}{(1 + z_{1.5})^3} $ $ 100 = 1.4851 + 1.4618 + \frac{101.50}{(1 + z_{1.5})^3} $ $ 97.0531 = \frac{101.50}{(1 + z_{1.5})^3} $ Solving for $z_{1.5}$ yields approx 1.504% per period (3.008% BEY).
Step 4: Continue Iteratively You repeat this process for the 2-year bond, discounting the first three coupons with the three known spot rates, isolating the final denominator to solve for $z_{2.0}$. This "bootstrapping" pulls yourself up by your bootstraps—each new rate relies entirely on the previous ones.
Method 2: Using Treasury STRIPS (Direct Observation)
If you have access to a liquid market for Separate Trading of Registered Interest and Principal of Securities (STRIPS), figuring out spot rates becomes a matter of direct observation rather than calculation. STRIPS are created when a financial institution separates the coupons and principal of a Treasury bond and sells them as individual zero-coupon securities Not complicated — just consistent..
Because a STRIP makes only one payment at maturity, its yield is the spot rate for that maturity. $ P = \frac{F}{(1 + z_t)^t} $ $ z_t = \left( \frac{F}{P} \right)^{
$ z_t = \left( \frac{F}{P} \right)^{1/t} - 1 $
where (F) is the face value (typically $100), (P) is the observed price of the STRIP, and (t) is the number of semi‑annual periods to maturity. Because each STRIP is a pure zero‑coupon instrument, solving this equation directly yields the spot rate for that exact maturity without any need for iterative discounting.
Illustrative STRIPS calculation
Suppose a 2‑year Treasury STRIP (four semi‑annual periods) is trading at $92.00. Plugging the numbers into the formula:
$ z_{2.0} = \left( \frac{100}{92.Consider this: 00} \right)^{1/4} - 1 = (1. 08696)^{0.But 25} - 1 \approx 1. Practically speaking, 0212 - 1 = 0. Here's the thing — 0212 \text{ per period} = 4. 24% \text{ BEY} Simple, but easy to overlook..
Repeating this step for STRIPs of 0.Now, 5‑, 1‑, 1. 5‑, and 2‑year maturities produces a spot‑rate curve that mirrors the one obtained via bootstrapping, but each point is derived from a single market observation rather than a cascade of algebraic solutions.
Comparing the two approaches
| Aspect | Bootstrapping from Coupon Bonds | Direct STRIPS Observation |
|---|---|---|
| Data required | Prices/Yields of coupon‑paying Treasuries | Prices of zero‑coupon STRIPs |
| Computation | Sequential algebra; each new rate depends on all prior rates | Independent closed‑form calculation for each maturity |
| Sensitivity to errors | An error in an early spot rate propagates forward, potentially distorting the entire curve | Errors are isolated to the individual STRIP; they do not affect other maturities |
| Market availability | Coupon Treasuries are always liquid; STRIPs may be less liquid for very short or very long maturities | STRIP markets are deep for standard maturities (3 mo, 6 mo, 1 yr, 2 yr, 5 yr, 10 yr, 30 yr) but can be thin for off‑run dates |
| Practical use | Useful when constructing a full curve from the observable coupon‑bond market | Ideal for validating or refining a bootstrapped curve, or for building a curve when STRIP quotes are readily available |
Worth pausing on this one.
In practice, analysts often start with bootstrapping to generate an initial spot‑rate curve from the abundant coupon‑bond data, then overlay STRIP‑derived rates to check consistency and adjust any discrepancies. The resulting hybrid curve benefits from the broad coverage of coupon bonds and the precision of zero‑coupon observations Most people skip this — try not to. But it adds up..
Conclusion
Both bootstrapping and direct STRIPS observation are fundamental tools for deriving the Treasury spot‑rate curve. Bootstrapping leverages the sequential nature of coupon cash flows to solve for unknown rates period by period, while STRIPS provide a market‑based, model‑free snapshot of the spot rate at each maturity. Understanding the mechanics, strengths, and limitations of each method enables practitioners to construct dependable yield curves that accurately reflect the term structure of interest rates, a cornerstone for pricing, risk management, and strategic investment decisions.