Parameters
Default
Description
interest *
--
Interest rate, either flat or in VT-style vector form rate1, dur1, rate2, dur2, ....
age1 *
--
Age of the first annuitant.
lx1 *
--
Mortality table for the first annuitant, usually supplied by LX() or LX_H().
age2 *
--
Age of the second annuitant.
lx2 *
--
Mortality table for the second annuitant.
deferred
0
Deferment period, in years, before the first payment.
guarantee
0
Certain period of the annuity, in years, starting after the deferment period.
years paid
120
Payment period, in years, starting after deferment. If omitted, the function uses the full lifetime horizon.
indexation
0
Indexation rate, either flat or vector-based.
first age index
age1 + 1 + deferred
Age of the first annuitant at which indexation starts.
fraction first indexation
1
Fraction, between 0 and 1, applied to the first indexation.
frequency
12
Number of payments per year.
due
TRUE
TRUE for payments at the beginning of each period, FALSE for payments at the end.
qx-pre1
TRUE
TRUE to apply mortality discount on the first annuitant during deferment, FALSE otherwise.
qx-pre2
TRUE
TRUE to apply mortality discount on the second annuitant during deferment, FALSE otherwise.
continuation_rate
0
Rate of pension continuation after first death.
guarantee rate
1
Rate of payment of the guaranteed pension if both annuitants are dead.
cash_flow
0
If 0, returns the annuity factor. If non-zero, returns the yearly cash-flow vector and multiplies each yearly amount by cash_flow.
JL({0.03}, 65, B2#, 62, C2#)
Returns the scalar joint-life annuity factor for lives aged 65 and 62.
JL({0.03}, 65, B2#, 62, C2#, cash_flow=1)
Returns a spilled yearly vector of unit joint-life cash flows.
JL({0.03}, 65, B2#, 62, C2#, guarantee=5, continuation_rate=0.6, cash_flow=2500)
Returns yearly expected cash flows for a pension amount of 2500, scaled directly in the output vector.
Two output modes
The function returns a scalar when cash_flow=0 and a spilled vector when cash_flow<>0.
Scaling
In cash-flow mode, the yearly vector is already multiplied by the supplied cash_flow value.
Mortality discount
If qx-pre1 or qx-pre2 applies during deferment, that adjustment is reflected in both the scalar result and the yearly cash-flow vector.
Helper functions
The spilled yearly output can be passed directly to sumcashflowrange, sumcashflows, averagecashflows, and PV_CF.