constantforce

Constant Force of Mortality - shortcut formulas

MIT License. Copyright 2022-2023 Terence Lim

class actuarialmath.constantforce.ConstantForce(mu: float, **kwargs)[source]

Bases: MortalityLaws

Constant force of mortality - memoryless exponential distribution of lifetime

Parameters:

mu – constant value of force of mortality

Examples

>>> life = ConstantForce(mu=0.01).set_interest(delta=0.05)
>>> life.term_insurance(35, t=35, discrete=False) + life.E_x(35, t=35)*0.51791
e_x(x: int, s: int = 0, t: int = -999, curtate: bool = False, moment: int = 1) float[source]

Expected lifetime E[T_x] is memoryless: does not depend on (x)

Parameters:
  • x – age of selection

  • s – years after selection

  • t – limited at year t

  • curtate – whether curtate (True) or continuous (False) lifetime

  • moment – first (1) or second (2) moment

E_x(x: int, s: int = 0, t: int = -999, endowment: int = 1, moment: int = 1) float[source]

Shortcut for pure endowment: does not depend on age x

Parameters:
  • x – age of selection

  • s – years after selection

  • t – term of pure endowment

  • endowment – amount of pure endowment

  • moment – compute first or second moment

whole_life_annuity(x: int, s: int = 0, b: int = 1, variance: bool = False, discrete: bool = True) float[source]

Shortcut for whole life annuity: does not depend on age x

Parameters:
  • x – age of selection

  • s – years after selection

  • b – annuity benefit amount

  • variance – return APV (True) or variance (False)

  • discrete – annuity due (True) or continuous (False)

temporary_annuity(x: int, s: int = 0, t: int = -999, b: int = 1, variance: bool = False, discrete: bool = True) float[source]

Shortcut for temporary life annuity: does not depend on age x

Parameters:
  • x – age of selection

  • s – years after selection

  • t – term of annuity in years

  • b – annuity benefit amount

  • variance – return APV (True) or variance (False)

  • discrete – annuity due (True) or continuous (False)

whole_life_insurance(x: int, s: int = 0, moment: int = 1, b: int = 1, discrete: bool = True) float[source]

Shortcut for APV of whole life: does not depend on age x

Parameters:
  • x – age of selection

  • s – years after selection

  • b – amount of benefit

  • moment – compute first or second moment

  • discrete – benefit paid year-end (True) or moment of death (False)

term_insurance(x: int, s: int = 0, t: int = 1, b: int = 1, moment: int = 1, discrete: bool = True) float[source]

Shortcut for APV of term life: does not depend on age x

Parameters:
  • x – age of selection

  • s – years after selection

  • t – term of insurance

  • b – amount of benefit

  • moment – compute first or second moment

  • discrete – benefit paid year-end (True) or moment of death (False)

Z_t(x: int, prob: float, discrete: bool = True) float[source]

Shortcut for T_x (or K_x) given survival probability for insurance

Parameters:
  • x – age (does not depend)

  • prob – desired probability threshold

  • discrete – benefit paid year-end (True) or moment of death (False)

Y_t(x: int, prob: float, discrete: bool = True) float[source]

Shortcut for T_x (or K_x) given survival probability for annuity

Parameters:
  • x – age (does not depend)

  • prob – desired probability threshold

  • discrete – continuous (False) or annuity due (True)