Bond Duration & Convexity Calculator
Compute a bond’s price, Macaulay duration, modified duration, and convexity from its coupon, yield to maturity, and term.
Result
- Bond price$1,000.00
- Macaulay duration8.108 years
- Modified duration7.722 years
- Convexity74.998
- Est. price change for +1% yield29.78%
- Coupons per year1
Step-by-step
- Discount each coupon and the final principal at the per-period yield to get price = $1,000.00.
- Macaulay duration = time-weighted average of cash-flow present values = 8.108 years; modified = Mac ÷ (1+y/m) = 7.722.
- Convexity = 74.998. For a +1% yield change, ΔP ≈ −D·Δy + ½·C·Δy² = 29.78%.
How to use this calculator
- Enter the face value, coupon rate, yield to maturity, and years to maturity.
- Choose the coupon frequency (annual, semiannual, quarterly).
- Read the bond price, Macaulay and modified duration, and convexity.
- Use modified duration and convexity to estimate price moves for yield changes.
About this calculator
Duration and convexity describe how a bond’s price responds to interest-rate changes. This calculator first prices the bond by discounting every coupon and the final principal at the yield to maturity. Macaulay duration is the present-value-weighted average time until you receive the bond’s cash flows, in years. Modified duration adjusts that into a sensitivity: it estimates the percentage price change for a 1% change in yield (a modified duration of 7 means roughly a 7% price drop if yields rise 1%). Because the price-yield relationship is curved rather than straight, duration alone overstates losses and understates gains for large moves; convexity is the second-order correction that captures that curvature. Together, the linear duration term plus the convexity term give an accurate estimate of price changes. The tool supports annual, semiannual, or quarterly coupons.
How it works — the formula
Price = Σ CFₜ / (1 + y/m)^t
Macaulay D = [Σ t · PV(CFₜ) / Price] / m (years)
Modified D = Macaulay / (1 + y/m)
Convexity = [Σ t(t+1)·CFₜ/(1+y/m)^(t+2) / Price] / m²Cash flows are discounted to price; duration is their time-weighted average; convexity is the second moment that captures price-curve bending.
Worked examples
- Inputs:
- face=1000, coupon=5, ytm=5, years=10, freq=1
- Output:
- price $1,000, Mac 8.108, Mod 7.722, convexity 75.0
- Inputs:
- face=1000, coupon=6, ytm=5, years=10, freq=1
- Output:
- price $1,077.22, Mod ~7.52
- Inputs:
- face=1000, coupon=0, ytm=5, years=10, freq=1
- Output:
- duration ≈ 10 (all cash at end)
Limitations
- Flat yield curve assumed; no term-structure modeling.
- No embedded options (callable/putable bonds need effective duration).
- Convexity is annualized via the period-frequency adjustment.
Standard fixed-coupon analytics; not investment advice.