udd
UDD - 1/mthly insurance and annuities with uniform distribution of deaths
MIT License. Copyright 2022-2023 Terence Lim
- class actuarialmath.udd.UDD(m: int, life: Annuity, **kwargs)[source]
Bases:
Mthly
1/mthly shortcuts with UDD assumption
- Parameters:
m – number of payments per year
life – original fractional survival and mortality functions
- static alpha(m: int, i: float) float [source]
Compute 1/mthly UDD interest rate beta function value
- Parameters:
m – number of payments per year
i – annual interest rate
- static beta(m: int, i: float) float [source]
Compute 1/mthly UDD interest rate alpha function value
- Parameters:
m – number of payments per year
i – annual interest rate
- whole_life_insurance(x: int, s: int = 0, moment: int = 1, b: int = 1) float [source]
1/mthly UDD Whole life insurance: A_x
- Parameters:
x – age of selection
s – years after selection
b – amount of benefit
moment – compute first or second moment
Examples
>>> UDD(m=0, life=SULT(udd=True)).whole_life_insurance(x)
- endowment_insurance(x: int, s: int = 0, t: int = 1, b: int = 1, endowment: int = -1, moment: int = 1) float [source]
1/mthly UDD Endowment insurance = term insurance + pure endowment
- Parameters:
x – year of selection
s – years after selection
t – term of insurance in years
b – amount of benefit
endowment – amount of endowment
moment – return first or second moment
- term_insurance(x: int, s: int = 0, t: int = 1, b: int = 1, moment: int = 1) float [source]
1/mthly UDD Term insurance: A_x:t
- Parameters:
x – year of selection
s – years after selection
t – term of insurance in years
b – amount of benefit
moment – return first or second moment
Examples
>>> UDD(m=12, life=SULT(udd=True)).term_insurance(45)
- whole_life_annuity(x: int, s: int = 0, b: int = 1, variance: bool = False) float [source]
1/mthly UDD Whole life annuity: a_x
- Parameters:
x – year of selection
s – years after selection
b – amount of benefit
variance – return first moment (False) or variance (True)
Examples
>>> UDD(m=12, life=SULT(udd=True)).whole_life_annuity(x)
- temporary_annuity(x: int, s: int = 0, t: int = -999, b: int = 1, variance: bool = False) float [source]
1/mthly UDD Temporary life annuity: a_x:t
- Parameters:
x – year of selection
s – years after selection
t – term of annuity in years
b – amount of benefit
variance – return first moment (False) or variance (True)
Examples
>>> UDD(m=12, life=SULT(udd=True)).temporary_annuity(45, t=20)
- deferred_annuity(x: int, s: int = 0, u: int = 0, t: int = -999, b: int = 1, variance: bool = False) float [source]
1/mthly UDD Deferred life annuity n|t_a_x = n+t_a_x - n_a_x
- Parameters:
x – year of selection
s – years after selection
u – years of deferral
t – term of annuity in years
b – amount of benefit