Portfolio duration and convexity
In practice, portfolio duration is the average of the bonds' durations weighted by market value, and portfolio convexity works the same way. It is quick and intuitive, but it assumes every bond's yield moves by the same amount (a parallel shift), which real yield curves rarely do.
Before this: Modified Duration, Money Duration and PVBP, Estimating price change with duration and convexity
On the exam
- Calculate portfolio duration and convexity and explain the limitations of these measures
Calculate portfolio duration and convexity, and explain the limitations of these measures. Expect a market-value-weighted average and one question on the parallel-shift assumption. Wrong options weight by par or take a simple average.
How deeply to learn each part
- Know the idea
- Understand it in general. It frames other topics, but you will not calculate with it.
- Use it
- Understand it well enough to solve a question with it. Recognize when it applies.
- Memorize
- Learn it by heart. The exam will not give it to you.
You know this one. The full lesson is folded away. The takeaways, formulas and checkpoint below are your quick refresher, and the checkpoint is a fair test of whether you still do.
You tested strong here. The full lesson is folded away. The takeaways, formulas and checkpoint below are your quick refresher, and the checkpoint is a fair test of whether you still know it.
How do you measure the risk of a whole portfolio?
There are two ways to compute portfolio duration and portfolio convexity .
- Cash flow yield method Know the idea one bond: pool all cash flows, find the portfolio IRR
- Theoretically correct Know the idea treats the portfolio as a single bond
- Hard in practice Know the idea impossible with options or floaters
-
- Weighted average of bonds’ measures Memorize what managers use
- Weights = market value share Memorize full price × par, never par alone
- Assumes a parallel shift Memorize every yield moves by the same amount
-
The theoretically correct method treats the portfolio’s combined cash flows as one bond and finds its internal rate of return, the cash flow yield . Duration and convexity are then calculated at that yield. It is correct, but hard to use in practice, and it breaks down when the holdings include options or floating-rate coupons.
Managers use the second method: a weighted average of each bond’s own measure. The weights are each bond’s share of total market value, which is full price times par. Par is not what the investor has at risk, so it is not used.
These are the market-value weights . They sum to one.
Try this 0 of 3
- With the worked example, turn on weights by par
- Switch the shock to the steepener
- Buy more Bond Z until portfolio duration reaches 10.00
| Holding | Market value | Weight | Weight × ModDur |
|---|---|---|---|
| Bond K | 19,016,540 | 57.80% | 2.895 |
| Bond Z | 13,881,625 | 42.20% | 6.086 |
| Portfolio | 32,898,165 | 100% | 8.981 |
Contribution to duration (each segment = weight × ModDur)
In a parallel shift the portfolio figures work exactly like a single bond's: −6.42%, the same as adding up each bond's own estimate.
Show working
Market values (par × full price ÷ 100): Bond K 19,016,540; Bond Z 13,881,625. Total EUR 32,898,165.
Weights = market value ÷ total: Bond K 57.80%, Bond Z 42.20%.
Portfolio ModDur = Σ weight × ModDur = 0.5780 × 5.0091 + 0.4220 × 14.4231 = 8.9814.
Portfolio convexity = Σ weight × convexity = 0.5780 × 31.7 + 0.4220 × 221.89 = 111.95.
Parallel +75 bp: −8.9814 × 0.0075 + ½ × 111.95 × 0.0075² = −6.736% + 0.315% = −6.421%; repricing both bonds gives −6.433%.
- 20000000×95.0827÷100=STO119,016,540.00, Bond K market value
- 25000000×55.5265÷100=STO213,881,625.00, Bond Z market value
- RCL1+RCL2=STO932,898,165.00, total
- (RCL1×5.0091)+(RCL2×14.4231)=÷RCL9=8.9814, portfolio ModDur
STO store · RCL recall a stored number
- 20000000ENTER95.0827×100÷STO119,016,540.00, Bond K market value
- 25000000ENTER55.5265×100÷STO213,881,625.00, Bond Z market value
- RCL1RCL2+STO932,898,165.00, total
- RCL15.0091×RCL214.4231×+RCL9÷8.9814, portfolio ModDur
ENTER enter (on the HP, puts the number on the stack) · STO store · RCL recall a stored number
- 0.5×111.9521×0.0075x²=STO80.003149, convexity effect
- 8.9814×0.0075=+|-+RCL8=-0.064212, so −6.42%
x² square · STO store · +|- change sign · RCL recall a stored number
- 111.9521ENTER0.0075ENTER××2÷0.003149, convexity effect
- 8.9814ENTER0.0075×−-0.064212, so −6.42%
ENTER enter (on the HP, puts the number on the stack)
A portfolio holds two bonds. Bond A is 57.80% of market value with a duration of 5.0091, and bond B is the rest with a duration of 14.4231. The portfolio's duration is closest to:
0.578043 × 5.0091 + 0.421957 × 14.4231 = 8.9814
Portfolio duration (or convexity)8.9814
- 0.578043×5.0091=STO1
- 0.421957×14.4231+RCL1=
STO store · RCL recall a stored number
- 0.578043ENTER5.0091×0.421957ENTER14.4231×+
ENTER enter (on the HP, puts the number on the stack)
Exam tip First build market values, then weights, then the average. If a question gives par and prices, par is never the weight.
A worked portfolio
Go deeper Contribution to duration, and barbell vs bullet
Weight × duration is each bond’s contribution to duration, and managers use it to say where the risk sits. Here Bond K contributes 2.90 years of the portfolio’s 8.98, and Bond Z contributes 6.09 although it is under half the portfolio.
Two portfolios can have the same duration with different shapes. A barbell (short and long bonds) has more dispersed cash flows than a bullet (all in the middle), so it is more convex. That is the dispersion idea from the first lesson, now at portfolio level.
Go deeper Why the cash flow yield method is rarely used
It needs every cash flow of every holding, the IRR of the pooled stream and a duration at that single yield. A portfolio with callable or floating-rate bonds has no fixed cash flows to pool. The weighted average needs only each bond’s published duration, which is why it wins in practice despite being approximate.
What are the limitations?
- Parallel-shift assumption Memorize steepening, flattening or twists move bonds differently
- Best when yields are close and the curve is flat Use it accuracy falls as the holdings spread out
- Embedded options and floaters Use it need effective or reset-based measures first
The central limitation is the parallel shift assumption. The weighted average multiplies one portfolio duration by one yield change, so it implicitly assumes every holding’s yield moves by the same amount. When the curve steepens, flattens or twists, short and long bonds move by different amounts, and a single portfolio number cannot capture that.
Two more points to know:
- The approximation is better when the holdings’ yields are close together and the yield curve is flat.
- Bonds with embedded options or floating coupons need effective or reset-based durations before their measures can be averaged.
Memorize this
MemorizePortfolio duration and convexity
| Item | Rule |
|---|---|
| Portfolio ModDur | Σ (weight × ModDur) |
| Portfolio convexity | Σ (weight × convexity) |
| Weights | Market value (full price × par) ÷ total |
| Needs | Parallel shift in all yields |
| Theoretically correct | Cash flow yield method, hard to use |
Memory hook Average by what you own, not by what you face: market value, never par, never equal weights.
Know it cold Weighted average assumes every yield moves together. Steepeners, flatteners and twists break it. Then feed it into %ΔP ≈ −ModDur × Δy + ½ × Con × Δy².
- Cash flow yield method Know the idea one bond: pool all cash flows, find the portfolio IRR
- Theoretically correct Know the idea treats the portfolio as a single bond
- Hard in practice Know the idea impossible with options or floaters
-
- Weighted average of bonds’ measures Memorize what managers use
- Weights = market value share Memorize full price × par, never par alone
- Assumes a parallel shift Memorize every yield moves by the same amount
-
- Parallel-shift assumption Memorize steepening, flattening or twists move bonds differently
- Best when yields are close and the curve is flat Use it accuracy falls as the holdings spread out
- Embedded options and floaters Use it need effective or reset-based measures first
Quick example
USD 7,000,000 par of a bond at 90.00 and USD 3,000,000 par of a bond at 70.00. Market values 6,300,000 and 2,100,000, so the first bond has weight 6,300,000 ÷ 8,400,000 = 0.75.
- 3000000×0.7=+6300000=STO1 8,400,000
- 6300000÷RCL1= 0.75
STO store · RCL recall a stored number
- 3000000ENTER0.7×6300000+STO1 8,400,000
- 6300000RCL1÷ 0.75
ENTER enter (on the HP, puts the number on the stack) · STO store · RCL recall a stored number
Quick example
Weights 50%, 30% and 20% with modified durations 3.0, 7.0 and 10.0: 0.50 × 3.0 + 0.30 × 7.0 + 0.20 × 10.0 = 1.5 + 2.1 + 2.0 = 5.6.
- 0.5×3=STO1
- 0.3×7+RCL1=STO1
- 0.2×10+RCL1= 5.6
STO store · RCL recall a stored number
- 0.5ENTER3×0.3ENTER7×+0.2ENTER10×+ 5.6
ENTER enter (on the HP, puts the number on the stack)
Quick example
Same weights (50%, 30%, 20%) with convexities 12, 60 and 110: 0.50 × 12 + 0.30 × 60 + 0.20 × 110 = 6 + 18 + 22 = 46.
- 0.5×12=STO1
- 0.3×60+RCL1=STO1
- 0.2×110+RCL1= 46
STO store · RCL recall a stored number
- 0.5ENTER12×0.3ENTER60×+0.2ENTER110×+ 46
ENTER enter (on the HP, puts the number on the stack)
How it is asked
-
Weighted-average duration, par vs market value
USD 9m par of A (price 80, ModDur 2.0) and USD 4m par of B (price 70, ModDur 8.0).
Weights 0.72 and 0.28: 1.44 + 2.24 = 3.68. Par weights give 3.85, a simple average gives 5.00.
-
Which assumption does the shortcut make?
Using the weighted average of bond durations most likely assumes what?
An equal (parallel) change in all yields. A flat curve helps accuracy but is not the assumption.
-
Portfolio price change
Portfolio ModDur 6.10, convexity 60, all yields +100 bp.
−6.10% + ½ × 60 × 0.01² = −6.10% + 0.30% = −5.80%.
Exam traps
- Weighting by par value instead of market value.
- Averaging durations equally.
- Claiming the weighted average is the theoretically correct method. The cash flow yield method is.
- Applying the portfolio figure to a non-parallel move.
Checkpoint
6 exam-style questions. About 90 seconds each.
1A portfolio holds USD 6,000,000 par of Bond A (full price 100.00, modified duration 3.0) and USD 5,000,000 par of Bond B (full price 80.00, modified duration 9.0). The portfolio's modified duration is closest to:
2Using the weighted average of individual bond durations to measure a portfolio's interest rate risk most likely assumes:
3The portfolio in the first question has bond convexities of 12.0 (Bond A) and 95.0 (Bond B). If all yields rise by 100 bp, the estimated percentage change in portfolio value is closest to:
4A portfolio holds three bonds with market values of USD 40 million, USD 35 million and USD 25 million and modified durations of 2.0, 6.0 and 11.0. The portfolio's modified duration is closest to:
5A portfolio has a modified duration of 5.65 and a convexity of 50. If all yields rise by 100 bp, the estimated percentage change in its value is closest to:
6Which method gives the theoretically correct duration of a bond portfolio?
Key takeaways
- Portfolio duration ≈ Σ (market-value weight × duration). Convexity works the same way.
- Weights use market value (full price × par), never par.
- The shortcut assumes parallel shifts. Non-parallel moves break it.
Quick example
USD 7,000,000 par of a bond at 90.00 and USD 3,000,000 par of a bond at 70.00. Market values 6,300,000 and 2,100,000, so the first bond has weight 6,300,000 ÷ 8,400,000 = 0.75.
- 3000000×0.7=+6300000=STO1 8,400,000
- 6300000÷RCL1= 0.75
STO store · RCL recall a stored number
- 3000000ENTER0.7×6300000+STO1 8,400,000
- 6300000RCL1÷ 0.75
ENTER enter (on the HP, puts the number on the stack) · STO store · RCL recall a stored number
Quick example
Weights 50%, 30% and 20% with modified durations 3.0, 7.0 and 10.0: 0.50 × 3.0 + 0.30 × 7.0 + 0.20 × 10.0 = 1.5 + 2.1 + 2.0 = 5.6.
- 0.5×3=STO1
- 0.3×7+RCL1=STO1
- 0.2×10+RCL1= 5.6
STO store · RCL recall a stored number
- 0.5ENTER3×0.3ENTER7×+0.2ENTER10×+ 5.6
ENTER enter (on the HP, puts the number on the stack)
Quick example
Same weights (50%, 30%, 20%) with convexities 12, 60 and 110: 0.50 × 12 + 0.30 × 60 + 0.20 × 110 = 6 + 18 + 22 = 46.
- 0.5×12=STO1
- 0.3×60+RCL1=STO1
- 0.2×110+RCL1= 46
STO store · RCL recall a stored number
- 0.5ENTER12×0.3ENTER60×+0.2ENTER110×+ 46
ENTER enter (on the HP, puts the number on the stack)
All Fixed Income formulas, every lesson
Practice exam-style questions on Convexity and Portfolio Duration
Questions about this lesson?
Where this comes back
- Effective Duration, Key Rate Duration and Empirical Duration Fixed Income
- Introduction to Risk Management Portfolio Construction
Questions candidates ask
How do you calculate the duration of a bond portfolio?
Multiply each bond's duration by its share of the portfolio's market value and add them up.
What is the limitation of portfolio duration?
It assumes all yields change by the same amount, which rarely happens.
Is portfolio convexity a weighted average too?
Yes, using the same market-value weights.
Spotted an error? Tell us and we will fix it.