Bond YTM Calculator

Yield to Maturity, clean/dirty price, accrued interest, Macaulay & modified duration, and convexity for fixed-income bonds. Semi-annual and annual conventions supported.

Bond Inputs

$
%
$
Market price excluding accrued interest. For a $1,000 face bond quoted at "95", enter 950.

Accrued Interest (optional)

Yield to Maturity
—
USD
Clean Price
—
Dirty Price
—
Accrued Interest
—
Current Yield
—
Annual Coupon
—
Macaulay Duration
—
Modified Duration
—
Convexity
—

What Is Yield to Maturity?

Yield to Maturity (YTM) is the single annualized discount rate that equates the present value of a bond's remaining cash flows to its current price. Every fixed-income analyst builds from this number. Formally:

Price = Σ [C / (1 + y/m)t·m] + F / (1 + y/m)n·m

Where C is the coupon per period, F is face value, m is coupons per year, n is years to maturity, and y is the annualized YTM we're solving for. Because YTM appears inside the exponent, the equation has no closed-form solution — this calculator uses Newton-Raphson iteration.

Clean Price vs Dirty Price

Bond quotes on exchanges (like Bloomberg or TRACE) are clean prices — stripped of accrued coupon interest. But what you actually pay when settling a trade is the dirty price:

Dirty Price = Clean Price + Accrued Interest

Accrued interest accumulates linearly from the last coupon date:

AI = (Coupon per period) × (days since last coupon) / (days in period)

For US Treasury bonds, the convention is Actual/Actual. For corporate bonds, typically 30/360. Enter the day counts manually above for custom conventions.

Current Yield vs YTM

Current yield is a rough approximation — just annual coupon / clean price. It ignores capital gains or losses from buying at a premium or discount to par. For a bond trading below par, YTM > current yield (you gain capital as price pulls to 100). For a premium bond, YTM < current yield.

Duration — Interest Rate Sensitivity

Macaulay Duration is the weighted-average time until you receive the bond's cash flows, measured in years. It's a natural-time version of the bond's "effective maturity."

Modified Duration is what traders use day to day: it approximates the percentage price change for a small yield change.

Modified Duration = Macaulay Duration / (1 + y/m)

ΔP/P ≈ −Modified Duration × Δy

A mod duration of 8 means: if yields rise by 100bp (1%), the bond price falls ~8%. For risk management, long-duration bonds are dangerous in a rising-rate environment.

Convexity — The Second-Order Correction

Duration is a linear approximation. For large yield moves, the price-yield curve is noticeably convex, which means:

  • When yields fall, the price rises more than duration predicts.
  • When yields rise, the price falls less than duration predicts.

Convexity captures this. Full second-order approximation:

ΔP/P ≈ −Dmod·Δy + 0.5·C·(Δy)²

High convexity is bondholder-friendly. All else equal, prefer higher convexity per unit of duration.

Worked Example

A 10-year Treasury with $1,000 face, 5% semi-annual coupon, trading at $950 (clean). This calculator returns:

  • YTM ≈ 5.67%
  • Current Yield ≈ 5.26%
  • Modified Duration ≈ 7.6 years
  • Convexity ≈ 70

A 100bp rate rise would cost roughly 7.6% in price — offset by about 0.35% from convexity — netting a ~7.25% loss.

Regional Notes

  • US Treasuries & corporates: semi-annual coupons, Actual/Actual (for Treasuries) or 30/360.
  • European sovereigns (Bunds, OATs, Gilts): annual coupons standard.
  • Indonesian ORI / SBR / Sukuk: monthly coupons are common. Use frequency = 12.
  • Chinese CGBs: semi-annual for some, annual for others — check the term sheet.
  • Japanese JGBs: semi-annual.

Limitations

This calculator assumes a single flat yield curve and no default risk. For credit bonds, use a spread over the risk-free curve to get Z-spread or OAS. For callable bonds, use effective duration (not modified). For bond portfolios with multiple issues, composite duration is weight-averaged — see the VaRisk Kancil platform for portfolio-level FRTB bond analytics.

Related Tools