Skip to content

Yield to maturity

Solve a bond’s yield to maturity from its price, distinguish semiannual quotes from effective annual yields, and separate cash-flow IRR from realised compound growth.

Yield to maturity (YTM) is the single discount rate that makes a bond’s remaining promised payments equal its full settlement price. It is the internal rate of return of that dated purchase-and-payment schedule, expressed using a specified quoting convention. A quoted YTM is a way to translate a price into a rate; it is not a guarantee of the investor’s eventual compound return.
The key inputs are the price paid, the remaining coupons, principal, payment dates and compounding rule. A forecast of future reinvestment rates is not an input to the YTM equation. FINRA’s yield guide explains why YTM can differ from coupon rate and realised performance.
To follow the example, start with a bond as dated payment promises, then present value and compound interest. No stochastic model is needed.

“97.50” becomes a yield only after reading the contract

A fictional fixed-income desk asks Priya to turn a bond price into a yield. The quote is 97.50 per 100 of face value. Priya is considering 1,000 USD face, so the cash price is 975 USD.
The ordinary, non-callable fixed-rate bond has exactly two years remaining and pays a 5% annual coupon in semiannual installments. Settlement occurs immediately after a coupon payment, so accrued interest is zero and the clean price equals the full, or dirty, price. Ignore default, fees and taxes in this calculation.
Time from settlementPromised USD payment
Six months25
One year25
Eighteen months25
Two years1,025
The 5% coupon determines 50 USD of annual interest on 1,000 USD face value. It does not describe the return on the 975 USD purchase. Even the current yield, 50/975≈5.1282%50/975\approx5.1282\%, considers only annual coupon income relative to price. YTM also accounts for the 25 USD difference between purchase price and principal repayment, and for when every payment arrives.

Write the equation before opening the calculator

Let yy denote a nominal annual YTM compounded semiannually, written as a decimal. Its six-month rate is y/2y/2. Priya solves
975=251+y/2+25(1+y/2)2+25(1+y/2)3+1,025(1+y/2)4.975=\frac{25}{1+y/2}+\frac{25}{(1+y/2)^2} +\frac{25}{(1+y/2)^3}+\frac{1{,}025}{(1+y/2)^4}.

There are four half-year periods, rather than two annual discounting periods. Substituting an annual yield directly into 1+y1+y for every half-year payment would use the wrong convention.

For a fixed-coupon bond settled on a coupon date, the corresponding regular-payment formula is

P=∑k=1nC(1+y/m)k+F(1+y/m)n,C=cFm,P=\sum_{k=1}^{n}\frac{C}{(1+y/m)^k} +\frac{F}{(1+y/m)^n}, \qquad C=\frac{cF}{m},

where FF is face value, cc is the annual coupon rate, mm is the number of payments per year, and nn is the number of remaining payment periods. The final coupon is in the sum; principal is added separately. For irregular coupon periods or settlement between coupons, use the instrument’s actual timing and yield convention instead of treating this simplified formula as universal.

A search with a checkable answer

Define the residual as the price calculated at a trial yield minus the observed 975 USD price. A positive residual means the trial yield is too low for this fixed payment schedule.
Nominal annual YTM, semiannual compoundingCalculated price, USDPrice minus 975, USD
4.00%1,019.04+44.04
5.00%1,000.00+25.00
6.00%981.41+6.41
6.50%972.29−2.71
8.00%945.55−29.45

The answer lies between 6% and 6.5%. Repeatedly halve that bracket, keeping the side containing the sign change. This bisection method gives

y≈0.0635078152=6.350782%.y\approx0.0635078152=6.350782\%.
Discounting the four payments at that rate produces present values of approximately 24.230584, 23.484849, 22.762064 and 904.522503 USD. They sum to 975 USD, apart from displayed rounding. Repricing the payments is a useful check on any calculator result.
For the stipulated four semiannual payments, calculated price minus the 975 USD purchase price decreases with yield and crosses zero at 6.350782% nominal annual YTM compounded semiannually.
For the stipulated four semiannual payments, calculated price minus the 975 USD purchase price decreases with yield and crosses zero at 6.350782% nominal annual YTM compounded semiannually.
Original fictional example. Payments and settlement are fixed. The horizontal line is zero pricing error; the curve is not observed market data or a yield curve across maturities.

For this ordinary bond, every future payment is positive. Price falls strictly as yy rises over the valid domain y>−2y>-2, so a positive price has one such YTM. A negative yield is possible at a sufficiently high price. More complicated signed cash-flow schedules can have different root behavior; do not transfer the uniqueness result to every investment’s IRR.

This short Python calculation reproduces the bracketed search:

cash_flows = [25, 25, 25, 1025] def price(ytm): return sum(cf / (1 + ytm / 2) ** k for k, cf in enumerate(cash_flows, start=1)) low, high = 0.06, 0.065 for _ in range(60): middle = (low + high) / 2 if price(middle) > 975: low = middle else: high = middle ytm = (low + high) / 2 print(f"{100 * ytm:.6f}% nominal annual") # 6.350782% nominal annual print(f"{100 * ((1 + ytm / 2) ** 2 - 1):.6f}% effective annual") # 6.451613% effective annual

Two annual percentages can describe the same price

The six-month IRR is about 3.175391%. Doubling it gives the nominal annual quote, 6.350782%. Compounding it twice gives the equivalent effective annual yield:
yeff=(1+y2)2−1≈6.451613%.y_{\mathrm{eff}}=\left(1+\frac{y}{2}\right)^2-1 \approx6.451613\%.
These percentages differ because the quote conventions differ. They describe the same payment schedule and price. The interest-rate explanation develops the underlying conversion.
For this coupon-date example, the coupon rate is below the nominal annual YTM and price is below face value. TreasuryDirect’s pricing explanation illustrates this coupon–yield–price relationship for Treasury notes and bonds. Comparing rates without matching their conventions can erase that useful sanity check.

A cash-flow IRR is different from a pot of wealth

Priya’s solved rate does not specify what happens to the first three coupons after the desk receives them.

If every coupon earns the same six-month rate y/2y/2 until year two, final wealth is

25(1+y/2)3+25(1+y/2)2+25(1+y/2)+1,025≈1,104.864718 USD.25(1+y/2)^3+25(1+y/2)^2+25(1+y/2)+1{,}025 \approx1{,}104.864718\text{ USD}.

That equals 975(1+y/2)4975(1+y/2)^4, or 6.451613% effective annual compound growth. This reinvestment path is a sufficient way to match that growth rate; it is not a claim that every coupon must follow one uniquely determined path.

If the interim coupons instead sit in an account earning zero interest, final wealth is 1,100 USD. Its effective annual compound growth over two years is

(1,100975)1/2−1≈6.217001%.\left(\frac{1{,}100}{975}\right)^{1/2}-1 \approx6.217001\%.

The original bond cash-flow schedule still has the same quoted YTM. The accumulated account has a different return because the interim money earned a different rate. That distinction is central to reinvestment risk.

If Priya sells early, the sale price replaces the remaining payments in the realised holding-period calculation. Default can change the payments themselves. An issuer’s call option can shorten the schedule, making yield to call and yield to worst relevant. Fees and taxes also change investor cash flows. A larger promised YTM alone does not establish a better investment.

The single number does not replace the curve

YTM compresses one bond’s payments and price into a rate. It does not say that every cash-flow date has the same spot interest rate. Pricing each payment with its own discount factor retains more information about the yield curve. Two fairly priced bonds can have different YTMs because their payments fall at different points on that curve.
Continue with bond yield for the broader comparison of yield measures, and duration to translate a small yield change into a local price change. SelfMadeQuant’s Bonds and Yields lesson develops dated pricing and contrasts YTM with spot rates. Its public page is a preview; the full lesson requires membership.

Sources

  • Frank J. Fabozzi, Bond Markets, Analysis, and Strategies, 9th ed., Chapter 3: yield as cash-flow IRR, semiannual annualisation and reinvestment.
  • Bruce Tuckman, Fixed Income Securities: Tools for Today’s Markets, 2nd ed., Chapter 3: YTM definition, price quotation and the coupon effect.
  • FINRA, Understanding Bond Yield and Return: yield measures, promised payments and the limits of interpreting YTM as performance.
  • TreasuryDirect, Understanding Pricing and Interest Rates: coupon frequency and the coupon–yield–price relationship for Treasury notes and bonds.
Last updated
  • yield to maturity
  • bond valuation
  • internal rate of return
  • rate conventions
  • root finding
← Back to the glossaryBack to top ↑