Skip to main content

Bond Pricing

Published

October 21, 2026

Pricing a Bond Paying Annual Coupons

An annual-paying coupon-bond pays a periodic amount C every year, and its principal or face-value F at maturity, as shown in the figure below.

A timeline for a coupon bond with dates 0, 1, 2, ... , T minus 1, and T on the horizontal axis. Coupon payments C are shown at each date before maturity, and the final payment at T is C plus face value F.
Figure 1: The figure shows the cash flows of an annual-paying coupon bond.

Usually, the coupon is expressed as a percentage of the face value of the bond. The ratio C/F is called the coupon rate and is expressed as a percent. Also, most bonds are issued in $1,000 denominations in which case we have F = \$1{,}000.

The constant discount rate that prices the bond correctly is called the yield-to-maturity (YTM). For valuation purposes, in the case of annual paying coupon bonds it is customary to express the YTM per year compounded annually. If we denote by y the YTM per year compounded annually, we have that: \begin{aligned} B & = \frac{C}{(1+y)} + \frac{C}{(1+y)^{2}} + \cdots + \frac{C}{(1+y)^{T-1}} + \frac{C + F}{(1+y)^{T}} \\ & = \frac{C}{y} \left( 1 - \frac{1}{(1+y)^{T}} \right) + \frac{F}{(1+y)^{T}}, \end{aligned} where in the second line I have used the formula for the present value of an annuity.1 Alternatively, financial calculators can perform these computations easily.

1 If the interest rate is r per period, the present value of an annuity paying C every period for N periods is: PV = \frac{C}{r} \left( 1 - \frac{1}{(1 + r)^{N}} \right).

Example 1 (Computing a Bond Price) Consider a bond paying annual coupons with a coupon rate of 5% per year over a principal of $1,000 and maturity 30 years. The YTM is 6% per year with annual compounding. To compute the bond’s price, we could use a financial calculator:

N I/Y PV PMT FV
Given: 30 6 50 1000
Solve for: -862.35

The price is then $862.35. The negative sign provided by the financial calculator represents the fact that if we pay $862.35 today, we are entitled to be paid every year $50 for 30 years, and $1,000 at the end of 30 years.

In order to compute the YTM, we need to find the discount rate that gives the quoted price of the bond.

Example 2 (Computing a YTM) Consider a bond paying annual coupons with a coupon rate of 6.5% per year over a principal of $1,000 and maturity 25 years. The bond trades for $1,020. To compute the YTM, we could use a financial calculator:

N I/Y PV PMT FV
Given: 25 -1020 65 1000
Solve for: 6.34

The YTM is then 6.34% per year with annual compounding.

Most bonds are issued at or close to par value. That is, the coupon rate is chosen to be the par yield of the bond. As time passes, though, the price of the bond might increase if yields decrease or decrease if yields increase. Since the YTM is hard to compute, practitioners like to compute the current yield, defined as the annual coupon payment divided by the quoted price.

A bond is said to trade at a premium if its flat price is greater than its face value. Conversely, a bond is said to trade at a discount if the quoted price is less than par value.

Example 3 (Current Yield vs YTM) Consider a 3-year, annual paying coupon bond, with coupon rate of 8% and face value of $1,000. The table below displays the current yield and YTM for different values of the bond price.

Price Coupon rate Current Yield YTM
Premium Bond 1,100 8% 7.27% 4.37%
Par bond 1,000 8% 8.00% 8.00%
Discount Bond 900 8% 8.89% 12.18%

We can see that current yield is quite different from the YTM unless the bond trades at par.

In general, the current yield is not equal to the YTM, as the previous example shows. Away from par, the YTM equals the current yield only when the bond is a perpetuity. Therefore, for long maturity bonds the current yield is a good approximation of the YTM.

Example 4 (Current Yield of a Long Term Bond) Consider a 30-year, annual paying coupon bond, with coupon rate of 8% and face value of $1,000. The table below displays the current yield and YTM for different values of the bond price.

Price Coupon rate Current Yield YTM
Premium Bond 1,100 8% 7.27% 7.18%
Par bond 1,000 8% 8.00% 8.00%
Discount Bond 900 8% 8.89% 8.97%

We can see that for a long term bond the current yield approximates the YTM well.

Using Zero Rates to Price a Bond

In general, bonds with different maturities and coupon rates will have different YTM. The standard way to harmonize this problem is to use zero rates to price each cash flow at the right maturity and use the resulting price to compute the YTM.

In these notes, we will denote by Z_{t}(n) the price of a zero coupon bond at time t expiring at time t + n.

Example 5 (Pricing Zero-Coupon Bonds) The table below presents zero rates for different maturities expressed per year with annual compounding.

Maturity (years) 1 2 3 4 5 6
Zero Rate (%) 2.0 3.0 3.5 4.0 4.3 4.5
  1. The price of a zero-coupon bond that pays $1,000 in 3 years is given by Z_{0}(3) = \frac{1000}{1.035^3} = \$901.94.
  2. The price of a zero-coupon bond that pays $1,000 in 5 years is given by Z_{0}(5) = \frac{1000}{1.043^5} = \$810.17.
  3. The price of a zero-coupon bond that pays $1,000 in 6 years is given by Z_{0}(6) = \frac{1000}{1.045^6} = \$767.90.

We can use the zero rates of Example 5 to compute the price and YTM of a coupon bond.

Example 6 (Pricing a Coupon Bond with Zero Rates) Consider a bond paying annual coupons with a coupon rate of 4% per year over a principal of $1,000 and maturity 6 years. The table below presents zero rates for different maturities expressed per year with annual compounding.

Maturity (years) 1 2 3 4 5 6
Zero Rate (%) 2.0 3.0 3.5 4.0 4.3 4.5

The bond pays a coupon of $40 every year for six years, and the principal at the end. To compute the price of the bond, we need to add the discounted cash flows at the relevant interest rate.

Maturity (years) 1 2 3 4 5 6
Cash flow 40 40 40 40 40 1040
Discounted Cash Flow 39.22 37.70 36.08 34.19 32.41 798.61

The bond price is then the sum of the discounted cash flows and equal to $978.21. We can now use a financial calculator to compute the bond’s YTM.

N I/Y PV PMT FV
Given: 6 -978.21 40 1000
Solve for: 4.42

The bond’s YTM is 4.42% per year.

Holding Period Return

The holding period return (HPR) is the net return of purchasing a bond over a period of time. It is usually expressed in annualized form. For a bond that pays coupons annually, the HPR at time t is defined as: R_{t+1} = \frac{B_{t+1} + C}{B_{t}} - 1, where B_{t} denotes the price of the bond at time t, B_{t+1} denotes the price of the bond a period later just after paying its coupon C. The HPR is not known at time t since we do not know the price of the bond a period later.

When you buy a bond, the return on your investment or realized return is equal to the YTM if and only if you can re-invest the coupons at the same rate and you hold the bond until maturity. In most cases, the HPR will be different from the YTM because you must re-invest the coupons at a different rate, or you sell the bond before maturity at a price that corresponds to a different yield-to-maturity.

Example 7 (Holding Period Return on a Zero-Coupon Bond) Suppose that a 3-year zero-coupon bond with face value $1,000 has a YTM of 5% per year compounded annually. The bond’s current price is: Z_{0}(3) = \frac{1000}{(1.05)^{3}} = \$863.84.

  1. If next year the YTM changes to 7%, the new bond price will be: Z_{1}(2) = \frac{1000}{(1.07)^{2}} = \$873.44. Notice that the zero-coupon bond next year has two years until maturity. The realized (holding period) return over the one year period is then: R_{1} = \frac{873.44}{863.84} - 1 = 1.11\%.

  2. If the YTM in year 1 remains at 5%, the new price is Z_{1}(2) = \frac{1000}{(1.05)^{2}} = \$907.03, and the realized return over the one year period becomes R_{1} = \frac{907.03}{863.84} - 1 = 5.00\%.

Example 8 (Holding Period Return on a Coupon Bond) A 4-year coupon bond has face value $1,000, coupons paid every year of $80, and a YTM of 8% per year with annual compounding. Since the YTM equals the coupon rate, the bond trades at par, that is B_{0} = \$1,000.

  1. If the YTM stays at 8% per year, the bond price next year will also be par value, providing an annual return of 8% per year.

  2. If next year the interest rate falls to 4%, the new bond price will be: B_{1} = \frac{80}{0.04} \left( 1 - \frac{1}{1.04^3} \right) + \frac{1000}{1.04^3} = \$1{,}111.00. The realized (holding period) return over the one year period is then: R_{1} = \frac{1111 + 80}{1000} - 1 = 19.10\%.

Pricing a Bond Paying Semi-Annual Coupons

Most bonds in the U.S. such as Treasuries pay coupons twice per year. If the coupon rate of the bond is expressed per year, then the semi-annual coupon payment is equal to half the annual coupon rate times the par-value of the bond. The YTM of semi-annual paying coupon bonds is usually quoted as per year with semi-annual compounding.

Example 9 (Pricing a Semi-Annual Coupon Bond) Consider a bond paying semi-annual coupons with a coupon rate of 5% per year over a principal of $1,000 and maturity 30 years. The YTM is 6% per year with semi-annual compounding. To compute the bond’s price, we could use a financial calculator as follows:

N I/Y PV PMT FV
Given: 60 3 25 1000
Solve for: -861.62

Note that to solve for the bond price we use 60 semi-annual periods, the annual YTM is divided by 2 since it is compounded semi-annually and the semi-annual payment is 2.5% of the face value. The price is then $861.62.

The par yield of a bond is the coupon rate that makes the bond trade at par.

Example 10 (Computing a Par Yield) Consider a bond paying semi-annual coupons with a coupon rate of C\% per year over a principal of $1,000 and maturity 3 years. The table below presents zero rates for different maturities expressed per year with annual compounding.

Maturity (years) 0.5 1 1.5 2 2.5 3
Zero Rate (%) 2.0 3.0 3.5 4.0 4.3 4.5

The par yield C is such: \frac{C/2}{1.02^{0.5}} + \frac{C/2}{1.03^{1}} + \frac{C/2}{1.035^{1.5}} + \frac{C/2}{1.04^{2}} + \frac{C/2}{1.043^{2.5}} + \frac{100 + C/2}{1.045^{3}} = 100. If we denote A = \frac{1}{1.02^{0.5}} + \frac{1}{1.03^{1}} + \frac{1}{1.035^{1.5}} + \frac{1}{1.04^{2}} + \frac{1}{1.043^{2.5}} + \frac{1}{1.045^{3}} and D = \frac{1}{1.045^{3}}, the par yield solves 100 = \frac{C}{2} A + 100 D. Thus, C = \frac{2 (100 - 100 D)}{A} = 4.41. The 3-year par yield for a semi-annual paying coupon bond is therefore 4.41% per year.

The figure below shows the inverse relationship between bond prices and yields for a 30-year bond with a 5% coupon rate making semi-annual coupon payments. We can see that if the YTM is less than 5% the bond trades at a premium whereas if the YTM is greater than 5% the bond trades at a discount. If the YTM is equal to 5% then the bond trades at par.

A price-versus-yield chart for a 30-year bond with a 5 percent annual coupon and 1,000 face value. The curve is downward sloping and convex, so bond price decreases as yield increases. Dashed guides and a marker highlight that price equals par, 1,000, when yield is 5 percent.
Figure 2: The figure shows the price of a 30-year bond paying semi-annual coupons of 5% per year over a notional of $1,000, as a function of the YTM.

Figure 2 also shows that the inverse relationship between bond price and yields is not linear but convex. The convexity of the bond price implies that interest rates volatility has a positive effect in expected bond returns.

Flat vs. Invoice Prices

So far we have assumed that the next coupon comes exactly in six or twelve months, just after a coupon payment has been made. In general, if a bond is purchased between coupon payments, we need to take into account the exact timing of the cash flows in order to compute the invoice price.

Let D be the number of days between coupon payments, and denote by d the number of days since the last coupon payment. Then, for a bond paying k coupons per year and having N coupons left2, paying an annual coupon of C and face value F we must have that: \begin{aligned} \text{Invoice Price} & = \frac{C/k}{(1+y/k)^{1-d/D}} + \frac{C/k}{(1+y/k)^{2-d/D}} + \cdots + \frac{C/k + F}{(1+y/k)^{N-d/D}} \\ & = \left[ \frac{C/k}{y/k} \left( 1 - \frac{1}{(1+y/k)^{N}} \right) + \frac{F}{(1+y/k)^{N}} \right] \times (1+y/k)^{d/D}, \end{aligned} where y is the YTM of the bond expressed per year and compounded k times per year.

2 For example, if a bond pays semi-annual coupons and the bond expires in 9.8 years, then there are 20 coupons left.

As the bond approaches maturity, however, the invoice price approaches par value. This is known as the pull-to-par effect.

A pull-to-par chart with years to maturity on the x-axis and bond price on the y-axis. Four lines correspond to coupon rates 8 percent, 5 percent, 3 percent, and 0 percent, with yield fixed at 5 percent. Higher-coupon bonds start above par, lower-coupon bonds start below par, and all lines converge toward par as maturity approaches zero.
Figure 3: The figure shows the evolution of the invoice price of a 10-year semi-annual paying coupon bond for different values of the coupon rate assuming that the YTM stays at 5% per year with semi-annual compounding.

The accrued interest of the bond is defined as: \text{Accrued Interest} = \frac{C}{k} \times \frac{d}{D}.

The quoted or flat price of the bond is then defined as the difference between the invoice price and the accrued interest: \text{Flat Price} = \text{Invoice Price} - \text{Accrued Interest}.

Example 11 (Accrued Interest) Consider a bond with a coupon rate of 8% per year, paying semi-annual coupons over a notional of $1,000. If 30 days have elapsed since the last coupon payment, and there are 182 days in the semi-annual coupon period, the accrued interest on the bond is 40 \times (30/182) = \$6.59. If the quoted price on the bond is $995, then the invoice price will be 995 + 6.59 = \$1{,}001.59.

The Excel formula PRICE computes the flat price using the above expressions. The PRICE function syntax has the following arguments:

  • Settlement: The security’s settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.

  • Maturity: The security’s maturity date. The maturity date is the date when the security expires.

  • Rate: The security’s annual coupon rate. It has to be entered as a percent or decimal.

  • Yld: The security’s annual yield. It has to be entered as a percent or decimal.

  • Redemption: The security’s redemption value per $100 face value. The Excel formula assumes that the coupon rate is paid over a notional of $100. Therefore, to price a bond that pays the face value in full we set the redemption equal to 100.

  • Frequency: The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.

  • Basis: The type of day count basis to use.

    Basis Day count basis
    0 or omitted US (NASD) 30/360
    1 Actual/actual
    2 Actual/360
    3 Actual/365
    4 European 30/360

    This function provides the flat price according to the street convention, which simplifies the timing of the cash flows regardless of whether they fall on a workday or a holiday. The typical day count for Treasury securities is Actual/Actual whereas for corporate bonds is 30/360.

Example 12 (The Flat Price of a Treasury Note) Consider a Treasury Note for which we have the following information:

  • Settlement date: 7/21/2017
  • Maturity date: 5/15/2027
  • Coupon rate: 2.375%
  • Yield-to-maturity: 2.400%

Using the above parameters, and a redemption of 100, frequency of 2 and basis equal to 1, the Excel function PRICE gives a flat price of $99.78084174.

Practice Problems

These problems give you a chance to practice the concepts introduced in this chapter. Try to solve each one on your own before expanding the solution.

Problem 1 (Pricing a Utility Bond) Halberd Water (HBW) has a 10-year bond outstanding with a face value of $1,000 and annual coupons at a coupon rate of 6%. Comparable bonds now yield 4.5% per year with annual compounding. Theo Marsh, a fixed-income analyst, wants to know what the bond is worth.

  1. Compute the bond’s price.
  2. Does the bond trade at a premium or at a discount? Explain why without using the price.
Solution
  1. The bond pays $60 a year for 10 years and $1,000 at maturity, so B = \frac{60}{0.045} \left( 1 - \frac{1}{1.045^{10}} \right) + \frac{1{,}000}{1.045^{10}} \approx \$1{,}118.69.

  2. It trades at a premium. Its coupon rate of 6% is above the 4.5% yield investors require, so they pay more than face value for the extra coupon income.

Problem 2 (The Yield on a Discount Bond) Corvane Robotics (CRV) has a 15-year bond with annual coupons at a coupon rate of 7% and a face value of $1,000. It trades at $940. Compute its YTM, and explain why it is above the coupon rate.

Solution

With a financial calculator,

N I/Y PV PMT FV
Given: 15 -940 70 1000
Solve for: 7.69
The YTM is about 7.69% per year. It is above the coupon rate because the bond trades at a discount: besides the coupons, an investor who holds it to maturity gains the $60 difference between the face value and the price.

Problem 3 (Current Yield and Maturity) Two bonds issued by Ashford Gas both pay annual coupons at 6% on a face value of $1,000 and both trade at $1,030. One matures in 2 years, the other in 25 years.

  1. Compute the current yield of each bond.
  2. Compute the YTM of each bond.
  3. For which bond is the current yield a better approximation of the YTM? Why?
Solution
  1. Both have the same current yield, 60/1{,}030 \approx 5.83\%.

  2. The 2-year bond has a YTM of about 4.40%, and the 25-year bond about 5.77%.

  3. The current yield is a much better approximation for the 25-year bond. The YTM includes the loss of the $30 premium at maturity, which is spread over 25 years for the long bond but over only 2 years for the short one. As maturity grows, the bond approaches a perpetuity, whose YTM equals its current yield.

Problem 4 (Pricing a Bond with Zero Rates) Ines Kowalski, a trader at Pemberton Capital, observes the following zero rates, expressed per year with annual compounding.

Maturity (years) 1 2 3 4
Zero Rate (%) 3.0 3.4 3.8 4.1
  1. Compute the price of a zero-coupon bond paying $1,000 at each maturity.
  2. Use these prices to compute the price of a 4-year bond with annual coupons at 5% and a face value of $1,000.
  3. Compute the YTM of the coupon bond.
Solution
  1. The zero prices are \frac{1{,}000}{1.03} = \$970.87, \quad \frac{1{,}000}{1.034^{2}} = \$935.32, \quad \frac{1{,}000}{1.038^{3}} = \$894.14, \quad \frac{1{,}000}{1.041^{4}} = \$851.52.

  2. The bond pays $50 in years 1 to 3 and $1,050 in year 4, so B = 0.05 \times (970.87 + 935.32 + 894.14) + 1.05 \times 851.52 \approx \$1{,}034.12.

  3. Solving for the yield that gives a price of $1,034.12 with N = 4, \text{PMT} = 50, and \text{FV} = 1{,}000 gives a YTM of about 4.06%. It lies between the zero rates, closest to the 4-year rate, because most of the bond’s value comes from the final payment.

Problem 5 (Arbitrage Between a Bond and Its Strips) The coupon bond in Exercise 4 trades at $1,025, while zero-coupon bonds trade at the prices computed there. Explain how Ines can earn a riskless profit, and compute it per bond.

Solution The coupon bond is cheap relative to the zeros that replicate its cash flows. Ines buys the bond for $1,025 and sells short zeros that pay $50 in years 1 to 3 and $1,050 in year 4, which raises $1,034.12. The bond’s coupons and principal exactly cover the zeros she owes, so she keeps 1{,}034.12 - 1{,}025 = \$9.12 per bond today with no risk. By the law of one price, the trade pushes the bond’s price up and the zeros’ prices down until the gap closes.

Problem 6 (Holding Period Return When Yields Move) Marisol Vega buys a 5-year Tolland Freight bond at par. It pays annual coupons at 5% on a face value of $1,000, and she plans to sell it after one year, right after the first coupon.

  1. What is her holding period return if, one year from now, the YTM on the bond has risen to 6%?
  2. What is it if the YTM has fallen to 4%?
  3. Why are the two returns so different from the 5% YTM at which she bought?
Solution
  1. With four years left at 6%, the price is B_{1} = \frac{50}{0.06} \left( 1 - \frac{1}{1.06^{4}} \right) + \frac{1{,}000}{1.06^{4}} \approx \$965.35, so the HPR is (965.35 + 50)/1{,}000 - 1 \approx 1.53\%.

  2. At 4%, B_{1} \approx \$1{,}036.30, and the HPR is (1{,}036.30 + 50)/1{,}000 - 1 \approx 8.63\%.

  3. The YTM is the return only for an investor who holds to maturity and reinvests at the same yield. Selling after one year exposes Marisol to the price of a 4-year bond at whatever yield prevails then.

Problem 7 (Matching the Horizon) Arjun Mehta needs $1,000 in three years for tuition. He buys a 3-year zero-coupon bond issued by Larkfield Solar with a YTM of 5% per year. One year later, its YTM jumps to 6%.

  1. Compute the price he pays and the price one year later. What is his one-year holding period return?
  2. If he holds the bond to maturity, what annual return does he earn over the three years?
  3. Should the price drop worry him?
Solution
  1. He pays 1{,}000/1.05^{3} \approx \$863.84. A year later the bond has two years left and is worth 1{,}000/1.06^{2} \approx \$890.00, so his one-year HPR is 890.00/863.84 - 1 \approx 3.03\%, below the 5% yield.

  2. At maturity he receives $1,000, so his annual return over the three years is (1{,}000/863.84)^{1/3} - 1 = 5\%, whatever happens to yields in between.

  3. No. A zero-coupon bond has no coupons to reinvest, so holding it to maturity locks in its YTM. The price drop only matters for an investor who sells before maturity, and Arjun’s horizon matches the bond’s.

Problem 8 (A Semi-Annual Treasury Note) A Treasury note matures in 8 years, pays semi-annual coupons at a coupon rate of 3.5% per year, and has a face value of $1,000. Its YTM is 4% per year with semi-annual compounding.

  1. Compute its price.
  2. What is the YTM expressed as an effective annual rate?
Solution
  1. The note has 16 semi-annual periods, a coupon of $17.50, and a semi-annual yield of 2%:
N I/Y PV PMT FV
Given: 16 2 17.5 1000
Solve for: -966.06

The price is $966.06, a discount because the coupon rate is below the yield.

  1. The effective annual rate is 1.02^{2} - 1 = 4.04\%.

Problem 9 (Buying Between Coupon Dates) Paul Brennan buys a Kessler Industries corporate bond with a coupon rate of 6% per year, paid semi-annually on a face value of $1,000. The quoted price is $1,012, and 45 days have passed since the last coupon in a 180-day coupon period (30/360 convention).

  1. Compute the accrued interest and the invoice price Paul pays.
  2. Why does he pay the accrued interest to the seller?
Solution
  1. The semi-annual coupon is $30, so the accrued interest is 30 \times 45/180 = \$7.50 and the invoice price is 1{,}012 + 7.50 = \$1{,}019.50.

  2. Paul will receive the full $30 coupon at the end of the period, although the seller held the bond for the first 45 days of it. The accrued interest compensates the seller for that share of the coupon.