How to calculate the Macaulay Duration of a bond
About this lesson
In this video, I will explain what a bond’s duration tells an investor and how it is calculated.
What duration tells you
A bond pays cash at many dates, so its “maturity” alone doesn’t tell you how long you wait, on average, for your money. Macaulay duration is the weighted average time until you receive the bond’s cash flows, where each payment’s weight is its share of the bond’s price.
It also measures interest rate risk: the longer the duration, the more the bond’s price moves when yields change.
The formula
D = Σ t × wt, where wt = [CFt ÷ (1 + y)t] ÷ Price
Example
A 3-year bond, 8% annual coupon, $1,000 face value, yield 10%:
| Year | Cash flow | Present value at 10% | Weight | Year × weight |
|---|---|---|---|---|
| 1 | $80 | $72.73 | 0.0765 | 0.0765 |
| 2 | $80 | $66.12 | 0.0696 | 0.1392 |
| 3 | $1,080 | $811.42 | 0.8539 | 2.5617 |
| Total | $950.26 | 1.0000 | 2.7774 |
The duration is 2.78 years, a bit less than the 3-year maturity, because some cash arrives early as coupons. This table is the weighted-average method.
Rules of thumb
- A zero-coupon bond’s duration equals its maturity.
- A higher coupon means a shorter duration (more cash arrives early).
- A higher yield means a shorter duration (distant payments count for less).
- A longer maturity usually means a longer duration.
In Excel
=DURATION(settlement, maturity, coupon, yield, frequency) returns the Macaulay duration from dates. =MDURATION(...) returns the modified duration, D ÷ (1 + y), which you use to estimate price changes.