lifetable_multiplelives.ijs

Script: ~addons/finance/finexec/actuariallife/lifetable_multiplelives.ijs
Contributor: William Szuch
Updated: 2022 6 25
Depend: ~addons/finance/finexec/qxtables/qxtools.ijs’
Definitions: loaded to locale base
Status: todo equations
Script source: lifetable_multiplelives.ijs

Definitions to calculate life table functions and survival factors
for mu;tiple lives.
Qx tables loaded to the locale base.
See: Qx_ALL for a list of names.
See: Qx_ALT for a list of Australian Life Tables.
All mortality tables start at age = 0.
Note:
(1) Dealing with Ages outside the range of the mortality table.
(2) Dealing with qx>1 if Qx table is scaled up.
use of ext5
Tables - try to make tacit
Plots

Equations:
To Do

Definitions

J jexp
L lsexp
P pxy, pxy_v, pxyz, pxyz_v
Q qx1y, qxy, qxyz

jexp (dyad)

Form: explicit
Joint expextation of life.

Syntax

  (Qx1;Qx2)jexp(Age1;Age2)
Qx1,Qx2 = mortality tables
Age1,Age2 = integer ages

Example

  (ALT_2004_06_M;ALT_2004_06_F)jexp(0;0)
73.0548

  (ALT_2004_06_M;ALT_2004_06_F)jexp(25;30)
47.3702

lsexp (dyad)

Form: explicit
Depend: jexp
Last survivor expectation of life.

Syntax

  (Qx1;Qx2)lsexp_v(Age1;Age2)
Qx1,Qx2 = mortality tables
Age1,Age2 = integer ages

Example

  (ALT_2004_06_M;ALT_2004_06_F)lsexp(0;0)
89.062

  (ALT_2004_06_M;ALT_2004_06_F)lsexp(25;30)
61.4951

pxy (dyad)

Form: explicit
Probability of joint lives surviving one year.

Syntax

(Qx1;Qx2)pxy(Age1;Age2)
Qx1,Qx2 = mortality tables
Age1,Age2 = integer ages

Example

  (ALT_2004_06_M;ALT_2004_06_F)pxy(0;0)
0.990075

  (ALT_2004_06_M;ALT_2004_06_F)pxy(25;30)
0.99879

pxy_v (dyad)

Form: explicit
Vector of probability of joint lives surviving by year.
The last value in the Qx tables is extended so that tables
are of equal length for the selected ages.

Syntax

(Qx1;Qx2)pxy_v(Age1;Age2)
Qx1,Qx2 = mortality tables
Age1,Age2 = integer ages

Example

  +/ (ALT_2004_06_M;ALT_2004_06_F)pxy_v(0;0)
73.0548

  +/ (ALT_2004_06_M;ALT_2004_06_F)pxy_v(25;30)
47.3702

pxyz (dyad)

Form: explicit
Probability of three lives failing for at least
one life within the next year.

Syntax

(Qx1;Qx2;Qx3)pxy(Age1;Age2;Age3)
Qx1,Qx2,Qx3 = mortality tables
Age1,Age2,Age3 ... = integer ages

example ~~~ (ALT_2004_06_M;ALT_2004_06_F;ALT_2004_06_M)pxyz(0;0;0) 0.984689

(ALT_2004_06_M;ALT_2004_06_F;ALT_2004_06_M)pxyz(25;30;35) 0.997652 ~~~

pxyz_v (dyad)

Form: explicit
Vector of probability of three lives surviving by year.
The last value in the Qx tables is extended so that tables
are of equal length for the selected ages.

Syntax

  (Qx1;Qx2;Qx3)pxyz_v(Age1;Age2;Age3)
Qx1,Qx2,Qx3 = mortality tables
Age1,Age2,Age3 = integer ages

Example

  +/ (ALT_2004_06_M;ALT_2004_06_F;ALT_2004_06_M)pxyz_v(0;0;0)
69.4793

  +/ (ALT_2004_06_M;ALT_2004_06_F;ALT_2004_06_M)pxyz_v(25;30;35)
43.5572

qx1y (dyad)

Form: explicit
Probability of life x dying before life y in
within the next year.

Syntax

(Qx1;Qx2)px1y(Age1;Age2)
Qx1,Qx2 = mortality tables
Age1,Age2 = integer ages

example ~~~ (ALT_2004_06_M;ALT_2004_06_F)qx1y(0;0) 0.00538601 ~~~

  (ALT_2004_06_M;ALT_2004_06_F)qx1y(25;30)
0.000838984

qxy (dyad)

Form: explicit
Probability of joint lives failing for at least
one life within the next year.

Syntax

(Qx1;Qx2)pxy(Age1;Age2)
Qx1,Qx2 = mortality tables
Age1,Age2 = integer ages

example ~~~ (ALT_2004_06_M;ALT_2004_06_F)qxy(0;0) 0.00992547

(ALT_2004_06_M;ALT_2004_06_F)qxy(25;30) 0.00120969 ~~~

qxyz (dyad)

Form: explicit
Probability of joint lives failing for at least
one life within the next year.

Syntax

(Qx1;Qx2;Qx3)pxyz(Age1;Age2;Age3)
Qx1,Qx2,Qx3 = mortality tables
Age1,Age2,Age3 = integer ages

example ~~~ (ALT_2004_06_M;ALT_2004_06_F;ALT_2004_06_M)qxyz(0;0;0) 0.0153115

(ALT_2004_06_M;ALT_2004_06_F;ALT_2004_06_M)qxyz(25;30;35) 0.00234831 ~~~