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.
30-year long bond: The long end, where the duration-only rule breaks down fastest and the shipped default on this page.
Advanced: callable, tolerance, day count 3
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.
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.