Tutorials › Exam FM - Financial Mathematics › Duration Of Bonds With Uneven Cash Flows

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

Duration Of Bonds With Uneven Cash Flows

Calculate bond duration when scheduled payments are uneven by finding each cash flow’s present value and using it to form the time weights.

Intermediate 10 min read

What You'll Learn

  • Discount each scheduled payment separately at the bond’s annual effective yield.
  • Calculate Macaulay duration as the present-value-weighted average payment time.
  • Convert Macaulay duration to modified duration under annual compounding.
  • Find an unknown payment from a bond’s price before calculating duration.
  • Avoid weighting payment dates by undiscounted cash amounts.

Why Uneven Cash Flows Need Separate Weights

A bond’s scheduled payments need not follow a level coupon pattern. It may have a changing payment schedule, a final payment that differs from earlier payments, or another specified series of positive cash flows. In each case, duration depends on both when payments arrive and how much each payment contributes to the bond’s price today.

The method is direct: discount every payment using the bond’s yield, then use the resulting present values as weights on their payment times. This preserves the meaning of Macaulay duration as a weighted-average time, while accommodating any fixed, uneven schedule.

Model and assumptions: The bond has known, positive cash flows \(C_t\) at annual times \(t=1,2,\ldots,n\). The valuation date is time 0, and every cash flow is discounted using the same annual effective yield \(y>-1\). The cash flows are assumed to be paid as scheduled, with no default, embedded options, taxes, or transaction costs. The price is the value of the full scheduled cash flows at the valuation date. These formulas apply to this annual effective-yield model; other payment-period or fractional-period conventions require matching the time and yield units.

Definitions and Calculation

The bond price is the sum of the present values of its scheduled cash flows. A cash flow at time \(t\) has present value \(C_t(1+y)^{-t}\). Macaulay duration is the average payment time when each payment time is weighted by its share of the bond’s price.

$$ P=\sum_{t=1}^{n} C_t(1+y)^{-t}, \qquad D_{\mathrm{Mac}}= \frac{\displaystyle\sum_{t=1}^{n}tC_t(1+y)^{-t}}{P}. $$

Here, \(P\) is the bond price and \(D_{\mathrm{Mac}}\) is measured in years. The present-value weight for a payment at time \(t\) is \(C_t(1+y)^{-t}/P\). When all payments are positive, these weights are positive and sum to 1.

For an annual effective yield, modified duration is Macaulay duration divided by \(1+y\). It measures local price sensitivity to a change in the annual effective yield, with the yield change expressed as a decimal.

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

Thus, the separate cash-flow calculations produce both the price and the weights needed for Macaulay duration. Modified duration then follows from the yield convention; it is not obtained by changing the cash-flow weights.

Why the Formula Works

The weighted-time formula follows from differentiating the price with respect to yield. Under the stated assumptions, each cash flow is fixed, so only its discount factor changes when \(y\) changes.

1
Write the price as a function of yield.
\(P(y)=\sum_{t=1}^{n} C_t(1+y)^{-t}\).
2
Differentiate each discounted cash flow.
\(\frac{d}{dy}(1+y)^{-t}=-t(1+y)^{-t-1}\), so \(P'(y)=-\sum_{t=1}^{n}tC_t(1+y)^{-t-1}\).
3
Form the proportional price sensitivity.
\(-P'(y)/P=\frac{1}{1+y}\frac{\sum_{t=1}^{n}tC_t(1+y)^{-t}}{P}=D_{\mathrm{Mac}}/(1+y)\).

This shows why modified duration is \(D_{\mathrm{Mac}}/(1+y)\) under annual effective compounding. It also explains why cash flows at later dates affect duration more strongly: their present values are multiplied by larger time factors in the numerator.

Worked Calculations

Worked Example: Three Uneven Payments

A hypothetical bond pays $40 at the end of year 1, $60 at the end of year 2, and $110 at the end of year 4. Its annual effective yield is 5%. Find its price, Macaulay duration, and modified duration. Assume the stated payments are certain and there are no other cash flows.

Method. Discount each payment separately, add the present values to get price, and divide the time-weighted present-value total by price. This avoids treating the undiscounted payment amounts as duration weights.

At \(y=0.05\), the present values are:

$$ \begin{aligned} PV_1&=\frac{40}{1.05}=38.095238,\\ PV_2&=\frac{60}{1.05^2}=\frac{60}{1.1025}=54.421769,\\ PV_4&=\frac{110}{1.05^4}=\frac{110}{1.21550625}=90.497272. \end{aligned} $$

The price is \(38.095238+54.421769+90.497272=183.014279\). The time-weighted present values are:

$$ 1(38.095238)+2(54.421769)+4(90.497272) =38.095238+108.843538+361.989088 =508.927864. $$

Therefore, \(D_{\mathrm{Mac}}=508.927864/183.014279=2.7808\) years. Modified duration is \(2.7808/1.05=2.6484\) years. The price check is that the three displayed present values sum to the stated price. Durations are rounded to four decimal places.

Common mistake avoided: Weighting the dates by the undiscounted cash amounts gives \((1(40)+2(60)+4(110))/(40+60+110)=2.8571\) years. That is not Macaulay duration: the payments do not contribute equally to price per dollar of scheduled payment. The correct weights are their present values divided by the bond price.

Worked Example: A Schedule With a Large Final Payment

A hypothetical bond pays $11 at year 1, $24.20 at year 2, and $133.10 at year 3. The annual effective yield is 10%. Calculate the price, Macaulay duration, and modified duration. Assume these are the only certain cash flows.

Method. Find each present value first; the large final payment may dominate the duration even though it arrives only at year 3.

$$ \begin{aligned} PV_1&=\frac{11}{1.10}=10,\\ PV_2&=\frac{24.20}{1.10^2}=\frac{24.20}{1.21}=20,\\ PV_3&=\frac{133.10}{1.10^3}=\frac{133.10}{1.331}=100. \end{aligned} $$

The price is \(10+20+100=130\). The time-weighted present values total \(1(10)+2(20)+3(100)=10+40+300=350\). Thus \(D_{\mathrm{Mac}}=350/130=2.6923\) years, and \(D_{\mathrm{mod}}=2.6923/1.10=2.4476\) years. To check, the present-value weights are \(10/130\), \(20/130\), and \(100/130\); they sum to 1, and their weighted time is \(2.6923\). Durations are rounded to four decimal places.

Common mistake avoided: Using only the number of payment dates, or taking their unweighted average, would ignore the large share of price represented by the final payment. Duration weights depend on present values, not on the count of payments.

Worked Example: Determine an Unknown Payment From Price

A hypothetical bond pays $22 at year 1, $36.30 at year 2, and an unknown amount \(X\) at year 4. Its price is $120 at an annual effective yield of 10%. Find \(X\), Macaulay duration, and modified duration. Assume the three payments are the only cash flows and \(X\) is positive.

Method. Use the price equation to find the present value required from the unknown payment. Then recover its scheduled amount and calculate duration from the three present-value contributions.

$$ \begin{aligned} PV_1&=\frac{22}{1.10}=20,\\ PV_2&=\frac{36.30}{1.10^2}=\frac{36.30}{1.21}=30. \end{aligned} $$

The known payments contribute \(20+30=50\) to price, so the year-4 payment must have present value \(120-50=70\). Hence \(X/1.10^4=70\), and:

$$ X=70(1.10)^4=70(1.4641)=102.487. $$

The price check is \(20+30+70=120\). The time-weighted present-value total is \(1(20)+2(30)+4(70)=20+60+280=360\). Therefore \(D_{\mathrm{Mac}}=360/120=3.0000\) years and \(D_{\mathrm{mod}}=3.0000/1.10=2.7273\) years. The unknown payment is $102.487, or $102.49 to the nearest cent; durations are rounded to four decimal places.

Common mistake avoided: The residual price of $70 is the present value of \(X\), not the payment amount itself. Multiplying by \(1.10^4\) is necessary to recover the cash flow at year 4.

Common Traps and Scope

The calculation is simple once the cash-flow dates, units, and yield convention are consistent. Most errors arise from applying a plausible-looking weight or conversion to the wrong quantity.

  • Using cash amounts as weights. Discount every payment first. The Macaulay weights are present values divided by price.
  • Omitting a payment date factor. In the numerator, multiply each present value by its own time \(t\), not by the number of payments or the final maturity for every payment.
  • Confusing the two durations. Under the annual effective-yield assumption, Macaulay duration is converted to modified duration by dividing by \(1+y\). Do not apply this conversion twice.
  • Mixing time and rate units. These formulas use annual dates and an annual effective yield. When payments and yields use another compounding period, express the calculation in consistent period units rather than substituting a periodic rate into the annual formula without conversion.

For positive fixed payments, Macaulay duration is between the earliest and latest payment times because it is a weighted average using positive weights that sum to 1. This is a useful check on the result. If a computed duration falls outside that range, recheck the present values, dates, and price denominator. The weighted-average interpretation need not hold when cash flows can be negative.

Key takeaway: For a bond with uneven scheduled payments, calculate each payment’s present value at the stated yield, sum those values for price, and use them as weights on the payment dates. Convert the resulting Macaulay duration to modified duration only after confirming the yield and time convention.

Check Your Understanding

For each problem, assume fixed positive payments, no default or embedded options, and the annual effective yield stated. Use annual payment dates and round durations to four decimal places.

  1. A bond pays $21 at year 1 and $44.10 at year 2. At a 5% annual effective yield, find its price, Macaulay duration, and modified duration. (Answer: price $60.00; Macaulay duration 1.6667 years; modified duration 1.5873 years)
  2. A bond pays $33 at year 1, $60.50 at year 2, and $146.41 at year 4. At a 10% annual effective yield, calculate its price and both durations. (Answer: price $180.00; Macaulay duration 2.9444 years; modified duration 2.6768 years)
  3. A bond priced at $200 pays $42 at year 1 and $69.4575 at year 3, plus an unknown positive payment at year 4. At a 5% annual effective yield, find the year-4 payment and both durations. (Answer: year-4 payment $121.55; Macaulay duration 3.1000 years; modified duration 2.9524 years)
  4. A bond pays $22 at year 1, $39.93 at year 3, and $80.5255 at year 5. At a 10% annual effective yield, find the price and both durations. (Answer: price $100.00; Macaulay duration 3.6000 years; modified duration 3.2727 years)
  5. A bond priced at $250 pays $52 at year 1, $108.16 at year 2, and an unknown positive payment at year 3. At a 4% annual effective yield, find the year-3 payment and both durations. (Answer: year-3 payment $112.49; Macaulay duration 2.2000 years; modified duration 2.1154 years)
Clinical Biostats