How to calculate bond yield to maturity
Current yield is the simplest measure of a bond’s return: divide the annual coupon payment by the bond’s current market price. A bond with a $50 annual coupon trading at $950 has a current yield of 5.26%. Yield to maturity (YTM) is more useful because it also accounts for the gain or loss you receive when the bond matures at face value.
Current yield: the baseline
\[\text{Current Yield} = \frac{\text{Annual Coupon}}{\text{Market Price}}\]For a bond with a $1,000 face value and a 5% coupon rate, the annual coupon is $50. If the bond trades at $950:
\[\text{Current Yield} = \frac{50}{950} = 5.26\%\]That 5.26% only captures the income component. It ignores the fact that if you hold the bond to maturity, you will receive $1,000 at maturity even though you paid only $950. That $50 difference is an additional return spread over the remaining years. YTM captures both.
The bond pricing formula
A bond’s price equals the present value of all future cash flows: periodic coupon payments plus the face value at maturity. The formula is:
\[P = \sum_{t=1}^{n} \frac{C}{(1+r)^t} + \frac{F}{(1+r)^n}\]Where:
- P = current market price
- C = coupon payment per period
- F = face value (typically $1,000)
- r = yield per period (YTM / coupon frequency)
- n = total number of periods to maturity
For annual coupon payments, the sum simplifies to:
\[P = C \cdot \frac{1 - (1+r)^{-n}}{r} + \frac{F}{(1+r)^n}\]The annuity term prices the coupons; the final term prices the face value.
Worked example
Bond details:
- Face value: $1,000
- Coupon rate: 5% (annual payment of $50)
- Market price: $950
- Years to maturity: 10
Step 1: Calculate current yield
\[\text{Current Yield} = \frac{50}{950} = 5.26\%\]Step 2: Estimate YTM
YTM is the rate r that satisfies the pricing equation:
\[950 = \sum_{t=1}^{10} \frac{50}{(1+r)^t} + \frac{1000}{(1+r)^{10}}\]A quick approximation formula:
\[\text{YTM} \approx \frac{C + \frac{F - P}{n}}{\frac{F + P}{2}}\] \[\text{YTM} \approx \frac{50 + \frac{1000 - 950}{10}}{\frac{1000 + 950}{2}} = \frac{50 + 5}{975} = \frac{55}{975} \approx 5.64\%\]The approximation gives 5.64%. The precise answer found by iteration is approximately 5.58%.
Verification at r = 5.58%:
- Present value of 10 coupon payments at 5.58%: approximately $373
- Present value of $1,000 face value at 5.58% over 10 years: approximately $578
- Total: approximately $951 (close enough given rounding)
Why YTM differs from current yield
Current yield sees only the coupon income. YTM adds the capital component: the difference between what you pay and what you receive at maturity.
For this bond, you pay $950 and receive $1,000 at maturity, a $50 gain. Spread over 10 years, that works out to roughly $5 per year of additional return. Adding that to the $50 coupon gives approximately $55 of total annual return on a $975 average investment, which yields roughly 5.64% (the approximation above). The precise iterative answer of 5.58% reflects the time value of money applied correctly to each year.
This is why YTM is the standard comparison metric for bonds. Two bonds with the same current yield can have very different total returns if they are trading at different prices relative to par.
Discount, par, and premium bonds
A bond’s price relative to its face value determines whether YTM is above or below the coupon rate:
| Bond type | Market price | vs. coupon rate | YTM relationship |
|---|---|---|---|
| Discount bond | Below face value ($950 on $1,000) | 5% coupon | YTM > coupon rate |
| Par bond | Equal to face value ($1,000) | 5% coupon | YTM = coupon rate |
| Premium bond | Above face value ($1,050 on $1,000) | 5% coupon | YTM < coupon rate |
The logic: buying a discount bond gives you the coupon plus a guaranteed gain at maturity. Buying a premium bond gives you the coupon minus a guaranteed loss at maturity. YTM adjusts accordingly.
For a $1,050 premium bond with the same 5% coupon and 10-year maturity:
\[\text{Current Yield} = \frac{50}{1050} = 4.76\%\] \[\text{YTM} \approx \frac{50 + \frac{1000 - 1050}{10}}{\frac{1000 + 1050}{2}} = \frac{50 - 5}{1025} = \frac{45}{1025} \approx 4.39\%\]The YTM is lower than the current yield because you will lose $50 over 10 years returning to par.
Why YTM requires iterative solving
There is no algebraic closed form for r in the full bond pricing equation. The coupon annuity term and the face value term both contain r but in different positions. Solving requires numerical methods: you guess a rate, compute the resulting price, compare it to the actual market price, and adjust the guess.
Most implementations use the Newton-Raphson method or bisection. Spreadsheet functions like Excel’s YIELD or RATE do this automatically. Financial calculators have a dedicated YTM function for the same reason.
The approximation formula above (using average investment as denominator) is accurate to within about 10-15 basis points for typical bonds. For a precise answer, iteration is necessary.
Other yield measures
YTM assumes you hold the bond to maturity and reinvest all coupons at the same YTM rate. Neither assumption is always true in practice.
Yield to call (YTC) applies when a bond is callable. The issuer can redeem it before maturity, typically at a premium. YTC substitutes the call date for n and the call price for F.
Yield to worst (YTW) is the lower of YTM and YTC. It answers: “What is the worst yield I can reasonably expect?” Bond investors use YTW as a conservative comparison figure.
Current yield is useful when you only care about income, for example if you plan to sell before maturity and do not expect the price to change much.
Practical context
YTM is most useful when comparing bonds with different coupon rates, prices, and maturities. A 6% coupon bond trading at $1,020 with 5 years to maturity is directly comparable to a 4% coupon bond at $940 with 8 years to maturity only if you convert both to YTM.
Interest rate risk works through this formula too. When market interest rates rise, existing bond prices fall so that YTMs adjust upward to match. Longer-duration bonds fall more in price for a given rate move because more of their cash flows are discounted at higher rates.
Use the compound interest calculator to explore how discount rates affect present value, which is the same mechanism driving bond pricing.
CalculateY