Finance and Budgeting

Bond Duration and Convexity Calculator

Enter the face value, coupon, yield and years to maturity to see how sensitive the price is to a change in yield.

Your numbers

A nominal annual yield, compounded as often as coupons are paid.

Years times payments per year must be a whole number.

In percentage points, for example 1 for one point up and down.

Result

Modified duration

7.67 years

Price $925.61, Macaulay duration 7.89 years, convexity 71.79.

Price
$925.61
Priced at
discount
Macaulay duration (years)
7.895
Modified duration (years)
7.665
Convexity (years squared)
71.7854
Coupon payment each period
$25.00
Coupon periods
20
Price if yield rises
$857.88
Price if yield falls
$1,000.00

Estimated and actual price change

Yield moveDuration onlyDuration and convexityFull repricing
Up 1 points($70.95)($67.63)($67.74)
Down 1 points$70.95$74.27$74.39
How this was calculated
  1. Price = sum of each cash flow / (1 + yield / 2)^k, over 20 periods.
  2. Macaulay duration = the average time to the cash flows, weighted by their present values, in years. Modified duration = Macaulay duration / (1 + yield / coupons per year).
  3. Price change is about -modified duration x price x yield change + 1/2 x convexity x price x (yield change)^2. The last column reprices the bond at the new yield to show how close the estimate is.
  • This treats the bond as a plain bond with fixed coupons, no call features and a coupon date today. It does not include accrued interest or taxes and is not investment advice.

Calculated using SumPanda.com · https://sumpanda.com/bond-duration-convexity-calculator/

Results are estimates for general information. Verify important figures before relying on them.

Next step

How to use the bond duration and convexity calculator

  1. Enter the face value, the annual coupon rate, the yield to maturity and the years to maturity.
  2. Choose how many coupons per year the bond pays. Years times coupons per year must be a whole number.
  3. Set the yield change to test, in percentage points. The page tests a rise and a fall of that size.
  4. Read the price, Macaulay and modified duration and convexity. Then compare the estimated price changes with the full repricing in the table.

Formula

Price = sum of cash flow k / (1 + y / m)^k, for k = 1 to n

Macaulay duration = sum of (k / m) x PV of cash flow k, divided by the price

Modified duration = Macaulay duration / (1 + y / m)

Convexity = sum of k x (k + 1) x PV of cash flow k / (price x (1 + y / m)^2 x m^2)

Price change is about -modified duration x price x dy + 1/2 x convexity x price x dy^2

Here y is the annual yield, m is the number of coupons per year and n is m times the years. The last cash flow includes the face value.

A 10 year, 5% coupon bond at a 6% yield

A bond with a $1,000 face value, a 5% coupon paid twice a year, 10 years to maturity and a 6% yield has 20 coupons of $25. Its price is $925.61, so it trades at a discount. The Macaulay duration is 7.895 years, the modified duration 7.665 years and the convexity 71.79.

For a one point rise in yield the duration estimate is -$70.95 and adding convexity gives -$67.63. Repricing the bond at 7% gives $857.88, a change of -$67.74. For a one point fall the full repricing gives $1,000.00, a change of +$74.39 against a duration and convexity estimate of +$74.27. Duration alone misses by about $3.21 for the rise and $3.44 for the fall, and convexity closes most of that gap.

What duration tells you

Duration measures how sensitive a bond price is to a change in yield. Modified duration of 7.665 means that, for a small move, the price changes by about 7.665% for each 1 point change in yield, in the opposite direction. It also acts as a weighted average time until the bond pays, which is the Macaulay figure.

A longer maturity and a lower coupon both raise duration, since more of the value arrives late. A bond held to maturity returns its face value no matter what yields do, so duration matters most if you might sell before then. For a yield from a price, use the Bond Yield Calculator.

Why convexity helps

Duration is a straight line estimate, but the price curve bends upward. When yields fall, the price rises by more than the line says, and when yields rise it falls by less. Convexity measures that bend, and adding its term moves the estimate closer to a full repricing, especially for larger yield moves.

The full repricing column is always right for the bond as entered. Use the estimates to understand the behavior and check your reading, and use the Present Value Calculator or the Time Value of Money Solver for the underlying discounting.

Assumptions and limits

  • The bond pays fixed coupons on a regular schedule and is valued on a coupon date, so there is no accrued interest.
  • The yield is a nominal annual rate compounded as often as the coupons are paid.
  • There are no call or put options, credit changes, taxes or trading costs.
  • Convexity is stated in years squared, and price changes are estimates for a parallel shift in yield.

Formulas reviewed October 10, 2026. See the calculation methodology for how SumPanda rounds, tests and sources its formulas.

Frequently asked questions

What is the difference between Macaulay and modified duration?

Macaulay duration is the weighted average time to the bond's cash flows, in years. Modified duration divides it by one plus the yield per period and tells you the approximate percent change in price for a 1 point change in yield.

Why is the bond priced below face value?

When the yield you require is above the coupon rate, the fixed coupons are less attractive and the price falls below face value to make up the difference. When the yield is below the coupon the price is above face value.

Can I use a year fraction such as 7.5 years?

Yes, as long as years times coupons per year is a whole number. For example 7.5 years with two coupons a year has 15 coupons. The tool does not model a bond between coupon dates.

Why does the full repricing differ from the estimate?

Duration and convexity are the first two terms of a series that describes the price curve. A bigger yield move needs more terms, so the estimate drifts from the exact answer as the move grows.