CFA Level I · CFA Level I Exam
Yield-Based Bond Duration Measures and Properties: formula sheet
Key formulas
- Macaulay duration
- MacDur = Σ [t × PV(CF_t)] ÷ Full price, where PV(CF_t) = CF_t ÷ (1 + r)^t
- t is measured in periods. If the bond pays m times a year, divide the result by m to express it in years.
- Closed form for a bond on a coupon date (per-period rate r, coupon rate c per period, N periods)
- MacDur = (1 + r) ÷ r − [(1 + r) + N × (c − r)] ÷ [c × ((1 + r)^N − 1) + r]
- Result is in periods. Use it for bonds priced on a coupon date. Check: for a par bond (c = r) it reduces to (1 + r)/r × [1 − 1/(1 + r)^N].
- Modified duration
- ModDur = MacDur ÷ (1 + YTM ÷ m)
- m = coupon periods per year. Use the annual MacDur with the periodic yield denominator as stated: YTM ÷ m.
- Approximate modified duration
- ApproxModDur = (PV₋ − PV₊) ÷ (2 × PV₀ × ΔYTM)
- PV₋ is price when yield falls by ΔYTM; PV₊ is price when yield rises by ΔYTM; PV₀ is the starting price. ΔYTM is in decimals (0.005 for 50 bps).
- Price change estimate
- %ΔPV ≈ −ModDur × ΔYTM
- First-order estimate. Valid for small, parallel yield changes. Convexity improves it for larger moves.
- Money duration
- MoneyDur = ModDur × PV (full price or position market value)
- Expressed in currency units.
- Price value of a basis point
- PVBP = MoneyDur × 0.0001, or (PV₋ − PV₊) ÷ 2 using a 1 bp yield change
- Change in value for a 1 bp yield change. Quote in the same currency and size as the position.
- Modified duration
- ModDur = MacDur ÷ (1 + y/m)
- y is the annual yield-to-maturity and m is the number of compounding periods per year; Macaulay duration is stated in years.
- Zero-coupon bond
- MacDur = time to maturity (in years)
- Modified duration = maturity ÷ (1 + y/m). It is lower than maturity because of the divisor.
- Duration between coupon dates (approximation)
- MacDur (between dates) ≈ MacDur at last coupon date − time elapsed (in years)
- A simplified rule of thumb, not a standard CFA formula. It assumes no change in yield and shows the downward slope of the sawtooth pattern. Duration jumps up right after a coupon is paid.
- Floating-rate note
- MacDur ≈ time until next reset
- This holds when the spread over the reference rate matches the required spread, so the price stays near par at resets.
- Approximate price change
- %ΔPrice ≈ −ModDur × ΔYield
- A first-order estimate. It ignores convexity, so it is more accurate for small yield changes.
- Direction rules
- Duration ↑ when: maturity ↑, coupon ↓, yield ↓
- Other factors held constant. Maturity is a general rule: for par or premium coupon bonds duration rises at a decreasing rate toward the perpetuity duration (1 + y) ÷ y (annual coupons, annual yield y), staying below it. For deep-discount coupon bonds it may rise, or decline slightly at very long maturities as it converges to that perpetuity level, but it stays below maturity. A callable or putable bond's effective duration is less than or equal to that of an otherwise identical option-free bond, with a material reduction when the option is near or in the money.
- Portfolio duration (weighted average)
- D_p = w₁D₁ + w₂D₂ + … + wₙDₙ = Σ wᵢDᵢ
- wᵢ = market value of bond i ÷ total portfolio market value. Weights sum to 1. Effective duration is the appropriate measure for bonds with embedded options. For option-free bonds, modified and effective durations are approximately equal. Measure durations consistently across the portfolio.
- Portfolio price change estimate
- %ΔPortfolio value ≈ −D_p × ΔYield
- Use modified or effective duration as appropriate. Valid for small, parallel yield changes only.
- Portfolio money duration
- Portfolio money duration = Σ (money duration of each bond)
- Money durations add up directly in currency terms, since they are not percentages.
- Cash flow yield method
- Find y such that PV of all portfolio cash flows at y = portfolio market value; then compute duration at y
- Treats the portfolio as one bond. More complex and less commonly used. Also assumes a parallel shift in yields.
- Percentage price change (duration + convexity)
- %ΔPV ≈ −ModDur × Δy + ½ × Convexity × (Δy)²
- Write Δy as a decimal, so 100 bps = 0.01. Squaring a negative Δy still gives a positive number.
- Convexity adjustment
- ½ × Convexity × (Δy)²
- Always positive for positive convexity. It is the second term above.
- Approximate convexity
- (PV₋ + PV₊ − 2 × PV₀) ÷ [(Δy)² × PV₀]
- PV₋ is the price after yield falls by Δy. PV₊ is the price after yield rises by Δy. Use the same Δy both ways.
- Approximate modified duration
- (PV₋ − PV₊) ÷ (2 × Δy × PV₀)
- Needed alongside approximate convexity. For bonds with embedded options, this gives effective duration.
- Money convexity
- Money convexity = Convexity × PV (full price)
- Money duration = ModDur × PV. Use the full price, including accrued interest.
- Money price change estimate
- ΔPV ≈ −MoneyDur × Δy + ½ × MoneyConvexity × (Δy)²
- Gives the change in currency units. Divide by PV to get the percentage change.
- Price value of a basis point
- PVBP = MoneyDur × 0.0001
- Duration-only estimate of the price change for a 1 bp yield move.
- Duration gap
- Duration gap = Macaulay duration − Investment horizon
- Positive: price risk dominates. Negative: reinvestment risk dominates. Zero: the two risks offset.
- Immunization condition
- Macaulay duration = Investment horizon
- Holds approximately, for a one-time parallel yield shift, fixed-rate option-free bonds.
- Macaulay duration
- MacDur = Σ [t × PV(CFt)] ÷ Bond price
- The weighted average time to receive cash flows, weights are present values of cash flows.
- Macaulay from modified duration
- MacDur = ModDur × (1 + YTM per period)
- Use YTM per period with the matching number of periods per year, then convert to years.
- Zero-coupon bond
- MacDur = Maturity
- Holding to maturity (horizon = maturity) removes both price risk and reinvestment risk.
Quick revision
- Macaulay duration is the present-value-weighted average time to receipt of a bond's cash flows.
- Annual modified duration = Macaulay duration (in years) ÷ (1 + y/m), where y is the annual yield and m the periods per year.
- %ΔPrice ≈ −ModDur × ΔYield; prices and yields move in opposite directions.
- Money duration = annual modified duration × the bond's full price; it gives the currency change per unit yield change.
- Duration generally rises with longer maturity, but for a long-maturity bond trading at a discount to par this relationship can fail. Duration falls with a higher coupon rate, other things equal.
- Higher yield to maturity means lower duration, other things equal.
- Portfolio duration as a weighted average of bond durations assumes a parallel shift in yields.
- For an option-free bond, convexity adds a positive correction: ½ × Convexity × (ΔYield)².
- For a given duration, higher convexity is favourable for a bond holder, whether yields rise or fall.
- Duration plus convexity is a better estimate than duration alone, especially for large yield changes.
- When the investment horizon equals the Macaulay duration, price risk and reinvestment risk roughly offset for a parallel shift.
- Check units: yield changes in decimals (50 bps = 0.005). In the modified duration formula, divide by (1 + y/m) using the annual yield y divided by m, not the annual yield alone.
Common mistakes
- Using Macaulay duration directly to estimate price change. Fix: Price change needs modified duration. Divide MacDur by (1 + YTM ÷ m) first. Examiners often include the MacDur-based answer as a wrong option.
- Forgetting to divide by m (or use the periodic yield) for semiannual bonds. Fix: Use 1 + YTM ÷ m. Also, if you computed MacDur in periods, divide by m to get years.
- Dividing Macaulay duration by (1 + annual yield) when the bond pays semiannually. Fix: Divide by (1 + y/m). For a 6% yield with semiannual periods, use 1.03, not 1.06. A wrong option built from the annual yield is a common trap.
- Saying a higher coupon raises duration because the bond pays more. Fix: Duration is a weighted average time. Larger early coupons bring the average time forward, so duration falls.
- Weighting by par value or number of bonds instead of market value Fix: Always use market value (full price). Convert par amounts to prices first when prices are given.
- Averaging durations with equal weights Fix: The portfolio duration is weighted. A large holding of a low-duration bond pulls the answer toward that bond.
- Subtracting the convexity term when yields rise Fix: Δy is squared, so the convexity adjustment is always positive for a bond with positive convexity. Only the duration term changes sign.
- Forgetting the ½ in the convexity adjustment Fix: The price change formula uses ½ × Convexity × (Δy)². Write the ½ before you substitute numbers.
- Using modified duration as if it were Macaulay duration when comparing to the horizon Fix: Multiply modified duration by (1 + YTM per period) first. Then compare with the horizon in years.
- Reversing the sign of the duration gap Fix: Always compute Macaulay duration − horizon. A positive result means duration exceeds the horizon.
Exam tips
- Read the word carefully: Macaulay, modified, effective and money duration each answer different questions. Underline it in the stem.
- Basis point conversions cost marks. Write 0.0001 per bp and scale up.
- Use the sign test first. With three options, wrong-sign answers can usually be eliminated at once, and guessing carries no penalty.
- If a question gives prices at yield ± Δ, use the approximate duration formula. Do not try to build the cash-flow table.
- Know the direction of properties: MacDur of a zero-coupon bond equals maturity, and a coupon bond's MacDur is below its maturity. Quick conceptual items often test only this.
- Expect questions that change one factor and ask for the direction of duration. Use the three levers: maturity up, coupon down, yield down all raise duration.
- Watch for the Macaulay versus modified duration trap. A number equal to the maturity of a zero is Macaulay duration, and the modified value is lower.
- Use the periodic yield y/m in the divisor. Check the compounding frequency in the stem before calculating.