Search runs in your browser, across every published page on this site.

Duration and convexity calculator

Enter a bond and a rate shock. This reports duration in years, DV01 in price per basis point, and convexity in years squared, then reprices the bond exactly at every shocked yield so the error in the rule of thumb is a number rather than a warning.

Worked example — On a 30-year, 4% coupon bond at 95, if yields rise 100bp: -$14,398. On $100,000 face value. The duration-only rule alone would have said -$16,175.

Try:

30-year long bond: The long end, where the duration-only rule breaks down fastest and the shipped default on this page.

If yields
By
Advanced: callable, tolerance, day count 3
Callable
Day-count convention
Current resultExact price change if yields rise 100 basis pointsExact price change if yields rise 100 basis points: -$14,398. the duration-only rule would have said you lost $16,175

On $100,000 face value. The straight-line rule is out by -1.777 per 100 of face, 187 basis points of price. Adding convexity cuts that to +0.163.

Macaulay duration17.393 yr
Modified duration17.027 yr
DV01 per 100 of face0.1618
Convexity408.5 yr²
Yield to maturity4.298%
Effective duration, ±25bp repricing17.038 yr

Where the rule stops being safe for this bond

The duration-only estimate misses by 1% of price once rates move about 72 basis points up, or 68 basis points down. Solved on your inputs, not a rule of thumb.

The error is not symmetric

Convexity is positive, so the true price is above the line in both directions. The linear rule overstates the loss when rates rise and understates the gain when they fall. Both errors flatter the downside and understate the upside, which is exactly backwards for anyone sizing risk.

Why effective duration is here

With no call the price-to-worst is the bond itself, so the bumped measure and the formula describe the same curve: 17.038 years from repricing against 17.027 from modified duration. The remainder is the curvature a ±25bp bump picks up, not a risk the formula missed. Turn the call on and a real gap can appear.

Every shocked price is a full repricing of the cashflows at the shifted yield, not a scaled estimate. On a callable bond those cashflows are the worst redemption's, held fixed across the table, so a large enough rally could make a different redemption the worst one than the row assumes. The shock is parallel: one yield moves, and this page does not model a curve twist, a spread change, or the option value of the call.

Duration, DV01, and convexity: formula and units

A page that prints convexity as a bare number with no unit has not told you enough to use it. Here is each measure with its formula and the unit it is actually reported in.

Measure Formula Unit
Macaulay duration Present-value-weighted average time to each cashflow Years
Modified duration Macaulay duration divided by one plus the periodic yield % price move per 1 percentage point yield move
DV01 Modified duration times price times 0.0001 Price per 100 of face, per basis point
Convexity Second-derivative term divided by the square of the coupon frequency Years squared

How much does 100 basis points move a bond's price?

On the default bond above, a 30-year, 4% coupon bond priced at 95, a 100 basis point rise in yield moves the price by -14.398 per 100 of face when repriced exactly. The duration-only estimate says -16.175, off by 187 basis points of price. Adding the convexity term narrows that to +0.163 of remaining error. On $100,000 of face value that exact move is -$14,398.

When does the duration-only shortcut stop being safe?

On this bond, a 30-year, 4% coupon at 95, a 1% price error arrives once yields rise about 72 basis points, or fall about 68 basis points. Solved for this bond, not asserted as a rule of thumb. A two-year note run through the same calculator does not cross that threshold inside a 1000 basis point move in either direction, which is the honest version of "duration is fine for short bonds."

What JMM thinks

Price is a convex function of yield, and duration is a straight line drawn through it at today's yield. The error runs the wrong way for risk management: it overstates the loss when rates rise and understates the gain when they fall, which makes a long bond look more dangerous on the way up and less rewarding on the way down than it is. Duration-only rules of thumb are safe at 25 basis points and dangerous at 300. If you are sizing a hedge, use the exact repricing chart and nothing else; the estimate line exists to show you what you would have gotten wrong.

What this does not model: the shock is parallel, one yield moves and the whole curve moves with it, so this says nothing about a steepening or a spread widening while Treasuries hold. No credit risk or default. A callable bond is priced to worst as a static measure, not an option-adjusted spread, so it ignores the value of the issuer's option. No taxes, no fees, no financing cost. To solve the yield itself, or price a call schedule date by date, use the bond yield calculator. Bills carry no coupons and their duration is simply their term, which the Treasury bill yield calculator handles instead.

The next question after this one

Bond yield calculatorCalculatorThe yield this page shocks, solved from a real price with accrued interest and the call schedule.Open next

All 130 calculatorsHow JMM sources and checks its numbersWhat stays free, and what early access would add

Early access

What Pro adds here

Key-rate durations, portfolio-level duration aggregation, and option-adjusted spread are Pro features. The launch list sends one email at launch.

One email at launch. No spam; unsubscribe or ask for deletion anytime. Address handling is covered by the privacy policy.