How to Calculate Convexity: Formula and Worked Example

To calculate bond convexity, sum each cash flow’s present value multiplied by its time weighting t × (t + 1), then divide that sum by the bond’s price times (1 + y)². The result measures how much the bond’s price-yield relationship curves, and it corrects the straight-line estimate that duration alone produces. The steps below walk through the inputs, the formula, a full numerical example, and the adjustments you need when the bond pays more than once a year or carries an embedded option.

Inputs You Need Before You Start

Four numbers drive the calculation, and all of them appear in a bond’s offering documents or on any trading platform:

  • Face value: the principal the issuer repays at maturity, almost always $1,000 for corporate and municipal bonds.
  • Coupon rate: the annual interest rate paid on face value. A 5% coupon on a $1,000 bond pays $50 per year.
  • Yield to maturity: the discount rate that equates all future cash flows to the current market price. It functions as the bond’s internal rate of return if held to maturity.
  • Market price: what the bond trades for today.1FINRA. Bonds

You also need the payment frequency. Most U.S. Treasury notes and bonds pay interest every six months, and most corporate bonds follow the same convention.2TreasuryDirect. Understanding Pricing and Interest Rates Frequency matters when you annualize the final result.

The Formula

For a plain bond with fixed cash flows:

Convexity = [Σ (t × (t + 1) × PV of cash flow at time t)] ÷ [Price × (1 + y)²]

Each term does specific work:

  • t is the period number when a cash flow arrives (1, 2, 3, and so on through the final period).
  • t × (t + 1) is the time weighting. It grows quickly as t increases, which is why distant cash flows contribute far more to convexity than near-term ones.
  • PV of cash flow is the payment received at time t discounted back to today at the yield: CF ÷ (1 + y)^t.
  • Price is the bond’s current market price.
  • (1 + y)² in the denominator standardizes the result across different yield levels.

The numerator sums each discounted cash flow multiplied by its time-weighting factor across every period. The denominator anchors the result to price and yield. The output is a unit-less number that becomes useful once you plug it into the price-change formula further down.

Worked Example: Three-Year Bond at Par

Take a bond with these terms:

  • Face value: $1,000
  • Annual coupon: 5% ($50 per year)
  • Yield to maturity: 5%
  • Maturity: 3 years
  • Price: $1,000 (at par, because the coupon equals the yield)

Step 1: List Each Cash Flow

The bond pays $50 at the end of year 1, $50 at the end of year 2, and $1,050 at the end of year 3 (the final coupon plus the return of principal).

Step 2: Discount Each Cash Flow to Present Value

  • Year 1: $50 ÷ (1.05)^1 = $47.62
  • Year 2: $50 ÷ (1.05)^2 = $45.35
  • Year 3: $1,050 ÷ (1.05)^3 = $907.03

The present values add to $1,000.00, confirming the bond is priced at par.

Step 3: Multiply Each Present Value by t × (t + 1)

  • Year 1: 1 × 2 = 2 → 2 × $47.62 = $95.24
  • Year 2: 2 × 3 = 6 → 6 × $45.35 = $272.11
  • Year 3: 3 × 4 = 12 → 12 × $907.03 = $10,884.35

Year 3 dominates. The weighting factor jumps from 2 to 12, and the cash flow itself is much larger because it includes principal. Distant, large payments are what drive convexity higher.

Step 4: Sum the Weighted Values

$95.24 + $272.11 + $10,884.35 = $11,251.70. That is the numerator.

Step 5: Calculate the Denominator

Price × (1 + y)² = $1,000 × (1.05)² = $1,000 × 1.1025 = $1,102.50

Step 6: Divide

$11,251.70 ÷ $1,102.50 = 10.21

The convexity of this three-year, 5% annual-pay bond is approximately 10.21.

Adjusting for Semi-Annual or Quarterly Payments

The example above uses annual coupons, which keeps the math clean but does not match most real bonds. When you run the formula using semi-annual periods, the raw result is in semi-annual units and needs converting to an annual figure so it is comparable across bonds with different schedules.

Divide the raw periodic convexity by the square of the number of coupon periods per year. For a semi-annual bond, divide by 4 (2² = 4). For a quarterly bond, divide by 16 (4² = 16). The squaring is necessary because convexity is a second-order measure. Skip this step and the bond looks more sensitive to rate changes than it actually is on an annual basis.

Quick check: if you compute convexity for a semi-annual version of the example bond using semi-annual periods and get a raw figure of 40.84, the annualized convexity is 40.84 ÷ 4 = 10.21, matching the annual-pay result.

Using Convexity to Estimate a Price Change

Convexity earns its keep as an add-on to duration. Duration alone gives you a linear approximation of how much a bond’s price will move when yields change. Convexity corrects that approximation for the curve. The combined formula:

Percentage price change ≈ (−Modified Duration × Δy) + (½ × Convexity × Δy²)

Modified duration equals Macaulay duration divided by (1 + y/n), where n is the number of coupon periods per year. For the three-year bond above, the Macaulay duration works out to about 2.86 years, and dividing by 1.05 gives a modified duration of roughly 2.72.

Suppose yields rise by 1 percentage point (Δy = 0.01):

  • Duration effect: −2.72 × 0.01 = −0.0272, or about −2.72%
  • Convexity effect: 0.5 × 10.21 × (0.01)² = 0.00051, or about +0.05%
  • Total estimated price change: −2.72% + 0.05% = −2.67%

The convexity adjustment is small here because a 1% move on a short-maturity bond does not generate much curvature error. For a 30-year bond with convexity in the hundreds, the correction can be worth several percentage points and makes the difference between a useful estimate and a misleading one. In calm markets where yields shift by 10 or 20 basis points, duration alone is usually close enough.

What Makes Convexity Larger or Smaller

Three factors control the size of the number, and knowing them helps you gauge convexity before running the formula:

  • Maturity: longer bonds have higher convexity. The t × (t + 1) weighting grows rapidly, so a 30-year bond’s distant cash flows add far more curvature than anything a 3-year bond can produce.
  • Coupon rate: lower coupons increase convexity. A zero-coupon bond concentrates all of its cash flow at maturity, maximizing the time-weighted contribution. A high-coupon bond spreads cash flows more evenly across periods, pulling convexity down.
  • Yield level: lower yields increase convexity. When yields are low, each basis-point drop has a bigger price impact than the same move at higher yield levels, steepening the price-yield curve.

These work together. A long-maturity, low-coupon bond in a low-yield environment carries the most convexity. That is why 30-year zero-coupon Treasury STRIPS are among the most convex instruments in the market. A short-maturity, high-coupon bond at a high yield sits at the opposite end.

When the Standard Formula Doesn’t Apply

The formula assumes fixed cash flows. That assumption breaks for callable bonds, putable bonds, and mortgage-backed securities, where cash flows shift depending on where rates go. A callable bond’s price flattens out as yields fall because the market prices in the growing likelihood the issuer will redeem the bond early.3Vanguard Research. Negative Convexity in Municipal Bonds – The New Rate Regime and Active Management Mortgage-backed securities extend or shorten as borrowers refinance or hold onto below-market loans.4DWS. Convexity and Prepayment Risk Running the standard formula on these instruments overstates the protection convexity provides and can even produce a positive number when the true value is negative.

For these bonds, use effective convexity, which relies on a simulation approach rather than a closed-form formula. Price the bond under three scenarios:

  • P₀: the current price
  • P₊: the price if yields rise by a small amount (say, 25 basis points)
  • P₋: the price if yields fall by the same amount

Then:

Effective Convexity = (P₊ + P₋ − 2P₀) ÷ (P₀ × Δy²)

Each of the three prices has to come from an option-adjusted model that accounts for how the embedded option reshapes cash flows at different rate levels. The result can turn negative when the embedded call option’s value is rising fast enough to dominate the underlying bond’s normal positive convexity. Putable bonds work the other way: the put floors the price and preserves positive convexity across a wider range of yield moves.

If your portfolio mixes plain bonds with callable or mortgage-backed securities, calculate effective convexity separately for the option-embedded pieces and combine the results at the portfolio level rather than running one formula across the whole book.