Problem

Actuaries use life tables to estimate the probability of death over time. Using a life table, it is pretty straight forward to calculate the probability that an individual will die at a specific future time. For example let's say we have the following life table:

x q_x
0 0.08
1 0.04
2 0.03

Each integer in the x column represents the individual at birthday x. The q_x column provides the probability of death between birthday x and birthday x + 1. (e.g. at the x = 1 birthday there is a 0.04 probability of dying before the x = 2 birthday and a (1.0 - 0.04)*(0.03) = 0.0282 probability of dying between the x = 2 and x = 3 birthdays).

Calculating future life expectancy and accompanying confidence intervals for one individual is simple enough, but when we add more and more individuals to the mix, the calculations become messy quickly. Also we may want to use different life tables to represent each individual. To further complicate things, we may want to provide different insurance benefits to each individual depending on the specific policy terms.

Solution

The diehard3000 package defines a class, Life, that represents the survival contingent entity (could be a person, dog, claim, or anything else) by a life table, an age, policy terms, and future interest rates. Using these attributes, we can simulate the present value of the Life's benefits. It is then trivial to simulate a group of Lifes and find confidence levels for the group as a whole.

Examples

The Life Insurance Dashboard provides an example of the diehard3000 package being used to calculate the reserve for a group of term life insurance policies.