Spot rates and bootstrapping a curve
A yield curve of YTMs is not a curve of discount rates. Extracting the real ones takes a short recursive procedure — and it starts from Treasury bills, which are already the thing you are trying to find.
Chapter 15 · Advanced
Chapter 9 described the yield curve's shapes and what they signal. Chapter 14 ended on the problem that makes this chapter necessary: a YTM discounts every cash flow at one rate, and money does not cost the same at every horizon.
Three different curves
The word "yield curve" is used for objects that are not the same.
A par yield curve plots the coupon a bond would need to trade at exactly face value, by maturity. This is what the RBI reports as the "10-Year G-Sec Par Yield" — 7.23% for the week ended 2 October 2026.
A spot curve, also called a zero curve, plots the rate for a single payment at each date, with nothing in between. These are the actual discount rates.
A forward curve plots rates for future periods, and is chapter 16.
The distinction that matters: only the spot rates are prices of money. A par yield is a blended average of the spot rates across a bond's life, weighted by its cash flows — so two bonds of the same maturity with different coupons have different YTMs even when there is no disagreement about the price of money at any date.
The short end needs no work
Here is the convenient part. The RBI's bill yields for the same week:
| Instrument | Yield |
|---|---|
| 91-day Treasury bill | 5.52% |
| 182-day Treasury bill | 5.96% |
| 364-day Treasury bill | 6.18% |
Treasury bills are zero-coupon by construction. They are issued at a discount and repay face value at maturity, with no intermediate payments.
So these yields are already spot rates. The price of money for 91 days is 5.52%; nothing has to be extracted. The short end of the Indian spot curve is published directly, which is why bootstrapping starts where the bills stop.
Bootstrapping, one step at a time
Past a year, instruments pay coupons, and the spot rates have to be recovered. The method works forward, using each maturity's answer to solve the next.
Take a par curve — the coupon that prices each maturity at 100. The one-year point is anchored on the real 364-day bill at 6.18%; the rest are illustrative:
| Maturity | Par yield |
|---|---|
| 1 year | 6.18% (the 364-day bill) |
| 2 years | 6.50% |
| 3 years | 6.80% |
| 4 years | 7.00% |
| 5 years | 7.15% |
Step 1 — one year. A one-year instrument has a single payment, so its par yield is its spot rate: . The discount factor is
Step 2 — two years. A two-year bond at par pays ₹6.50 at year 1 and ₹106.50 at year 2, and costs ₹100:
is already known, so there is one unknown:
Step 3 — three years, using both known factors:
And so on. Each step has exactly one unknown because every earlier discount factor has already been solved. That recursive structure is the whole technique, and it is why it is called bootstrapping.
The result
| Maturity | Par yield | Discount factor | Spot rate |
|---|---|---|---|
| 1 year | 6.18% | 0.941797 | 6.1800% |
| 2 years | 6.50% | 0.881487 | 6.5104% |
| 3 years | 6.80% | 0.820240 | 6.8283% |
| 4 years | 7.00% | 0.761639 | 7.0441% |
| 5 years | 7.15% | 0.706048 | 7.2095% |
Every spot rate is above its par yield, and the gap widens with maturity — 0.01 points at two years, 0.06 at five.
Why, in one sentence: a bond's early coupons are discounted at the lower early rates, which flatters the blended average, so the final payment's rate must be higher than the average to compensate. An upward-sloping par curve always produces a spot curve above it, and an inverted one produces a spot curve below.
The check that the arithmetic is right. Price the five-year par bond using the bootstrapped spot rates:
Exactly 100, as it must be — the spot curve was constructed to reproduce the observed prices, so reproducing them is a test of the computation rather than of the market.
What one YTM gets wrong
The practical reason to do any of this: pricing a bond off a single yield is an approximation, and the error depends on the coupon.
Take three five-year bonds and price each both ways — once off the bootstrapped spot curve, once off the flat 7.15% five-year par yield:
| Coupon | Spot-curve price | Flat-YTM price | Difference |
|---|---|---|---|
| 3% | ₹82.9385 | ₹83.0523 | −₹0.1138 |
| 7.15% | ₹100.0000 | ₹100.0000 | ₹0.0000 |
| 12% | ₹119.9394 | ₹119.8063 | +₹0.1330 |
At the par coupon the two agree exactly, by construction — that is what "par yield" means.
Away from par they diverge, and in opposite directions. The low-coupon bond is overpriced by the flat yield and the high-coupon bond underpriced.
The mechanism. A low-coupon bond concentrates its value at the end, where the true discount rate (7.21%) exceeds the flat 7.15% — so the flat rate under-discounts it and the price comes out too high. A high-coupon bond has more value early, where the true rates are lower than 7.15%, so the flat rate over-discounts and the price comes out too low.
The size is about 13 paise per hundred rupees on this curve, which is small — and it is small because this curve is gently sloped. On a steep curve the same comparison produces errors several times larger, and on an inverted one the signs flip.
So the honest summary: for most retail purposes the single-yield approximation is fine, and that is why chapters 3 to 9 could be written without this one. It stops being fine when the curve is steep, when the bond is far from par, or when you are comparing two bonds with very different coupons and need to know which is genuinely cheaper.
Two limits of the method
It needs a par bond at every maturity, and markets do not supply one. Real curves have gaps — liquid points at 5, 10 and 30 years and little in between — so the missing maturities are interpolated before bootstrapping, and the interpolation method affects the answer. The spot curve is therefore partly an output of a modelling choice, not purely an observation.
And it assumes the bonds used are comparable. Different liquidity, different issue sizes, different tax treatment and different holders all put wedges between bonds that the method treats as one curve. The bootstrapped curve is as clean as its inputs, and the inputs are a selection of real instruments with real idiosyncrasies.
Working the problem
One-year money at 6.18%; a two-year bond at par paying 6.50%.
Step 1 — write the price equation. At par, the bond costs ₹100 and pays ₹6.50 then ₹106.50:
Step 2 — the first term is known.
Step 3 — solve for the rest.
Step 4 — why it exceeds 6.50%. The bond's 6.50% par yield is a blend of two different prices of money: 6.18% for the first year and for the second.
The first year's money is cheaper than the blend. So for the average to come out at 6.50%, the second year's rate must be above 6.50% to pull it up — and it is, at 6.5104%.
Put concretely: the first coupon was discounted at 6.18%, which is a more generous discount rate than 6.50%, so that coupon contributed more present value than a flat 6.50% would have allowed. The final payment therefore has to contribute less, which means being discounted harder.
The gap is small here — about one basis point — because the curve between one and two years is nearly flat, rising only 32 basis points in par terms. On a steeply sloped segment the gap is much larger, and the general rule is that the steeper the curve, the further spot rates sit from the par yields that generate them.
And the sanity check worth doing: a spot rate that came out below the par yield on an upward-sloping curve would mean an arithmetic error, since the direction follows from the shape with no exceptions.
The point
A par yield is a blend of the spot rates across a bond's life, so it is not a discount rate — which is why two bonds of the same maturity and different coupons have different YTMs without anyone disagreeing about the price of money. Treasury bills are zero-coupon, so the RBI's 91-day, 182-day and 364-day yields of 5.52%, 5.96% and 6.18% are spot rates already. Past a year, bootstrapping recovers them recursively: each maturity's discount factor is solved using the ones before it, giving spot rates that sit above the par curve when it slopes up and below when it inverts. Pricing a non-par bond off a single YTM overprices low coupons and underprices high ones — by about 13 paise per hundred on a gently sloped curve, and more on a steep one. The method's limits are that real curves have gaps requiring interpolation, and that the bonds used are not perfectly comparable.
Check yourself
4 questions. Every answer is explained afterwards, including the ones you get right — guessing correctly is not the same as knowing. Score 70% or more and the chapter is marked done.
Question 1 of 4
0 of 4 answered. You can submit with questions unanswered — they simply score zero.
Now do it with your own numbers
One-year money yields 6.18% and a two-year bond priced at par pays a 6.50% coupon. Work out the two-year spot rate, and explain why it is higher than 6.50%.
Price the two-year bond as two separate cash flows. You already know the rate for the first one, so only one unknown is left.