How do bond managers target their bond portfolios to meet a liability payment sometime in the future? Given that bond value fluctuates due to changes in interest rates and spreads, how do we maximize the chances that the bond portfolio will be sufficient to cover for the liability?

That is a problem that can be solved using interest rate immunization. It’s not a panacea. It will require constant rebalancing to maintain the immunization (it’s a cost-benefit trade off). If the portfolio is not immunized, there is a risk that there will be insufficient liquidity to meet the liability, should the interest rate shift upwards/downwards during the horizon. Another alternative is to use cash flow matching, but at a more costly method as it uses government/low-risk bonds to ensure minimal defaults).

For a single liability, we start by allocating to the bonds such that the portfolio Macaulay duration is equals to the due date of the liability. The market value of the bonds should be equals to or greater than the present value of the liability. The portfolio convexity/dispersion should be minimized, which will then minimize structural risk (which results from non-parallel shifts in the yield curve or changes in the yield curve slope/curvature).

If executed correctly, the price risk will offset the reinvestment risk of the portfolio and result in zero to minimal impact on the portfolio value (if it is held up to the Macaulay duration).

Given an instantaneous parallel shift in the cash flow yield:

  • If the investment horizon is less than the Macaulay duration, then price risk will dominate (relative to reinvestment risk).
  • If the investment horizon is greater than the Macaulay duration, then reinvestment risk will dominate (relative to price risk).

Watch this video to see how we can build a simple model in Excel to calculate:

  • Portfolio cash flow yield
  • Macaulay duration
  • Dispersion
  • Convexity
  • Impact of a parallel shift in the cash flow yield on the portfolio value (holding the portfolio to the Macaulay duration)

Further improvements to implement:

  • Use Solver to target specific Macaulay Duration (tied to the single liability’s due date) and re-calculate the allocation of the bonds in the portfolio.
  • You can code this in VBA to automate the calculation of portfolio Macaulay duration, dispersion, convexity and calculate the optimal allocation to immunize the interest rate risk.