Why Par-Coupon Quotes Need Bootstrapping
A par-coupon bond is quoted with a coupon rate that makes its price equal to its face value under the market’s discount factors. The coupon rate is therefore a property of the bond’s cash flows and the full set of discount factors at its payment dates. It is generally not the spot rate for the bond’s final maturity. Bootstrapping uses a sequence of par quotes to solve for discount factors, starting with the shortest maturity and using each result to value earlier coupons on the next bond.
The key is to translate each quote into actual cash payments before solving. For a bond with face value \(100\), an annual coupon rate of \(c\%\) means a coupon of \(c\) dollars per year if payments are annual. With semiannual payments, a nominal annual coupon rate \(c\%\) means a coupon of \(c/2\) dollars every half-year. The timing and size of each payment determine the price equation.
Par-Bond Equations and the Sequential Solve
Assume a valuation date that is a coupon date, a face value of \(100\), annual coupon payments, and annual maturities. Assume each quote is a par price of \(100\), with no accrued interest to include. For an \(n\)-year bond with annual coupon amount \(c\), its cash flows are \(c\) at years \(1,\ldots,n-1\) and \(100+c\) at year \(n\). Its par-price equation is
If the earlier discount factors are already known, isolate the last one:
The formula applies when the cash flows and dates match the stated annual-pay model and the bond is quoted at par. It does not mean that every par quote directly gives a discount factor. The earlier coupon payments must first be valued using factors already obtained from shorter-maturity instruments.
Convert the coupon rate into a dollar coupon at each payment date. Record the principal repayment with the final coupon.
Use one discount factor for every dated cash flow and set the total price equal to \(100\).
Use previously bootstrapped factors to value all payments before the final date.
Isolate the new terminal factor, then substitute it back into the original price equation.
Worked Example: Bootstrapping Three Annual Par Quotes
Three annual-pay bonds each have face value \(100\), annual coupons, and maturities of one, two, and three years. Their respective annual coupon rates are \(4\%\), \(5\%\), and \(6\%\), and each is quoted at par. Find \(D(1)\), \(D(2)\), and \(D(3)\). Assume the valuation date is a coupon date and all cash flows occur at the stated integer-year times.
Method. Write one par equation per bond and proceed from the shortest maturity. This avoids treating a longer bond’s coupon rate as if it were a discount rate for each payment date.
One-year bond. It pays \(104\) at year 1: a \(4\)-dollar coupon plus \(100\) principal. Therefore,
Two-year bond. Its coupon is \(5\) dollars per year. The year-1 coupon is discounted using \(D(1)\), and the year-2 payment is \(105\):
Three-year bond. Its annual coupon is \(6\) dollars, and its final payment is \(106\). The two earlier coupons have present value
The remaining value needed from the final payment is \(100-11.2087912086=88.7912087914\). Thus,
Rounded to six decimal places, the factors are \(D(1)=0.961538\), \(D(2)=0.906593\), and \(D(3)=0.837653\). Check the last equation using unrounded values: \(11.2087912086+106(0.8376529131)\approx100.000000\), as required. The displayed rounding may cause a very small difference if rounded factors are used for the check.
Semiannual Coupons: Work in Payment Periods
For semiannual bonds, use the actual coupon dates and actual coupon amounts. If a bond has face value \(100\), a nominal annual coupon rate \(c\%\) convertible semiannually, and a half-yearly payment schedule, each coupon is \(c/2\) dollars. A maturity of one year has two coupon dates, at \(0.5\) and \(1\) years. Its par equation is \(100=(c/2)D(0.5)+(100+c/2)D(1)\). The coupon rate is not itself a discount factor or a spot rate.
Worked Example: Bootstrapping Semiannual Discount Factors
A hypothetical set of semiannual-pay bonds has face value \(100\). A six-month bond with a nominal annual coupon rate of \(4\%\) and a one-year bond with a nominal annual coupon rate of \(4.5\%\) are both quoted at par. A 1.5-year bond with a nominal annual coupon rate of \(5\%\) is also quoted at par. Find the discount factors at \(0.5\), \(1\), and \(1.5\) years. Assume coupon dates coincide with these times, with no accrued interest.
Method. Convert each nominal annual coupon rate to its semiannual coupon, then use the shortest bond first. Keep full precision in intermediate calculations and round the final factors to six decimal places.
Six-month bond. Its one coupon is \(4/2=2\) dollars, paid with principal at six months:
One-year bond. Its coupons are \(4.5/2=2.25\) dollars, with \(102.25\) paid at one year:
1.5-year bond. Its coupon is \(5/2=2.5\) dollars at each half-year date, and the final payment is \(102.5\). The earlier-coupon value is
Therefore,
To six decimal places, \(D(0.5)=0.980392\), \(D(1)=0.956422\), and \(D(1.5)=0.928370\). Repricing the last bond with unrounded values gives \(4.8420346123+102.5(0.9283703940)\approx100.000000\). Using \(2.25\) rather than \(4.5\) as the semiannual coupon is essential; treating the annual rate as the payment amount would misstate every cash flow.
A Par Coupon Rate Is Not a Spot Rate
A spot rate applies to a single payment at one maturity. A par coupon rate, by contrast, is the coupon rate that makes the present value of several payments equal to par. Its par equation includes discount factors for every coupon date, not just the final date. Consequently, equating a quoted par coupon rate to a spot rate generally gives a wrong discount factor.
The distinction is visible when earlier discount factors are given. The coupon rate determines the cash-flow amounts; the known factors value the earlier coupons; the par equation then determines the remaining factor. The following example also illustrates why checking the arithmetic in the numerator matters.
Worked Example: Checking a Three-Year Par Equation
A three-year annual-pay bond with face value \(100\) has a \(6\%\) annual coupon rate and is quoted at par. Suppose the earlier discount factors are \(D(1)=0.95\) and \(D(2)=0.90\). Find \(D(3)\). Assume all coupons are paid annually on the valuation-date anniversaries.
Method. The coupon is \(6\) dollars, and the final payment is \(106\). Substitute the given factors into the cash-flow equation:
Thus \(D(3)=0.838679\) to six decimal places. The check is \(5.70+5.40+106(0.8386792453)=5.70+5.40+88.90=100.00\). In particular, the numerator is \(88.90\), not \(90.75\): \(100-5.70-5.40=88.90\). The value \(90.75/106=0.8561320755\) would require earlier coupons with a total present value of \(9.25\), which is not the total for the stated inputs.
Common Mistakes and Practical Checks
Par-coupon bootstrapping is a cash-flow calculation, so small interpretation errors can change the result. Before accepting a new factor, confirm both the equation and the arithmetic.
- Calling the par coupon the spot rate. A coupon rate sets the bond’s payments. The discount factor at maturity is found only after discounting the earlier coupons with their own factors.
- Putting principal in the wrong payment. The final cash flow is \(100+c\) for an annual bond with coupon \(c\), not \(100\) alone. For semiannual bonds, add the principal to the final semiannual coupon.
- Using an annual coupon as a semiannual payment. A nominal annual coupon rate of \(4.5\%\) on face \(100\), paid twice a year, gives a coupon of \(2.25\) each half-year, not \(4.50\).
- Mixing time units. A six-month factor is \(D(0.5)\), not \(D(1)\). Each payment must be paired with the factor for its actual payment date.
- Rounding too early. Keep more digits in intermediate factors, especially when later equations subtract coupon present values from \(100\). Round the reported factors only at the end.
- Skipping the repricing check. Substitute the factor into the original equation. The resulting value should equal the quoted par price, subject only to rounding.
Check Your Understanding
For each problem, assume the stated valuation date is a coupon date, face value is \(100\), bonds are quoted at par, and there is no accrued interest. Round discount factors to six decimal places.
- A one-year annual-pay bond has a \(3\%\) coupon rate. Find \(D(1)\). (Answer: \(0.970874\))
- A two-year annual-pay bond has a \(4\%\) coupon rate. If \(D(1)=0.96\), find \(D(2)\). (Answer: \(0.924615\))
- A three-year annual-pay bond has a \(5\%\) coupon rate. If \(D(1)=0.97\) and \(D(2)=0.93\), find \(D(3)\). (Answer: \(0.861905\))
- A six-month bond has a nominal annual coupon rate of \(3\%\), paid semiannually. Find \(D(0.5)\). (Answer: \(0.985222\))
- A one-year bond has a nominal annual coupon rate of \(4\%\), paid semiannually. If \(D(0.5)=0.9852216749\), find \(D(1)\). (Answer: \(0.961074\))
- A two-year annual-pay par bond has a \(5\%\) coupon rate. Given \(D(1)=0.95\), write the equation and solve for \(D(2)\). (Answer: \(100=5(0.95)+105D(2)\), so \(D(2)=0.907143\))