Yield to Maturity (YTM) Calculator

Solve for yield to maturity (YTM) on any coupon bond.

Money YTM + EAR Premium / par / discount
Rate this calculator · 5.0 (1)

Yield to maturity (YTM)

Newton-Raphson solver · semi-annual / annual / monthly coupons

Instructions — Yield to Maturity (YTM) Calculator

1

Enter the bond terms

Face value is the par amount printed on the bond (typically $1,000 for US corporates). Annual coupon rate is the stated interest rate. The defaults assume a 10-year $1,000 bond paying 5% semi-annually, priced at $950.

2

Set the current price and term

Use the bond market price you would actually pay today, not par. Years to maturity is the time from today to the maturity date, not the original tenor. Fractional years are fine.

3

Read the YTM

Headline YTM is nominal annualised (the convention used in US Treasury and corporate quotes). The effective annual yield (EAR) compounds the per-period rate. Current yield ignores capital gain or loss at maturity.

Premium / par / discount: price above par means YTM is below the coupon; price below par means YTM is above the coupon.
Convention: US bond quotes use semi-annual coupons and a nominal annualised YTM. The solver uses Newton-Raphson iteration on the standard bond pricing equation.

Formulas

The yield to maturity is the discount rate that makes the present value of all future cash flows equal to the current price. There is no closed-form solution for n > 1; the calculator uses Newton-Raphson iteration.

Bond pricing equation
$$ P = \sum_{t=1}^{n} \frac{C}{(1+y)^t} + \frac{F}{(1+y)^n} $$
P = price, C = coupon per period, F = face value, n = total periods, y = yield per period. Solve for y.
Approximate YTM formula
$$ y_{approx} = \frac{C + (F-P)/n}{(F+P)/2} $$
A first-order estimate used as the starting guess for iteration. Accurate to about 0.1 percentage points for bonds trading close to par.
Current yield
$$ \text{CY} = \frac{C_{annual}}{P} $$
Annual coupon divided by price. Ignores capital gain/loss and time value. Always between coupon rate and YTM.
Semi-annual convention
$$ P = \sum_{t=1}^{2n} \frac{C/2}{(1+y/2)^t} + \frac{F}{(1+y/2)^{2n}} $$
US Treasury and most corporate bonds pay coupons twice a year. The reported YTM is then 2 × the per-period rate.
Effective annual yield
$$ \text{EAR} = (1 + y/m)^{m} - 1 $$
Converts nominal YTM (the quoted figure) into the true annual rate. A 5% nominal YTM with semi-annual compounding is 5.0625% EAR.
Zero-coupon shortcut
$$ y = \left(\frac{F}{P}\right)^{1/n} - 1 $$
For zero-coupon bonds the YTM has a closed form, since the only cash flow is at maturity. $600 today, $1,000 in 10 years = 5.24% YTM.

Reference

YTM for a 10-year, $1,000 par bond paying a 5% semi-annual coupon
PriceStatusYTM (nominal)Current yield
$1,100Premium3.78%4.55%
$1,050Premium4.37%4.76%
$1,000Par5.00%5.00%
$975Discount5.33%5.13%
$950Discount5.67%5.26%
$900Discount6.37%5.56%
$850Discount7.09%5.88%
$800Discount7.85%6.25%

US Treasury benchmark yields (reference levels)

Indicative Treasury yields used as the risk-free benchmark for bond pricing. Actual yields move daily.

US Treasury (indicative)
TenorTypical range
3-month T-bill4.5 - 5.5%
2-year note4.0 - 5.0%
5-year note4.0 - 4.5%
10-year note4.0 - 4.5%
30-year bond4.3 - 4.8%
Corporate spreads (over Treasury)
RatingSpread (bps)
AAA30 - 60
AA50 - 90
A80 - 140
BBB140 - 220
BB (high yield)250 - 400
B400 - 600
CCC and below700+

Note: corporate YTM = Treasury yield + credit spread. A BBB 10-year bond at a 180 bps spread over a 4.20% 10-year Treasury would have a YTM around 6.0%.

Article — Yield to Maturity (YTM) Calculator

Yield to maturity calculator: solve for the total return on a bond

Yield to maturity is the discount rate that sets the present value of a bond's coupons and final principal equal to its current price. A 10-year $1,000 bond paying a 5% semi-annual coupon, bought today at $950, has a YTM of about 5.67% — the coupon plus the gradual recovery of the $50 discount. YTM is the bond market's version of the internal rate of return, and it is the single most-quoted yield in fixed income.

The calculator solves for YTM with Newton-Raphson iteration. Below: where the formula comes from, how the three common yields differ, and why headline YTM rarely matches the return investors actually realise.

What is yield to maturity?

Yield to maturity is the annualised return an investor earns on a bond bought at today's market price and held all the way to maturity, assuming every coupon is reinvested at the same rate. It is one number that combines coupon income, the capital gain or loss between price and par, and the time value of money.

For a bond at par, YTM equals the coupon rate. Elsewhere they diverge. A 5% coupon bond at $1,050 has YTM below 5% (overpaying by $50, only $1,000 back at maturity). The same bond at $950 yields above 5% (the $50 discount is recovered over the life).

Did you know

The US Treasury market quotes prices and yields on a semi-annual coupon basis by convention. A "4.50% 10-year Treasury" pays $22.50 every six months on a $1,000 face value bond, not $45 once a year. That convention matters: a 5% nominal YTM with semi-annual compounding is 5.0625% as an effective annual rate.

The yield to maturity formula

The bond price equation states that price equals the present value of all coupon payments plus the present value of the face amount:

YTM equation (semi-annual convention)
P = sum[ C/2 / (1+y/2)^t ] + F / (1+y/2)^(2n)
P = market price F = face value
C = annual coupon $ y = YTM (annualised)

That equation has no closed-form solution beyond one period — y appears inside an exponent and a geometric sum simultaneously. The calculator iterates: pick a guess, compute the implied price, adjust y until the implied price matches the market price.

An approximation accurate to about 0.1 percentage points for bonds near par: YTM ≈ (annual coupon + (face − price) / years) ÷ ((face + price) / 2). For the default $950 bond, (50 + 5) / 975 = 5.64%, close to the iterative 5.67%.

YTM vs coupon rate vs current yield

Three numbers describe the income from a bond, and they are routinely confused. The coupon rate is the stated interest, fixed at issuance. The current yield is the annual coupon divided by today's price. YTM is the total annualised return until maturity. For a discount bond, coupon rate < current yield < YTM. For a premium bond, the order reverses.

$
Coupon rate
5.00%
Fixed at issue
%
Current yield
5.26%
$50 / $950

YTM for the same bond is 5.67%. The 0.41 pp gap is the annualised value of recovering the $50 discount over 10 years. Confusing current yield with YTM is the most common error in newsroom bond coverage.

Premium, par, and discount bonds

A bond's price relative to par puts it into one of three categories, each with a predictable yield ordering. The categories are not labels — they are arithmetic consequences of the bond pricing equation.

  • Premium bond: price > face. YTM < current yield < coupon rate. Buyer pays extra, loses some at maturity.
  • Par bond: price = face. YTM = current yield = coupon rate. The trivial case.
  • Discount bond: price < face. YTM > current yield > coupon rate. Buyer pays less, gains at maturity.
  • Zero-coupon bond: no coupons, only a final principal payment. YTM has a closed form: y = (F/P)^(1/n) − 1.
  • Why premiums exist: market yields have fallen since issuance, so the old high coupon is worth more than current rates.
  • Why discounts exist: market yields have risen since issuance, so the old low coupon needs a price discount to compete.

The Newton-Raphson YTM solver

The bond pricing equation is non-linear in y, so the calculator uses Newton-Raphson iteration. The method picks a starting estimate (the approximate-YTM formula above), computes the implied price at that yield, computes the derivative of price with respect to yield, and steps toward the true answer. Each iteration roughly doubles the number of correct digits.

Tip

For nearly all coupon bonds, the solver converges in three to six iterations to within a billionth of a dollar. The hard cases — deep premiums, very short tenors, or near-zero yields — sometimes need a smaller initial step. The implementation here caps at 200 iterations and falls back to a half-step if Newton overshoots.

The derivative used is the negative of modified duration times price — no coincidence, since duration is the percentage price change per percentage-point yield change.

YTM and interest rate risk

YTM tells you the return if rates do not move. Most of the time, they do. When market yields rise, bond prices fall — an existing 5% coupon bond becomes less attractive next to new bonds offering 6%, so its price must drop until its YTM matches the new market level. The mechanism is purely arithmetic, set by the same pricing equation that defines YTM.

Modified duration measures the sensitivity. A 10-year bond at par typically has duration around eight years — a 100 basis-point rise cuts the price by roughly 8%. A 2-year note moves about 1.9% for the same shock.

YTM is not a promise

YTM assumes you hold to maturity and reinvest every coupon at the same rate. Sell early and you may realise more or less depending on where rates have moved. Spend the coupons rather than reinvesting and your actual realised return drops below the headline YTM — sometimes substantially over a long holding period.

Assumptions and limits of YTM

YTM is a useful summary statistic, but it carries several baked-in assumptions worth keeping in mind. The bond is held to maturity, every coupon is reinvested at the YTM itself, and the issuer makes every payment in full and on time. None of those is guaranteed in practice.

For callable bonds, YTM understates risk. If rates fall, the issuer redeems early and the investor loses high-yield future coupons. Yield to call (YTC) and yield to worst (YTW) handle these cases. Mortgage-backed securities carry similar prepayment risk.

Common YTM mistakes

The most common error is annualisation confusion. US bond quotes use a nominal annual yield based on the per-period rate times the number of periods per year. So a semi-annual yield of 2.5% per period is quoted as "5%" YTM, not 5.0625%. Software that compounds the per-period rate into an effective annual yield will produce slightly different numbers. Both are correct; they answer different questions.

A second mistake is comparing YTMs across maturities without thinking about duration. A 30-year bond at 5% is far more rate-sensitive than a 2-year bond at 4.8%. The yield curve slopes up to price that risk. The third mistake is treating YTM as guaranteed when it is conditional on assumptions that rarely all hold.

FAQ

YTM is the annualised return you would earn if you bought a bond today at its market price and held it until maturity, assuming every coupon is reinvested at the same rate. It is the bond market equivalent of the internal rate of return (IRR) on the bond cash flows.
The coupon rate is fixed at issuance and never changes. The YTM moves with the market price of the bond. A 5% coupon bond bought at par yields 5%. The same bond bought at $950 yields more than 5% because you also pocket a $50 capital gain at maturity.
Because you pay less than $1,000 today but still receive $1,000 at maturity, plus all the coupons in between. That capital gain adds to total return. The deeper the discount, the higher the YTM. A bond priced at $850 with a 5% coupon and 10 years to maturity yields roughly 7.1%.
Only if every coupon you receive is reinvested at the same YTM until maturity. In practice rates change, so reinvestment income varies. The realised yield can be higher or lower than the YTM you saw at purchase.
More frequent compounding raises the effective annual yield slightly. A 5% nominal YTM with semi-annual coupons gives a 5.0625% effective annual yield; with monthly coupons it would be 5.116%. US bond quotes use the nominal (semi-annual) convention by default.
Yes, when a bond trades far above par and the coupon plus principal repayment cannot cover the price paid. Most observed cases were European sovereign and Japanese bonds during the 2014-2022 negative-rate period. The math still works — the iterative solver just returns a negative y.
Inverse and non-linear. When market yields rise, bond prices fall, and vice versa. The sensitivity is measured by duration. A 10-year bond loses roughly 8% of its price for every 100 basis-point rise in yield; a 2-year bond loses about 1.9% for the same move.
No. YTM assumes every coupon and the face value are paid in full and on time. The extra yield offered by riskier bonds over Treasuries (the credit spread) compensates for default risk — but YTM itself does not subtract for it.