Calculator · Corporate finance

Bond price and yield to maturity calculator

A bond's price is the present value of its coupons and its face value, discounted at the market yield. Turn that around and you have yield to maturity: the one rate that makes those discounted cash flows equal the price you see. This calculator solves YTM exactly instead of using the shortcut formula, and it also prices a bond from a yield.

Find a bond's yield or price

Whole coupon periods only, for example 10 or 7.5 with semiannual coupons.

The clean price, on a coupon date.

Yield to maturity5.6687%Trades at a discount (price below face value).
Effective annual yield
5.6687%
Yield per period
5.6687%
Current yield
5.26%
Coupon periods
10

Solved exactly, not with the shortcut formula, so the number matches a financial calculator.

Estimate for learning, not financial advice. Nothing you type here is sent or saved.

Try one yourself

A bond has a $1,000 face value, a 3% annual coupon and 10 years to maturity. It pays once a year. Similar bonds yield 6.2%.

Counts as correct if it is within $0.50. Use a calculator.

The formulas

Split the bond into its payments. There are N coupons of C dollars each, one per period, and the face value F comes back with the last coupon. Discount each payment at the yield per period, which is the annual yield divided by the number of coupons a year.

Formulas

Price = C x [1 - (1+i)^-N] / i + F / (1+i)^N, where C = coupon rate x F / coupons per year, i = yield / coupons per year, and N = years x coupons per year. YTM is the i that makes the price equal what the bond sells for, multiplied back to an annual rate. There is no algebraic solution for i, so it is found numerically. These are the standard bond-pricing formulas in textbooks such as Berk and DeMarzo, Corporate Finance.

Worked example: find the YTM from a price

A bond has a $1,000 face value, a 5% annual coupon and 10 years to maturity. It sells for $950. Because the price is below face value, the yield must be above the 5% coupon. Trying a few yields shows where $950 falls.

Price of the same bond at different yields.
YieldPriceCompared with face value
5.00%$1,000.00Par
5.50%$962.31Discount
5.67% (solved: 5.6687%)$950.00Discount
6.00%$926.40Discount

The calculator lands on 5.6687%. The common shortcut, (C + (F - P)/n) / ((F + P)/2), gives 5.64%, which is close but not what a financial calculator would show. The current yield, $50 / $950, is 5.26%, and it ignores the gain you collect as the price climbs back to $1,000, so it is a different number again.

Now price a bond from a yield. A bond with a 5% coupon paid semiannually and 10 years left, when the market asks 6%, has 20 coupons of $25 discounted at 3% each. The coupons are worth $371.94 and the face value $553.68, so the price is $925.61. Switch the calculator to price mode and pick semiannual coupons. The 6% yield is already filled in.

Par, premium and discount

When the coupon rate equals the yield, the bond sells at par. When the market yield is higher than the coupon, the price falls below par and the bond sells at a discount. When the market yield is lower, buyers pay a premium for the richer coupon. Price and yield move in opposite directions, and longer bonds move further for the same change in yield.

Bonds are quoted with a nominal annual yield compounded at the coupon frequency, so a 6% semiannual yield is 3% per half-year. The effective annual yield is (1.03)^2 - 1 = 6.09%. The calculator shows both so you can match whichever the problem asks for. Pricing here is on a coupon date, so the price is the clean price with no accrued interest.

Mistakes that cost points

  • Forgetting to halve the coupon and the yield, and double the years, for a semiannual bond.
  • Reporting the current yield as the YTM. They match only when the bond is priced at par.
  • Treating YTM as the return you will earn no matter what. It holds if you keep the bond to maturity, the issuer pays in full, and you reinvest coupons at the same yield.
  • Mixing a nominal yield with an effective one when comparing two bonds.
  • Typing the price as a percent of face value. Enter dollars here, so $950 and not 95.

Estimate for learning, not financial advice. Inputs stay in your browser and are not sent or stored.

Questions

Quick answers.

Why does a bond's price fall when yields rise?

The bond's coupons are fixed. If new bonds pay more, buyers will only take the old bond at a lower price that raises its effective yield to the market level.

What is the difference between current yield and YTM?

Current yield is the annual coupon divided by the price. It ignores the gain or loss you lock in by holding to maturity. YTM includes the coupons, the face value repaid and the time value of money.

Does this include accrued interest?

No. It assumes a purchase on a coupon date, so no interest has built up since the last payment. The result is the clean price.

Can I use it for a zero-coupon bond?

Yes. Set the coupon to 0. A $1,000 zero with 5 years left at a 6% yield is worth $747.26, and the yield solves back to exactly 6%.

Working through a problem like this one for a class? I tutor finance one-on-one on Zoom. Private sessions with Chi Odogwu are $250 an hour.

Book your first session
Book a session →