Price, coupon and yield: how to read a bond

A bond pays regular coupons and repays 100 at maturity. Bought at 100, it yields exactly its coupon. Paid less, below par, it also earns the difference at maturity, and the yield rises above the coupon; paid more, it falls.

The yield to maturity is the rate that makes the price paid equal to the present value of all coupons and the repayment. Example: a bond with a 3% semi-annual coupon, bought at 96.50 with 7 years to go, yields about 3.60% gross; with a 12.5% tax rate, about 3.15% net.

Duration measures in years how far away, on average, the money you receive is, and tells how sensitive the price is to rates: with a modified duration of 6.2, a one-point rise in rates lowers the price by about 6.2%. Long bonds with low coupons swing the most.

Common mistakes

  • Mistaking the coupon for the yield: they match only when the price is 100.
  • Forgetting tax: it can change which of two bonds is better.
  • Thinking a bond never loses value: before maturity its price falls when rates rise.

Frequently asked questions

What is the difference between current yield and yield to maturity?

Current yield divides the coupon by the price and ignores the gain or loss at repayment. Yield to maturity accounts for everything, and it is the one to compare between bonds.

Why do bond prices fall when rates rise?

Because new bonds pay more: an existing bond with a lower coupon is worth less until its yield matches the market's, and the price is what adjusts.

Does the calculation include accrued interest?

The price is taken on a coupon date, so with no accrued interest, and the term is rounded to the nearest coupon period: a very good estimate, but a day-exact calculation needs the precise dates.

How this calculation works

Yield to maturity: the periodic rate y for which P = Σ (C/f) / (1 + y)^k + 100 / (1 + y)^n, with P the price, C the annual coupon, f coupons per year and n = years × f; then annual yield = (1 + y)^f − 1. Net: coupons × (1 − tax) and the gain at repayment taxed. Macaulay duration = Σ t × PV(flow) / P; modified duration = Macaulay / (1 + y).