A
AcadiFi
FF
FixedIncome_Fan2026-04-06
cfaLevel IIFixed IncomeTerm Structure of Interest Rates

How do you bootstrap spot rates from a par yield curve? I keep getting the wrong numbers.

I understand the concept that the par curve gives yields on coupon-paying bonds trading at par, and we need to extract zero-coupon (spot) rates from them. But every time I try to do it by hand, my Year 3 spot rate is off. Can someone show the exact bootstrapping process with a 3-year example? Also, how do you then get forward rates from the spot curve?

211 upvotes
AcadiFi TeamVerified Expert
AcadiFi Certified Professional

Bootstrapping is mechanical once you see the pattern. Let me walk through it carefully.

The Setup

Suppose the par yield curve for annual-pay government bonds is:

MaturityPar Yield
1 year4.00%
2 year4.40%
3 year4.70%

Each par yield means a bond with that coupon rate trades at exactly 100 (par). We need to find the zero-coupon spot rates z_1, z_2, z_3.

Step 1: 1-Year Spot Rate

The 1-year par bond has a single cash flow: 104 at year-end.

100 = 104 / (1 + z_1)

z_1 = 4.00%

The 1-year spot rate equals the 1-year par yield. Always.

Step 2: 2-Year Spot Rate

The 2-year par bond pays a 4.40 coupon at Year 1 and 104.40 at Year 2:

100 = 4.40 / (1.04) + 104.40 / (1 + z_2)^2

100 = 4.2308 + 104.40 / (1 + z_2)^2

95.7692 = 104.40 / (1 + z_2)^2

(1 + z_2)^2 = 104.40 / 95.7692 = 1.09013

z_2 = (1.09013)^{0.5} - 1 = 4.4049%

Notice z_2 (4.4049%) is slightly above the par yield (4.40%) — this is because the upward-sloping curve means earlier cash flows are discounted at a lower rate.

Step 3: 3-Year Spot Rate

The 3-year par bond pays 4.70 at Year 1, 4.70 at Year 2, and 104.70 at Year 3:

100 = 4.70 / (1.04) + 4.70 / (1.044049)^2 + 104.70 / (1 + z_3)^3

100 = 4.5192 + 4.3113 + 104.70 / (1 + z_3)^3

91.1695 = 104.70 / (1 + z_3)^3

(1 + z_3)^3 = 104.70 / 91.1695 = 1.14839

z_3 = (1.14839)^{1/3} - 1 = 4.7199%

Summary of Bootstrapped Spot Rates

MaturityPar YieldSpot Rate
1 year4.00%4.0000%
2 year4.40%4.4049%
3 year4.70%4.7199%

Deriving Forward Rates

The 1-year forward rate one year from now, f(1,1):

(1 + z_2)^2 = (1 + z_1)(1 + f(1,1))

(1.044049)^2 = (1.04)(1 + f(1,1))

1.09013 = 1.04 x (1 + f(1,1))

f(1,1) = 1.09013 / 1.04 - 1 = 4.8125%

The 1-year forward rate two years from now, f(2,1):

(1 + z_3)^3 = (1 + z_2)^2 x (1 + f(2,1))

1.14839 = 1.09013 x (1 + f(2,1))

f(2,1) = 1.14839 / 1.09013 - 1 = 5.3462%

Common Mistakes

  • Rounding intermediate spot rates too early — carry at least 4 decimal places through the chain.
  • Forgetting that each step requires all previously computed spot rates, not just the par yields.

For more fixed income term structure problems and interactive calculators, visit AcadiFi's CFA Level II Fixed Income section.

📊

Master Level II with our CFA Course

107 lessons · 200+ hours· Expert instruction

#bootstrapping#spot-rates#par-curve#forward-rates#term-structure