Skip to content
All library documents

Pricing a Coupon Bond by Discounting Cash Flows Along a Spot Curve

Article Quant Q&A · Author: Paul

Summary

The response prices a coupon-bearing bond by discounting each scheduled coupon and the final face value with the discount factor for that payment date. It treats the stated annual coupon rate as split across two payments per year, and explains that a term structure of zero-coupon spot rates supplies the discount factor for each maturity. Rates for dates missing from the curve must be approximated, for example by using a nearby point or interpolation.

The answer distinguishes spot rates, which correspond to zero-coupon maturities, from a coupon bond’s yield to maturity, a single rate that equates discounted cash flows to that bond’s market price. The supplied curve and payment schedule illustrate the setup, but the response does not calculate a final bond value. Its practical result depends on day-count conventions, rate compounding, and how missing maturities are interpolated; these details are not fully specified.

Key ideas

  • A coupon bond’s value is the sum of discounted coupon payments and discounted face value.
  • Each cash flow should be discounted using the spot rate for its own maturity.
  • A semiannual coupon is half the annual coupon rate when that rate is quoted annually.
  • A coupon bond’s yield to maturity is a single-rate measure, unlike a curve of maturity-specific spot rates.
  • Rates for payment dates absent from the curve require an approximation such as interpolation.

Tags

Full text
# Pricing a bond contract from the yield curve


# Pricing a bond contract from the yield curve












When giving a particular class in financial mathematics for a student I saw a problem in a list of exercises that says:

How to calculate the price at 15 December 2010 of a bond paying a coupon of 11.04 % 2 times a year knowing that the coupon payment days are

```
Coupon date 
1   15 March 2011
2   15 September 2011
3   15 March 2012
4   15 September 2012
5   15 March 2013
6   15 September 2013
7   15 March 2014
8   15 September 2014
9   15 March 2015
10  15 September 2015
11  15 March 2016
12  15 September 2016
13  15 March 2017
14  15 September 2017
15  15 March 2018
16  15 September 2018
17  15 March 2019
18  15 September 2019
19  15 March 2020
```

and having the following Yield curve:

```
Yield curve 
Term (D)    Rate 
1       0.0051505
9       0.0051179
16      0.005344728
23      0.005602964
33      0.00560621
64      0.006237435
92      0.006553657
124     0.006818637
153     0.00702155
184     0.00721352
215     0.007444632
245     0.007695142
278     0.007965138
306     0.0082047
337     0.008453748
369     0.008692272
460     0.009484277
551     0.010313827
642     0.011160763
733     0.01202446
1098    0.015414247
1463    0.018648449
1828    0.02158657
2196    0.02408674
2560    0.026161802
2924    0.027907447
3289    0.029391256
3655    0.030649823
```

My background is more theoretical (probability and etc) and don't have to much knowledge of financial products as you can see by my question. Could you help me to understand how to compute it in a practical way simple to explain for a student. But first for me, because I lack of practical knowledge.

I know that if we have a interest rate process $(r_t)_{t\geq 0}$ then the Zero-Coupon bond price at date $t$ of maturity $T$ is given by $P_t = \mathbb E_t^{\mathbb Q}\left [exp(-\int^T_t r_s ds ) \right ]$ where $\mathbb Q $ is risk neutral measure. Then the Coupon-bearing bond price is given by $$ P_0 = \sum_{i=1} ^n cP_0(T_i) + F P_0(T) =\sum_{i=1} ^n \rho F P_0(T_i) + F P_0(T) $$

where $F$ is the face value, $\rho $ is the pre-assigned interest and $T_1\leq \cdots \leq T_n \leq T$ are the dates where coupon are paied.

Also I know that the Yelds is given by

$$ R_t(T) = \frac{-ln P_t(T)} {T-t}$$

since $P_t(T) = \exp(-(T-t) R_t(T))$.

So should I just comput $P_o$ by this relations or Am I mistaken about the Yield curve definition? (I think there are other kinds of Yields right ?

> Another question comes out. While searching for an answer to this question I reviewed some theoretical material about the models but also some piratical ones. In one of the practical materials I've seen a path simulation for a stock spot price using the forward rate instead of the short rate. In the context they had the same initial date them I have in my problem: an yield curve. Why should be the forward rate a better approximation for the short rate than the yield curve (supposing that you interpolate it if necessary in order to have a more refined and smooth approximation) ? I know that the short rate $r_t$ is given by $r_t =\lim_{\tau \to t} f_t(\tau) =\lim_{\tau \to t} \nabla_\tau [R_t(\tau)(\tau-t)]$ (supposing that those limits exist!)

Thanks in advance for yours advices.

## Answer by roym00 (score 4, accepted)

https://quant.stackexchange.com/a/14732

I think what you wrote is correct. I'll rephrase everything according to my way to give you another point of view.

The price of a coupon bond at time $t = 0$ is the sum of the discounted cashflows given by the coupons and the face value:

$$ P_0 = F \cdot D(0, T_n) + \sum_{i=1}^{n} 11.04\% \cdot 0.5 \cdot F \cdot D(0, T_i) $$

where $F$ is the face value, $T_n = T$ is the maturity of the bond, $D$ is the discount rate. I think this is the simplest definition. Some notes about the formula:

- coupons are paid also at the maturity date, therefore you can assume that March, 15th 2020 is the maturity of the bond;

- usually, the coupon rate of a bond is expressed as annual rate, so the rate paid every 6 months is half of $11.04\%$ and the $0.5$ factor is there because of this.

Using the term structure of interest rates, discount factors becomes easy to express: $$ P(0, T_n) = F \cdot \exp\left(- R_0(T_n) \cdot T_n\right) + \sum_{i=1}^{n} 11.04\% \cdot 0.5 \cdot F \cdot \exp\left(- R_0(T_i) \cdot T_i\right) $$

The term structure of interest rates assigns a rate $R_0(T_i) = r_i$ to each maturity $T_i$; these rates are computed from the prices of zero-coupon bonds on a given day using the formula you already now (rate is -logarithm of price divided by the time period). Therefore discount factors and zero-coupon bond prices are the same in this case: $D(0, T_i) = P(0, T_i) = P_0(T_i)$ (the last one is your notation). Rates $r_i$'s are usually called zero rates or spot rates.

The yield curve is something different: it is built from the YTM, yield to maturity. The YTM is the rate such that $r_1 = r_2 = \dots = r_n = YTM$ and $P(0, T)$ is equal to the market price today. This means that all cashflows are discounted with the same rate (this is also unnatural in reality: different rates are applied for different maturities). Each bond has its own YTM and it is usually expressed as an annual rate.

Yield curve and term structure give the same values only for zero-coupon bonds since there are no coupons to discount. For coupon bonds the meaning is quite different as you can see.

What you call "yields" are in fact the spot rates of a term structure. Your problem is computing the bond price given the term structure on Dec, 15th 2010 (time $t=0$). Therefore, you just need to count the number of days between Dec, 15th 2010 and each payment date, put that number with the correct rate in the formula to get the discount factors and sum everything up to get the coupon bond price.

-- edit to answer the comments:

The 0.5 factor is there for the following reason (see also second bullet point above). Usually, the coupon rate is expressed as an annual rate; therefore, if 11.04% is the coupon annual rate and the coupon is paid twice a year, the standard practice is paying $11.04\% / 2 = 5.52\%$ of the face value every six months. So you get $F \cdot 5.52\%$ money each time. If your coupon is already expressed as a 6 months rate, then you don't need to put the 0.5 factor.

Market prices for bonds are usually expressed using face value of 100. I would opt for that to be coherent with the standard practice.

Finally, let's tackle rates and maturities. If you don't have a rate for your exact maturity, then you can only approximate it: * you can take the rate of the nearest maturity in the term structure (if the difference is < 7 days, I don't think you will notice big differences); * you can approximate with linear interpolation or spline or any other technique; * advanced mode: if you have the dynamics of the instantaneous spot rate (the interest rate process you nominated), you can compute the rate for any maturity; it's still an approximation, since it's not present in the market.

Usually, in exercises the number of days coincide with the term structure, since the crucial part of bond pricing is not this approximation process but using the right formula with the right numbers.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.