Bootstrapping Yield Curve

What is Bootstrapping Yield Curve?

Bootstrapping is a method to construct a zero-coupon yield curveYield CurveThe Yield Curve Slope is used to estimate the interest rates and changes in economic activities. It is a plot of bond yields of a particular issuer on the vertical axis (Y-axis) against various tenors/maturities on the horizontal axis (X-axis).read more. The following bootstrapping examples provide an overview of how a yield curve is constructed. Although not every variation can be explained as there are many methods in bootstrapping because of differences in conventions used.


You are free to use this image on your website, templates etc, Please provide us with an attribution linkHow to Provide Attribution?Article Link to be Hyperlinked
For eg:
Source: Bootstrapping Yield Curve (

Top 3 Examples of Bootstrapping Yield Curve in Excel

The following are examples of bootstrapping yield curve in excel.

You can download this Bootstrapping Examples Excel Template here – Bootstrapping Examples Excel Template

Example #1

Consider different bonds with a face value of $ 100, with the yield to maturity equal to the coupon rateCoupon RateThe coupon rate is the ROI (rate of interest) paid on the bond's face value by the bond's issuers. It determines the repayment amount made by GIS (guaranteed income security). Coupon Rate = Annualized Interest Payment / Par Value of Bond * 100%read more. The coupon details are as below:

Maturity0.5 Year1 Year1.5 Year2 Year
Yield to Maturity3%3.50%4.50%6%


Now, for a zero-coupon with a maturity of 6 months, it will receive a single coupon equivalent to the bond yieldBond YieldThe bond yield formula evaluates the returns from investment in a given bond. It is calculated as the percentage of the annual coupon payment to the bond price. The annual coupon payment is depicted by multiplying the bond's face value with the coupon more. Hence, the spot rate for the 6-month zero-coupon bondZero-coupon BondIn contrast to a typical coupon-bearing bond, a zero-coupon bond (also known as a Pure Discount Bond or Accrual Bond) is a bond that is issued at a discount to its par value and does not pay periodic interest. In other words, the annual implied interest payment is included into the face value of the bond, which is paid at maturity. As a result, this bond has only one return: the payment of the nominal value at more will be 3%.

For a 1-year bond, there will be two cash flows, at 6 months and at 1 year.

The cash flow at 6 months will be (3.5%/2 * 100 = $ 1.75) and cash flow at 1 year will be (100 + 1.75 = $ 101.75) i.e. principal payment plus the coupon payment.

From the 0.5-year maturity the spot rate or the discount rate is 3% and let us assume the discount rate for 1-year maturity be x%, then

  • 100 = 1.75/(1+3%/2)^1 + 101.75/(1+x/2)^2
  • 100-1.75/(1+3%/2)=101.75/(1+x%/2)^2
  • 98.2758 = 101.75/(1+x%/2)^2
  • (1+x%/2)^2 =101.75/ 98.2758
  • (1+x%/2)^2 = 1.0353
  • 1+x%/2 = (1.0353)^(1/2)
  • 1+x%/2 = 1.0175
  • x% = (1.0175-1)*2
  • x% = 3.504%

Solving the above equation, we get x = 3.504%

Now, again for a 2 year bond maturity,

  • 100 = 3/(1+3%/2)^1 + 3/(1+3.504%/2)^2 + 3/(1+4.526%/2)^3 + 103/(1+x/2)^4
  • 100 = 2.955665025 + 2.897579405 + 2.805211867 + 103/(1+x/2)^4
  • 100-8.658456297 = 103/(1+x/2)^4
  • 91.3415437 = 103/(1+x/2)^4
  • (1+x/2)^4 = 103//91.3415437
  • (1+x/2)^4 = 1.127635858
  • (1+x/2) = 1.127635858^(1/4)
  • (1+x/2) = 1.030486293
  • x = 1.030486293-1
  • x = 0.030486293*2
  • x = 6.097%

Solving for x we get, x = 6.097%

Similarly, for a 1.5-year bond maturity

100 = 2.25/(1+3%/2)^1 + 2.25/(1+3.504/2)^2 + 102.25/(1+x/2)^3

Solving the above equation, we get x = 4.526%

Thus, the bootstrapped zero yield curves will be:

MaturityZero Rates
0.5 Year3%
1 Year3.50%
1.5 Year4.53%
2 Year6.10%

Example #2

Let us consider a set of zero-coupon bonds of face value $ 100, with maturity 6 months, 9 months and 1 year. The bonds are zero-coupon i.e. they do not pay any coupon during the tenure. The prices of the bonds are as below:



Considering a linear rate convention,

FV = Price*(1+ r*t)

Where r is the zero-coupon rate, t is the time

Thus, for 6-month tenure:

Bootstrapping Yield Curve Calculation 2.1
  • 100 = 99*(1 + R6*6/12)
  • R6 = (100/99 – 1)*12/6
  • R6 = 2.0202%

For 9-month Tenure:

Bootstrapping Example 2.2
  • 100 = 99*(1 + R9*6/12)
  • R9 = (100/98.5 – 1)*12/9
  • R9 = 2.0305%

For 1-year Tenure:

Calculation 2.0.3
  • 100 = 97.35*(1 + R12*6/12)
  • R12 = (100/97.35 – 1)*12/12
  • R12 = 2.7221%

Hence, the bootstrapped zero-coupon yield rates will be:

MaturityZero Coupon (Rates)
6 Months2.02%
9 Months2.03%
1 Year2.72%

Note that the difference between the first and second example is that we have considered the zero-coupon rates to be linear in example 2 whereas they are compounding in example 1.

Example #3

Although this is not a direct example of a bootstrapping yield curve, sometimes one needs to find the rate between two maturities. Consider the zero-rate curve for the following maturities.

MaturityZero Coupon (Rates)
1 Year3.50%
3 Year5%
4 Year5.50%

Now, if one needs the zero-coupon rate for 2-year maturity, he needs to linearly interpolate the zero rates between 1 year and 3 years.


Calculation of zero-coupon discount rate for 2 year –

Calculation 3.1

Zero-coupon rate for 2 year = 3.5% + (5% – 3.5%)*(2- 1)/(3 – 1) = 3.5% + 0.75%

Zero-Coupon Rate for 2 Years = 4.25%

Hence, the zero-coupon discount rate to be used for the 2-year bond will be 4.25%


The bootstrap examples give an insight into how zero rates are calculated for the pricing of bonds and other financial products. One must correctly look at the market conventions for proper calculation of the zero rates.

Recommended Articles

This has been a guide to Bootstrapping Yield Curve. Here we discuss how to construct a zero-coupon yield curve using bootstrapping excel examples along with explanations. You can learn more about fixed income from the following articles –

Reader Interactions

Leave a Reply

Your email address will not be published. Required fields are marked *