Articles

How do you calculate the convexity of a bond?

Duration is the slope of the price-yield curve; convexity is its bend, and it is worth having the formula and the Excel version to hand.

Convexity is the sum of t(t+1) times each discounted cash flow, divided by the price and by (1+y)2. For a 10-year 5 per cent annual-pay bond priced at par it comes to 75.00, which adds 0.37 per cent to the price change that modified duration predicts for a 100 basis point move. Duration alone says the bond loses 7.72 per cent; with convexity the estimate is 7.35 per cent, against an actual fall of 7.36 per cent.

Worked in full in The Credit Investor by Julian R. Sterling, with every figure reproduced in a free workbook.See the book on Amazon →

Why duration is not enough

Modified duration is the slope of the price-yield curve at today's yield. It treats the curve as a straight line, so it predicts the same move in both directions: 7.72 per cent up when yields fall 100 basis points, 7.72 per cent down when they rise. The real curve bends. The bond gains 8.11 per cent on the fall and loses only 7.36 per cent on the rise, an asymmetry of 0.75 points of price on a single 100 basis point step. Convexity measures that bend, and the second-order term of the Taylor expansion turns it into a price correction.

The bond and its assumptions

Illustrative plain-vanilla bond. Annual coupons, annual compounding.
InputValue
Face value100
Coupon, paid annually5.0%
Maturity, years10
Yield to maturity5.0%
Price100.00
Macaulay duration, years8.11
Modified duration7.72

Modified duration is Macaulay duration divided by (1 + y): 8.11 / 1.05 = 7.72. The method is set out in how to calculate the modified duration of a bond; convexity uses the same discounted cash flows with a different weight.

The calculation, step by step

Discount each cash flow, multiply it by t(t+1), and add the column. The last cash flow carries most of the weight because it is both the largest and the furthest out.

Convexity build-up, per 100 of face.
Year tCash flowPV at 5%t(t+1) × PV
15.004.769.5
25.004.5427.2
35.004.3251.8
45.004.1182.3
55.003.92117.5
65.003.73156.7
75.003.55199.0
85.003.38243.7
95.003.22290.1
10105.0064.467,090.7
Total100.008,268.5

Convexity = Σ t(t+1) × PV(CFt) / [P × (1+y)2]

= 8,268.5 / 100.00 / 1.1025 = 75.00

Price change ≈ −Dmod × Δy + ½ × Convexity × (Δy)2

For Δy = +0.01: −7.72 × 0.01 + 0.5 × 75.00 × 0.0001 = −7.72% + 0.37% = −7.35%

Excel has DURATION and MDURATION but no convexity function. With the PVs in C2:C11 and t in A2:A11: =SUMPRODUCT(A2:A11*(A2:A11+1)*C2:C11)/(SUM(C2:C11)*(1+y)^2)

The convexity term is always positive for a bond without options, whatever the sign of the yield move, because it multiplies the square of the move. It shrinks the loss when yields rise and adds to the gain when they fall. On a 10 million holding the duration estimate for a 100 basis point move is 772,173 and the convexity correction is about 37,500 in the holder's favour, in both directions.

A shortcut that needs no cash flow table

If you have a pricing function, reprice the bond 100 basis points either side and use effective convexity: (P− + P+ − 2P0) / (P0 × Δy2). Here (108.11 + 92.64 − 200.00) / (100.00 × 0.0001) = 75.08, close to the analytical 75.00, and a 1 basis point bump returns 75.00 exactly. This is also the only version that works for callable bonds and mortgage-backed securities, whose cash flows change with the yield.

How good is the approximation?

10-year 5% bond from a 5% yield. Price changes in per cent.
Yield move, bpActualDuration onlyDuration + convexityError left
−20017.0615.4416.940.12
−1008.117.728.100.01
+100−7.36−7.72−7.35−0.01
+200−14.05−15.44−13.94−0.10
+300−20.13−23.17−19.79−0.34

For moves up to 100 basis points duration alone is within 0.39 points, and adding convexity leaves 0.01. At 300 basis points duration overstates the loss by 3.03 points, and even the convexity-adjusted figure is 0.34 points out, because the third-order terms start to matter. For a stress test of that size, reprice the bond rather than approximate it.

What drives convexity

Convexity rises much faster than maturity. The 30-year 5 per cent bond at par has a modified duration of 15.37 and a convexity of 350.47: for a 100 basis point rise its correction is 1.75 points, nearly five times the 10-year's, and its duration-only estimate of a 15.37 per cent loss compares with an actual 13.76 per cent. Lower coupons raise convexity too, because more of the value sits in the final payment: a 10-year zero-coupon bond at 5 per cent has a convexity of 99.77 against 75.00 for the coupon bond. Two bonds with the same duration can therefore carry different convexity, and the one with more is worth more if rates move a lot in either direction. That is why a barbell of short and long bonds tends to have more convexity than a bullet of the same duration, and why the market prices it.

The common mistakes

The book computes duration and convexity from the cash flows of its own worked bond, and the free companion workbooks reproduce every figure it prints. For the dollar sensitivity to a 1 basis point move, see how to calculate the DV01 of a new bond issue.

Takeaway

Duration gives the slope, convexity the curvature. For the 10-year 5 per cent bond, convexity of 75.00 is worth 0.37 points of price on a 100 basis point move and 1.50 points on 200. Add it whenever the move is large or the bond is long; reprice outright when the move is very large or the bond has options.

Questions readers ask

What is a good convexity for a bond?

There is no target value; convexity is a property to compare between bonds of similar duration. Higher convexity means larger gains when yields fall and smaller losses when they rise. A 10-year 5 per cent bond at par has a convexity of 75.00, a 10-year zero at the same yield 99.77, and a 30-year 5 per cent bond 350.47, so longer and lower-coupon bonds carry more.

How do you use convexity to estimate a bond price change?

Add half the convexity times the squared yield change to the duration estimate. For the 10-year bond with modified duration 7.72 and convexity 75.00, a 100 basis point rise gives -7.72 per cent plus 0.5 x 75.00 x 0.0001 = 0.37 per cent, so -7.35 per cent. The bond actually falls 7.36 per cent, so the estimate is within 0.01 points.

Why is convexity sometimes quoted as 0.75 instead of 75?

Some systems divide convexity by 100 before displaying it. The 10-year 5 per cent bond's convexity of 75.00 then shows as 0.750, and the price correction formula has to be rescaled accordingly. Check which convention a screen uses before plugging the number into a formula, or the correction will be off by a factor of 100.

Read the whole case

This article is one calculation from The Credit Investor. The book takes the same case from first principles to the decision, chapter by chapter, and every figure it prints is a live formula in the free companion workbooks.

Get the book on Amazon →Free companion files

Also on Amazon UK · Amazon Germany · Amazon France · Amazon Canada

Also on this site

Reading guide: credit, private credit and distressed debt → · All 1682 articles →

If this book helped, or didn’t, a few lines on Amazon are worth more than they look: they are what the next reader goes on. Write a review. The workbook stays free either way.