Tutorials › Exam FM - Financial Mathematics › Calculating Duration For Annual Coupon Bonds

Exam FM · Macaulay and Modified Duration · Tutorial 565 of 998

Calculating Duration For Annual Coupon Bonds

Learn to price an annual coupon bond and use its discounted cash flows to calculate Macaulay and modified duration.

Intermediate 11 min read

What You'll Learn

  • Calculate an annual bond’s final cash flow from both its coupon and redemption value.
  • Find each cash flow’s present value and its share of the bond price.
  • Compute Macaulay duration as the present-value-weighted average payment time.
  • Convert Macaulay duration to modified duration for an annual effective yield.
  • Avoid confusing the face amount, redemption amount, coupon amount, and final payment.

Why Bond Duration Requires the Cash Flows First

A bond’s duration depends on when its value is paid back through coupons and redemption. To calculate it correctly, first identify the complete cash flow at each payment date, then discount each amount at the bond’s yield. The present values determine both the bond price and the weights used in Macaulay duration.

This tutorial considers bonds with annual coupons. The yield \(i\) is an effective annual yield, and all cash flows occur at the ends of years \(1,2,\ldots,n\). The calculations assume the stated cash flows are certain and the same yield applies at every payment date. There are no interim payments, accrued-interest adjustments, or transaction costs.

Definition: For a bond with annual coupon \(C\), redemption value \(R\), and \(n\) years remaining, the cash flow at year \(t<n\) is \(C\). The final cash flow at year \(n\) is \(C+R\). At annual effective yield \(i\), the bond price \(P\) is the sum of the present values of those cash flows. The present-value weight of a cash flow is its present value divided by \(P\). Macaulay duration is the present-value-weighted average payment time, measured in years. Modified duration for this annual-yield convention is Macaulay duration divided by \(1+i\).

Price, Present-Value Weights, and Duration

The discount factor per year is \(v=1/(1+i)\). If \(CF_t\) denotes the full cash flow at year \(t\), then its present value is \(CF_t v^t\), and the bond price is

$$ P=\sum_{t=1}^{n}CF_t v^t =\sum_{t=1}^{n-1}C v^t+(C+R)v^n. $$

The weight attached to year \(t\) is \(w_t=CF_t v^t/P\). Since the price is the sum of the present values, the weights sum to 1. Macaulay duration is

$$ D_{\mathrm{Mac}}=\sum_{t=1}^{n}t w_t =\frac{\sum_{t=1}^{n}t\,CF_t v^t}{P}. $$

With annual coupon dates and an annual effective yield, modified duration is

$$ D_{\mathrm{mod}}=\frac{D_{\mathrm{Mac}}}{1+i}. $$

Macaulay duration is a weighted average of payment times, so it is measured in years. Modified duration is a local sensitivity measure per unit change in the annual effective yield. Neither quantity is the bond’s maturity: earlier coupons contribute positive weight at times before maturity.

Why the Duration Formulas Hold

The weighted-average formula follows directly from the meaning of a present-value weight. Each time \(t\) receives weight \(w_t=CF_t v^t/P\); multiplying that time by its weight and adding over all payments gives the average time, \(\sum t w_t\). Substituting the weights gives the price-weighted expression for \(D_{\mathrm{Mac}}\).

The connection to modified duration can also be justified from the price function. Hold the bond’s contractual cash flows fixed and regard \(P\) as a function of yield \(i\). Since \(v^t=(1+i)^{-t}\), differentiating each term gives

$$ \frac{dP}{di} =-\sum_{t=1}^{n}t\,CF_t(1+i)^{-t-1} =-\frac{1}{1+i}\sum_{t=1}^{n}t\,CF_t v^t. $$

Divide by \(P\) and use the expression for Macaulay duration. This yields the standard local relationship:

$$ -\frac{1}{P}\frac{dP}{di} =\frac{D_{\mathrm{Mac}}}{1+i} =D_{\mathrm{mod}}. $$

This derivative assumes fixed cash flows and a yield used consistently for every annual payment. It describes the price’s local response to a small yield change; it does not say that a finite yield change produces an exactly linear price change.

Worked Example: An Annual Coupon Bond Priced at Par

A hypothetical two-year bond has a face amount and redemption value of \(\$100\), pays an annual coupon of \(\$10\), and has an annual effective yield of \(10\%\). Calculate its price, present-value weights, Macaulay duration, and modified duration. Report dollar amounts to the nearest cent and durations to six decimal places.

Method. List the contractual cash flows before discounting. The first payment is \(\$10\); the final payment is the \(\$10\) coupon plus \(\$100\) redemption, or \(\$110\).

$$ v=\frac{1}{1.10}=0.9090909\ldots $$

The present values are

$$ PV_1=\frac{10}{1.10}=9.090909\ldots,\qquad PV_2=\frac{110}{(1.10)^2}=90.909091\ldots. $$

Thus the price is \(P=9.090909\ldots+90.909091\ldots=\$100.00\). The present-value weights are \(w_1=9.090909\ldots/100=0.090909\ldots\) and \(w_2=90.909091\ldots/100=0.909091\ldots\); they sum to 1.

The weighted payment time and modified duration are

$$ D_{\mathrm{Mac}} =1(0.090909\ldots)+2(0.909091\ldots) =1.909091\text{ years}, $$
$$ D_{\mathrm{mod}}=\frac{1.9090909\ldots}{1.10} =1.735537\text{ years}. $$

Check. The bond pays \(\$100\) in total present value, as its price calculation requires, and the two weights sum to 1. The duration is below the two-year maturity because some value is paid at year 1. This method avoids treating the final redemption amount as the entire final payment.

Redemption Value Is Not the Final Cash Flow

A frequent source of errors is confusing the redemption value with the final cash flow. The redemption value is the principal amount paid at maturity. If a coupon is also due on that date, it must be added before discounting. The coupon amount is determined by the bond’s contract; it is not necessarily the difference between its face amount and price.

Worked Example: A Redemption Value Different From Face Amount

A hypothetical three-year bond pays an annual coupon of \(\$4\), has a redemption value of \(\$110\), and yields \(5\%\) effective annually. Calculate its price, present-value weights, Macaulay duration, and modified duration. Round present values and the price to six decimals, and durations to six decimals.

Method. The payments are \(\$4\) at years 1 and 2, and \(\$114\) at year 3 because the final coupon is paid in addition to the \(\$110\) redemption value. Discount each payment at the annual yield:

$$ PV_1=\frac{4}{1.05}=3.809524,\qquad PV_2=\frac{4}{(1.05)^2}=3.628118, $$
$$ PV_3=\frac{114}{(1.05)^3}=98.477486. $$

Adding the unrounded present values gives \(P=105.915128\) to six decimals. The weights, also rounded to six decimals, are

$$ w_1=\frac{PV_1}{P}=0.035969,\qquad w_2=\frac{PV_2}{P}=0.034255,\qquad w_3=\frac{PV_3}{P}=0.929776. $$

They sum to \(1.000000\). The weighted time calculation is

$$ D_{\mathrm{Mac}} =\frac{1(3.80952381\ldots)+2(3.62811791\ldots)+3(98.47748623\ldots)} {105.91512796\ldots} =2.893810\text{ years}. $$
$$ D_{\mathrm{mod}}=\frac{2.89380964\ldots}{1.05} =2.756009\text{ years}. $$

Common mistake and correction. If the final payment is incorrectly taken as \(\$110\), the year-3 present value is \(110/(1.05)^3=95.022136\), and the resulting incorrect price is \(102.459778\). The missing amount is the year-3 coupon: \(4/(1.05)^3=3.455350\). Including that coupon gives the correct final payment of \(\$114\) and price of \(105.915128\). The duration calculation must use the same complete cash flows as the price calculation.

Check. The bond’s present-value weights sum to 1, and the calculated duration is below three years because the first two coupons have positive weights at earlier times.

A Discount Bond: Full Calculation

The yield and coupon rate need not be equal. The next example uses a coupon below the yield, so the price is below the \(\$100\) redemption value. The same discounting and weighting steps apply; no separate duration formula is needed.

Worked Example: Duration of a Discount Bond

A hypothetical three-year bond pays an annual coupon of \(\$5\), redeems for \(\$100\), and has an annual effective yield of \(10\%\). Find its price, present-value weights, Macaulay duration, and modified duration. Round dollar values to six decimals and durations to six decimals.

Method. The cash flows are \(\$5,\ \$5,\ \$105\). With \(v=1/1.10\), their present values are

$$ PV_1=\frac{5}{1.10}=4.545455,\qquad PV_2=\frac{5}{(1.10)^2}=4.132231, $$
$$ PV_3=\frac{105}{(1.10)^3}=78.888055. $$

Using the unrounded values, the price is \(P=87.565741\). The corresponding weights are \(w_1=0.051909\), \(w_2=0.047190\), and \(w_3=0.900901\), which sum to 1.000000. Macaulay duration is

$$ D_{\mathrm{Mac}} =\frac{1(4.54545455\ldots)+2(4.13223140\ldots)+3(78.88805485\ldots)} {87.56574080\ldots} =2.848992\text{ years}. $$

Modified duration is

$$ D_{\mathrm{mod}}=\frac{2.84899185\ldots}{1.10} =2.589993\text{ years}. $$

Check. The final payment’s weight is much larger than either coupon’s weight, so the weighted average time is close to year 3. It is still less than 3 because the two earlier payments contribute positive weight.

Common Exam Traps and a Reliable Workflow

For annual coupon bonds, the yield unit and the payment interval already match: one yield period is one year. Use the annual effective yield directly for every annual discount. Do not replace it with a rate for a different payment frequency; doing so would change the model.

A reliable calculation can be organized in four steps:

1
Write the cash flows.
Use \(C\) for each coupon payment and \(C+R\) at maturity. Check whether the stated redemption value differs from face amount.
2
Discount each payment.
For year \(t\), calculate \(CF_t/(1+i)^t\) using the stated annual effective yield.
3
Calculate price and weights.
Add the present values to obtain \(P\), then divide each present value by \(P\). Verify that the weights sum to 1.
4
Calculate both durations.
Multiply each weight by its payment time and add for Macaulay duration. Divide by \(1+i\) for modified duration under the annual-yield convention.

Keep full precision through the price, weights, and weighted-time calculations, and round only at the end. Rounding every present value too early can make the weights fail to sum exactly to 1 or change the last reported duration digit. A final reasonableness check is useful: all cash flows here occur between years 1 and \(n\), and all have positive present values, so Macaulay duration must lie between 1 and \(n\).

These calculations are aligned with the SOA Exam FM (Financial Mathematics) syllabus. The key discipline is consistency: price and duration must be based on the same payment dates, yield convention, and complete cash flows.

Check Your Understanding

For each hypothetical bond, calculate the requested values using annual end-of-year coupons and an annual effective yield. Answers are rounded as stated.

  1. A two-year bond pays an annual coupon of \(\$7\), redeems for \(\$100\), and yields \(7\%\). Find its price, Macaulay duration, and modified duration. (Answer: \(P=\$100.00,\ D_{\mathrm{Mac}}=1.934579\) years, \(D_{\mathrm{mod}}=1.807083\) years.)
  2. A three-year bond pays an annual coupon of \(\$4\), redeems for \(\$100\), and yields \(5\%\). Include the final coupon. Find its price and both durations. (Answer: \(P=\$97.276752,\ D_{\mathrm{Mac}}=2.884380\) years, \(D_{\mathrm{mod}}=2.747028\) years.)
  3. A two-year bond pays an annual coupon of \(\$3\), redeems for \(\$105\), and yields \(5\%\). Find its price and Macaulay duration. (Answer: \(P=\$100.816327,\ D_{\mathrm{Mac}}=1.971660\) years.)
  4. A three-year bond pays an annual coupon of \(\$5\), redeems for \(\$100\), and yields \(5\%\). Find its price, present-value weights, and Macaulay duration. (Answer: \(P=\$100.000000,\ (w_1,w_2,w_3)=(0.047619,0.045351,0.907029),\ D_{\mathrm{Mac}}=2.859410\) years.)
  5. A one-year bond pays an annual coupon of \(\$4\), redeems for \(\$100\), and yields \(8\%\). Find its full cash flow at maturity, price, Macaulay duration, and modified duration. (Answer: final cash flow \(=\$104,\ P=\$96.296296,\ D_{\mathrm{Mac}}=1.000000\) year, \(D_{\mathrm{mod}}=0.925926\) year.)
Clinical Biostats