The portfolio’s Macaulay duration of approximately 4.0 matches the time horizon of the liability and can be calculated as follows:

[(Portfolio weight*Bond* 1 × Duration*Bond* 1) + (Portfolio weight*Bond* 2 × Duration*Bond* 2) + (Portfolio weight*Bond* 3 × Duration*Bond* 3)] ÷ 3 = 3.99.

I can’t understand why this formula divides 3 again after applying weights…