Bond Duration and Convexity Calculator

JJ Ben-Joseph headshot JJ Ben-Joseph

What duration and convexity measure

Duration summarizes a bond’s interest-rate sensitivity. It is commonly reported in years, but it is built from cash flows that occur in discrete coupon periods. The most common definitions are:

Convexity captures the curvature of the price–yield relationship. Adding convexity to a duration-based estimate improves accuracy when yield changes are not tiny.

Inputs (and unit conventions)

  • Face value is the principal repaid at maturity.
  • Annual coupon (%) is the stated annual rate; the coupon per period is Face × coupon / payments per year.
  • Yield to maturity (%) is treated as a nominal annual yield compounded at the coupon frequency (i.e., yield per period = annual yield / payments per year).
  • Years to maturity and payments per year determine the number of coupon periods n.
  • Yield shock (%) is used only for the price-impact approximation. It is interpreted as an annual yield change. The calculator converts it to a decimal (e.g., 1% → 0.01) and applies it consistently in the estimate.

Core formulas used

Let:

  • F = face value
  • c = annual coupon rate (decimal)
  • m = payments per year
  • T = years to maturity
  • n = total payments = T × m
  • y = yield per period = (annual YTM as decimal) / m
  • t = period index (1…n)
  • CFt = cash flow in period t (coupon each period; final period includes face value)

Bond price (present value) is:

P = t=1 n CF t (1+y) t

Macaulay duration in periods is the PV-weighted average of t:

DMac,periods = (∑ t × PV(CFt)) / P

Converted to years:

DMac,years = DMac,periods / m

Modified duration (reported in years here) is:

DMod = DMac,years / (1 + y)

Convexity (one common discrete-compounding form) is:

Cx = [∑ t(t+1) × PV(CFt)] / [P × (1 + y)2]

Estimating the price impact of a yield shock

For a yield change Δy (in decimal terms, e.g., 1% = 0.01), a Taylor approximation for percentage price change is:

ΔP / P ≈ −DMod × Δy + ½ × Cx × (Δy)2

Interpretation: positive Δy (yields rise) tends to reduce price; convexity offsets some of that decline and boosts gains when yields fall.

How to interpret the results

  • Macaulay duration (years): the “average timing” of discounted cash flows. Higher means cash flows arrive later, typically implying more rate sensitivity.
  • Modified duration: a first-order sensitivity. Example reading: DMod = 6 means a ~6% price drop for a +1% yield move (all else equal, small move assumption).
  • Convexity: the second-order adjustment. Two bonds can share similar modified duration but differ in convexity; the higher-convexity bond generally performs better when rates move materially in either direction.

Worked example

Suppose:

  • Face value F = $1,000
  • Annual coupon = 5% (so $50 per year)
  • Payments per year m = 2 (semiannual coupons of $25)
  • Years to maturity T = 8 (so n = 16 periods)
  • YTM = 4.2% (yield per period y = 0.042 / 2 = 0.021)

The calculator discounts each $25 coupon and the final ($25 + $1,000) redemption at (1 + 0.021)t, sums them to get price P, and then forms PV weights to compute duration and convexity.

If you also enter a yield shock of +1.00% (Δy = 0.01), the tool uses:

ΔP / P ≈ −DMod·0.01 + ½·Cx·(0.01)2

This gives a quick estimate of the percentage price change without fully repricing the bond at the shocked yield. For larger shocks, this approximation is usually better than duration-only, but still not exact.

Assumptions and limitations (important)

  • Fixed-coupon, plain-vanilla bond: no call/put/convertible features, sinking funds, step-up coupons, or other embedded options. Optionable bonds have effective duration/convexity that can differ materially.
  • Equal spacing & integer periods: cash flows are assumed to occur exactly every 1/m years. Irregular first/last coupons are not modeled.
  • No settlement date / accrued interest: results are based on a “theoretical” present value from time 0. Market quotes typically depend on settlement conventions and accrued interest (clean vs dirty price).
  • Simple compounding convention: YTM is treated as nominal annual yield compounded at the coupon frequency (y = YTM/m). Different compounding or continuous-compounding definitions will produce different values.
  • No day-count conventions: ACT/ACT, 30/360, ACT/360, etc. are not applied; timing is simplified to uniform periods.
  • Approximation accuracy: the duration+convexity price-impact formula is a Taylor approximation and is most reliable for small-to-moderate yield changes; large moves require full repricing at the new yield.
  • Informational use: outputs are educational estimates and not investment advice; consult your data source/broker/terminal for convention-matched analytics.

Comparison table: duration vs convexity (what each adds)

Metric What it measures Typical unit Best use
Macaulay duration PV-weighted average timing of cash flows Years Comparing cash-flow timing; linking to modified duration
Modified duration First-order price sensitivity to yield % price change per 1.00 (i.e., 100%) yield change; commonly interpreted per 1% Quick small-move price impact estimate
Convexity Second-order curvature of price–yield Depends on convention (often “per yield-squared”) Improving estimates for non-trivial yield moves; comparing curvature across bonds

References (definitions)

These are standard fixed-income definitions commonly taught in bond math and professional finance curricula (e.g., CFA Program fixed-income readings and widely used bond mathematics texts).

Duration assumes equal spacing between coupon payments. Enter zero in the yield change field if you only need duration and convexity.

Fill in the bond details to see duration.

Duration Drift Mini-Game

Keep portfolio tilt balanced through yield shocks—catch cushion orbs and dodge convexity cracks.

Click to Play

Hold price impact near neutral before volatility cascades.

Best score: 0

Score0
Best0
Impact0.00%
Target band±0.75%
Time85.0s

Tap/drag or use ←/→ to move your hedge bar.