Why Duration Units Matter
For a bond that pays coupons twice a year, each payment is one-half year after the previous one. Duration calculations therefore involve two related time scales: the number of coupon periods and the number of years. The numerical duration is different on those scales, even though both describe the same cash-flow timing.
A second unit issue arises when converting Macaulay duration to modified duration. If the quoted yield is a nominal annual rate convertible semiannually, the rate applied to each coupon period is half the quoted annual rate. The conversion must use that periodic rate, not the full annual rate. This tutorial focuses on those conventions and calculations, aligned with the SOA Exam FM (Financial Mathematics) syllabus.
Set Up the Semiannual Cash Flows
Assume a bond is valued immediately after a coupon payment. It has face amount \(F\), a fixed annual coupon rate \(c\), and \(n\) years remaining. Coupons are paid every half-year, so there are \(2n\) coupon periods. The cash flow at each of the first \(2n-1\) payment dates is \(Fc/2\); the final cash flow is \(Fc/2+F\).
For the standard convention used here, the quoted yield \(j^{(2)}\) is a nominal annual yield convertible semiannually. The yield per coupon period is \(r=j^{(2)}/2\). This is a nominal-rate convention: the effective annual yield is \((1+j^{(2)}/2)^2-1\), not simply \(j^{(2)}\).
The price weights are the present values of the individual cash flows divided by \(P\). They sum to 1, so Macaulay duration is an average of the payment times. A coupon in period 6 occurs 3 years after valuation; it must receive time 6 in a calculation expressed in periods, or time 3 in a calculation expressed in years. Do not mix those two versions in one weighted average.
Why the Modified-Duration Conversion Works
The formula for modified duration follows by differentiating the bond price with respect to the quoted nominal annual yield. Each period-\(k\) cash flow is discounted using \(1+j^{(2)}/2\). Differentiating its present value with respect to \(j^{(2)}\) gives:
Summing across cash flows, dividing the negative derivative by price, and factoring out the common denominator gives:
Thus modified duration in years is the local proportional price sensitivity to a change in the quoted nominal annual yield. The factor of \(1/2\) from converting the annual yield to a period yield is already accounted for in the duration measured in years. This formula assumes a fixed set of dated cash flows and a single yield applied consistently to every period. It is not a formula for a bond whose cash flows change when the yield changes.
Worked Calculations
Worked Example: A Three-Year Bond Priced at Par
A hypothetical bond has face amount $1,000, a 6% annual coupon rate paid semiannually, and 3 years remaining. Its yield is \(j^{(2)}=6\%\), nominal annual convertible semiannually. Find its price, Macaulay duration in coupon periods and years, and modified duration in years.
Method and assumptions. The valuation is immediately after a coupon date, the cash flows are fixed, and the same nominal yield applies at each payment date. There are \(3(2)=6\) periods, each coupon is \(1000(0.06)/2=\$30\), and the final cash flow is \(\$1,030\). The periodic yield is \(r=0.06/2=0.03\).
Discount each payment using \((1.03)^{-k}\). The following present values are rounded to six decimal places for display; the calculations use the unrounded values.
| Period \(k\) | Cash flow | Present value | \(k\) times present value |
|---|---|---|---|
| 1 | $30 | $29.126214 | 29.126214 |
| 2 | $30 | $28.277877 | 56.555755 |
| 3 | $30 | $27.454250 | 82.362749 |
| 4 | $30 | $26.654611 | 106.618446 |
| 5 | $30 | $25.878264 | 129.391318 |
| 6 | $1,030 | $862.608784 | 5,175.652704 |
| Total | $1,000.000000 | 5,579.707186 |
The final present value includes both the $30 coupon and $1,000 redemption payment. Divide the weighted-time total by the price to get duration in periods, then convert units:
The price check is consistent with a par bond: its coupon rate and nominal yield are both 6%, with the same semiannual convention. As a unit check, Macaulay duration is below the 3-year maturity; 5.579707 periods is also below the final payment period, 6. This method avoids treating the sixth coupon period as six years.
Worked Example: A Discount Bond With a Different Coupon Rate
A hypothetical 2-year bond has face amount $1,000, a 4% annual coupon rate paid semiannually, and a nominal annual yield of 8% convertible semiannually. Find its price and both forms of Macaulay duration, then find modified duration in years.
Method and assumptions. Valuation is immediately after a coupon date, and the cash flows are fixed. There are four coupon periods. Each coupon is \(1000(0.04)/2=\$20\), and the final cash flow is $1,020. The periodic yield is \(0.08/2=0.04\).
The discount factors for periods 1 through 4 are \(0.961538462\), \(0.924556213\), \(0.888996359\), and \(0.854804192\). Multiplying each by its cash flow gives present values of $19.230769, $18.491124, $17.779927, and $871.900276. The last amount is \(1020(0.854804192)\).
Therefore the price is \(19.230769+18.491124+17.779927+871.900276=\$927.402096\). The period-weighted present values are, respectively, \(1(19.230769)=19.230769\), \(2(18.491124)=36.982249\), \(3(17.779927)=53.339781\), and \(4(871.900276)=3,487.601104\). Their sum is 3,597.153903.
The price is below face value, as expected because the 4% coupon rate is below the 8% nominal yield. The duration is below the 2-year maturity: 3.878743 periods is below the final period 4, and 1.939371 years is below 2. The correction factor uses the periodic yield 4%, not the quoted annual yield 8%.
Worked Example: Reporting a One-Year Bond’s Duration in Years
A hypothetical bond has face amount $5,000, an 8% annual coupon rate paid semiannually, and one year remaining. Its nominal annual yield is 10% convertible semiannually. Find the price and the two durations in years.
Method and assumptions. There are two periods. Each coupon is \(5000(0.08)/2=\$200\), and the final cash flow is $5,200. The periodic yield is \(0.10/2=0.05\). The present values are \(200/1.05=\$190.476190\) and \(5200/(1.05)^2=\$4,716.553288\). Thus the price is \(190.476190+4,716.553288=\$4,907.029478\).
The weighted-time numerator in periods is \(1(190.476190)+2(4,716.553288)=9,623.582766\). Divide by price, then make the unit conversion and modified-duration adjustment:
The price is below $5,000 because the 8% coupon rate is below the 10% nominal yield. Macaulay duration is just under the one-year maturity: 1.961192 periods is just under the final period 2. The answer is reported in years, not coupon periods. The method avoids interpreting 1.961192 periods as nearly two years.
Common Unit Errors
The most frequent error is to calculate the weighted average using period numbers and then label the result as years. The reverse error is also possible: use years in the weighted average and divide by 2 a second time. Either mistake changes the answer by a factor of 2.
Another common error is to divide Macaulay duration in years by \(1+j^{(2)}\). For a nominal annual yield convertible semiannually, the discounting rate per period is \(j^{(2)}/2\), so the relevant denominator is \(1+j^{(2)}/2\). For example, with \(j^{(2)}=8\%\), the denominator is \(1.04\), not \(1.08\).
The units can be checked before finalizing an answer:
- Count two coupon periods per year when payments are semiannual.
- For Macaulay duration in periods, weight each cash flow by its period number \(k\).
- For Macaulay duration in years, use \(k/2\), or divide the period result by 2.
- For modified duration in years under a nominal semiannual yield, divide Macaulay duration in years by \(1+j^{(2)}/2\).
- Check that Macaulay duration lies between the first and last payment times when all cash flows are positive.
Modified duration is a local sensitivity measure, not another payment-time average. Its numerical value depends on the yield quote and the units in which a yield change is measured. State the yield convention and duration units rather than reporting an unexplained number.
Check Your Understanding
For each problem, use the stated yield convention and report durations in the requested units.
- A semiannual bond has Macaulay duration of 7.2 coupon periods. How many years is this? (Answer: 3.6 years)
- A bond has Macaulay duration of 3.5 years and a nominal annual yield of 8% convertible semiannually. Find its modified duration in years. (Answer: \(3.5/1.04=3.3654\) years)
- A bond’s only payment is at the end of 3 years, and payments are measured in semiannual periods. What are its Macaulay duration in periods and years? If the nominal annual yield convertible semiannually is 6%, what is its modified duration in years? (Answer: 6 periods; 3 years; \(3/1.03=2.9126\) years)
- A one-year bond has face amount $1,000, a 4% annual coupon rate paid semiannually, and a nominal annual yield of 4% convertible semiannually. Find its price and Macaulay duration in years. (Answer: $1,000; 0.990196 years)
- A bond’s Macaulay duration is 4.6 semiannual coupon periods. Its nominal annual yield is 12% convertible semiannually. Find Macaulay duration in years and modified duration in years. (Answer: 2.3 years; \(2.3/1.06=2.1698\) years)