Skip to content
Toro FinanceCalculator Suite
Back to Calculator Hub
Semi-annual by default
Fixed Income

Bond Price, YTM, Duration & Convexity Calculator

Price a bond from its yield, or solve the yield from a market price. Then see exactly how much its price moves when rates shift — and how far the duration estimate drifts from reality on a big move.

Bond Terms

The contractual features, fixed at issue

$
%
Yrs

Market Input

Give it a yield to get a price, or a price to get the yield

%
days
0 days183 days

Drives accrued interest and the dirty price you actually pay.

Clean Price

$925.61

Discount to par

Yield to Maturity

6%

Current yield 5.4018%

Modified Duration

7.665

~7.67% price move per 100bp

Convexity

71.79

Curvature correction to duration

Price Detail

Clean price$925.61
Accrued interest$0.00
Dirty price (what you pay)$925.61
Coupon per period$25.00 × 20
Macaulay duration7.895 yrs

Interest Rate Shock

Exact reprice against the duration estimate, and duration plus convexity

ShiftActualDuration+ConvexityChange
-200bp$1,081.76$1,067.51$1,080.80+16.87%
-100bp$1,000.00$996.56$999.88+8.04%
-50bp$961.93$961.09$961.92+3.92%
-25bp$943.56$943.35$943.56+1.94%
0bp$925.61$925.61$925.610%
+25bp$908.08$907.88$908.08-1.89%
+50bp$890.95$890.14$890.97-3.74%
+100bp$857.88$854.66$857.99-7.32%
+200bp$796.15$783.72$797.00-13.99%

Duration alone is a straight line through a curve, so it understates gains when rates fall and overstates losses when they rise. Adding convexity closes most of that gap.

What this assumes

  • The bond trades below par because its coupon is below the market yield. The discount accretes to par by maturity, which is part of the total return.
  • A 100bp rise in yields moves this bond about 766.50% on duration alone. Compare the shock table: duration is a straight-line estimate, and convexity is the correction for the curve.
  • Assumes coupons are reinvested at the yield to maturity and no default, call or tax. YTM is a promised yield, not a guaranteed one.
Fixed Income8 min readSanguine Straphanger

Duration Is Not How Long You Hold the Bond

It is a sensitivity measure that happens to be quoted in years, and confusing the two is the standard beginner error.

Price and yield move in opposite directions

A bond's coupon is fixed at issue. If market rates rise above it, nobody will pay full price for your below-market income stream, so the price falls until the total return matches what is available elsewhere. That inverse relationship is the whole of bond mathematics.

Bond price

P = Σ (C/m) ÷ (1 + y/m)ᵗ + M ÷ (1 + y/m)ⁿ

  • C/m = coupon per period, m = periods per year
  • M = face value repaid at maturity
  • Solving this for y given P is YTM — no closed form, so it is done numerically

What duration really measures

Macaulay duration is the weighted average time to receive the bond's cash flows, weighted by present value. It comes out in years, which is where the confusion starts.

Modified duration is the number that matters: the approximate percentage price change for a one percentage point change in yield. A modified duration of 7.8 means a 100bp rise in rates costs roughly 7.8% of the price.

A useful sanity check: for a zero-coupon bond, Macaulay duration equals maturity exactly, because there is only one cash flow. Set the coupon to 0% above and confirm it. Any coupon at all pulls duration below maturity, since some money arrives earlier.

Why convexity exists

The price/yield relationship is a curve, and duration is the straight line tangent to it. For small moves the line is close enough. For large ones it drifts, and it drifts in a direction that is systematically favourable to the bondholder.

Second-order price change

ΔP/P ≈ −D* × Δy + ½ × C × (Δy)²

  • D* = modified duration (first-order, the straight line)
  • C = convexity (second-order, the curve)
  • The convexity term is always positive for a plain bond

Because the correction is positive in both directions, positive convexity means you gain slightly more when rates fall than you lose when they rise by the same amount. Look at the ±200bp rows in the shock table: duration alone materially understates the gain, and adding convexity closes almost all of the error.

Clean price, dirty price and what you actually pay

Bonds are quoted at the clean price, excluding interest that has accrued since the last coupon. What settles is the dirty price, clean plus accrued — because the seller is owed the interest earned during their holding period.

Quoting cleanly avoids a sawtooth pattern in the price chart that would otherwise reset at every coupon date and obscure genuine market moves.

Frequently Asked Questions & Quantitative Reference

Current yield is just the annual coupon divided by the price — it ignores whether you bought at a discount or premium and what happens at maturity. YTM includes the pull to par, so a discount bond has a YTM above its current yield and a premium bond below. YTM is the meaningful number.
Disclaimer

Educational tool only. This is not personalised financial, investment, tax or legal advice, and the author is not a licensed adviser. Figures are estimates based on the assumptions you enter. Consult a qualified professional before acting.