CFA Level I Exam · Interest Rate Risk and Return
Macaulay, Modified and Effective Duration Explained for CFA Level 1
Updated 7 October 2026 · Fact-checked
Duration measures a bond's price sensitivity to yield changes. Macaulay duration is the weighted-average time to receive the cash flows. Modified duration divides it by (1 + YTM per period) and estimates the percentage price change as −ModDur × ΔYield. Effective duration uses prices from a shifted benchmark curve, so it works for bonds with embedded options.
Understand Macaulay, Modified and Effective Duration
A bond's price falls when yields rise. Duration tells you roughly how much. A duration of 5 means a 1% yield rise lowers the price by about 5%.
Macaulay duration is the weighted-average time until you receive the bond's cash flows. Each weight is the present value of a cash flow divided by the bond's price. It is measured in years. A zero-coupon bond has a Macaulay duration equal to its maturity. A coupon bond has a shorter duration than its maturity, because coupons come back earlier.
Modified duration turns Macaulay duration into a price-sensitivity measure. You divide by (1 + YTM per period). It gives the approximate percentage price change for a small change in the bond's own yield to maturity. For a bond with positive yield, modified duration is lower than Macaulay duration.
Effective duration does not rely on a fixed cash flow schedule. You reprice the bond after shifting the benchmark yield curve down and up by the same amount, then measure the price change. This matters for bonds with embedded options, such as callable or putable bonds. Their cash flows change when rates change, so Macaulay and modified duration do not apply.
Duration is a linear estimate of a curved price-yield relationship. It works well for small yield changes. For large changes you need a convexity adjustment, which is a separate topic.
Key formulas to remember
- Macaulay duration
- MacDur = Σ [t × PV(CFt)] ÷ Price, then ÷ periods per year
- t is the period number. Divide by the number of periods per year to express the result in years.
- Closed-form Macaulay duration (fixed-rate bond, at a coupon date)
- MacDur = (1 + r) ÷ r − [(1 + r) + N × (c − r)] ÷ [c × ((1 + r)^N − 1) + r]
- r is the yield per period, c is the coupon rate per period, N is the number of periods. The result is in periods.
- Modified duration
- ModDur = MacDur ÷ (1 + YTM ÷ m)
- m is the number of coupon periods per year. Use the annual MacDur with the annual YTM and its periodicity.
- Price change using modified duration
- %ΔPrice ≈ −ModDur × ΔYTM
- Enter ΔYTM as a decimal, so 50 bps is 0.005. Valid for small changes only.
- Approximate modified duration
- ApproxModDur = (PV₋ − PV₊) ÷ (2 × PV₀ × ΔYTM)
- PV₋ is the price when YTM falls by ΔYTM and PV₊ is the price when YTM rises by ΔYTM.
- Effective duration
- EffDur = (PV₋ − PV₊) ÷ (2 × PV₀ × ΔCurve)
- The benchmark curve is shifted in parallel by ΔCurve. The bond's cash flows may change in each scenario because of embedded options.
- Zero-coupon bond
- MacDur = time to maturity
- A quick check for any answer you compute.
How to solve Macaulay, Modified and Effective Duration questions
Use this method for any duration question. First decide which duration the question needs, then compute carefully and check the direction of the answer.
- 1Identify the bond type. If it has an embedded option or cash flows that depend on rates, you need effective duration. Otherwise Macaulay or modified duration applies.
- 2Write down the data: coupon rate, payment frequency, YTM, maturity, and the yield shift (convert bps to decimals).
- 3For Macaulay duration, find the present value of each cash flow, multiply by its period number, add up, and divide by the bond price. Divide by periods per year to annualize.
- 4For modified duration, divide the annual Macaulay duration by (1 + YTM ÷ m), using the same periodicity as the stated YTM.
- 5For effective duration, reprice the bond with the curve shifted down and up by the same amount, then apply (PV₋ − PV₊) ÷ (2 × PV₀ × ΔCurve).
- 6To estimate a price change, use −Duration × ΔYield. Yields up means the price falls; yields down means the price rises.
- 7Sanity check: ModDur is below MacDur for a positive yield, a zero-coupon bond's MacDur equals its maturity, and a callable bond's effective duration is not above that of an otherwise identical straight bond.
Quickest way: Calculator shortcut for duration questions
When to use it: Use it when the question gives you a bond and asks for duration or a price change, and the options differ clearly.
- If the question already gives a duration, skip the bond maths. Multiply −Duration × ΔYield and match the option.
- If a zero-coupon bond is described, MacDur equals maturity. Divide by (1 + y) for modified duration.
- To find prices on the BA II Plus: enter N, I/Y, PMT and FV, then press CPT PV. Reprice once with I/Y up and once with I/Y down, then use the approximate duration formula. Ignore the sign of the PV when you compute.
- On the HP 12C, enter n, i, PMT and FV, then press PV. Do the same two repricings.
- Eliminate options: if ModDur is larger than MacDur, it is wrong. If a 50 bps move gives a percentage close to the duration itself, you probably forgot to scale by 0.005.
Common mistakes in Macaulay, Modified and Effective Duration
Using Macaulay duration to estimate price change
Both are called duration and Macaulay is the one defined first.
Fix: Price change needs modified duration (or effective duration). Macaulay duration is a time measure. Divide by (1 + YTM ÷ m) first.
Dividing by (1 + YTM) when the bond pays semiannually
Students forget that the periodic yield is YTM ÷ m.
Fix: Use (1 + YTM ÷ m), where m is the number of periods per year. For example, a 6% YTM paid semiannually gives 1.03.
Forgetting to annualize Macaulay duration
The sum Σ t × PV(CF) uses period numbers, so a semiannual bond gives a result in half-years.
Fix: Divide by the number of periods per year to get years.
Dropping the factor of 2 or the price in effective duration
The formula looks like a simple slope, so students shorten it.
Fix: The denominator is 2 × PV₀ × ΔCurve. The 2 comes from the up and down shifts, and PV₀ converts price change to a percentage.
Applying modified duration to a callable or putable bond
The bond has a stated YTM and coupon, so the standard formula seems to fit.
Fix: Embedded options change the cash flows when rates move. Use effective duration, based on prices from a shifted benchmark curve.
Getting the sign or the scale of the yield change wrong
Students enter 50 bps as 50 or 0.5, or forget the negative sign.
Fix: Convert bps to decimals (50 bps = 0.005). The formula has a minus sign, so a yield rise gives a price fall.
Worked examples
Example 1
A 3-year annual-pay bond has a 5% coupon, face value 100, and YTM of 4%. The Macaulay duration is about 2.86 years. What is the approximate percentage price change if the YTM rises by 50 bps? Options: A) −2.75%, B) −1.38%, C) −0.69%.
Show the solution
- Price at 4%: 5 ÷ 1.04 = 4.8077; 5 ÷ 1.0816 = 4.6228; 105 ÷ 1.124864 = 93.3447. Price = 102.7752.
- Weighted sum: 1 × 4.8077 + 2 × 4.6228 + 3 × 93.3447 = 4.8077 + 9.2456 + 280.0341 = 294.0874.
- Macaulay duration = 294.0874 ÷ 102.7752 = 2.8615 years.
- Modified duration = 2.8615 ÷ 1.04 = 2.7514.
- Price change ≈ −2.7514 × 0.005 = −0.01376, which is −1.38%.
- Option A uses a 100 bp shift (−2.7514 × 0.01 = −2.75%), which is double the 50 bp change. Option C uses a 25 bp shift (−2.7514 × 0.0025 = −0.69%), which is half of 50 bp.
Answer: B) −1.38%
Example 2
A callable bond is priced at 100.00. If the benchmark curve shifts down 25 bps, its price is 101.20. If the curve shifts up 25 bps, its price is 98.90. What is its effective duration? Options: A) 2.3, B) 4.6, C) 9.2.
Show the solution
- Use EffDur = (PV₋ − PV₊) ÷ (2 × PV₀ × ΔCurve).
- PV₋ − PV₊ = 101.20 − 98.90 = 2.30.
- Denominator = 2 × 100.00 × 0.0025 = 0.50.
- EffDur = 2.30 ÷ 0.50 = 4.6.
- Option A omits the division by 2 × PV₀ × ΔCurve and just reports the raw price difference of 2.30. Option C omits the factor 2, using a denominator of 0.25 instead of 0.50, which gives 2.30 ÷ 0.25 = 9.2.
Answer: B) 4.6
Exam tips
- Read the question for a hint about the option feature. Words like callable, putable or embedded option point to effective duration.
- Expect questions that ask which duration is largest or smallest. Remember that for a positive yield, modified duration is below Macaulay duration.
- Check that your answer has the right sign: a yield increase must give a negative price change estimate.
- Scale carefully. Write 50 bps as 0.005 before multiplying, then compare with the three options, which are listed from smallest to largest.
- With 90 seconds per question, do the quick eliminations first. Reprice the bond only if the duration is not given.
Practice questions from Interest Rate Risk and Return
- A 3-year, 6% annual-pay bond with a par value of 100 trades at par, so its yield to maturity is 6.00%. Its Macaulay duration is closest to:
- A bond with a coupon rate above its yield to maturity trades at a premium. Assuming the yield to maturity stays constant and the issuer does…
- A bond has a modified duration of 5.00. If its yield to maturity rises by 40 bps, the approximate percentage change in its price, using dura…
- A bond has a Macaulay duration of 7.20 years and a yield to maturity of 5.00% per year with annual compounding. Its modified duration is clo…
- Key rate durations of a portfolio are measured at 2-, 10- and 30-year maturities. The portfolio's key rate durations are 0.5, 1.0 and 4.5, r…
Macaulay, Modified and Effective Duration in other exams
The same ground in other exams, if you are preparing for more than one or want another angle on it.
Macaulay, Modified and Effective Duration: frequently asked questions
What is the difference between Macaulay duration and modified duration?
Macaulay duration is the weighted-average time to receive a bond's cash flows, measured in years. Modified duration equals Macaulay duration divided by (1 + YTM ÷ m). It measures price sensitivity to a change in the bond's yield to maturity.
How do I calculate the modified duration of a bond?
Find the bond price and the present value of each cash flow. Compute the Macaulay duration as Σ t × PV(CF) ÷ price, annualized. Then divide by (1 + YTM ÷ m), using the same compounding frequency as the stated YTM.
What is the effective duration formula?
Effective duration = (PV₋ − PV₊) ÷ (2 × PV₀ × ΔCurve). PV₋ and PV₊ are the bond's prices after the benchmark curve shifts down and up by ΔCurve. PV₀ is the starting price.
Which duration should I use for a bond with embedded options?
Use effective duration. Macaulay and modified duration assume the cash flows do not change when yields change. A call or put option breaks that assumption, so you need prices from the repriced bond under each curve shift.