1/M’thly#
A 1/m-thly annuity pays \(1/m\) every \(m\)-th of a year, while a 1/m-thly insurance pays $1 of benefits at the end of the \(1/m\)-th year of death. A new lifetime random variable \(K^{(m)}_x\) is introduced to value benefits which depend on the number of complete periods of length \(1/m\) years lived by a life (x).
\(K^{(m)}_x = \dfrac{1}{m} \lfloor m T_x \rfloor\)
1/mthly curtate future lifetime random variable, where \(m > 1\) is an integer, is the future lifetime of (x) in years rounded to the lower \(\frac{1}{m}\) th of a year.
\(Pr[K_x^{(m)} = k] = Pr [k \le T_x \le k + \dfrac{1}{m}] = ~_{k|\frac{1}{m}} q_x = ~_kp_x - ~_{k+\frac{1}{m}} p_x\)
the probability function for \(K_x^{(m)}\) can be derived from the associated probabilities for \(T_x\).
Life Insurance#
Whole life insurance
\(Z = v^{K_x^{(k)}+1/m}\)
present value random variable of 1/mthly whole life insurance
\(A^{(m)}_x = E[Z] = \sum_{k=0}^{\infty} ~ v^{\frac{k+1}{m}} ~ _{\frac{k}{m}|\frac{1}{m}}q_x\)
1/m’thly whole life insurance
\(E[Z^2] = E[(v^2)^{K_x^{(k)}+1/m}] =~ ^2A^{(m)}_x\)
second moment is also obtained from \(A^{(m)}_x\) at double the force of interest
\(Var(Z) = E[Z^2] - E[Z]^2 = ~^2A^{(m)}_x - (A^{(m)}_x)^2\)
the variance of the present value of the 1/\(m\)’thly insurance benefit can be derived by adjusting the interest rate in the first time
Term life insurance
\(Z = 0\) if \(K_x^{(m)} \ge t\), else \(v^{K_x^{(k)}+1/m}\)
death benefit is payable at the end of the 1/m-th year of death , provided this occurs within \(t\) years.
\(A^{1^{(m)}}_{x:\overline{t|}} = \sum_{k=0}^{mt-1} ~ v^{\frac{k+1}{m}} ~ _{\frac{k}{m}|\frac{1}{m}}q_x \)
EPV of 1/m-thly term insurance benefits
Life Annuity#
\(\ddot{a}^{(m)}_x =\sum_{k=0}^{\infty} \dfrac{1}{m} ~ v^{\frac{k}{m}} ~ _{\frac{k}{m}}p_x\)
1/mthly whole life annuity
\(\ddot{a}^{(m)}_{x:\overline{t|}} = \sum_{k=0}^{mt-1} \dfrac{1}{m} ~ v^{\frac{k}{m}} ~ _{\frac{k}{m}}p_x \)
1/mthly temporary life annuity
\(a^{(m)}_{x} = \ddot{a}^{(m)}_{x} - \dfrac{1}{m}\)
immediate 1/m’thly whole life annuity
\(a^{(m)}_{x:\overline {t|}} = \ddot{a}^{(m)}_{x:\overline {t|}} - \dfrac{1}{m}(1 - ~_tE_x)\)
immediate 1/m’thly temporary life annuity
Life Insurance Twin#
Whole and Temporary Life Annuities (and Whole Life and Endowment Insurance) ONLY:
\(A^{(m)}_{x} = 1 - d^{(m)} ~ \ddot{a}^{(m)}_{x} ~ \Longleftrightarrow ~ \ddot{a}^{(m)}_{x} = \dfrac{1 - A^{(m)}_{x}}{d^{(m)}}\)
1/m’thly whole life annuity due
\(A^{(m)}_{x:\overline {t|}} = 1 - d^{(m)} ~ \ddot{a}^{(m)}_{x:\overline {t|}} ~ \Longleftrightarrow ~ \ddot{a}^{(m)}_{x:\overline {t|}} = \dfrac{1 - A^{(m)}_{x:\overline {t|}}}{d^{(m)}}\)
1/m’thly temporary annuity due and endowment insurance
Methods#
Ths Mthly class implements methods to compute life insurance and annuity values with 1/mthly benefits.
from actuarialmath import Mthly, Premiums, LifeTable
import describe
describe.methods(Mthly)
class Mthly - Compute 1/M'thly insurance and annuities
Args:
m : number of payments per year
life : original survival and life contingent functions
Methods:
--------
v_m(k):
Compute discount rate compounded over k m'thly periods
p_m(x, s_m, t_m):
Compute survival probability over m'thly periods
q_m(x, s_m, t_m, u_m):
Compute deferred mortality over m'thly periods
Z_m(x, s, t, benefit, moment):
Return PV of insurance r.v. Z and probability of death at mthly intervals
E_x(x, s, t, moment, endowment):
Compute pure endowment factor
A_x(x, s, t, u, benefit, moment):
Compute insurance factor with m'thly benefits
whole_life_insurance(x, s, moment, b):
Whole life insurance: A_x
term_insurance(x, s, t, b, moment):
Term life insurance: A_x:t^1
deferred_insurance(x, s, n, b, t, moment):
Deferred insurance n|_A_x:t^1 = discounted whole life
endowment_insurance(x, s, t, b, endowment, moment):
Endowment insurance: A_x:t = term insurance + pure endowment
immediate_annuity(x, s, t, b):
Immediate m'thly annuity
insurance_twin(a):
Return insurance twin of m'thly annuity
annuity_twin(A):
Return value of annuity twin of m'thly insurance
annuity_variance(A2, A1, b):
Variance of m'thly annuity from m'thly insurance moments
whole_life_annuity(x, s, b, variance):
Whole life m'thly annuity: a_x
temporary_annuity(x, s, t, b, variance):
Temporary m'thly life annuity: a_x:t
deferred_annuity(x, s, u, t, b):
Deferred m'thly life annuity due n|t_a_x = n+t_a_x - n_a_x
immediate_annuity(x, s, t, b):
Immediate m'thly annuity
Examples#
The Mthly class is initialized with its life argument set to an instance of a survival model with fractional age assumption, and the number of periods \(m\) in a year. The v_m, p_m and q_m methods can then be called to compute the discount factor, survival probability and mortality rate for m-thly ages and durations. The Z_m methods returns a table of the PV of the insurance random variable and deferred mortality rate by m-thly time of death. Actuarial present values, at integer ages, of insurance and annuities that pay every m-th of a year, can be computed by calling their respective methods in the usual manner.
SOA Question 6.4
For whole life annuities-due of 15 per month on each of 200 lives age 62 with independent future lifetimes, you are given:
\(i = 0.06\)
\(A_{62}^{(12)} = 0.2105\) and \(^2A_{62}^{(12)} = 0.4075\)
\(\pi\) is the single premium to be paid by each of the 200 lives
\(S\) is the present value random variable at time 0 of total payments made to the 200 lives
Using the normal approximation, calculate \(\pi\) such that \(Pr(200 \pi > S ) = 0.90\).
print("SOA Question 6.4: (E) 1893.9")
mthly = Mthly(m=12, life=Premiums().set_interest(i=0.06))
A1, A2 = 0.4075, 0.2105
mean = mthly.annuity_twin(A1)*15*12
var = mthly.annuity_variance(A1=A1, A2=A2, b=15 * 12)
S = Premiums.portfolio_percentile(mean=mean, variance=var, prob=.9, N=200)
print(S / 200)
SOA Question 6.4: (E) 1893.9
1893.912859650868
SOA Question 4.2
For a special 2-year term insurance policy on (x), you are given:
Death benefits are payable at the end of the half-year of death
The amount of the death benefit is 300,000 for the first half-year and increases by 30,000 per half-year thereafter
\(q_x = 0.16\) and \(q_{x + 1} = 0.23\)
\(i^{(2)} = 0.18\)
Deaths are assumed to follow a constant force of mortality between integral ages
Z is the present value random variable for this insurance
Calculate \(Pr(Z > 277,000)\).
print("SOA Question 4.2: (D) 0.18")
life = LifeTable(udd=False).set_table(q={0: 0.16, 1: 0.23})\
.set_interest(i_m=0.18, m=2)
mthly = Mthly(m=2, life=life)
Z = mthly.Z_m(0, t=2, benefit=lambda x,t: 300000 + t*30000*2)
print(Z)
print(Z[Z['Z'] >= 277000]['q'].sum())
SOA Question 4.2: (D) 0.18
Z q
m
1 275229.357798 0.083485
2 277754.397778 0.076515
3 277986.052822 0.102903
4 276285.832315 0.090297
0.17941813045022975