Calculating the Expected Present Value of a Life Insurance Policy Using Python

Problem: Expected Present Value of an Insurance Policy

A whole life insurance policy pays a benefit of $100,000 upon the policyholder’s death.

The probability of death at age $( x )$ is given by the mortality table.

The force of interest is $( \delta = 0.05 )$.

Compute the expected present value (EPV) of the policy for a policyholder aged $30$ using a simplified mortality model.

Mathematical Formulation

The expected present value (EPV) is given by:

$$
EPV = \sum_{t=1}^{\infty} P(T_x = t) \cdot 100,000 \cdot e^{-\delta t}
$$

where:

  • $( T_x )$ is the future lifetime of the insured aged $( x )$.
  • $ P(T_x = t) $ represents the probability that the insured dies exactly at time $( t )$.
  • $ \delta $ is the force of interest.

For this problem, we assume a simplified mortality model where the probability of surviving from age $( x )$ to age $( x+t )$ follows an exponential distribution:

$$
P(T_x > t) = e^{-\mu t}
$$

where $ \mu = 0.02 $ is the mortality rate.

The probability of dying at time $( t )$ is:

$$
P(T_x = t) = \mu e^{-\mu t}
$$

Now, we implement this in $Python$ and visualize the expected present value.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import numpy as np
import matplotlib.pyplot as plt

# Parameters
mu = 0.02 # Mortality rate
delta = 0.05 # Force of interest
benefit = 100000 # Death benefit

# Time range for computation
t = np.arange(1, 100, 1) # Assume a maximum lifetime of 100 years

# Probability of dying at time t
prob_death = mu * np.exp(-mu * t)

# Discount factor
discount_factor = np.exp(-delta * t)

# Expected Present Value Calculation
EPV = np.sum(prob_death * benefit * discount_factor)

print(f"Expected Present Value (EPV) of the policy: ${EPV:,.2f}")

# Visualization
plt.figure(figsize=(8, 5))
plt.plot(t, prob_death * benefit * discount_factor, label='Present Value of Payout at t')
plt.xlabel('Years')
plt.ylabel('Present Value of Expected Payout')
plt.title('Expected Present Value of Insurance Payout Over Time')
plt.legend()
plt.grid()
plt.show()

Explanation of the Code

  1. We define the mortality rate $( \mu )$, force of interest $( \delta )$, and death benefit.
  2. We create an array of years from $1$ to $100$, assuming the policyholder can live up to $130$ years.
  3. We compute the probability of death at each year using $( P(T_x = t) = \mu e^{-\mu t} )$.
  4. We compute the discount factor $( e^{-\delta t} )$.
  5. We calculate the EPV as the sum of discounted expected payouts.
  6. Finally, we plot the present value of payouts over time to visualize their impact.

Interpretation of the Result

[Result]

Expected Present Value (EPV) of the policy: $27,556.12

  • The EPV represents the fair price an insurer should charge for this policy (ignoring expenses and profit).
  • The graph shows how the present value of potential payouts decreases over time due to discounting.