How to calculate a bond's yield to maturity

By the 10BONDS editorial team

The yield to maturity (YTM) is the number most widely used to compare bonds. It tells you the annual return you would earn by buying a bond today at its market price and holding it until maturity, provided the issuer pays every coupon and repays the capital.

Because it folds the price you pay, the coupons you receive and the final repayment into a single annual rate, it lets you put bonds with very different coupons, prices and maturities side by side. That is also why it needs to be read with care: it is the result of a calculation built on a few assumptions, and each of them matters.

Coupon and yield are not the same thing

The coupon is the fixed interest set when the bond is issued, calculated on the face value (usually 100). The price, on the other hand, changes every day. If you buy below 100 you also gain the difference up to repayment; if you buy above 100 that difference is a loss. The yield to maturity combines the two: the coupons and the difference between the price paid and the amount repaid.

This is why two bonds with the same 3% coupon can have very different yields to maturity: it depends on how much they cost today and on how long is left until they mature.

A simple way to keep the distinction in mind: the coupon is a property of the bond and never changes, while the yield to maturity is a property of the price you pay today, so it changes whenever the price does.

The formula

The yield to maturity is the rate y that makes today's price equal to the present value of all future cash flows:

Price = C/(1+y) + C/(1+y)² + … + (C+100)/(1+y)ⁿ

where C is the annual coupon and n the number of years to maturity. There is no direct solution: it is found by trial and error, which is what spreadsheets do with functions such as IRR or YIELD.

Each term of the formula discounts one payment back to today: the further away a payment is, the more it is discounted. The last term includes both the final coupon and the repayment of the face value.

A step-by-step example

Take a bond with a 3% annual coupon, maturing in 5 years, priced at 95.

  • Every year you receive 3 euros of coupon for every 100 of face value.
  • At maturity you receive 100, which is 5 euros more than you paid.
  • The rate that makes 95 equal to the present value of these cash flows is about 4.13% a year.

There is also an approximate formula, useful for a quick mental calculation:

YTM ≈ (C + (100 − Price) / n) / ((100 + Price) / 2)

With the numbers from the example: (3 + 5/5) / 97.5 = 4.10%. Very close to the exact value.

The approximation spreads the gain from the discount evenly over the remaining years and divides by the average of the price paid and the amount repaid. It works well for prices close to 100 and becomes less precise for deep discounts or very long maturities.

The assumptions you need to know

The yield to maturity is an estimate, not a promise. It only holds if:

  • you hold the bond until maturity: if you sell earlier, the result depends on the price at that moment;
  • the issuer pays everything: in the event of default you lose coupons and part of the capital (see the guide on credit risk);
  • you reinvest the coupons at the same rate: in reality the reinvestment rate changes;
  • the bond is not repaid early: for callable bonds the yield to the first call date also matters.

Gross and net yield: the Italian rules

The yields shown on 10BONDS are gross. In Italy, interest and capital gains on bonds are normally subject to a 26% substitute tax, reduced to 12.5% for Italian government bonds, for those of countries that exchange information with Italy and for supranational issuers. The net yield is therefore lower: check with your bank or tax adviser for your own situation.

If you are taxed in another country, the rates and rules will be different, but the principle is the same: compare bonds on the yield you would actually keep after tax and costs.

How to use the yield to maturity

Always compare the yield together with two other figures: the duration, which measures how much the price reacts to interest rates, and the rating, which measures the issuer's risk. A higher yield almost always means more risk.

To see real yields today, use the bond finder: choose a duration and a target yield, for example around 4% or a duration of about 5 years, and look at the bonds closest to it.

Find your 10 bonds: choose a duration and a target yield and see the 10 closest bonds.

Related guides

Everything about bonds ›

Information and education only, not investment advice or an offer to buy or sell. Yields are gross and indicative and can change. Bonds can lose value and issuers can default. Disclaimer