In order to understand yield to maturity (YTM), we first need to discuss how to price a bond in general. The price of a traditional bond is the present value of all future cash flows the bond delivers (interest payments), plus the repayment of principal (the face value or par value) at maturity.

The rate used to discount these cash flows and principal is called the required rate of return, which is the rate of return required by investors considering the risk of the investment.  

How to Price a Bond

The formula to price a traditional bond is: 

  • PV = Payment / (1+r)+ Payment / (1+r)+ ... + Payment + Principle / (1+r)+

where:

  • PV = price of the bond
  • Payment = coupon payment, which is the coupon rate * par value ÷ number of payments per year
  • r = required rate of return, which is required rate of return ÷ number of payments per year
  • Principal = par value/face value of the bond
  • N = number of years until maturity

The pricing of a bond is therefore critically dependent on the difference between the coupon rate, which is known, and the required rate, which is inferred.

Suppose the coupon rate on a $100 bond is 5%, meaning the bond pays $5 per year, and the required rate – given the risk of the bond – is 5%. Because they are equal, the bond will be priced at par, or $100.  

This is shown below (note: if tables are hard to read, please right-click and choose "view image"):

Pricing a Bond after It's Issued

Bonds trade at par when they are first issued. Frequently, the coupon rate and required return don't match in the subsequent months and years, as events impact the interest rate environment. When the two rates don't match, it causes the price of the bond to appreciate above par (trade at a premium to its face value) or decline below par (trade at a discount to its face value) to compensate for the difference in rates.

Take the same bond as above (5% coupon, pays out $5 a year on $100 principal) with five years left until maturity. If the current Federal Reserve rate is 1%, and other similar-risk bonds are at 2.5% (they pay out $2.50 a year on $100 principal), this bond looks very attractive: offering 5% in interest—double that of comparable debt instruments.

Given this, the market will adjust the price of the bond proportionally to reflect this difference in rates. In this case, the bond would trade at a premium, $111.61. The current price of 111.61 is higher than the $100 you will receive at maturity, and that $11.61 is the difference in present value of the extra cash flow you get over the life of the bond (the 5% vs. the required return of 2.5%).  

In other words, in order to get that 5% interest when all other rates are much lower, you have to buy something today for $111.61 that you know in the future will only be worth $100. The rate that normalizes this difference is the yield to maturity. 

Calculating the Yield to Maturity in Excel

The above examples break out each cash flow stream by year. This is a good method for most financial modeling because best practices dictate that the sources and assumptions of all calculations should be easily auditable.

However, when it comes to pricing a bond, we can make an exception to this rule because:

  • Some bonds have many years (decades) to maturity and a yearly analysis, like that shown above, may not be practical
  • Most of the information is known and fixed: we know the par value, we know the coupon, and we know the years to maturity.

For these reasons, we'll set up the calculator as follows:

In the above example, we made the scenario slightly more realistic by using two coupon payments per year, which is why the YTM is 2.51 – slightly above the required rate of return of 2.5% in the first examples above.