Skip to content
All library documents

Immunizing Bond Portfolios with Modified Duration

Article Quant Q&A · Author: Ben

Summary

This document presents a bond portfolio duration calculation and asks how to hedge its interest-rate exposure with a fourth bond. The accepted answer distinguishes Macaulay duration, which measures the weighted timing of cash flows, from modified duration, which approximates price sensitivity to yield changes. It converts the bond durations using each bond’s yield and payment frequency, then sets the portfolio’s value-weighted modified duration to zero for a first-order hedge against a parallel yield-curve shift.

Under the stated portfolio values and bond characteristics, the calculation requires a short position in bond D, with a notional exceeding the initial portfolio value. This illustrates that a hedge may need to be larger than the assets being hedged when the hedge instrument has relatively low duration. The method is approximate and covers parallel shifts only; it does not immunize against changes in curve shape or other sources of bond risk. The source calculations also contain apparent arithmetic or transcription inconsistencies, so the numerical result should be checked before use.

Key ideas

  • Modified duration approximates bond price sensitivity to yield changes.
  • A first-order hedge against a parallel yield shift sets value-weighted modified duration to zero.
  • The example requires shorting bond D to offset the original portfolio’s duration exposure.
  • The hedge addresses parallel shifts only and does not control yield-curve shape risk.
  • The source contains apparent calculation inconsistencies that warrant checking its numerical values.

Tags

Full text
# Bond Portfolio Immunization - Duration Matching


# Bond Portfolio Immunization - Duration Matching












**Question is at the bottom**

Suppose you have a portfolio of bonds A, B, and C with the following characteristics:

(the "Frequency" column is the # of coupon pmts per year and also the # of compounding periods)

```
Bond | Coupon Rate | Frequency      | Years to Maturity | YTM (%) | FV ($)
A    |   5.00      | quarterly      |  2                | 5.16    | 1,000
B    |   5.50      | semi-annually  |  3                | 5.40    | 1,000
C    |   6.25      | annually       |  4                | 5.90    | 1,000
```

From the information above I calculate each Bond's price and duration:

Bond A

```
CFt      = $1,000 × (5.00% ÷ 4) = $12.50
YTMt     = 0.0516 ÷ 4 = 0.0129 or 1.29%
Price    = $12.50 × [1 – ( 1.0129)^-8 ÷ 0.0129] + ($1,000 ÷ 1.0129)^-8
         = $94.44 + $902.54
         = $996.98
Duration = 7,638.9447 ÷ $996.98 ÷ 4 = 1.9155 years
```

Bond B

```
CFt      = $1,000 × (5.50% ÷ 2) = $27.50
YTMt     = 0.0540 ÷ 2 = 0.0270 or 2.70%
Price    = $27.50 × [1 – ( 1.0270)^-6 ÷ 0.0270] + ($1,000 ÷ 1.0270)^-6
         = $150.47 + $852.27
         = $1,002.74
Duration = 5,628.5639 ÷ $1,002.74 ÷ 2 = 2.8066 years
```

Bond C

```
CFt      = $1,000 × (6.25% ÷ 1) = $62.50
YTMt     = 0.0590 ÷ 1 = 0.0590 or 5.90%
Price    = $12.50 × [1 – ( 1.0590)^-4 ÷ 0.0590] + ($1,000 ÷ 1.0590)^-4
         = $217.07 + $795.09
         = $1,012.16
Duration = 3,707.4842 ÷ $1,012.16 ÷ 1 = 3.6630 years
```

Portfolio Duration

```
Bond    Duration(D)     Quantity (Q)    Bond Price (P)  V = Q × P        DP = D × V
A       1.9155              2            $	996.98      $   1,993.96    3,819.4304
B       2.8066              1            $	1,002.74    $   1,002.74    2,814.2901
C       3.6630              2            $	1,012.16    $   2,024.32    7,415.0842
                                                   Total    $ 5,021.02   14,048.8046
Portfolio Duration = 14,048.8046 ÷ $5,021.02 = 2.7980 or 2.80 years
```

Portfolio Weighted Average Discount Rate

```
Bond    YTM/YR  Periods/YR  YTM/Period  Quantity (Q)    Bond Price (P)  V = Q × P   YTM/Period × V
A        0.0516        4    0.0129     2          $	996.98	      $  1,993.96    25.7221 
B        0.0540        2    0.0270     1          $	1,002.74      $  1,002.74    27.0740 
C        0.0590        1    0.0590     2          $	1,012.16      $  2,024.32    19.4349 
                                                          Total       $	   5,021.02   172.2309
Weighted Average Discount Rate = 172.2309 ÷ $5,021.02 = 0.0343 or 3.43%
```

QUESTION

Now suppose a fourth bond D, has a coupon rate of 5.25% paid semi-annually, a maturity of two years, a face value of $1,000, a yield of 6.25%, and a duration of 1.9238 years. How could one immunize the interest rate risk of the portfolio above with bond D? I think we need to find the proportion of bond D that will make the overall duration 0, by solving the equation for the augmented-portfolio duration.

```
w × Dp + (1 – w ) × Dd = 0

where

Dp = duration of the portfolio of bonds A, B, and C
w = proportion of the portfolio in bonds A, B and C
1 – w = proportion of the portfolio in bond D
Dd = duration of bond D
```

## Answer by ocstl (score 3, accepted)

https://quant.stackexchange.com/a/16879

If I understand correctly the question, you wish to completely hedge the interest rate risk (defined as a parallel shift in the yield curve). If that is the case, you should use modified duration, which is the price sensitivity, rather than the MacAulay duration. They are usually close in value, but not quite the same.

Fortunately, you can easily transform your durations to modified durations:

$D_{mod} = \frac{D_{MA}}{1 + \frac{yield}{frequency}}$

This yields a vector of modified durations: $D_m = [1.8911; 2.7328; 3.4589; 1.8655]$ for bonds A, B, C and D.

Since we want to immunize against parallel shifts:

$\Delta P \approx -P * D_{mod} * \Delta y = 0$

where P is the portolio value, $\Delta P$ the change in value, $D_{mod}$ the modified duration of the portolio and $\Delta y$ the change in yield. To immunize, we want $P * D_{mod} = 0$, or, taking $P$ as a given, $D_{mod} = 0$, where $D_{mod} = w^T * D_m$ (weighted sum of the modified durations).

Given our weights (value of the bonds) $w = [1993.96; 1002.74; 2024.32; w_4]$, we only have 1 unknown, so this is easy to solve; we obtain $w_4 = -7243.81$. In other words, you would have to short 7243.81\$ worth of bond D to immunize your bond portfolio. This might be problematic, given their 1000\$ value, though.

Another way to see it is that you need to match the modified duration of your assets (your initial portfolio) and liabilities (using bond D), hence the need to short bond D (which becomes a liability). Keep in mind, this only (and only approximately) protects against parallel shifts in the curve.

## Answer by user3560320 (score 0)

https://quant.stackexchange.com/a/14292

"I think we need to find the proportion of bond D that will make the overall duration 0" ... by doing so, you will be matching the duration of bond D, because it has the shortest one.

In order to immunize portfolio, you should have some benchmark duration you want to match. If it is the one of bond D, than your suggestion is right.

If I am wrong, please, correct me somebody.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.