Variable Annuity Pricing
The following model allows for pricing of various variable annuity contracts, and is based on the research paper A Unified Pricing of Variable Annuity Guarantees under the Optimal Stochastic Control Framework. For variable annuity contracts, the cashflows received are linked to the portfolio performance. The contracts are priced under the active (dynamic) strategy where optimal behaviour is assumed, where the underlying portfolio evolution is assumed to follow process
\[
dS(t)=r(t) S(t)dt + \sigma S(t) dB(t),
\]
where \(r(t)\) is the risk free rate of return, \(\sigma\) is the standard deviation and \(B(t)\) is the Brownian motion. The contract holder is allowed to withdraw an amount \(\gamma_n\) on the set of ordered event times \(\mathcal{T} = \{t_1, ..., t_N\}\) where \(t_N = T\) is the contract maturity. Denote the wealth account as \(W(t_n)\), the risky asset as \(S(t_n)\) and the guarantee account as \(A(t_n)\) at time \(t_n\). At \(t_0=0\) the accounts equals the premium, hence \(W(0) = A(0)\). Denote the time just before \(t_n\) as \(t^-_n\), and just after as \(t^+_n\). The wealth account then follows the evolution
\[
W(t^-_n) = \frac{W(t_{n-1})}{S(t_{n-1})} S(t_n), n = 1,2,...,N
\]
\[
W(t^+_n) = h^W_n(W(t^-_n), A(t^-_n), \gamma_n)
\]
where \(h^W_n(\cdot)\) is a generic function for the charged fees \(\alpha\). Similarly, the evolution for the guarantee account \(A(t_n)\) is
\[
A(t^-_n) = A(t^+_{n-1})
\]
\[
A(t^+_n) = h^A_n(W(t^-_n), A(t^-_n), \gamma_n)
\]
where \(h^A_n(\cdot)\) is a general function determined by contract specification that can depend on fees and penalty rates \(\beta\), \(\beta^g\) and \(\beta^e\)).
If the contract allows for a payout at contract maturity the holder receives the amount \(P_T(W(T),A(T))\), and if it allows for a payout in case of death the holder receives the amount \(D_n(W(T),A(T))\). The cashflow received each time \(t_n\) depends on a function \(\widetilde{f}_n(W(t^-_n), A(t^-_n), \gamma_n)\) (which is subject to a contractual withdrawal amount \( G_n\)) and random life status indicator \(I_n\) with states from the set \(\mathcal{G} = \{1, 0,−1\}\) (corresponds to being alive at \(t_n\), died during \((t_{n-1}, t_n]\), or died before or at \(t_{n-1}\) respectively). The present value of the contract with a guarantee can be written as
\[
H_0(\mathbf{X},\boldsymbol{\gamma}) = B_{0,N} H_N(X_N) + \sum^{N-1}_{n=1} B_{0,n} f_n(X_n,\gamma_n)
\]
where \(\mathbf{X}=((W(t^-_1),A(t^-_1),I_1)...,(W(t^-_N),A(t^-_N),I_N)\), \(\boldsymbol{\gamma} = (\gamma_1,...,\gamma_N-1)\) and
\[
H_N(X_N) = P_T(W(T^-), A(T^-)_ \times 1_{I_N=1} + D_N (W(T^-), A(T^-)) \times 1_{I_N=0}
\]
is the cashflow at the contract maturity, and
\[
f_n(X_n,\gamma_n) = \widetilde{f}_n(W(t^-_n), A(t^-_n),\gamma_n) \times 1_{I_n=1} + D_n(W(t^-_n), A(t^-_n )) \times 1_{I_n=0}
\]
is the cashflow at time \(t_n\). Also, \(B_{i,j}\) is the discounting factor from \(t_j\) to \(t_i\)
\[
B_{i,j} = exp \left(− \int^{t_j}_{t_i} r(t) dt \right) , \quad t_j > t_i.
\]
The optimal withdrawal policy then depends on the wealth and guarantee, and is calculated as
\[
\boldsymbol{\gamma}^*(\mathbf{X}) = \underset{\gamma \in \mathcal{A}}{\arg \sup} \mathbb{E}^{\mathbb{Q,I}}_{t_0}[H_0(\mathbf{X}, \boldsymbol{\gamma})]
\]
where \(\mathbb{E}^{\mathbb{Q,I}}_{t_0}[\cdot]\) is the expectation at \(t_0\) under the risk-neutral probability measure \(\mathbb{Q}\) and mortality probability measure \(\mathbb{I}\), and \(\mathcal{A}\) is the admissible range for withdrawals. The contract price is determined by the present value of any expected payouts under the optimal policy \(\boldsymbol{\gamma}^*\) and weighted with the mortality risk
\[
Q_0(W(0),A(0)) = \mathbb{E}_{t_0}^{\mathbb{Q,I}}[H_0(\mathbf{X},\boldsymbol{\gamma})].
\]
The following contracts are available:
GMWB (Guaranteed Minimum Withdrawal Benefit) allows withdrawals of funds up to a limit regardless of performance, hence the at least the entire initial investment is guaranteed through cash withdrawals and a balance at maturity. If the policy holder dies before maturity, the balance is kept by the beneficiary.
Capital Protection, also known as GMAB (Guaranteed Minimum Accumulation Benefit), provides certainty of capital till maturity and the potential for capital growth. Withdrawals are allowed, but attracts a penalty.
GMWDB (Guaranteed Minimum Withdrawal Death Benefit) is the same as GMWD, but with a death benefit where a specified payment is made once the policy holder dies.
GLWB (Guaranteed Lifelong Withdrawal Benefit) is essentially the same as GMWD, but without a maturity date for the contract. The payments continues as long as the policy holder is alive, and once dead the remaining wealth account value is paid to the beneficiary.
General GMWB is an extended version for GMWB which includes additional features such as rachets and additional base penalty types.
These contracts can have slightly different definitions of the functions \(h^W_n(\cdot)\), \(h^A_n(\cdot)\), \(P_T(\cdot)\), \(D_n(\cdot)\), \(\widetilde{f}_n(\cdot)\) and admissible range for withdrawals. I addition, some contracts can have additional parameters, such as the bonus rate \(b\) and various options (i.e. early termination, ratchet etc). For the specifics, please refer to A Unified Pricing of Variable Annuity Guarantees under the Optimal Stochastic Control Framework.
Rider |
|
|
|
Maturity (years) |
\( T = \) |
|
Please enter a value in range [1, 150]
The input cannot be empty
|
Contract nominal ($) |
\( W_0 = \) |
|
Please enter a value in range [1, 1 000 000]
The input cannot be empty
|
Interest rate p.a (decimal) |
\( r = \) |
|
Please enter a value in range (-1, 1]
The input cannot be empty
|
Volatility |
\( \sigma = \) |
|
Please enter a value in range (0, 1]
The input cannot be empty
|
Contractual withdrawal rate (decimal)
|
\( G = \) |
|
Please enter a value in range [0, 1)
The input cannot be empty
|
Charge (basis points) |
\( \alpha = \) |
|
Please enter a value in range [0, 10 000]
The input cannot be empty
|
Penalty rate (decimal) |
\( \beta = \)
|
|
Please enter a value in range [0, 1)
The input cannot be empty
|
Number of withdrawal per year |
|
|
Please enter an integer in range [1, 365]
The input cannot be empty
|
Time step per year |
|
|
Please enter an integer in range [1, 365]
The input cannot be empty
|
Number of grid steps in wealth |
|
|
Please enter an integer in range [1, 1000]
The input cannot be empty
|
Number of grid steps in guarantee |
|
|
Please enter an integer in range [1, 200]
The input cannot be empty
|
Pension penalty threshold (decimal) |
|
|
Please enter a value in range [0, 1]
The input cannot be empty
|
Age (years) |
|
|
Please enter an integer in range [1, 95]
The input cannot be empty
|
Life table |
|
|
|
Death benefit |
|
|
|
Early termination |
|
|
|
Ratchet |
|
|
|
Early withdrawal penalty |
|
|
|
Early withdrawal age |
|
|
Please enter an integer in range [1, 150]
The input cannot be empty
|
Early withdrawal penalty rate (decimal) |
\( \beta^g = \) |
|
Please enter a value in range [0, 1]
The input cannot be empty
|
Bonus rate (decimal) |
\( b = \) |
|
Please enter a value in range [0, 1]
The input cannot be empty
|
Base penalty type |
|
|
|
Important! This model is for online demonstration purposes only. Calculations can take a long time if the number of grid steps are high. The time-out for calculations has been set to 1 hour, after which the webpage will return an error. We suggest you start with low values for the grid steps and then increase them if better accuracy is needed.
Click button to calculate annuity price