Lesson 11 of 15

Bootstrapping Yield Curve

Bootstrapping the Yield Curve

Bootstrapping extracts spot rates from par bond prices iteratively. A par bond is priced at face value (price = 1), so its coupon rate equals its YTM.

Algorithm

For a par bond maturing in year nn with par rate pnp_n, and normalized face value = 1:

1=pnt=1n1dt+(1+pn)dn1 = p_n \sum_{t=1}^{n-1} d_t + (1 + p_n) \cdot d_n

Where dt=1(1+st)td_t = \frac{1}{(1+s_t)^t} is the discount factor at time tt.

Solving for dnd_n (the unknown discount factor for year nn):

dn=1pnt=1n1dt1+pnd_n = \frac{1 - p_n \sum_{t=1}^{n-1} d_t}{1 + p_n}

Then: sn=dn1/n1s_n = d_n^{-1/n} - 1

Step-by-Step

  1. Year 1: s1=p1s_1 = p_1 (trivially, the 1-year par rate is the 1-year spot rate)
  2. Year 2: Use s1s_1 to compute d1d_1, solve for d2d_2, then s2s_2
  3. Year 3: Use s1,s2s_1, s_2 to compute d1,d2d_1, d_2, solve for d3d_3, then s3s_3
  4. Continue iterating...
Python runtime loading...
Loading...
Click "Run" to execute your code.