Bond pricing & yield: practice problems with step-by-step solutions

Free Bond pricing & yield practice problems with diagrams, hints and full worked solutions. New values every time, at three levels: annual coupons, semi-annual coupons, yield to maturity.

Free practice problemEasy
years0123…9€40€40€40 + €1 000P = ?

A bond with a face value of €1 000 pays an annual coupon of 4% and matures in 9 years. The yield to maturity is 2.5%. Find the price P of the bond.

F = €1 000coupon = 4%YTM = 2.5%n = 9
€
Next problem →

What you practise

  1. Easyannual coupons
  2. Mediumsemi-annual coupons
  3. Hardyield to maturity

How to solve Bond pricing & yield problems

  1. Find the coupon per period and the yield per period.
  2. Price = present value of the coupons (an annuity) + present value of the face value.
  3. For semi-annual coupons use half the coupon, half the yield and twice the periods.
  4. Check: if the yield is above the coupon rate, the price is below face value.

Common mistakes

  • Discounting at the coupon rate instead of the yield.
  • Forgetting the face value at maturity.
  • Mixing annual and semi-annual periods.

Key formulas

Bond price
P = C·(1 − (1 + y)−n)/y + F/(1 + y)n
Semi-annual
C/2, y/2 and 2n periods
Current yield
C/P
Price and yield
yield up → price down

Learn Bond pricing & yield from scratch

Before this: Time value of money

1What a bond is

A bond is a loan that you can buy and sell. A company or government borrows money and promises fixed payments in return.

A typical bond has three numbers printed on it:

  • The face value F, usually €1000. It is paid back on the last day, the maturity.
  • The coupon rate. Each year the bond pays this percentage of the face value as interest, the coupon C. A 5% coupon on €1000 is €50 a year.
  • The maturity n: how many years until the face value is repaid.
0123CCC + FP

The coupons and the face value are fixed. What changes is the price P that investors pay today. That price depends on the return investors want now.

Self-check A bond has a face value of €1000 and a coupon rate of 6%, paid once a year. What is the coupon C?
  1. €1060
  2. €600
  3. €60
  4. €6

Answer: €60. C = 6% of the face value = 0.06 · 1000 = €60 per year. €1060 is the last payment (coupon plus face value), not the coupon.

2Price and yield to maturity

The yield to maturity (YTM, written y) is the yearly return the market requires on the bond. It is the discount rate for all its payments.

The price is the present value of everything the bond pays: the coupons form an annuity, and the face value is one amount at the end.

P = C · [1 − (1 + y)−n] / y + F / (1 + y)n

Compare the yield with the coupon rate. This tells you the answer before you calculate:

  • Yield equal to the coupon rate: the price is exactly the face value, €1000 (at par).
  • Yield above the coupon rate: the price is below face value (a discount).
  • Yield below the coupon rate: the price is above face value (a premium).

So bond prices and yields always move in opposite directions. When yields rise, prices fall.

Self-check A bond has a 4% coupon. The market yield is 6%. Where will its price be?
  1. Above the face value
  2. At the face value plus one coupon
  3. Below the face value
  4. Exactly at the face value

Answer: Below the face value. The bond pays only 4% while investors want 6%. They will only buy it at a lower price, so it sells at a discount.

3The method step by step

  1. Find the coupon per period C, the yield per period y and the number of periods n.
  2. For half-yearly (semi-annual) coupons: use half the coupon, half the yield and twice the number of years.
  3. Present value of the coupons: C · [1 − (1 + y)−n] / y.
  4. Present value of the face value: F / (1 + y)n.
  5. Add the two. Check the result against the coupon rate: discount or premium?

Example of step 2: a 6% coupon paid twice a year for 5 years, with a yield of 5%, gives C = €30, y = 0.025 and n = 10.

4A worked example

Follow every step. Try to predict the next one before you open it.

Worked example

A bond with a face value of €1000 pays an annual coupon of 5% and matures in 3 years. The yield to maturity is 6%. Find the price P of the bond.

1

Draw the cash flows

0123€50€50€50 + €1000P = ?

The coupon is 0.05 · 1000 = €50 a year. In year 3 the bond also repays the €1000.

2

Values per period

Coupons are yearly, so one period is one year.

C = 50 y = 0.06 n = 3
(1.06)−3 = 0.839619
3

Present value of the coupons

50 · (1 − 0.839619) / 0.06 = 133.65
4

Present value of the face value

1000 · 0.839619 = 839.62
5

Add them up

P = 133.65 + 839.62 = 973.27
6

Check the answer

Discount each payment on its own: 50/1.06 + 50/1.06² + 1050/1.06³ = 47.17 + 44.50 + 881.60 = €973.27.

The yield (6%) is above the coupon rate (5%), so a price below €1000 is what you expect.

Answer

P ≈ €973.27, a discount because the yield is above the coupon rate.

5Finding the yield to maturity

Sometimes the price is given and you must find the yield. There is no formula for y, so you try rates.

A bond with a 4% coupon and 3 years to go sells for €960. It sells below €1000, so the yield is above 4%.

  1. Try 5%: the price formula gives €972.77. Still above €960, so the yield must be higher.
  2. Try 6%: the price is €946.54. Now it is below €960, so the yield lies between 5% and 6%.
  3. Interpolate between the two rates.
y ≈ 5% + 1% · (972.77 − 960) / (972.77 − 946.54) ≈ 5.49%

Do not confuse the YTM with the current yield, C/P = 40/960 = 4.17%. The current yield ignores the €40 gain from €960 up to the €1000 repaid at maturity.

Self-check A bond sells for €1050. Its coupon rate is 5%. What do you know about its yield to maturity?
  1. It equals 50/1050 = 4.76%
  2. It is above 5%
  3. It is below 5%
  4. It is exactly 5%

Answer: It is below 5%. The price is above face value (a premium), so the yield is below the coupon rate. 4.76% is the current yield, which ignores the €50 loss at maturity.

6Common mistakes

  • Discounting at the coupon rate instead of the yield. The coupon rate only sets the size of the coupon.
  • Forgetting the face value at maturity, or forgetting the coupons.
  • Adding the payments without discounting them.
  • Mixing annual and semi-annual periods: with half-yearly coupons halve C and y and double n.
Self-check A 2-year bond has a face value of €1000, a 5% annual coupon and a yield of 6%. What is its price?
  1. €1000
  2. €1100
  3. €981.67
  4. €990.00

Answer: €981.67. 50/1.06 + 1050/1.06² = 47.17 + 934.50 = €981.67. €1000 comes from discounting at the coupon rate, €1100 from adding without discounting, and €990.00 from not discounting the coupons.

7How exam questions look

  • Easy: annual coupons. Find the price from the face value, coupon rate, maturity and yield.
  • Medium: semi-annual coupons. The same, with half the coupon, half the yield and twice the periods.
  • Hard: yield to maturity. The price is given. Try two rates, then interpolate or use a calculator.

Always compare the yield with the coupon rate first. It tells you whether the price must be above or below €1000.

Learn it step by step in the appLearn it step by step in the app

Worked examples

Example 1Easy
years0123…10€80€80€80 + €1 000P = ?

A bond with a face value of €1 000 pays an annual coupon of 8% and matures in 10 years. The yield to maturity is 7%. Find the price P of the bond.

F = €1 000coupon = 8%YTM = 7%n = 10

Find P (€)

Show hints
  1. The price is the present value of the coupons plus the present value of the face value.
  2. Coupon per year: €80.00. Discount at the YTM.
  3. (1 + 0.07)−10 = 0.5083.
Show the answer and the step-by-step solution

Bond pricing: a bond’s price is the present value of its cash flows, discounted at the yield to maturity (YTM): the coupons form an annuity and the face value is paid back at maturity. P = C·(1 − (1 + y)⁻ⁿ)/y + F/(1 + y)ⁿ. When the yield is above the coupon rate the bond trades below face value, and the other way round.

Per period

C = €80.00, i = 0.07, N = 10

Present value of the coupons

€80.00·(1 − 0.5083)/0.07 = €561.89

Present value of the face value

€1 000·0.5083 = €508.35

Price

P = €1 070.24

Answer

P = €1 070.24

The yield is below the coupon rate, so the bond sells at a premium.

Example 2Medium
years0123…15P€70€70€70 + €1 000

A bond with a face value of €1 000 pays an annual coupon of 7% and matures in 15 years. Its yield to maturity changes from 4% to 3%. By how much ΔP does the bond price change?

F = €1 000coupon = 7%n = 15y1 = 4%y2 = 3%

Find ΔP (€)

Show hints
  1. Price the bond at the old yield and at the new yield.
  2. P = C·(1 − (1 + y)⁻ⁿ)/y + F/(1 + y)ⁿ.
  3. P1 = €1 333.55.
Show the answer and the step-by-step solution

Bond pricing: a bond’s price is the present value of its cash flows, discounted at the yield to maturity (YTM): the coupons form an annuity and the face value is paid back at maturity. P = C·(1 − (1 + y)⁻ⁿ)/y + F/(1 + y)ⁿ. When the yield is above the coupon rate the bond trades below face value, and the other way round.

Price at the old yield

C = €70.00, i = 0.04, N = 15
€70.00·(1 − 0.5553)/0.04 + €1 000·0.5553 = €778.29 + €555.26 = €1 333.55

Price at the new yield

C = €70.00, i = 0.03, N = 15
€70.00·(1 − 0.6419)/0.03 + €1 000·0.6419 = €835.66 + €641.86 = €1 477.52

Change

ΔP = 1 477.52 − 1 333.55 = €143.97

Answer

ΔP = €143.97
Example 3Hard

A bond trades at €930 with a yield to maturity of 7% (annual compounding) and a Macaulay duration of 9.5 years. Use the modified duration to estimate the new price P if the yield falls by 150 basis points.

P0 = €930y = 7%D = 9.5Δy = −150 bp

Find P (€)

Show hints
  1. Modified duration: D mod = D/(1 + y).
  2. Dmod = 9.5/1.07 = 8.879; 1 bp = 0.01% = 0.0001.
  3. %ΔP ≈ −D mod·Δy.
Show the answer and the step-by-step solution

Duration: the Macaulay duration is the weighted average time at which a bond pays its cash flows, with the present values of the cash flows as weights: D = Σ t·PVₜ/P. The modified duration D/(1 + y) estimates the percentage price change for a small change in yield: %ΔP ≈ −Dmod·Δy.

Modified duration

Dmod = 9.5/1.07 = 8.879

Estimated price change

%ΔP ≈ −8.879·(−0.015) = 13.32%
P ≈ 930·(1 + 0.1332) = €1 053.86

Answer

P = €1 053.86

Duration is a linear estimate; for large yield changes convexity makes the true price a little higher.

Questions and answers

What is Bond pricing & yield?

A bond is a loan that you can buy and sell. A company or government borrows money and promises fixed payments in return.

A typical bond has three numbers printed on it:

How do I solve Bond pricing & yield problems step by step?
  1. Find the coupon per period and the yield per period.
  2. Price = present value of the coupons (an annuity) + present value of the face value.
  3. For semi-annual coupons use half the coupon, half the yield and twice the periods.
  4. Check: if the yield is above the coupon rate, the price is below face value.
What are common mistakes in Bond pricing & yield?
  • Discounting at the coupon rate instead of the yield.
  • Forgetting the face value at maturity.
  • Mixing annual and semi-annual periods.
What do the Bond pricing & yield exercises cover?
  • Easy: annual coupons
  • Medium: semi-annual coupons
  • Hard: yield to maturity

Every problem has new values, so you learn the method instead of an answer. Stuck? Open a small hint first, and the full explanation only when you need it.

How practising works

  • Every problem has new values, so you learn the method instead of an answer.
  • Stuck? Open a small hint first, and the full explanation only when you need it.
  • Your progress, mistakes and saved problems are kept, so you can review before the exam.

Topics before and after this one

Learn first

Calculators

Courses with this topic

More topics in Business & economics

Printable worksheet