how to calculate weighted average life of a bond?
To calculate the average life, multiply the date of each payment (expressed as a fraction of years or months) by the percentage of total principal that has been paid by that date, add the results, and divide by the total issue size. Then divide the weighted total by the bond face value to get the average life.