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:
Macaulay duration: the present-value–weighted average time to receive the bond’s cash flows.
Modified duration: a scaled version of Macaulay duration that approximates the percentage price change for a small change in yield.
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:
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.
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
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.
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).
Fill in the bond details to see duration.
Embed this calculator
Copy and paste the HTML below to add the Bond Duration and Convexity Calculator - Measure Interest Rate Risk to your website.
Calculate a bond’s yield to call using price, coupon rate, call price, years to call, face value, and payment frequency. Analyze callable bond returns and re...
yield to call calculatorcallable bond yieldfinance
Calculate a bond's price from coupon rate, yield to maturity, and payment frequency while reviewing sample scenarios and linking to deeper fixed income tools.
bond price calculatoryield to maturityfixed income investment
Build a bond ladder in seconds. Split an investment across rungs, view yearly coupon income and principal paybacks, and export a clear cash-flow table.
bond ladder plannerfixed income strategybond investment
Estimate the expected number of random draws needed to collect all coupon types in the classic coupon collector problem, and see how this model applies to co...
coupon collector problem calculatorexpected drawsprobability