Skip to content

Instantly share code, notes, and snippets.

@moehle
Last active December 10, 2023 20:35
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save moehle/562ce94ebef52f70bacee093ef7b5cba to your computer and use it in GitHub Desktop.
Save moehle/562ce94ebef52f70bacee093ef7b5cba to your computer and use it in GitHub Desktop.
Saving, Spending, and Investment Planning Using Convex Optimization
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Introduction\n",
"This notebook shows how to use convex optimization to plan out how to save, spend, and invest over your life. We'll cover includes labor income, investment constraints, uncertain mortality, and life insurance.\n",
"\n",
"The ideas in this notebook are based on:\n",
"- [A Certainty Equivalent Merton Problem](https://web.stanford.edu/~boyd/papers/ce_merton.html).\n",
"N. Moehle, S. Boyd. IEEE Control Systems Letters, 2021.\n",
"\n",
"This paper explains how to formulate and solve versions of [Merton's consumption-investment problem](https://en.wikipedia.org/wiki/Merton%27s_portfolio_problem) using convex optimization. Using convex optimization (instead of the classicial, closed-form solution) makes it easy to code up (in a single notebook) and extend in interesting ways."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import cvxpy as cp\n",
"import matplotlib.pyplot as plt\n",
"np.random.seed(0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Setup\n",
"\n",
"### Preferences and constants.\n",
"Our investor is 20 years old, and we'll plan out until he's age 105. (Later we'll include a more realistic mortality model here.) This means there are *T = 84* time periods. For now, we'll start off investor with\n",
"initial wealth *w*<sub>init</sub> = \\$3,000,000.\n",
"(We'll replace this with labor income later.)\n",
"\n",
"The investor's tunable preference parameters include a risk aversion parameter γ and a consumption smoothing parameter ρ. This latter is sometimes called the (negative) elasticity of intertemporal substitution.\n",
"\n",
"The bequest weight β encodes the importance of leaving an inheritance for heirs (as opposed to lifetime consumption)."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"gamma = -2 # Risk aversion parameter\n",
"rho = -5 # Consumption smoothing parameter\n",
"w_init = 3000 # Initial wealth (in thousands of dollars)\n",
"ages = np.arange(20, 105)\n",
"T = ages.size - 1\n",
"bequest_weight = 100000 # The importance of the bequest motive (vs lifetime consumption)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Investment universe\n",
"We generate a small investment universe with 5 risky assets and one risk-free asset, so there are *n* = 6 assets total. (We keep *n* small so the plots are legible, although we could easily handle hundreds or thousands of assets.) \n",
"\n",
"We generate the asset return covariance matrix from a single-factor model \n",
"$$\\Sigma = ff^T + D,$$ \n",
"where *D* is diagonal. Then Σ is scaled so that its diagonal elements are between 10% and 20%. The expected returns μ<sub>t</sub> vary over time, and are generated as Σ*w<sub>t</sub>*, where *w<sub>t</sub>* is a randomly generated non-negative vector with entries summing to one.\n",
"\n",
"We then augment the covariance matrix Σ and expected return vectors μ<sub>t</sub> to have a risk-free asset with a 1% percent annual return."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"n = 5\n",
"factor = np.random.rand(n)\n",
"Sigma = np.outer(factor, factor) + np.diag(np.random.rand(n))**2\n",
"adj_vec = 0.2 * np.sqrt((1+np.random.rand(n))/2/np.diag(Sigma))\n",
"#adj_vec = np.sqrt(0.2 * (1+np.random.rand(n))/2/np.diag(Sigma))\n",
"Sigma = (Sigma * adj_vec).T * adj_vec\n",
"\n",
"weights = np.random.rand(n, T)\n",
"weights = np.vstack([t*weights[:, 1] + (1-t)*weights[:, 2] for t in np.linspace(0, 1, T)**2]).T\n",
"weights /= np.sum(weights, axis=0)\n",
"mu = 2*Sigma @ weights\n",
"\n",
"mu_rf = 0.01\n",
"mu = np.vstack([mu, np.full(T, mu_rf)])\n",
"Sigma = np.bmat([[Sigma, np.zeros((n, 1))], [np.zeros((1, n+1))]])\n",
"Sigma_half = np.linalg.cholesky(Sigma + 1e-10*np.eye(n+1))\n",
"n += 1;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here's a scatterplot the asset expected returns vs. risk (i.e., the standard deviation of the return)."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(np.sqrt(np.diag(Sigma)), mu[:, 0])\n",
"plt.xlabel(\"Risk\")\n",
"plt.ylabel(\"Expected return\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And here are the asset expected returns over time:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(ages[:-1], mu.T)\n",
"plt.xlim([ages[0], ages[-2]])\n",
"plt.xlabel(\"Age (years)\")\n",
"plt.ylabel(\"Asset expected return\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Basic consumption-investment problem\n",
"Before defining the optimization problem, we first explain the setup.\n",
"\n",
"The investor's wealth over his lifetime is given by the length-(*T*+1) vector *w*, where its *t*-th element *w<sub>t</sub>* is the wealth at age *t*, in thousands of dollars. (Here, and elsewhere, we'll index vectors by 0, for consistency with Python's syntax.) Similarly, the consumption is given by the length-*T* vector *c*, where *c<sub>t</sub>* is the amount consumed between ages *t* and *t*+1 (also in thousands of dollars). The investments are represented by a *n*-by-*T* matrix *X*. The *t*-th column of *X*, denoted *x<sub>t</sub>*, is the investment portfolio at age *t*, in thousands of dollars. At each age *t*, the sum of the investments across all assets is equal to the wealth, i.e.,\n",
"\n",
"$$w_t = \\mathbf{1}^T x_t.$$\n",
"\n",
"We also assume \n",
"$$x_t \\ge 0,$$\n",
"that is, the portfolio is long only.\n",
"\n",
"The wealth dynamics are\n",
" \n",
"$$\\displaystyle w_{t+1} = w_t + \\mu_t^T x_t - c_t + \\frac{(\\gamma - 1)}{2} \\frac{x_t^T \\Sigma x_t}{w_t}.$$\n",
" \n",
"The wealth increases if μ*<sub>t</sub><sup>T</sup> x<sub>t</sub>* is large, i.e., if the expected return on our investments are high.\n",
"It decreases when the consumption *c<sub>t</sub>* is large or if the portfolio risk *x<sub>t</sub><sup>T</sup>*Σ*x<sub>t</sub>/w<sub>t</sub>* is large. (This latter point is subtle, and is explained in the paper. But basically, we penalize risk by assuming that risky portfolios yield lower returns, all other things equal.)\n",
"\n",
"The investor's lifetime utility is \n",
" \n",
"$$\\beta w_T^\\rho + \\sum_{t=0}^{T-1} c_t^\\rho.$$\n",
" \n",
"The first term here is the *bequest utility*, representing the satisfaction of leaving wealth to one's heirs. The second is the *consumption utility*, representing the utility of consuming wealth during one's lifetime. This is only defined for *c<sub>t</sub>* and *w<sub>T</sub>* positive. The more negative ρ is, the more we prefer a smooth consumption over a jagged one.\n",
"\n",
"We combine this into the following consumption-investment problem:\n",
"\n",
"$$\n",
"\\begin{aligned}\n",
"& \\mbox{maximize} && \\beta w_T^\\rho + \\sum_{t=0}^{T-1} c_t^\\rho \\\\\n",
"& \\mbox{subject to} && \\displaystyle w_{t+1} \\le w_t + \\mu_t^T x_t - c_t\n",
" + \\frac{(\\gamma - 1)}{2} \\frac{x_t^T \\Sigma x_t}{w_t},\n",
" \\quad t=0,\\dots, T-1 \\\\\n",
"& && w_t = \\mathbf 1^T x_t, \\quad t=0,\\dots, T \\\\\n",
"& && x_t \\ge 0 \\quad t=0,\\dots, T \\\\\n",
"& && w_0 = w_{\\rm init}.\n",
"\\end{aligned}\n",
"$$\n",
"\n",
"with variables \n",
"$$c\\in\\mathbf{R}^T, \\; w\\in\\mathbf{R}^{T+1}, \\; X\\in\\mathbf{R}^{n\\times T}.$$\n",
"We solve it using `cvxpy`, which transforms the problem into a second-order cone problem and solves it."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"wealth = cp.Variable(T+1)\n",
"cons = cp.Variable(T)\n",
"x = cp.Variable((n, T))\n",
"\n",
"consumption_util = cp.norm(cons, rho)\n",
"bequest_util = bequest_weight**(1/rho) * wealth[-1]\n",
"total_util = cp.norm(cp.hstack([consumption_util, bequest_util]), rho)\n",
"\n",
"constr = [wealth[0] == w_init, wealth[:-1] == cp.sum(x, axis=0), x >= 0]\n",
"for t in range(T):\n",
" constr += [wealth[t+1] <= wealth[t] + mu[:, t] @ x[:, t] - cons[t]\n",
" + (gamma-1)/2 * cp.quad_over_lin(Sigma_half @ x[:, t], wealth[t])]\n",
" \n",
"cp.Problem(cp.Maximize(total_util), constr).solve()\n",
"x = x.value\n",
"wealth = wealth.value\n",
"cons = cons.value"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Results\n",
"Now we plot the results. First, we show the wealth and investments over time. The total wealth is shown in black. The breakdown of wealth by assets is shown by color. The investor spends down the initial \\$3,000,000 slowly over his life, leaving around \\$1,000,000 when he dies at age 105."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEGCAYAAACUzrmNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABD+0lEQVR4nO3dd5xU9b3/8dfnTN0KS+9FOkoTBNGISiTWqEnUYG6iJjFGowFbLEnUGDVqTPxFvdGERK+aa+KNaWo0KtYYGwKCgkiRIk162To755zP749zdllhYRfY2Znd/Twfj2FmvnPKB5bd937P95zvEVXFGGOM2Rcn2wUYY4zJfRYWxhhjGmRhYYwxpkEWFsYYYxpkYWGMMaZB0WwXkCmdOnXSfv36ZbsMY4xpUebMmbNZVTvv3t5qw6Jfv37Mnj0722UYY0yLIiKr6mu3w1DGGGMaZGFhjDGmQRYWxhhjGmRhYYwxpkEWFsYYYxpkYWGMMaZBGQsLEUmKyCwRmS8iC0Xk5rC9g4jMFJGl4XNJnXWuF5FlIrJYRE6s0z5WRD4IP7tXRCRTdRtjjNlTJnsWKWCyqo4CRgMniciRwHXAS6o6CHgpfI+IDAemAocCJwH3i0gk3NYDwEXAoPBxUgbrNsYYs5uMXZSnwY0yysK3sfChwBnAcWH7I8CrwLVh++OqmgJWiMgyYLyIrASKVfUtABF5FDgT+Ne+9v/ee+8xcOBAevbsSY8ePejZsye9evWiV69e9OzZk969e9OtWzei0VZ7XaIxxjSZjP6kDHsGc4CBwK9V9R0R6aqq6wFUdb2IdAkX7wm8XWf1NWFbOny9e3t9+7uIoAdCfl6S/l07s3nTRpYvWcLmbduoSqU+s3wkEqFbt2706dObPn360rdvX/r06UPfvn3p168fffv2paio6KD/HYwxpqXLaFioqgeMFpH2wN9F5LB9LF7fOITuo72+/c0AZgAMHXCI3nz5ZXU/o7S8nI1btrJxy1Y2bd3Khs1b2LB5Cxu3bOWN117jb1u2kE6nP7PNjh060LdvX/ofcgj9+/fnkPB5wIAB9O3bl3g8vq9/AmOMaRWa5RiMqm4XkVcJxho2iEj3sFfRHdgYLrYG6F1ntV7AurC9Vz3t+0VEKC4spLiwkIF9+9S7jO/7bN2xg083beHTzZv5dOMm1m/azKebNjH77bd46qmnPhMmjuPQu3dvBg4cyMCBAxk0aFDt6wEDBpBMJve3TGOMyUkZCwsR6Qykw6DIA04A7gSeAs4H7gifnwxXeQr4o4jcDfQgGMiepaqeiJSGg+PvAOcB92WiZsdx6FRSQqeSEg4bPHCPz33fZ8v27azdsJF1GzaytuaxaiVz3p3F9p2ldf/+9OnThyFDhjB48GCGDh3KkCFDGDp0KD179sRO6DLGtCSZ7Fl0Bx4Jxy0c4M+q+k8ReQv4s4h8G/gEOBtAVReKyJ+BDwEXuDQ8jAVwCfAwkEcwsL3Pwe1McRyHzh060LlDB0YPG7rH5zvLyln76aes/nQDa9Z/yifrP2X1x8t44z+vU15RWbtcQUEBQ4cMYdjw4QwbNozhw4czfPhwBgwYQCQS2WO7xhiTbRKctNT6DB1wiD50xy3ZLgMIxku2bN/OqrXr+WTdelatXcvKtev4ZN16NmzeUrtcIpFgyJAhHHbYYbWPESNG0LdvX+uJGGOahYjMUdVxe7RbWGRXeWUlq9auY8WataxYvSZ4XrOWDZs21y5TVFTIiBEjGDlyFKNGjWLkyJGMHDmSwsLCLFZujGmNLCxamLKKClasXsPy1WtYtmo1H38SPMrKy4FgTGTAgAGMGTOG0aNHc/jhhzNmzBi6du2a5cqNMS3Z3sLCrkjLUYX5+YwYMpgRQwbXtqkqGzZvYemqVSxb+QlLV37Cm6//myeeeKJ2me7duzN27FjGjh3LuHHjGDduHN26dcvGX8EY04pYWLQgIkK3zp3o1rkTx4wbW9teVlHB0pWrWLx8JUtWrGTBvPd45plnqOk19ujRg/Hjx3PEEUcwfvx4xo0bR/v27bP0tzDGtEQWFq1AYX4+Y4YPY8zwYbVtFVVVLF25io8+XsGij5czZ9Y7/OMf/6j9fPDgwUycOJEJEyYwYcIERo4caVOfGGP2ysYs2pCdZeV8tHw5i5YtZ+HSZSz6eDlbt+8AID8/n/HjxzNx4kSOOuooJk6cSMeOHbNcsTGmudmYhaG4sIDxI0cwfuQIIBgDWb9pEwuXLGPBkmUsXLqMu15/HdcLLm8ZOnQoxxxzDEcffTTHHHMM/fv3t1N4jWmjrGdhPqMqleKjj1fw/uIlvP/REhYsXUppWXAGVvfu3Zk0aRKTJk3i2GOPZfjw4RYexrQy1rMwjZJMJBg9fCijhwdXqPu+z8o1a5n/0WLmL1rMKy++yP/93/8B0KljRyYdeyzHHXccxx9/PIceeqiFhzGtlPUszH5RVdZt3MS8Dxfx3ocfMX/RYtZtDOaC7NypE8cdfzzHH388J5xwAgMHDrTwMKaFsYvyTMas37iJuQs/ZO7CRcz9cBEbwylMevfuzQknnFD76NKlSwNbMsZkm4WFaRaqyur1nzJnwUJmf7CQuQsXsbMsuGHiqFGjOPHEE/nCF77A5z73ORKJRJarNcbszsLCZIXn+yxZvoJZ7y9g9gcLeX/xElzXJT8/n+OPP54TTzyRk046iUGDBmW7VGMMFhYmR1RUVfHewkW8M/99Zr2/gNXr1gMwcMAATj3tNE455RQmTZpkN44yJkssLExOWvPpBt6Z9z5vvTefuQs/JFVdTX5+PlOmTOG0007j1FNPpXv37tku05g2w8LC5LxUdTVzFy7izTnv8eZ78/g0nKZ97OGHc8aZZ3L66aczcuRIO8PKmAyysDAtiqqyfPUa3pjzHm/MeY+FS5ehqvTt25czzjiDM888k2OOOcbmszKmibW5sBg+aLA+/Mtf4LspfC8NtM6/Z1uxZft23pw7j9ffncvsDxaQqq6mY4cOfPH00/nyl7/MlClTbJzDmCbQ5sJi2KAR+sjdTwZvRBHxcBwXkTSIC1SjWg1+Gt9PhaFSjfrePrdrsq+yqoq3573Pv2fN5s335lNWXk5hYSGnnXYaX/nKVzj55JMpKCjIdpnGtEhtOyz2h7g4jovjhKGiKVTTqJ9CvRSeW2U9lRySdl3mLviQV995l9dnz2Xbjh3k5eVx6qmncs4553DKKadYcBizHywsmpCIj9QGSjVoTS8lhedV4aUrUd/NyL7N3rmeF8xf9fY7vDZrNlu37yA/P5/TTjuNqVOncvLJJ9uhKmMaYGHR3MQjEkkjThAmEPRMfK8Sz60MeycmUzzfZ/6ij3jpzSA4tu3YQXFREV/68peZOnUqJ5xwgg2OG1MPC4scI46H46QRqUZIoVqF71fiu1W46UpQP9slthqu5zF34Ye89MbbvDprNmXl5XTu1ImvTp3Kf/3XfzFhwgQ7HdeYkIVFSyIaBImTQkgBQY/EdyssSA5SdTrNO/Pe54XX3+CNufNIVVdzSP/+fOO88/j617/OwIEDs12iMVllYdFa1A0SqQK/Et+rxE2X47upbFfXopRXVPDqrNm88PobzFnwIarKxCOP5Lzzz+erX/0qJSUl2S7RmGbX7GEhIr2BR4FugA/MUNV7ROQnwHeATeGiP1TVZ8N1rge+DXjANFV9PmwfCzwM5AHPAtO1gcJbbVjsQ3BoK4U4KdBKfK8CL12Ol67Ezt7at41btvDC62/y/Otvsnz1ahKJBGeeeSYXXHABU6ZMIRKJZLtEY5pFNsKiO9BdVeeKSBEwBzgTOAcoU9Vf7Lb8cOBPwHigB/AiMFhVPRGZBUwH3iYIi3tV9V/72n9bDIu9EfFxIjUhUoH6FbjVFiL1UVUWr1jJs6/+mxffeJsdpaX06N6d8y+4gG9961t2mMq0elk/DCUiTwL/DRxN/WFxPYCq3h6+fx74CbASeEVVh4bt5wLHqep397U/C4tGECUSqUKkEqjEd8txq0vxvepsV5YTqtNp3pw7j2deeY23572P7/sce+wkvv3tCznrrLPIy8vLdonGNLms3oNbRPoBY4B3CMLiMhE5D5gNXKWq24CeBD2HGmvCtnT4evf2+vZzEXARQLfOPZr2L9EaqeC5eQRH9wJODCIJl0ikEqES3y/HS5fhVpfT1noh8ViM4yYcwXETjmDT1m3867XXeebVf3Peeecx7fvf5+vf+Abf+c53GDlyZLZLNSbjnEzvQEQKgb8Cl6vqTuABYAAwGlgP/LJm0XpW132079moOkNVx6nquPbtOhxs6W2W+lHcdBHpdBc8rz84I4jmTSBROIq8osEkC3sSS7RDJOP/fXJG5w4lnPel03n8V3fx3z/5EUeMOJQZv/0to0aNYsKECTz88MNUVFRku0xjMiajPQsRiREExWOq+jcAVd1Q5/PfAf8M364BetdZvRewLmzvVU+7aU4qeG4+HvlARxCIJJVIJIVIBarl+OlS3OpStBWf2isijBk+jDHDh7GjtJTn/v0GT774Ct/85je54vLLOe/887n44osZNmxYtks1pkllcoBbgEeArap6eZ327qq6Pnx9BTBBVaeKyKHAH9k1wP0SMCgc4H4X+D7BYaxngftqzqDaGxuzyBYlEk3hSDm+X4aX3tnqD2GpKvMWfcQ/XniJV2fNxnVdjj/+OC699DLOOOMMu1LctCjZGLM4GvgG8IGIzAvbfgicKyKjCX56rAS+C6CqC0Xkz8CHgAtcqqo1U8Bewq5TZ/8VPkxOEjw3iUcS6AgORPN8ItFKhDLULyVdtRPfaz3XhNTtbWzbsYOnX36NJ198mbPOOouePXpw8SWXcNFFF9GlS5dsl2rMAbOL8kxWOJE0TqQc9Uvx0ztJp0ppTb0Pz/d5c857/PX5F3n3/Q+Ix+NMnTqVadOmMXbs2GyXZ8xeZf3U2eZmYdHCiE80WgGU4Xs7SVftaDUz965au46/PDeT5/79HyoqKzlq4kQuv+IKvvSlL9khKpNzLCxMyyLh4LlThro7Sae2tfjrP8oqKnj21X/zl+dmsvbTDfTt04fvT5vGhRdeSLt27bJdnjGAhYVpBZxIiohThu+H4dFC58KqOUT1f888x3sfLqKwsJDvfOc7TJ8+nb59+2a7PNPGWViYVmdXeOwgXdUyex5LVqzk8X/+i5fefBsFzjrrLK6++mrGjdvje9WYZmFhYVo1BaLRKsQpRd0dVFdta1FjHhu3bOGJf73AUy++QllFBZMnH8+1117HlClT7F4bpllZWJg2RonEKhBK8dLbSFftoCWcbVVeUcGTL77Cn599nk1btzJ61Ciuve46zjrrLBsMN83CwsK0beIRjZWh/nbc1LZwxt3clXZdXnj9DR576llWrV3LgEMO4drrruO8884jkUhkuzzTillYGFNHcJX5TjxvG+nKbTk7RYnv+/xn9lwe/cfTLFr2MT26d+eqq6/mu9/9LgUFBdkuz7RCFhbG7I34RKKloNtxq7biuVXZrmgPqsrsDxby6D+eYu6CD+nUsSNXXX01l156KUVFRdkuz7QiFhbGNFIkWoXIdrzqraRTO8m1sY4PFi/h4b8+ydvz5lPSvj1XXHkl06ZNs2s1TJOwsDDmAIjjEonuQN1tVFduyanDVYuWfczDf3uS/8yeS/t27bjyqqssNMxBs7Aw5mCJTzRWivrbqK7YlDOn5i5ZsZKHnvg7r8+eUxsa06dPp7i4ONulmRbIwsKYJqXB2VW6jXTl5pyYRbduaHQoKeGaa6/lsssus4Fws18sLIzJkOCCwHJgK27V5qwPkC/6eDkP/vmvvPXefLp07sz1P/whF198MclkMqt1mZZhb2HRdu6LaUyGCOC5BXhub4iOIVE0imRhbyLR7PxwHjbgEH5x/Q/4zS030rtrF6644goGDxrEgw8+iOvmxqEz0/JYWBjThATw0vm4bq8gOApHkizshROJN3stI4YM5t4br+eeG66jKC/BhRdeyPDhw3niiSdorUcUTOZYWBiTITU9DtftjRM/nGTRYSQKuiNO807bMW7EYcy49Sfc8YMr8KqqOOeccxg/fjyvvPJKs9ZhWjYLC2OagwpuugjP60c0MZZk8XDieZ1AmudbUEQ45oixPHzXbfzwexfxycoVTJ48mZNPOon58+c3Sw2mZbOwMKaZqTq41e3wdRCxvHEkiwcRSzTPaa4Rx+HU4ybx+K/u4tKvn8ubb7zBmDFj+OY3v8maNWuapQbTMllYGJNF6kdwqzuhciiJwjEkC3s3y/hGIh7na6efyv/d+0umnnYyjz32GIMHD+bHP/4xO3fuzPj+TctjYWFMjvDcJK7bCyd2OMni4cTyOhKMfGROcWEBl33ja/zx/93J5w4fzW233caggQP53e9+h+d5Gd23aVksLIzJOYJb3Q7VwcQLxpIs6pfx03B7dOnCT6Zfyu9/djPdOnbgoosuYsyYMbz00ksZ3a9pOSwsjMlhvhfDTXdHYqNJFh9KIr8zmextDBs4gPtv/jG3XPF9Nm/YwAknnMAZZ5zBxx9/nLF9mpbBwsKYlkAFt7oYzx8Y9jb64kQycxMkEWHyxAk8dvcdXPy1c3hx5kyGDx/O9ddfT2lpaUb2aXKfhYUxLUzQ2+iBExsTjm2UZGQ/iXicb5x5On/61c+ZfOR47rjjDoYMHswf/vAHu6ivDbKwMKbFqhnbGEq8YAzJwp6IE2nyvXQqKeGGyy5mxm0/oaSogPPOO49jPvc55s2b1+T7MrkrY2EhIr1F5BURWSQiC0VketjeQURmisjS8LmkzjrXi8gyEVksIifWaR8rIh+En90rIpk9RcSYFsb3krhuHyKJseQVDSQSy2vyfRw6aCC/veUmrr/4OyxcsICxY8dy2WWXsW3btibfl8k9mexZuMBVqjoMOBK4VESGA9cBL6nqIOCl8D3hZ1OBQ4GTgPtFpObXpAeAi4BB4eOkDNZtTMulEdLpzhAZTbLoUOJ5HZp0847jcNrkY/nTr+7iS1/4PA888ABDBg/mkUcesUNTrVzGwkJV16vq3PB1KbAI6AmcATwSLvYIcGb4+gzgcVVNqeoKYBkwXkS6A8Wq+pYG/xsfrbOOMaYeArjpYnwdQqJwDImC7k06tUhxYQFXfut8HrrjFrp2KOGCCy7g2EmTWLBgQZPtw+SWZhmzEJF+wBjgHaCrqq6HIFCALuFiPYHVdVZbE7b1DF/v3l7ffi4SkdkiMnv7jq1N+ncwpqXy3CSe149YXs1ZVLEm2/agfn154Kc3cP3F3+H99+czevRorrnmGsrLy5tsHyY3ZDwsRKQQ+Ctwuaruax6B+sYhdB/tezaqzlDVcao6rn27pu1+G9PSqR8NzqKKH06yCcc1ag9N/b+fc8qxx3DXXXdx6PDhPPPMM02yfZMbMhoWIhIjCIrHVPVvYfOG8NAS4fPGsH0N0LvO6r2AdWF7r3rajTEHQh3cdGckOio49baJJjFsV1TEdRdfyP0/vQFHfU477TTOPvts1q2zb9fWoMGwEJGJIvJrEXlfRDaJyCci8qyIXCoi7faxngAPAotU9e46Hz0FnB++Ph94sk77VBFJiEh/goHsWeGhqlIROTLc5nl11jHGHCgNT72VQ0kWHdZkg+Gjhg7hf+68lYumns1TTz7JsGFDmTFjBr7vN8n2TXbsMyxE5F/AhcDzBGcgdQeGAz8GksCTInL6XlY/GvgGMFlE5oWPU4A7gCkishSYEr5HVRcCfwY+BJ4DLlXVmpnMLgF+TzDo/THwrwP76xpj6uOmi8LB8FEkCg5+SpFYNMr5Xz6DP/zydgb26c13v/tdjj/uOBYvXtw0BZtmJ/s63U1EOqnq5n1uoBHLZMOwQSP0kbutA2LMgXAiVQjrSJVvZC9DhI2mqjzzyr/57//9I9VplxtvvJEf/OAHxGJNN9Bumo6IzFHVcbu377Nn0ZgQyMWgMMYcHN9L4nmHEC8cQ6KwOwfT0xARTpt8LI/dfSdHjxnNj370IyaMH29XgLcwjRmz+KqIHBK+HhleRb1ORL6S+fKMMdnkuwk8tx/xgsNJFPTgYEKjY/v23HLl97ntqul8snIlRxxxBDfccAOpVKrpCjYZ05izoX4ArA1f3wJMB8YCN2WqKGNMbvG9OJ7Xt0lC47gJR/C/d9/BCUcdya233srYww9nzpw5TVesyYiGBrhvIrgA7loRuRn4HHAEwdQb7UTkRhGZlPkyjTG54LOhceCHp4oLC7nhsou567qr2fjpp0yYMIEbbriB6urqpi3YNJl9DnADiMhrBNNydAVGqOrXwva3VHVi5ks8MDbAbUzmOZFqhDUHNRC+s6ycex7+A8/9+z+MGDGCRx99lNGjRzdpnabxDmiAO3QxcCIwDLgq3NhwwC7PNKaNC3oah5AoHE08r9MBbaO4sIAbLruYO6+5kvVr1zB+/Hh+9rOf4bpuE1drDkaDPQsAEUmoamq3tg6qmrMTMFnPwpjmF4lVoOlPqK46sGnLd5SW8ovfP8zLb73DkUceyaOPPsqgQYOauEqzLwfTswD4m4hE62ysOzCzqYozxrQOXjofn6Ekig4jmija7/XbFRVxyxXf5+bpl7JwwQeMHj2aBx54wKY/zwGNDYt/AH8RkUg4g+zzwPWZKsoY07J56SJUDiNZPPSAJiw84eiJ/OEXt3PYoAF873vf44unncaGDRsyUKlprEaFhar+jqAn8Q/gaeBiVX0hg3UZY1o4AdzqEpzoSPKKBiBOtMF16urcoQO/vP4HXP7N85g5cyYjDjuMp59+OjPFmgY1dOrslTUPgrmgegPzgCPDNmOM2SdVh3S6C9Hk4SQLe+/XTZgcx+Hsk7/Ag3fcQvvCAk4//XQuueQSKioqMlixqU9DX7WiOo9C4O8Ek/nVtBljTKOoH8F1exHPHxNOVth4h/TuxYzbfsK5XzyF3/zmNxwxbhzvv/9+hio19WnU2VAtkZ0NZUxui8bKcKtX4qZK92u9We9/wK2/nkFZRQV33XUXl112GcHdC0xTOKCzoURkhogctpfPCkTkWyLyX01VpDGm7XDTheEg+GCcSLzR640fOYJH7rqNsYcOZ9q0aZxx+uls2bIlg5UaaPgw1P3AjSKySESeEJH7ReQhEXkdeJPgUNRfMl6lMaZVCgbBO+LER5Ms6tPo8YyS4mJ+fu2VXH7BN3ju+ecZNWoUr7/+emaLbeMamqJ8nqqeQzAf1K+B1wnuaHehqo5S1Xt2v1jPGGP2m0Zw0z2J548hnt+xUauICGefciK/veVGxPc47rjjuPXWW/E8r+GVzX6zMQtjTM6JxneQrlyBl65s1PLlFRXc9fuHmfmfN/n85yfz2GN/pGvXrhmusnU62Cu4jTGm2bjV7ZDoKJJFfRt1aKogP5+bvn8J1118If95/T+MGT2a1157rRkqbTssLIwxuUkFN92DeMFo4nkNH5oSEb44+Thm3PYToo4wefJkbr/9dnzfb4ZiWz8LC2NMTvPdBL4OJlk0DCeaaHD5gX378ODtP2XykRP44Q9/yBdPO42tW3N2ztMWo1FhISKDReR3IvKCiLxc88h0ccYYU8NNt8eJjSJR2IuGbrpUkJfHT6Z/j6u+fT4vzJzJ4Ycfzty5c5un0FaqsT2LJ4C5wI8JbrNa8zDGmOajETy3N4miUQ3OaisifPnEKdx/84+pLC/jqKOO4sEHH2ymQlufxoaFq6oPqOosVZ1T88hoZcYYsxdeOg/kUJJFhyANDIAfOmggD91xCyOHDOLCCy/kwgsvpKqqqpkqbT0auoK7g4h0AJ4Wke+JSPeatrDdGGOyRHDTXYkVjCaeLNnnkiXFxfzyh9dw3pdO58EHH2TSpEmsWbOmmepsHfZ5nYWIrCC4sW59BwhVVQ/JVGEHy66zMKbtUCAe20JV+XLU3/ftWF+b9S633T+DgoJC/vzEExx77LHNU2QLcUDXWahq/zAQhoWvax/A8AZ2+JCIbBSRBXXafiIia0VkXvg4pc5n14vIMhFZLCIn1mkfKyIfhJ/dKzZjmDFmNwKk0x2J5TV8L/Bjxx/B7267mbx4jM9//vPcd999die+RmjsmMWbjWyr62HgpHra/5+qjg4fzwKIyHBgKnBouM79IhIJl38AuAgYFD7q26YxxuB7MXwdRLJo6D5vttS3Zw9+d9tPOGrMaKZNm8aFF15IKmUzF+1LQ2MW3URkLJAnImNE5PDwcRyQv691VfXfQGNPbj4DeFxVU6q6guCeGePDe30Xq+pbGkT/o8CZjdymMaaNctMlRJNjSOTv/b4ZBfn5/Ozq6XzzrC/x0EMPceyxx7J+/fpmrLJlaeg+hycCFwC9gLvrtJcCPzzAfV4mIucBs4GrVHUb0BN4u84ya8K2dPh69/Z6ichFBL0QunXucYDlGWNaA/WjeAwkWdyRVNmyescyHMfhwnO+wsC+fbj1179l3Nix/OPJJzniiCOyUHFua2jM4hFVPR64QFWPr/M4XVX/dgD7ewAYAIwG1gO/DNvrHUDfR/ve6p2hquNUdVz7dnayljEmuA94MJax9ylDjptwBL+99SbwPSZNmsTjjz/ejBW2DPvsWdS9z3Z999xW1bt3b9sXVd1QZ3u/A/4Zvl1DcH/vGr2AdWF7r3rajTGm0XwvhjKYZNFmUuXLUX/PacwH9OnN7267mR/dfQ/nnnsuCxcu5Oabb8ZxbFYk2L97cNf32C/hGESNLwE1Z0o9BUwVkYSI9CcYyJ6lquuBUhE5MjwL6jzAzoc1xuw3Adx0J2J5o4kliutdpn1xEb/68XWcNvlYbr31Vs4++2zKy8ubt9Actc+eharefKAbFpE/AccBnURkDXATcJyIjCY4lLQS+G64n4Ui8mfgQ8AFLlXVmui/hODMqjzgX+HDGGMOiO/FwRlOsmg9VaWfsPuR7Vg0ynXfvZD+vXrx6//9E5OOOYannn6anj33OlzaJjTq5kcikgS+TXBqa7KmXVW/lbnSDo5dlGeMaUgkVoFbtWSvN1l6c+573HTP/ZSUlPDPZ55h9OjRzVtgFhzszY/+AHQjODvqNYKxg9KmK88YY5qfl87HiY0gUdCt3s+POnwM99/8Y9LVKT73uc/x9NNPN3OFuaOxYTFQVW8AylX1EeBUYETmyjLGmOahfgTP60+yaEi9F/IN6teX3932E3p368oZZ5zBvffem4Uqs6+xYZEOn7eLyGFAO6BfRioyxpgscNMdiOWNIpZot8dnnUpK+O+bfsgx48Yyffp0rrjiCjxvzzOqWrPGhsUMESkBbiA4c+lD4OcZq6oJOPjkOSkSTpqY4xIRH9n7JRrGGIPvxVEZRrKoD7tf5pWXTHLrVdM4+5QT+dWvfsXZZ59NRUVFdgrNgkYNcLdEo/v00Zk/uGaPdhVBowk0EsOPxtFoDD8SQ53wORJDnSi+E8OXCL5E8SSCrxFUHDwcfA2eLXuMab2isZ1UVyzF96r3+OzPzz7HvY88xhFHHME///lPOnfe+7QiLc3eBrgbmu6jZuWuwM+AHqp6cjjx30RVbXG3nRJVJF0F6SoiDS++T34khsaS+LEEGo3jR8JHNB6ETRg4nhPDJ4JPBJcIvjr4apPnGpPL3HQx0eRI1F9GunL7Zz4755ST6NqpIzff+wBHTZzIc88/z4ABA7JTaDNp7Kmz/wL+B/iRqo4SkSjwnqrm7CD33noWucJ3nDBo8tBYAj+SwIvG0Wg8CBeJhc9RPCJ4GsEjYiFjTHMTJRpdF16T8VkLlizlmjvvJpFM8syzzzJu3B6/kLc4e+tZNDYs3lXVI0TkPVUdE7bNU9XRTV9q08j1sDhQKoLG8/BjSfxYEi8aPjsx/EgcryZkCELGVQsYY5pCNL6TVNniPSYkXLVuHVf97C52llfwl7/8hZNOatl3UTiow1BAuYh0JDxKLyJHAjuasD7TSKKKpCpwUo0fWNNIBD+Wjx+GjBdL4kWS+NEEnsRwnRgeMdywB9NKh7GMOShudTGxvFGou5R0amdte98ePfjNLTdy9e2/4Itf/CIPPvgg5513XhYrzYzGhsVVBGdBDRCRN4DOwFkZq8o0KfE8Il4pkarGXUfpx5L4iXy8eD5eLAwYJ4EbCcLFI0pao3hqE6yZtsX34ogzjETBalLlu+Y07VRSwq9/8iOu/8U9nH/++WzevJkrr9xj7tUWraFZZy8H3gDeA44FhhCcT7ZYVdP7WNW0YE66CiddRbSBe1epCH6iEC9ZgBfLx4sGh8W8SBLXieMSxbVQMa2MqoPn9SVZXESqdCmqPhDcTOkX11/NT+97gKuuuoqNGzdy++2301ruBN1Qz6IXcA8wFHif4FaqbxBME97Yu+CZVkpUiVQ13GPRaBQvXoiXLAx6K9F83GgQKGniFiimRXKrOxAvGImbWlw7t1Q8FuPmyy+j+PcPc+edd7Jp0yZ++9vfEo029iBO7mpo1tmrAUQkDowDjgK+BfxORLar6vDMl2haOnFdou52ohXb97qMRiJ4iSK8ZBFeogA3mo8bSeA6CdLESWsEtYF6k2M8Nw8ndhiRyDKqq7YBEHEcfvCdb9KhfTseeughtm7dyuOPP04ikchytQensXGXBxQTTPPRjqBn8UGmijJtj3ge0Yq9B4oiwThKXjFuohA3lo8bzcOVBGlJWJiYrFE/isoQEkVrSJUGd4EWES485yu0KyzkVw//gVNPPZV//OMfFBYWZrnaA9fQmMUMgmnJS4F3CA5D3R3eN9uYZiMokVQ5kVQ58Xo+VwQ/WYCXV0w6UYQbLcCN5YVBEse1w1wmk1Tw0r1JFheSKl1SO45x9iknUpCfx+2/+T0nnHACzz77LB06tMxbPjfUs+gDJIClwFqC25xuz3BNxuw3QYlUlRGpKqs/TKJR0nnt8ZLFuIki0tF80k6Sao3hass/nmxyg1tdQrxwJOmKRfheCoBTjptEQX4eN91zP5MmTeLFF1+kW7f6p0TPZQ1elBfezvRQgvGKo4DDCAa331LVmzJe4QFqrRflmaankQhuXnvcvHZ1giSPlMbw9GAnhTFtkRNJo+6Sz1yP8e77C7j+F7+iZ69evPzyy/Tu3TuLFe7dQV3BHW6gF3A0QWCcBnRU1fZNWWRTsrAwTcGPJXEL2pNOtsONF1EdzaeaBGmN2cWLZt9EiTgrSJVvqG36YPESrr79F3Ts1ImXX3mFQw45JIsF1u+AwkJEphGEw9EE97R4A3grfP5Aaw7M5SALC5NJKoJXUEI6rz1uspjqaCEpCQ5r2UC7qaFALPYpVaUrats+Wr6CK2/7OQWFhbz08ssMHTo0ewXW40DD4m7CaytUdX0G62tyFhYmGxTBLyimOr8jbqKY6lgh1ZIkZSHSpkXj20mVLq4d+P74k9VcceudONEoL770EiNHjsxyhbsc9GGolsbCwuQSFcEt6IBb0IHqRFHQEyFJ2rfB9bYiEqsIB76D+2OsWreOy2+5A9dXXnzpJcaMGZPlCgMWFsbkID8Swy3uTHVee9LxYlJOPilN2EzBrZQTSeOnP8KtLgNgzacbmPbT26l2XWa++CJjx47NcoUWFsa0GIrg5bcjXdiJ6kQxqVgRKZK4vp2Z1SqIh6NLa6/4XrdxI9N+egcVqSpeeGEm48ePz255FhbGtGx+Ij8IkLwOpGJFVEmeHcZqsZRIdBWpsmAo+NPNm5n209vZWV7O88+/wMSJE7NWmYWFMa2QF0+SLupMOq8jqVgRleTZRYYtSDS2nqrSlQBs3LKF7//0dnaUlfHCCzM58sgjs1KThYUxbYSfyKe6qAupvA5Ux4qo1Dyb1TeHReNbqdq5BNAgMG6+nZ0V5bzwwkwmTJjQ7PXsLSwy9j9IRB4SkY0isqBOWwcRmSkiS8PnkjqfXS8iy0RksYicWKd9rIh8EH52r7SWyeGNyRAnVUFy80rarZ5L5+Wv0WfFc/Te+CZdK5fRXreQdFLYd1HucKs7kCwejjgRunTsyL03Xk9Rfj5f+MIUZs2ale3yamXy142Hgd1vRnsd8JKqDgJeCt8jIsOBqQTTipwE3C8iNaN5DwAXAYPCR8u+wa0xWRCt2E7+hiWUrHqH7stfou8nz9Nzxzw6uWspdMqISs5eX9smuNXFxAsOw4nE6dqpI/fd+MMgMKZMYfbs2dkuD8hgWKjqv9nzBklnAI+Erx8BzqzT/riqplR1BbAMGC8i3YFiVX1Lg+Nlj9ZZxxhzgMTziG9bR9Ga+XRe/m96h72PLlUf0063EXfsRpjNzUvnE02OIBLLo2unoIeRn0zyhSlTmDdvXrbLy2jPoj5da64ED5+7hO09gdV1llsTtvUMX+/eXi8RuUhEZovI7C1lZU1auDGtXbRiOwWfLqbDqrfouXwmfde9QrfyjyjRTSSdVHBDZZNRvhcnEj+UaLyQbp06ce+N1xGPRplywgksXLgwq7XlyqhXff8NdR/t9VLVGao6TlXHdWzBNxkxJhc41ZXkbVpO+1XvhoeuZtKjdAEd/A3kOVU27pEhvhdDosOJJdvRo0sX7rnhOlCfz0+ezOLFi7NWV3OHxYbw0BLh88awfQ1Qd77eXgR341sTvt693RjTzBwvTWLLJ7T7ZA7dlr9M39Uv0L30gzA8rOfRlNSPoDKUeH5Henfvxj0/vo7qVIrJxx/P8uXLs1JTc4fFU8D54evzgSfrtE8VkYSI9CcYyJ4VHqoqFZEjw7OgzquzjjEmi8R1SW5ZHYZH0PPoXv4hJbqZpFOd7fJaPnXw/UEk8rvSr1dP7rnhOsrLypg8eTJr1qxpeP0mlslTZ/9EMJ35EBFZIyLfBu4ApojIUmBK+B5VXQj8GfgQeA64VFW9cFOXAL8nGPT+GPhXpmo2xhw4x0uT3LSS9qtm0X35i8GYR+VS2rGNmOM1vAFTD8HT/iQKuzOgT29+ef3VbN60kRNOOIGNGzc2vHpTVmIX5RljmoNbUEJV+55UxDtSSb5NlrgfFIhFV1NVtoZ5H37EVbffxdChQ3nl1Vdp3759k+6r2S/KM8aYuqLl2yhcu4AuK16j96rn6bHzA0p0Ewk7ZNUgAVy3N8mivowePpSfXTWdBQsXcsrJJ1PWTGd+WlgYY5qd4/sktq6m/ap36bH8RXpveJ0uqZUUOmU40jqPdjQFN92DZFF/Joweyc3TL+WdWbP48pe+RCqVyvi+LSyMMVkXrSylYP2HwQWCq56nR+kC2usWYo6b7dJyjpvuRl7RAI6bcATXfffbzHzxRb7xjW/geZkdF7LpKY0xOcXxfRJbPiGx5RNKgHRRJ6ra96I81pFKP5Ht8nJCOt2FZLFw6vGws6yc//7DHykpKeE3v/kNmZo+z8LCGJPTYqWbiZVupgjwEgVUdehLRV5nyjW/Td/X3K3uTLJYOPeLp7KjtJQZM2bQsWNHfvazn2VkfxYWxpgWI5Iqp2D9hxQAHaNxUh37Up7flXKK2uTZVW51J/KKhO+e+1V2lpVz++2307lzZ6644oom35eFhTGmRXLcavI2LCWPpXSMRIIeR2F3yihuU8GRTnckv3gwV134TXaWlXHllVfStWtXvva1rzXpflptWFTkO8wfWUREFUeFiA8Rn9rXjioRXxBVIh44Co6vOB6IavhaET84hip+0Ca17UHb3meqMsY0F/E88jYtJ2/Tckoch+oOfSgv6tlmgiOd7khhuyHccNklbN9ZygUXXEDnzp2ZMmVKk+2j1V6U13d4X732j9dmfD+ODzF1iKoQ9YWICjF1iIShVNPu+ErUd4hoTWhB1AvaIxpsJ3gojg/i+0RUED8ILPH9IKyUoM3zcXTXZxZcxuzJdxxSHfpSUdSTsjZwqCoW28KmDfO59KZb+HTLFl599TXGjh27X9toc7dVba6wyCWOQtQXogRhFfUFR4WoShheEoSVUhtmTk1b3V6Xr0RUantatb2u2kfwXrw6va0wwMQLQs2Cy+QajUap6tCPssIelGtBqx0cj8Y2s3rVLC658ae4vvLmW28xcODARq9vYWGalaNhj8vfrcflQ1QdomGvK+KHPTAfIr4Q9WoOEULEDYLN8RTH84MgC187YVA5bhBQ4rfO/8cmM/xYkspO/SnL60aFn5ftcppcNL6RxR+9ziU33kLnzl1486236Ny5c6PWtbAwrZooxNUh5glxjRALQyoWPqK+EHUhFh7+i3oQ8TQIKVeJ+EokHYRQxPWDQEp7OF7r/P4wu3jJIio6HUJpvAspP5btcppMNL6B2bOfZ9pPb2f0mDG8/PLL5OfnN7je3sKi1Q5wm7ZFBVLik3IAmupKVkFUiKtD3HOI+w4J3yHuCXFPiHlCzCN8DVFXiXpK1FUiaSXiekRcPwgh17NDczkqUlVK0Zr5FAHp4q6Ul/Rlp9MBT1v2BBdudVfGjZ3CTdO286Nf3svXvvY1/vrXvxKJRA5oexYWxuzDrhDyD2o7og4JT0j6EZJ+hLgXvI+7QsyHmBs8oh7EdgucaDrs5bgHV4NpWGznBtrv3ECx45Dq2I+yol6UaWGLDXo33Z0TP/8VNm7Zxq/+51GmT5/Offfdd0BXeVtYGNMMVKAqqlThAgc235GoQ54fIelFguDxIiRcSLgOcQ/iaYi5PrG0Eksr0WqPSNojknKxufn2j+P7tafidkgUUNF5IDvjXan2W96PTDfdk2+cfQEbNm/m17/+Nf369ePqq6/e7+20vL+5MW2UClREPCoi+3uYzSHhOeS7EfK9CHlu2MtJC8k0xKt9YrUPj2jKRWysplYkVV57mKq6pAel7ftTSnGLOpsq7fblioums2HTFq655hoOOeQQvvzlL+/XNmyA2xizh4TnUOBGgkfaIT8tJKuFRLWSSPnEUi6xKpdIddu8A54fS1LRZSA7E91b0KC4kk5/yHevu5Lla9by6quvMn78+D2WsrOhjDFNLuILxW6UwnSEwnSE/GrIT0GySklUBYESTbkt9ph/Y7Sk3oaIz9bts/jmVVfgqfLOrFn069dvt2UsLIwxWRDxhXbpKMXpKIXVDoUpyK+CZKVHvDJNrDLdKsLEj+dR3mUwO+JdSefy2IZ4rFj1At+57lp69+7DG2+++Zlbs9qps8aYrPAcZWsizdZEut7PHXVoXx2jfXWU4lSEgiolv8IjWeGSqEi3mPETp7qSojXzKURIderHzuK+lPsNX9fQ7DTCIf2mcMc1W5j+01v46le/yjPPPEM0uu84sLAwxmSVL+wKk6LPfiYqFKdjlFTHaFflUFQFBRU+ybI08YrqnOyRCEpy8wqSm1fgFpRQ2nkIO6Ukp+alUj/K+LHncNsNwrU33cgVV1zBfffdt891LCyMMTlLBXbEXXbEXSj87GcRP0Kn6jglVRHaVwqFZT755S7xslTOnCocLd9GSfnbtIslg0NUie6k/QO7KK6p+V6cc8+5lA07tnP33XczbNgwvve97+11eQsLY0yL5DnKhmSKDUmg/a52Rx06pxJ0qIrSvgKKynwKdlYTraz/MFhzcNJVFK19n0L5gKouA9lR0CcnbhErwM9//nOWLFnCtGnTGDRo0F6XtbAwxrQqvhCGSOozIZLnRumcStCp3KF9ORTsrCZR2ry9EFGtvWFTdUkPdpQMpMwvbHjFDIpEIvzxj3/kqKOO4uyzz97rchYWxpg2oTLq80m0kk8KdrXF/AhdKuN0rohSUqYU7UiTKEs1y1hIfNs6Om9bR0lBCTs7D2WntM/aqbdFRUU8/fTTnHvuubz99tv1LpOVsBCRlUApwYxvrqqOE5EOwP8B/YCVwDmqui1c/nrg2+Hy01T1+SyUbYxpZdKOsrYgxdqCFIQzeCf8KN0qEnQudyjZqRRuryJadWBTtDRGtHwbHcrfol2ykLKuw9judMrKYHi/fv148803cZz6J1DMZs/ieFXdXOf9dcBLqnqHiFwXvr9WRIYDU4FDgR7AiyIyWFXb5qWjxpiMSjk+qworWVUIdA3aSqoTdC+P0alUaLetmmRp0/c+IlVltFv1LkWxJGXdhrE92rXZZ77d1wSDuXQY6gzguPD1I8CrwLVh++OqmgJWiMgyYDzwVhZqNMa0QdviabbF01AC9IGEF6VXRYKuOyOUbEuTt72yycY+nHQVxavfoygapbzbMLbFeuLmwHTp2QoLBV4QEQV+q6ozgK6quh5AVdeLSJdw2Z5A3YNoa8K2PYjIRcBFAB26d8hU7caYNi4V8fm4qJKPi4CeEPej9CpP0G1nhJKtafJ2HHx4iOtSuOYDCiIfBqGR6ImbxdNusxUWR6vqujAQZorIR/tYtr5+Ub1fhjB0ZkAw3cfBl2mMMQ2rdnyWF1WyPAyPhBelb3mSbtuFki3VxMtSB7xt8TwK1y6gILKI8q5D2ZbslZXQyEpYqOq68HmjiPyd4LDSBhHpHvYqugMbw8XXAL3rrN4LWNesBRtjzH5IRXyWFFewpBjoE4x59NmZoMs2j+LNlQd0IyvxPArXLaQg8hHlXYexLdGrWQ9PNfuBMBEpEJGimtfAF4AFwFPA+eFi5wNPhq+fAqaKSEJE+gODgFnNW7Uxxhy4bfE08zuVMXNQJX8/Et4dU8C6foVUF+7/hXlBaCyg1ycz6ZReQ0Sa5w6K2ehZdAX+Ho66R4E/qupzIvIu8GcR+TbwCXA2gKouFJE/Ax8S3GLsUjsTyhjTUvkCKwsrWVkI9IaOqST9t8foutklf1tlo8+yEs+jaO37FEQWUdbjMLZFu2X0lNtmDwtVXQ6Mqqd9C/D5vaxzG3BbhkszxphmtyVRzZau1dAVCtNxBuxI0n2zS+HmikYNkjtemuLV71EQT1LafQTbnU4Zubgvl06dNcaYNq0s5jK/UxnzOwXTkwzYmUevTT6Fm8obDI5IdRXtV71LUbKIHd1GsKPuXCdNwMLCGGNyUGXUZ0GHchZ0gPyBMQZty6PHJpfCLRX7PFQVqSqlw8o3KSrqxLbOh1LuF+x94f1gYWGMMTmuIuLV9jjaVccZuC1Bj0+rSe7c+ym5sdLNdCl9jVSH3mxtP4QqP35QNVhYGGNMC7Ij7jKnq8ucrtCtKo+Bm6N0WVdBJFX/eT+JravptnUNFd2HsjXZ94BPt7WwMMaYFurTZIpPe6VwesLAnUX02+BTvHHP8Q1BKVi/iLzIMkp7jmRbpMt+D4JbWBhjTAvnCyxpV86SdlDUP86hm5N0X1u5xw2fHC9Nu0/mUJhfzLauo2A/BsEtLIwxphUpjbm83b0M6QYDSgsZuF4p2lT+mUHxSMVOOq14nWTXiUDj5tGzsDDGmFZIBZYVV7CsGDr0SzB8U5yuaypw0rvGNhyv8beatbAwxphWbmsizX96pYn3cBi+pYi+q1PEy6v3axsWFsYY00ZUOz7zOpczvxMMKi3ksMIIjb0KI/t31DDGGNOsVGBJcQWrOjZ+EkILC2OMMQ2ysDDGGNMgCwtjjDENsrAwxhjTIAsLY4wxDbKwMMYY0yALC2OMMQ2ysDDGGNMgCwtjjDENsrAwxhjTIAsLY4wxDWq1Ewk65JHnHhq+Cydyl+B13ftDae17BdFgUalZRxEUpOadv2vZsB1q5lbxw1UVRcP3ikjNXvza9bTOMqhf+1pQJHwGHxFBFVQUrTMXfc1W6lQSvNdgzhdjjGlqrTYsXDfK9m3ds13GQYmKT1SUCD5x8YmIT0x8IqLExCOKTxQvbPOI4RPBJ+r4RHwPRzyiojh4RAjeO+oTFZ+Iejjseki4jPgeDi4gYfAEz6rhM+xqJ4hTXwRUUQnbap4BxKl97YefAbXL+aqoOEEgh2FXG8lCbXTuitmgDl+BcD9+7brymX0hQbyrgi9aW/Ou2Ga39/qZz3bFeMCv07Z7/Pta8+tC8OwDqpqR8JbaZ6nz+rPvAURAVABF5LPL1v3zs+17fr77fmv2vYvu8X7/7Vpfd/3G9plfij67Za39OtW0a9121dr/qzW/aNX9mmrtlk1jtdqwaA1cdXAVIEJ5M+87Kh5x8Ug6PnE8Yo5PXDzieMQdjxguMfGJkyaOR1Q8Yn6aqHhE1SWGS1RdopomEr6OqEtE0zja+JkuWwM/DFSVIBhrgg129XMFRVTDH/DBjzHRmngL2oLPrevYlHb9EuPs+uVEar5eUudrt+t17XOd1x7B19STmveCL3zm2UPxxMEHPMCVYN8uigvB5+FnaTR8r7iquLW/imSPhYWpl6sRXI1QkYGf6zHxSISPPMclXvu+5nUQQHFJE9M0MXGDZ4LwiWp1EEJ+mqimyfUfnw6Ko+EhTryGFt87C4omJ0AEQP0D6xA1I1cE14ngioMbCZ/FIe1ESIuQdpzgWYQ0wXM1kBaCZ5Q0SjU+KXyq9/OXthYTFiJyEnAPwdf296p6R5ZLMgcorRHSGqEMDupnJwS/eSccjzxxSTouSXHJc1wS4pLADYJHXBKkiROET5wgZGJh6ET9FBE9yEKMybCoKlHPDd64TbNNv7iq8ftvml1mlohEgF8DU4A1wLsi8pSqfpjdyky2KUKVH6WK6EEFj4NSEEnXhk2e45JHmoSkSUo6DJ7q4LBbGDQ1j6hWE/Wrc76HY8zu9ud02BYRFsB4YJmqLgcQkceBM4C9hkUs4tClONFM5ZnWIQlAVfjYth9rikLSccmTNHlOEDpJSZMnaRJaTZwgaBIEvRkHD0c9Iurj1A6VG9PMEoWNXrSlhEVPYHWd92uACbsvJCIXAReFb1NfP7Lfgmao7UB1AjZnu4i9yOXawOo7WFbfwWnt9fWtr7GlhEV9Pfw9fhVT1RnADAARma2q4zJd2IHK5fpyuTaw+g6W1Xdw2mp9LeUK7jVA7zrvewHrslSLMca0OS0lLN4FBolIfxGJA1OBp7JckzHGtBkt4jCUqroichnwPMGpsw+p6sIGVpuR+coOSi7Xl8u1gdV3sKy+g9Mm6xNVOwvDGGPMvrWUw1DGGGOyyMLCGGNMg1p8WIhIbxF5RUQWichCEZketncQkZkisjR8LslSfUkRmSUi88P6bs6l+sJaIiLynoj8M9dqC+tZKSIfiMg8EZmdazWKSHsR+YuIfBT+P5yYC/WJyJDw36zmsVNELs+F2urUeEX4fbFARP4Ufr/kUn3Tw9oWisjlYVvW6hORh0Rko4gsqNO213pE5HoRWSYii0XkxIPZd4sPC4JZUq5S1WHAkcClIjIcuA54SVUHAS+F77MhBUxW1VHAaOAkETkyh+oDmA4sqvM+l2qrcbyqjq5z/ngu1XgP8JyqDgVGEfxbZr0+VV0c/puNBsYCFcDfc6E2ABHpCUwDxqnqYQQnr0zNofoOA75DMIPEKOA0ERmU5foeBk7ara3eesKfg1OBQ8N17g+nTjowqtqqHsCTBHNILQa6h23dgcU5UFs+MJfg6vOcqI/gmpWXgMnAP8O2nKitTo0rgU67teVEjUAxsILwZJFcq69OPV8A3sil2tg1M0MHgjMz/xnWmSv1nU0waWnN+xuAa7JdH9APWNDQ/zXgeuD6Oss9D0w80P22hp5FLRHpB4wB3gG6qup6gPC5SxbriojIPGAjMFNVc6m+XxF8A9SdrzhXaquhwAsiMiec0gVyp8ZDgE3A/4SH8n4vIgU5VF+NqcCfwtc5UZuqrgV+AXwCrAd2qOoLuVIfsACYJCIdRSQfOIXg4uBcqa/G3uqpb5qknge6k1YTFiJSCPwVuFxVd2a7nrpU1dPgUEAvYHzYvc06ETkN2Kiqc7JdSwOOVtXDgZMJDjNOynZBdUSBw4EHVHUMUE5uHLarFV7IejrwRLZrqSs8tn4G0B/oARSIyNezW9UuqroIuBOYCTwHzKfJJgdvFo2aJqmxWkVYiEiMICgeU9W/hc0bRKR7+Hl3gt/qs0pVtwOvEhw/zIX6jgZOF5GVwOPAZBH53xyprZaqrgufNxIccx9P7tS4BlgT9hYB/kIQHrlSHwQhO1dVN4Tvc6W2E4AVqrpJVdPA34Cjcqg+VPVBVT1cVScBW4GluVRfaG/1NOk0SS0+LEREgAeBRap6d52PngLOD1+fTzCW0exEpLOItA9f5xF8g3yUC/Wp6vWq2ktV+xEcpnhZVb+eC7XVEJECESmqeU1wTHsBOVKjqn4KrBaRIWHT5wmmzs+J+kLnsusQFORObZ8AR4pIfvh9/HmCkwNypT5EpEv43Af4MsG/Y87UF9pbPU8BU0UkISL9gUHArAPeSzYGjpp4sOdzBF2r94F54eMUoCPBwO3S8LlDluobCbwX1rcAuDFsz4n66tR5HLsGuHOmNoIxgfnhYyHwoxyscTQwO/wa/wMoyZX6CE6q2AK0q9OWE7WFtdxM8MvTAuAPQCLH6nudIPznA5/P9r8fQVitB9IEPYdv76se4EfAxwSD4CcfzL5tug9jjDENavGHoYwxxmSehYUxxpgGWVgYY4xpkIWFMcaYBllYGGOMaZCFhTGAiHxJRFREhjbxdi8XkfOacpuN3G9nEXmuufdrWi8LC2MC5wL/Ibg4sUmISBT4FvDHptrmXvaxB1XdBKwXkaMztW/TtlhYmDYvnFfsaIILnKbWaXdE5P7wXgb/FJFnReSs8LOxIvJaOLnh8zXTLexmMsE0G66IDBCRuXW2PUhE5uxrWyLyHRF5V4J7ofw1nMwOEXlYRO4WkVeAO0XkWNl1z4r3aq54J7hA8L+a/B/MtEkWFsbAmQT3o1gCbBWRw8P2LxNMBz0CuBCYCLVzkd0HnKWqY4GHgNvq2e7RwBwAVf0Y2CEio8PPvgk83MC2/qaqR2hwL5RFBGFWYzBwgqpeBVwNXKrBZJXHAJXhMrPD98YctHq7sMa0MecSTNUOwYSK5xLcd+RzwBOq6gOfhr/JAwwBDgNmBlMaESGYgmF33fnsTaV+D3xTRK4EvkowIeK+tnWYiNwKtAcKCe5HUOMJVfXC128Ad4vIYwQBsyZs30gwm6sxB83CwrRpItKR4HDRYSKiBD+sVUSuof4pngnbF6rqxAY2Xwkk67z/K3AT8DIwR1W3iEiPfWzrYeBMVZ0vIhcQzN9Vo7zmhareISLPEMyJ9raInKCqH4X7rsSYJmCHoUxbdxbwqKr2VdV+qtqb4M53nyMY8P5KOHbRlV0/rBcDnUWk9rCUiBxaz7YXAQNr3qhqFUHv4AHgfxqxrSKCQeoY+xh7EJEBqvqBqt5JcOip5oyuwQQT9Blz0CwsTFt3LsE9Mur6K/C18HkNwQ/c3xLcgXGHqlYThMydIjKfYKbjo+rZ9r+A3W/U9Bjhnf8AGtjWDeE+ZxLMzLo3l4vIgnD9ynC/AMcDz+xjPWMazWadNWYfRKRQVcvCw1WzCO7a9+l+rP934BpVXRq+v5pguvAbMlPxZ/b9b+AMVd2W6X2Z1s/GLIzZt3+GN6+KA7fsT1CEriMY6F4aBscAgjGSjBKRzsDdFhSmqVjPwhhjTINszMIYY0yDLCyMMcY0yMLCGGNMgywsjDHGNMjCwhhjTIP+Py7N+/tQngWjAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.stackplot(ages[:-1], x, alpha=.5)\n",
"plt.plot(ages, wealth, color='k')\n",
"plt.xlim([ages[0], ages[-1]])\n",
"plt.xlabel('Age (years)')\n",
"plt.ylabel('Wealth (k\\$)');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we show the consumption over time. The investor consumes less when younger, and more when older."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(ages[:-1], cons)\n",
"plt.xlim([ages[0], ages[-2]])\n",
"plt.gca().set_ylim(bottom=0)\n",
"plt.xlabel('Age (years)')\n",
"plt.ylabel('Consumption (k\\$)');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Labor income\n",
"In this section, we'll add labor income to the mix. First, to offset the effect of this, we set the initial wealth to 0."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"w_init = 0"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Then we generate a labor income trajectory over the investor's lifetime. It increases until his mid 40s, then begins to decrease. At age 65, he retires, and the income ceases."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"income = (-.1*ages**2 + 10*ages - 100)[:-1]\n",
"income[ages[:-1] > 65] = 0.\n",
"plt.plot(ages[:-1], income)\n",
"plt.xlim([ages[0], ages[-2]])\n",
"plt.xlabel(\"Age (years)\")\n",
"plt.ylabel(\"Annual income (k\\$)\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Human capital\n",
"The human capital at time t is the net present value of the remaining income to be earned, discounted using the risk-free return."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"human_cap = np.cumsum((np.hstack([income, 0]) * np.exp(mu_rf * ages))[::-1])[::-1]\n",
"plt.plot(ages, human_cap)\n",
"plt.xlim([ages[0], ages[-1]])\n",
"plt.xlabel(\"Age $t$ (years)\")\n",
"plt.ylabel(\"Human capital (k\\$)\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Consumption-investment problem with income\n",
"We modify the consumption-investment problem to include labor income:\n",
"\n",
"$$\n",
"\\begin{aligned}\n",
"& \\mbox{maximize} && \\beta w_T^\\rho + \\sum_{t=0}^{T-1} c_t^\\rho \\\\\n",
"& \\mbox{subject to} && \\displaystyle w_{t+1} \\le w_t + \\mu_t^T x_t - c_t + y_t\n",
" + \\frac{(\\gamma - 1)}{2} \\frac{x_t^T \\Sigma x_t}{w_t + v_t},\n",
" \\quad t=0,\\dots, T-1 \\\\\n",
"& && w_t = \\mathbf 1^T x_t, \\quad t=0,\\dots, T \\\\\n",
"& && x_t \\ge 0 \\quad t=0,\\dots, T \\\\\n",
"& && w_0 = w_{\\rm init}.\n",
"\\end{aligned}\n",
"$$\n",
"\n",
"with variables \n",
"$$c\\in\\mathbf{R}^T, \\; w\\in\\mathbf{R}^{T+1}, \\; X\\in\\mathbf{R}^{n\\times T}.$$"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"wealth = cp.Variable(T+1)\n",
"cons = cp.Variable(T)\n",
"x = cp.Variable((n, T))\n",
"\n",
"consumption_util = cp.norm(cons, rho)\n",
"bequest_util = bequest_weight**(1/rho) * wealth[-1]\n",
"total_util = cp.norm(cp.hstack([consumption_util, bequest_util]), rho)\n",
"\n",
"constr = [wealth[0] == w_init, wealth[:-1] == cp.sum(x, axis=0), x >= 0]\n",
"for t in range(T):\n",
" constr += [wealth[t+1] <= wealth[t] + mu[:, t] @ x[:, t] - cons[t] + income[t]\n",
" + (gamma-1)/2 * cp.quad_over_lin(Sigma_half @ x[:, t], wealth[t] + human_cap[t])]\n",
"\n",
"cp.Problem(cp.Maximize(total_util), constr).solve()\n",
"x = x.value\n",
"wealth = wealth.value\n",
"cons = cons.value"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Results\n",
"Here's the wealth over time again. This time, The wealth increases quickly over the investor's life, peaking around retirement at age 65. (This is called the *accumulation* phase.) After retirement, the investor spends down his savings. (This is called *decumulation*.) As before, the investor dies at age 105 leaving around \\$1,000,000 to heirs."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.stackplot(ages[:-1], x, alpha=.5)\n",
"plt.plot(ages, wealth, color='k')\n",
"plt.xlim([ages[0], ages[-1]])\n",
"plt.xlabel('Age (years)')\n",
"plt.ylabel('Wealth (k\\$)');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we show the consumption over time, this time with income. As income is low, in the early 20s, the investor consumes his entire income, saving nothing, with consumption rising to match increases in income. Beyond age 23, the investor begins saving, and increases consumption at a more moderate rate. By retirement at age 65, there is sufficient wealth to continue consumption until death at age 105."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEGCAYAAACKB4k+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAA1PklEQVR4nO3deXhU5dn48e+dPSEbIYEEAgQQ2URAgaLigih1QVDrgm9VrFrf1qVSrRa6aNdftQvV1rdaqxbbUncUqnXFFVdAQEEQZBECSdhDQhay3L8/npMhxEASyMw5Se7PdeWamTMz59xhee7z7KKqGGOMMQBRfgdgjDEmOCwpGGOMCbGkYIwxJsSSgjHGmBBLCsYYY0Ji/A7gSGRmZmpeXp7fYRhjTJuyePHi7aqa1dh7bTop5OXlsWjRIr/DMMaYNkVEvjzYe9Z8ZIwxJsSSgjHGmBBLCsYYY0LadJ+CMSY4qqqqyM/Pp6Kiwu9QjCchIYHc3FxiY2Ob/R1LCsaYVpGfn09KSgp5eXmIiN/hdHiqyo4dO8jPz6dPnz7N/p41HxljWkVFRQVdunSxhBAQIkKXLl1aXHOzpGCMaTWWEILlcP4+LCmY4KqtgaoKsOXdjYkY61MwkVdVDts+h22rYMcXUFIAewqgpBDKtrv3q8qhtmr/d2IS3E9cMqR0g5QcSMmG1O6QNRC6DoL0PIiy+5yOrrCwkGnTprFw4ULi4+PJy8vjnnvu4eijj/Y7tINaunQpW7Zs4ZxzzgFg3rx5fPbZZ0yfPj3isVhSMOGl6hLAxvfgy/dh82LYtR601r0vUZDczRXwnfMgdyTEJkFsAsQkQnQMVFe6JFFdAZWlUFoIO9fBhgVQsXv/tWKTXILo+TXofQL0OhGSG53Jb9opVeWCCy5g6tSpPP7444ArcIuKigKfFBYtWhRKCpMmTWLSpEm+xGJJwbS+ij3wxauw6r+w7g0o2+GOJ3eD3FEw9GJ3Z991EGT0hejmD5f7isoSl3S2fgZbV0HhJ7B4Fnx4v3s/82joPwEGnuuSRVT0Ef96JrjeeOMNYmNj+c53vhM6Nnz4cFSV2267jRdffBER4Sc/+QmXXnopb775Jj/72c/IzMxk+fLlHH/88fzrX/9CRJg+fTrz5s0jJiaGCRMm8Pvf/56rrrqKiRMnctFFFwGQnJxMaWkpb775JnfeeSfdunVj6dKlXHjhhQwdOpR7772X8vJynnvuOfr168dVV11FQkICK1asoKioiJkzZzJhwgTuuOMOysvLWbBgATNmzKC8vJxFixZx33338eWXX3L11Vezbds2srKy+Pvf/06vXr246qqrSE1NZdGiRRQWFvLb3/42FNeRsKRgWkdlCax41v2sf8c1/SRlwlFnQt5Y6H2iSwCt3REZn+JqF7kj9x+r3gcFS+HL92D9W/DhX+H9+yAxAwacDcdeAnmnWFNTGP38Pyv4bMueVj3n4O6p3HnekEN+pq5gb2jOnDksXbqUZcuWsX37dkaNGsUpp5wCwJIlS1ixYgXdu3fnpJNO4t1332Xw4ME8++yzrFq1ChFh9+7dTca3bNkyVq5cSUZGBn379uXaa6/lo48+4t577+XPf/4z99xzDwAbNmzgrbfeYu3atYwbN44vvviCX/ziF6EkADBr1qzQeW+88UauvPJKpk6dyiOPPML3vvc9nnvuOQAKCgpYsGABq1atYtKkSZYUjM9qa2HDO7D037ByHlSVQUY/GPNdd2eeO8qfO/OYOOg52v2MneZqLmvnu5rLyudh6WxI6wnDpsCwy6BLv8jHaCJqwYIFXHbZZURHR9OtWzdOPfVUFi5cSGpqKqNHjyY3NxdwtYoNGzYwZswYEhISuPbaazn33HOZOHFik9cYNWoUOTk5APTr148JEyYAMHToUN54443Q5y655BKioqLo378/ffv2ZdWqVYc87/vvv8+cOXMAuOKKK7j99ttD751//vlERUUxePBgioqKWvaHchCWFEzL7dvrEsEH98POtRCfBsdeCiMuhx7Ht35t4EglpMKQC9xPVQV8/gIsmQ1v/x7e/p2rzZxwPfQdF7zY26im7ujDZciQITz99NNfOa6HGMEWHx8feh4dHU11dTUxMTF89NFHzJ8/n8cff5z77ruP119/nZiYGGpra0Pn3LdvX6PniYqKCr2Oioqiuro69F7DYaItHTZa//P1r3mo37ElrP5smq+kEF77OcwcDP/9ASSkwYV/gx98Dufd45pwgl6oxibAMd+AK+bA91fAaT9yTU3/vADuPwmW/Ms1P5k26fTTT6eyspK//e1voWMLFy6kc+fOPPHEE9TU1LBt2zbefvttRo8efdDzlJaWUlxczDnnnMM999zD0qVLAbdc/+LFiwGYO3cuVVVVBz3HwTz11FPU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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(ages[:-1], cons)\n",
"plt.plot(ages[:-1], income)\n",
"plt.xlim([ages[0], ages[-2]])\n",
"plt.gca().set_ylim(bottom=0)\n",
"plt.xlabel('Age (years)')\n",
"plt.ylabel('Cash flows (k\\$)');\n",
"plt.legend([\"Consumption\", \"Income\"]);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Mortality and life insurance\n",
"We begin by defining some mortality data for our investor, starting with the survival function *s<sub>t</sub>*, the probability of still being alive at age *t*. We enforce that *s<sub>T</sub>* = 0, so that the investor definitely dies by age 105."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEKCAYAAAAW8vJGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAtuElEQVR4nO3deXxcZdn/8c+VfU+3pEu6072ltDS0ZV+Vsi8qtggqIggPCIgrPwFRwV0fRJRFQGURHjYBWURAEAsUSaF7aQld0zVdkzbN2uv3x5nCJKTpTJLJTJLv+/U6r5lz5sycL6HJNec+575vc3dERET2SYp3ABERSSwqDCIi0ogKg4iINKLCICIijagwiIhIIynxDtBWffr08aFDh8Y7hohIpzJ37twt7l7Q3GudvjAMHTqUkpKSeMcQEelUzGz1/l5TU5KIiDSiwiAiIo2oMIiISCMqDCIi0ogKg4iINNJhhcHM7jOzzWa2aD+vm5ndZmalZrbAzA7tqGwiIvKxjjxj+DMwo4XXTwFGhpZLgTs6IJOIiDTRYf0Y3P11Mxvawi5nAfd7MA74HDPrYWb93X1DS5+7uaKGe/6zguz0FLLSkslJTwmWjBRy01PJzUghNyOFlGS1momIRCKROrgVAWvD1stC2z5RGMzsUoKzCtL6jeDm55Ye8MMzU5PJzUghLzOVvNBjbsbHz/MzU8nLSCUvMyX0uG9b8HqqCouIdBOJVBismW3NziLk7ncDdwMUFxf7v276NFU1DeyqqWd3TT27auqprN73WEdl9cePO/cEj9t317J6axU799RRsaeO+r0tT1iUlZb8UfHIzwwVkLD1fUuPrLD10PP0lOQ2/3BERDpKIhWGMmBQ2PpAYH0kb8zLCP5At5a7s6eugYo9QeGoqA6KRUV1HTur6qiorqdiTx07Q0tFdR3rdlSzdEMlO/fUsaumvsXPz0xN/kTR6JGVSo+stI+e98xKo0eomPTMSqNHViqZqcmYNVcvRURiJ5EKwzPAlWb2CDAN2Hmg6wvtxczISkshKy2FfvkZUb+/vmHvR2cj+5Yd+55X1QbrVR9vW7OtigVldWyvqqWmfu9+PzctOenjohF67JkdesxKo2d2Gr1C672z0+mVk0Z2moqJiLRNhxUGM3sYOA7oY2ZlwA+AVAB3vxN4HjgVKAWqgIs6KltbpSQn0TM7+EMdreq6hlDRqGX77jp27qn9qIhsr6plx+7QY1UdH5bvYvvqOnZU1e636SstOYneOWn0yg6WPjnp9MlJo3dOOr2z0+iTm05BTjqFuen0yk7TRXkR+YSOvCtp1gFed+CKDoqTMDJSk+mXnxzVmYq7U1kTXCfZtruW7VW1bNtdx7bdNWzdXcu2XcH2LbtrWbllN1t21VBd98kzEzPonZ1GQW4GBblBseibl06/vAz65mXQLz9Y+mSnk5SksxCR7iKRmpIkQmb20XWVIb2zI3rP7pp6tuyqYcuuGsoraynfVUN55b6lms2VNSzfWEn5rhoampyNpCYbffMy6J+fwYAemRT1yGRgzyyKemYyqGcmRT0zdYFdpAtRYegmstNTyE5POWAhadjrbN1Vw8aKajburGZjRTUbdlazYcce1u+sZu7q7Ty7YEOj4mEG/fMyGNQri6G9sxlWkM3Q3tkML8hmSO8sFQ2RTkaFQRpJTjIK8zIozMtg4sDm96lv2MumyhrWbd/D2m1VrNlWxdptVazeVsUr729iS0ntR/smGQzulcWIwhwOKsxhVGEuo/vlMqIwh4xUFQyRRKTCIFFLSU6iKNSkNHVYr0+8XlFdx6otu1m5ZTcfbt5FafkuPty8m9eXb6G2IbjWkZxkDO2dxdj+eUwoymfCgHzGD8hr1QV8EWlfKgzS7vIyUpk4sAcTB/ZotL2+YS+rtlaxbGMl72+s4P2Nlby3ZgfPLvj4ruRBvTKZNKgnkwb1YNKgfMYPyNeZhUgHU2GQDpOSnMSIwhxGFOZw2sT+H23fvruWJRsqWLhuJwvKdjB31Tb+Pj/o25iWnMTEgflMGdqT4iG9mDq0F/lZre/MKCIHZsFdop1XcXGxl5SUxDuGtLPNFdW8t3YH767ezjurtrFw3U7qGhwzGNc/j+nDe3P48N5MG96L3Db0ehfprsxsrrsXN/uaCoN0BtV1Dcxfu4O3V27jrQ+3MnfNdmrr95KcZBw6uAdHjyzg6JF9mDiwB8nqcyFyQCoM0uVU1zXw7prtvFG6hf98sIWF63biDr2y0zh2VAHHjynk2JEFanYS2Q8VBunytu2uZXbpFl57fzOvLtvM9qo6kpOMqUN7cfL4vnx6fD8G9MiMd0yRhKHCIN1Kw15n3trtvLJ0M/9csonSzbsAOGRgPqce3J/TJvZnYM+sOKcUiS8VBunWSjfv4sXFG3lx8UYWlO0E4NDBPTh94gBOP6Q/hbnRj6gr0tmpMIiErN66m2cXbODZBRtYuqGC5CTj6JF9OPfQgXx6XF/1mZBuQ4VBpBmlmyt58t11/O29dWzYWU1uegpnTBrAzMMGcXBRvua1kC5NhUGkBXv3OnNWbOXxd8t4fuEGquv2MrZ/HrOmDuKsSUXkZ+rOJul6VBhEIlRRXcfT89bzf++sYdG6CjJTkzl7chEXTh/CuAF58Y4n0m5UGERaYWHZTh6Ys4qn562npn4vxUN68uUjhzJjfD/NfCedngqDSBvsqKrl8bllPDBnNau3VlHUI5MvHTGEzx82WM1M0mmpMIi0g4a9zitLN3Hv7JW8vXIbWWnJzDxsMF89epg6z0mno8Ig0s4WrdvJvbNX8sz89Rhw1qQiLjt2OCP75sY7mkhEVBhEYqRsexX3/Gcl//fOWvbUNXDy+L5cdeJIxg/Ij3c0kRapMIjE2Lbdtfz5zVX86Y2VVFbXc9LYvlx94kgOHqgCIYlJhUGkg+zcU8df3lzFvbNXsnNPHSeN7cu3Th7FmH661VUSiwqDSAerrA4KxF2vr2BXTT1nTBzANz41imF9suMdTQRQYRCJm51Vddz1+of86Y1V1DbsZeZhg7jmpFEU5KbHO5p0cyoMInFWXlnD7f/6gIfeXkN6ShJfO/Ygvnr0MLLSNO26xEdLhUHdN0U6QEFuOj88awL//MYxHD2ygN+8tJzjf/Uaj88tY+/ezv3lTLoeFQaRDjS8IIc7L5zC45cdTr/8TL712HzOveNN5q3dEe9oIh9pVWEws2vDno9uvzgi3UPx0F787fIj+PXnDmHdjj2c/fs3+NZj8ymvrIl3NBGiauA0sx7A/wJjzKwaWABcDFzU/tFEurakJOMzUwZy8oR+3P6vUu6dvYJ/Lt7Id2aM4fypg0lK0nwQEh+tuvhsZicDW4CJwBZ3/3t7B4uULj5LV/Fh+S5ueGoRb364lUMG9eCWsycwoUgd5CQ22uXis5n928z29dIZBhwNPBRNUTCzGWa2zMxKzex7zbyeb2Z/N7P5ZrbYzHQmIt3GQQU5PPTVadz6+Ums217FmbfP5ifPL2VPbUO8o0k3E801hh7uXmFmU4BLgJ7AHyN9s5klA78HTgHGAbPMbFyT3a4Alrj7IcBxwK/NLC2KjCKdmplx9uQiXvnmcXz+sMHc/foKTvnt68xZsTXe0aQbiaYw1JlZCvBF4Ofu/gNgfBTvnwqUuvsKd68FHgHOarKPA7kWTLabA2wD6qM4hkiXkJ+Zyk/PPZi/XjKNvQ4z757D9/+2kF01+nWQ2IumMNwGzAdOB/Y1H+VE8f4iYG3YelloW7jbgbHAemAhcLW77236QWZ2qZmVmFlJeXl5FBFEOpcjDurDi9ccw1ePGsZf/7uGU377Ou+s2hbvWNLFRVwY3P1+YBowwd33mNkI4K0ojtXcLRZNr3yfDMwDBgCTgNvDrmuEZ7nb3YvdvbigoCCKCCKdT2ZaMtefPo5Hv3Y4hnHeXW/x0xeWUlOvaw8SG1H1Y3D3Xe6+J/S81N2juThcBgwKWx9IcGYQ7iLgSQ+UAiuBMdFkFOmqDhvai+evPpqZhw3irn+v4Kzb32D5psp4x5IuqCN7Pr8DjDSzYaELyjOBZ5rsswY4EcDM+gKjgRUdmFEkoeWkp/DTcydy75eK2bKrhjNvn80j/11DZx/zTBJLhxUGd68HrgReBJYCj7r7YjO7zMwuC+32Y+AIM1sIvAJ81923dFRGkc7ixLF9ef7qoyke0ovvPbmQrz/8HhXVdfGOJV2ERlcV6cT27nXu+PeH/Oal5RT1yOQPXzhUneIkIu3Vwc3M7AIzuzG0PtjMprZXSBGJXlKSccXxI3j0a9Opa9jLZ+54k8dK1h74jSItiKYp6Q/A4cCs0HolQYc1EYmzKUN68ezXj2LKkJ58+/EF/L+/LdRdS9Jq0RSGae5+BVAN4O7bAfVKFkkQvXPSuf8rU7n8uIP469trOO+uOWzcWR3vWNIJRdvzOZlQ3wMzKwA+0flMROInJTmJ784Yw50XTKF0UyVn3j6bBWU74h1LOploez7/DehrZrcAs4GfxCSViLTJjAn9eOJ/jiA1OYnz7nqL5xZsiHck6USiKQyFwC8JisEG4Gx3fywmqUSkzcb0y+PpK49k/IB8rvjru9z2ygfq7yARiaYw5AF3EnRMc4IB7kQkgfXJSeehr07j3MlF/Oal5Xz3iQXUN6gFWFoWzVhJP3T38QRDYw8A/m1mL8csmYi0i4zUZH593iFcdeJIHi0p49IH5mqOB2lRa3o+bwY2AlsJmpdEJMGZGdd+ahQ3nz2B15Zt5vx75rBtd228Y0mCiqaD2+Vm9hrBUBV9gEvcfWKsgolI+7tg+hD+8IUpLF5fwWfvfJP1O/bEO5IkoGjOGIYA17j7eHf/gbsviVUoEYmdGRP68eDF0yivqOG8u95i7baqeEeSBBPNNYbvufu8GGYRkQ4ydVgvHrpkGpXV9XzuzrdYUb4r3pEkgRywMJjZ7NBjpZlVhC2VZlYR+4giEgsTB/bgkUuDMZbOu2uO5naQjxywMLj7UaHHXHfPC1ty3f0Ts6uJSOcxtn8e//e16SRZMK/0+xv1XU86dqIeEUlAIwpzefRrh5OWnMQX/vg2pZt15tDdRdKUVBnWdNR00dcLkS5gaJ9sHrpkGmbG+X98m5Vbdsc7ksRRJE1JuWFNR00XNSWJdBEHFeTw10umUb/XOf+Pc3S3UjcWVVOSmfU0s6lmdsy+JVbBRKTjjeqby4MXT6OqtoFZf9Sw3d1VNB3cvgq8TjBn8w9DjzfFJpaIxMu4AXk8cPFUdlTVceG9b7OjSj2ku5tozhiuBg4DVrv78cBkoDwmqUQkriYO7MHdX5zC6q1VXPTnd6iqrY93JOlA0RSGanevBjCzdHd/Hxgdm1giEm9HHNSH22ZNZv7aHVz+4LvU1mtU1u4imsJQZmY9gKeAl8zsaWB9LEKJSGKYMaEfPznnYP69vJxvPTafvXs1n0N3kBLpju5+TujpTWb2KpAP/CMmqUQkYcycOphtVbX84h/L6J+fwXWnjo13JImxiAtDOHf/d3sHEZHEdfmxB7FxZzV3vb6CgT0zufDwofGOJDHUqsIgIt2LmfGDM8azfscefvDMYvrnZ3LSuL7xjiUxoiExRCQiyUnGbbMmM6Eon68//B4LynbEO5LEiAqDiEQsKy2Fe75UTK/sNL7y5xLWaaKfLinipiQzu7aZzTuBuZqnQaT7KMzN4C9fOYxzfv8ml/ylhMcvP5ysNLVKdyXRnDEUA5cBRaHlUuA44I9m9p32jyYiiWpEYS63zZrM0o0VfPuxBbjrNtauJJrC0Bs41N2/6e7fJCgUBcAxwJdjkE1EEtjxYwq57pQxPLdwA7/7V2m840g7iqYwDAbCB02pA4a4+x6gJpIPMLMZZrbMzErN7Hv72ec4M5tnZovNTLfFiiSwS44ezrmTi/jNS8v5x6KN8Y4j7SSahsG/AnNCPZ4NOAN42MyygSUHerOZJQO/Bz4FlAHvmNkz7r4kbJ8ewB+AGe6+xswKo8gnIh3MzPjJuQezYsturn10HsMLjmRU39x4x5I2iviMwd1/DFwC7AC2A19z9x+5+253/0IEHzEVKHX3Fe5eCzwCnNVkn/OBJ919TeiYmyPNJyLxkZGazN0XTiErLYXLHphLZXVdvCNJG0Uz7HY6waB52QTDYZxqZjdGcawiYG3YelloW7hRQE8ze83M5prZF/eT5VIzKzGzkvJyDfAqEm+FeRn8/vzJrN5WxXce18Xozi6aawxPE3zDrwd2hy2Rsma2Nf3XkwJMAU4DTgZuMLNRn3iT+93uXuzuxQUFBVFEEJFYmTa8N9+bMYYXFm3k3tkr4x1H2iCaawwD3X1GG45VBgwK/zw+OTprGbDF3XcDu83sdeAQYHkbjisiHeSrRw9j7urt/PSF9zm4KJ9pw3vHO5K0QjRnDG+a2cFtONY7wEgzG2ZmacBM4Jkm+zwNHG1mKWaWBUwDlrbhmCLSgcyMX35uIoN7ZXHlw+9RXhnRDYuSYKIpDEcBc0O3my4ws4VmtiDSN7t7PXAlwZSgS4FH3X2xmV1mZpeF9llKMJT3AuC/wD3uviiKjCISZ7kZqdxxwaFU7Knj2kfnaQ6HTsgivUhkZkOa2+7uq9s1UZSKi4u9pKQknhFEpBkPzlnN9U8t4rpTxvC1Yw+Kdxxpwszmuntxc69FM1FPXAuAiHQuX5g2mDdKt/DLF5cxbXhvJg3qEe9IEqEDNiWZ2ezQY6WZVTR9jH1EEemMzIyfnTuRvnkZfP3hd6lQ/4ZO44CFwd2PCj3munte08fYRxSRzio/K5XbZk1i/Y5qvv+3Rerf0ElE08HNzOwCM7shtD7IzKbGLpqIdAVThvTiGyeN5O/z1/PUvHXxjiMRiOaupD8AhxMMWwGwi2DsIxGRFl1+3AiKh/TkxqcXs16T+yS8aArDNHe/AqgGcPftQFpMUolIl5KcZPz6vENo2Ot8+/H5uoU1wUVTGOpCI6Q6gJkVAHtjkkpEupwhvbO5/rRxvFG6lfvfWhXvONKCaArDbcDfgL5mdgswG/hJTFKJSJc0a+ogThhTyE9feJ/SzbviHUf2I5phtx8CvkNQDNYDZ7v7Y7EKJiJdj5nxs88cTFZaMtc+Oo/6BjU6JKJo7krKAE4FTgJOAGaEtomIRKwwN4NbzjmYBWU7ufs/K+IdR5oRTVPS/cB4gial24GxwAOxCCUiXdupB/fntIP7c+tLH1C6uTLecaSJaArDaHe/2N1fDS2XEkysIyIStZvOHE92ejLffnwBDbpLKaFEUxjeM7Pp+1bMbBrwRvtHEpHuoCA3nZvOHM97a3bwpzc0sU8iiWSspH3Da08jmJNhlZmtBN4Cjol1QBHpus48ZAAnje3LL19cxsot0UwIKbEUyRnD6cAZwAxgGHAscFzo+WkxSyYiXZ6Zccs5E0hPSeK7jy9Qx7cEEckgeqtbWjoipIh0XX3zMrj+9HH8d9U2Hn5nTbzjCNFdYxARiYnPTRnIEQf15mfPv8+miup4x+n2VBhEJO7MjJ+cczC1DXv54d8XxztOtxfJxecHQo9Xxz6OiHRXQ/tkc9WJI3l+4UZeWrIp3nG6tUjOGKaE5nv+ipn1NLNe4UusA4pI93HpMcMZ3TeXG55aRKVmfIubSArDncA/gDHA3CZLSeyiiUh3k5qcxE8/czCbKqv59T+XxztOtxXJXUm3uftY4D53H+7uw8KW4R2QUUS6kUMH9+SL04fwl7dWMX/tjnjH6ZaiGV31cjM7xMyuDC0TYxlMRLqvb508moKcdK5/apGGy4iDaEZXvQp4CCgMLQ+Z2ddjFUxEuq/cjFSuP30cC9ft5K9vq7tUR4vmdtWvEkzveaO73whMBy6JTSwR6e7OmNifI0f05hcvLqO8sibecbqVaAqDAQ1h6w2hbSIi7c7M+NFZE6iua+Cnzy+Nd5xuJZrC8CfgbTO7ycxuAuYA98YklYgIcFBBDl875iCefG8dc1ZsjXecbiOai8+/AS4CtgHbgYvc/dYY5RIRAeCK40cwsGcm1z+1iDpNBdohohoSw93fDd2++lt3fy9WoURE9slMS+amM8ZTunkXf3lzVbzjdAsaK0lEEt6JYws5bnQBt778AZsrNcherKkwiEjCMzNuPH0cNfUN/PyFZfGO0+VF04/hSjPr2ZaDmdkMM1tmZqVm9r0W9jvMzBrM7LNtOZ6IdB3DC3K4+KjhPPFuGXNXb493nC4tmjOGfsA7ZvZo6A98VLeqmlky8HvgFGAcMMvMxu1nv58DL0bz+SLS9X39hBH0zUvnpmcWq0d0DEVzV9L1wEiCW1S/DHxgZj8xs4Mi/IipQKm7r3D3WuAR4Kxm9vs68ASwOdJsItI9ZKencN0pY1m4biePlayNd5wuK9q7khzYGFrqgZ7A42b2iwjeXgSE/58sC237iJkVAecQjOi6X2Z2qZmVmFlJeXl5FP8FItLZnTVpAIcN7ckvXlzGzj0amjsWohoryczmAr8A3gAOdvfLgSnAZyL5iGa2NT0XvBX4rrs3NLPvx29yv9vdi929uKCgIIJDi0hXYWb84IzxbK+q5bZXPoh3nC4pJYp9+wDnunujEa3cfa+ZnR7B+8uAQWHrA4H1TfYpBh4JXb7oA5xqZvXu/lQUOUWki5tQlM/MwwbxlzdXMWvqYEYU5sQ7UpcSTVNSetOiYGY/B3D3SAYyeQcYaWbDzCwNmAk8E75DaI6Hoe4+FHgc+B8VBRFpzjc/PZrM1GRufm5JvKN0OdEUhk81s+2USN/s7vXAlQR3Gy0FHnX3xWZ2mZldFkUOERH65KRz1YkjeW1ZOa++r3tV2pMF15Nb2MHscuB/gOHAh2Ev5QJvuPsFsYt3YMXFxV5SohlGRbqj2vq9nHzr65jBi9ccQ2qy+uxGyszmuntxc69F8lP8K3AGQbPPGWHLlHgXBRHp3tJSkrjh9LGsKN/N/W9pQp/2EsmczzvdfZW7z3L31WHLto4IKCLSkuNHF3LMqAJufXk5W3dpQp/2cMDCYGazQ4+VZlYRtlSaWUXsI4qI7F8wjtJYqmob+M1Ly+Mdp0uI5IzhqNBjrrvnhS257p4X+4giIi0bUZjLhdOH8PB/1/D+Rn1fbStdqRGRLuGak0aSm5HKj59dwoFuqpGWRdKUVBnWdNR0UWkWkYTQIyuNb5w0kjdKt/LSkk3xjtOpRdKUlBvWdNR0UVOSiCSML0wfwojCHG55fik19S2OrCMtaMvF5wqdMYhIIklNTuKG08exemsVf35jVbzjdFptuficpzMGEUk0x44q4PjRBfzuX6Vs0e2rraKLzyLS5Xz/tHFU1+n21daKZtjtDDO71syeNLMnzOwbZpYRy3AiIq0xojCHC6YP4RHdvtoq0Zwx3A+MB34H3A6MBR6IRSgRkba6+sTg9tWbn12q21ejFE1hGO3uF7v7q6HlUmBUrIKJiLRFz+w0rj5xJLNLt/Avjb4alWgKw3tmNn3fiplNI5jJTUQkIV14+BCG98nmlueXUtewN95xOo1IblddaGYLgGnAm2a2ysxWAW8Bx8Q4n4hIq6UmJ/H/Tg1GX31wjkZfjVQkU3tGMm2niEhCOnFsIUeO6M2tL3/AOZOL6JGVFu9ICS+SfgwfDbUNVAB9gSFhi4hIwjIzbjh9HJXVddz68gfxjtMpRHO76leB1wmm5vxh6PGm2MQSEWk/Y/rlMXPqYB6Ys5rSzZXxjpPworn4fDVwGLDa3Y8HJgPlMUklItLOvvmpUWSlJnPLc0vjHSXhRVMYqt29GsDM0t39fWB0bGKJiLSv3jnpXHXiSF5dVs5ry3T7akuiKQxlZtYDeAp4ycyeBtbHIpSISCx86YihDO2dxc3PLaVet6/uV8SFwd3Pcfcd7n4TcANwL3B2jHKJiLS7tJTg9tXSzbt46O018Y6TsFo1VhJwFXBQNO8XEUkEnxrXlyMO6s3/vrycHVW18Y6TkDRWkoh0K2bGjWeMo2JPnUZf3Y9IOrjtM9rdDwlbf9XM5rd3IBGRWBvTL48Lpg/hwTmrOX/aYMb009Qy4TRWkoh0S9d+ahR5manc9Mxijb7ahMZKEpFuqUdWGt/89GjmrNjGC4s2xjtOQtFYSSLSbZ0/dTAPzVnNLc8t5fjRhWSmJcc7UkKIdqykHsAZoaVHaJuISKeUnGTcdOZ41u3Yw12vfxjvOAkjmttVrwYeAgpDy4Nm9vVYBRMR6QjTh/fmtIn9ueO1D1m7rSrecRJCNBefLwamufuN7n4jMB24JJqDmdkMM1tmZqVm9r1mXv+CmS0ILW+a2SHNfY6ISHu6/rSxJCcZP/z74nhHSQjRFAYDGsLWG0LbInuzWTLwe+AUYBwwy8zGNdltJXCsu08EfgzcHUU+EZFW6Z+fyTUnjeTlpZt5acmmeMeJu2gKw5+At83sJjO7CZhDMCxGpKYCpe6+wt1rgUeAs8J3cPc33X17aHUOMDCKzxcRabWLjhzGqL453PTMYqpq6+MdJ64iKgxmZsBjwEXANmA7cJG73xrFsYqAtWHrZaFt+3Mx8MJ+8lxqZiVmVlJerpG/RaTtUpOTuPnsg1m3Yw+3/6s03nHiKqKez+7uZvaUu08B3m3lsZprdmq2V4mZHU9QGI7aT567CTUzFRcXq2eKiLSLqcN68ZlDB/LH/6zg3EMHMqIwJ96R4iKapqQ5ZnZYG45VBgwKWx9IM8N2m9lE4B7gLHff2objiYhE7bpTx5CZmswNTy3qtj2ioykMxxMUhw9Ddw3t6xEdqXeAkWY2zMzSgJnAM+E7mNlg4EngQnfX6FYi0uH65KTznRljeGvFVh6bWxbvOHERzSB6p7TlQO5eb2ZXEswVnQzc5+6Lzeyy0Ot3AjcCvYE/BJc1qHf34rYcV0QkWudPHcwz89Zz87NLOG5UAYV5GfGO1KHsQKdKZpYBXAaMABYC97p7wlyyLy4u9pKSknjHEJEuZkX5Lmb89j+cMLqQOy+cEu847c7M5u7vi3ckTUl/AYoJisIpwK/bMZuISEIaXpDDNSeN5B+LN/LCwg3xjtOhIikM49z9Ane/C/gscHSMM4mIJIRLjh7O+AF53PD0YnZW1cU7ToeJpDB89NNIpCYkEZFYS01O4uefmcj2qlp+/NySeMfpMJEUhkPMrCK0VAIT9z03s4pYBxQRiacJRfl87ZjhPD63jH8u7h7zNkQy7Hayu+eFllx3Twl7rvnwRKTLu+akUYzrn8f3nlzI5srqeMeJuWj6MYiIdEtpKUncNmsSu2vq+c7jC7p8xzcVBhGRCIwozOX7p43ltWXlPDCna89RpsIgIhKhC6cP4dhRBdzy3FJKN1fGO07MqDCIiETIzPjl5yaSnZ7CVQ/Po7qu4cBv6oRUGEREolCYm8GvPjeRJRsquuxAeyoMIiJROmFMX646YQSPzS3jr/9dE+847U6FQUSkFa4+aRTHjirgpmcW896a7Qd+QyeiwiAi0grJScZvZ06iX34Glz/4Llt21cQ7UrtRYRARaaUeWWnc8YUpbK+q5YqH3qWmvmtcjFZhEBFpgwlF+fzisxN5e+U2vvnofPbu7fwXo6OZqEdERJpx1qQiNu6s5qcvvE9Bbjo3nj6O0GRjnZIKg4hIO7j0mOFsqqjhvjdW0jcvg8uOPSjekVpNhUFEpB2YGdefNpbyXTX87IX36ZOTzmenDIx3rFZRYRARaSdJScavPjeRbbtr+M7jwfWG8w4bFO9YUdPFZxGRdpSekswfv1jMkSP68J0nFnDf7JXxjhQ1FQYRkXaWlZbCPV8q5uTxffnRs0v43SsfdKqhM1QYRERiID0lmd+ffyjnHlrEr19azs3PLaWhk9zKqmsMIiIxkpKcxK8+ewh5GancO3sl72+s4LaZk+mdkx7vaC3SGYOISAwlJRk3nTmeX3x2IiWrtnP672bzboKPraTCICLSAc4rHsQTlx9BSrLx+bve4r7ZKxO2aUmFQUSkg0woyufZK4/mmJEF/OjZJZx7x5ssXr8z3rE+QYVBRKQD5Welcs+Xirn185NYt72KM29/g5ufXcLumvp4R/uICoOISAczM86eXMQr1x7HecWDuGf2So795Wvc+e8P2ZUABcI60721zSkuLvaSkpJ4xxARabW5q7dz68vL+c8HW8jLSOHLRw7jy0cMpVd2WsyOaWZz3b242ddUGEREEsP8tTv4w2ulvLh4E6nJxnGjCzl7UhEnji0kIzW5XY+lwiAi0ol8sKmSR0vW8vS89WyurCEnPYUTxhRyxEG9Ofyg3gzuldXmYb0TpjCY2Qzgt0AycI+7/6zJ6xZ6/VSgCviyu7/b0meqMIhIV9Ww15mzYitPvbeOV5eVfzR9aFGPTA4d0pPRfXMY1TeX0f1yGdQzi6SkyItFS4Whw3o+m1ky8HvgU0AZ8I6ZPePuS8J2OwUYGVqmAXeEHkVEup3kJOPIEX04ckQf3J0Py3fx1odbefPDrby7ejt/n7/+o33TUpIY1jubYX2yGV6QzcCeWfTOSaNPTjp9ctLomZ1GTlpKRMWjI4fEmAqUuvsKADN7BDgLCC8MZwH3e3AaM8fMephZf3ff0IE5RUQSjpkxojCXEYW5XHj4UAB21dTzwaZKlm+q5MPy3awo38XyzZW8vHQT9c10njOD3PQU8jJTWzxWRxaGImBt2HoZnzwbaG6fIqBRYTCzS4FLAQYPHtzuQUVEOoOc9BQmD+7J5ME9G22va9jLll01bKmsZcvuGrZU1rBzTx0Ve+qoqK5n55463mjhczuyMDR3/tK0pEWyD+5+N3A3BNcY2h5NRKTrSE1Oon9+Jv3zM/e7z60z9//+juzgVgaET2U0EFjfin1ERCSGOrIwvAOMNLNhZpYGzASeabLPM8AXLTAd2KnrCyIiHavDmpLcvd7MrgReJLhd9T53X2xml4VevxN4nuBW1VKC21Uv6qh8IiIS6NCJetz9eYI//uHb7gx77sAVHZlJREQa0yB6IiLSiAqDiIg0osIgIiKNqDCIiEgjnX50VTOrBJbFO0cL+gBb4h2iBcrXNomcL5GzgfK1VVvzDXH3guZe6NC7kmJk2f5GCEwEZlaifK2nfK2XyNlA+doqlvnUlCQiIo2oMIiISCNdoTDcHe8AB6B8baN8rZfI2UD52ipm+Tr9xWcREWlfXeGMQURE2pEKg4iINNKpCoOZDTKzV81sqZktNrOrQ9t7mdlLZvZB6LHngT4rBtkyzOy/ZjY/lO2HiZKtSc5kM3vPzJ5NtHxmtsrMFprZPDMrScB8PczscTN7P/Rv8PBEyWdmo0M/t31LhZldkyj5Qhm/EfrdWGRmD4d+ZxIin5ldHcq12MyuCW2LazYzu8/MNpvZorBt+81kZteZWamZLTOzk9ty7E5VGIB64JvuPhaYDlxhZuOA7wGvuPtI4JXQekerAU5w90OAScCM0JwSiZAt3NXA0rD1RMt3vLtPCrs/O5Hy/Rb4h7uPAQ4h+DkmRD53Xxb6uU0CphAMW/+3RMlnZkXAVUCxu08gGHp/ZiLkM7MJwCUE89IfApxuZiMTINufgRlNtjWbKfR3cCYwPvSeP5hZcquP7O6ddgGeBj5F0PO5f2hbf4JOb/HMlQW8SzCndcJkI5gR7xXgBODZ0LZEyrcK6NNkW0LkA/KAlYRu2Ei0fE0yfRp4I5Hy8fF87r0IOtY+G8oZ93zA54B7wtZvAL6TINmGAosO9O8NuA64Lmy/F4HDW3vcznbG8BEzGwpMBt4G+npoprfQY2GcMiWb2TxgM/CSuydMtpBbCf7B7w3blkj5HPinmc01s0tD2xIl33CgHPhTqCnuHjPLTqB84WYCD4eeJ0Q+d18H/ApYA2wgmJ3xnwmSbxFwjJn1NrMsgsnCBiVItqb2l2lf4d2nLLStVTplYTCzHOAJ4Bp3r4h3nn3cvcGDU/mBwNTQKWpCMLPTgc3uPjfeWVpwpLsfCpxC0Ex4TLwDhUkBDgXucPfJwG7i3+z2CRZMm3sm8Fi8s4QLtYWfBQwDBgDZZnZBfFMF3H0p8HPgJeAfwHyCZuvOxJrZ1uq+CJ2uMJhZKkFReMjdnwxt3mRm/UOv9yf4xh437r4DeI2grS9Rsh0JnGlmq4BHgBPM7MEEyoe7rw89biZoH5+aQPnKgLLQWSDA4wSFIlHy7XMK8K67bwqtJ0q+k4CV7l7u7nXAk8ARiZLP3e9190Pd/RhgG/BBomRrYn+ZygjOcvYZCKxv7UE6VWEwMwPuBZa6+2/CXnoG+FLo+ZcIrj10dLYCM+sRep5J8IvwfiJkA3D369x9oLsPJWhq+Je7X5Ao+cws28xy9z0naH9elCj53H0jsNbMRoc2nQgsIUHyhZnFx81IkDj51gDTzSwr9Ht8IsHF+4TIZ2aFocfBwLkEP8OEyNbE/jI9A8w0s3QzGwaMBP7b6qN09MWUNl6IOYrg9GgBMC+0nAr0Jrio+kHosVccsk0E3gtlWwTcGNoe92zNZD2Ojy8+J0Q+gjb8+aFlMfD9RMoXyjIJKAn9P34K6Jlg+bKArUB+2LZEyvdDgi9Li4AHgPREyQf8h6DQzwdOTISfHUFx2gDUEZwRXNxSJuD7wIcEF6hPacuxNSSGiIg00qmakkREJPZUGEREpBEVBhERaUSFQUREGlFhEBGRRlQYRESkERUGERFpRIVBugUzO8fM3MzGtONnDjSzz+/ntUwz+3ebhj5ufa40M3vdzFI6+tjSNagwSHcxC5hNMBxIezmRYLyk5nwFeNLdG9rxeB+xQLO/v+5eS9ArttmiJXIgKgzS5YVG4z2SYEiBmWHbb7BgNraXQjOKfSvstQssmJFvnpnd1fSbv5kdBfwG+Gxon2FNDvsFQuPYmNmPLTTbYGj9FjO7qqXjmNlToeHHF+8bgtzMhlowc9wfCOb7GGRmz1kwa+CiJmcvT4UyiERNhUG6g7MJZl5bDmwzs0PNrBj4DMGcHucC+2aMw8zGEnzbPtKDYdQbaPJH1t1nA+8AZ3kwc9rKsPenAcPdfVVo072EBj4LfcufCTx0gON8xd2nhHJdZWa9Q9tHA/d7MPR3MbDe3Q/xYFa0f4RFXAQc1oqflQhqg5TuYBbBJEUQDDk+C1gHPO3uewDM7O9h+59IMD3mO8FAoGTS/JDLowkGLGuqD7Bj34q7rzKzrWY2GegLvOfuW81sVgvHucrMzgk9H0QwWuZGYLW7zwltXwj8ysx+TjAo4n/CjtlgZrVmluvulS39cESaUmGQLi30TfsEYIKZOcFcww78b0tvA/7i7tcd4HN3ejC3QFN7gIwm2+4Bvgz0A+5r6ThmdhzBsO2Hu3uVmb0W9nm79+3n7svNbArBCMM/NbN/uvuPwj4qHaje/3+mSPPUlCRd3WcJml6GuPtQdx9EMHdzCXCGmWWErkGcFvaeVwiuHewbo7+XmQ1p8rnD2M9EKO6+HUg2s/Di8DeCiZsOI5iPt6Xj5APbQ0VhDDC9ueOY2QCgyt0fJJg289Cw13oD5fspXCIt0hmDdHWzgJ812fYEcD7B5CbzgdUEhWIngLsvMbPrCeafTiIYD/+K0H77vA/0MbNFwKXu/maTY/yTYP6Ql0OfWWtmrwI79t2p1MJx/gFcZmYLCJqq5tC8g4Ffmtne0HsvD3vteOD5A/1wRJqj+Rik2zKzHHffZcEE8K8T/IF/t50+ezJwrbtfGFpPIriT6HPu/kF7HOMAx38SuM7dm7sGItIiNSVJd3a3mc0j+IP9RHsVBQB3fw941cySzWwcUAq80kFFIQ14SkVBWktnDCIi0ojOGEREpBEVBhERaUSFQUREGlFhEBGRRlQYRESkERUGERFpRIVBREQa+f8Tn41Lq9L+CwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"surv_fun_ages = np.arange(0, 105)\n",
"surv_fun_data = np.array([\n",
" 1.00000, 0.99450, 0.99409, 0.99380, 0.99360, 0.99341, 0.99326, 0.99313, 0.99302, 0.99292, 0.99284,\n",
" 0.99277, 0.99268, 0.99256, 0.99238, 0.99209, 0.99171, 0.99123, 0.99064, 0.98992, 0.98907, 0.98809,\n",
" 0.98699, 0.98581, 0.98457, 0.98331, 0.98204, 0.98076, 0.97946, 0.97814, 0.97679, 0.97543, 0.97404,\n",
" 0.97262, 0.97118, 0.96970, 0.96817, 0.96658, 0.96492, 0.96317, 0.96133, 0.95938, 0.95730, 0.95507,\n",
" 0.95264, 0.94998, 0.94706, 0.94387, 0.94037, 0.93650, 0.93224, 0.92759, 0.92255, 0.91710, 0.91123,\n",
" 0.90491, 0.89809, 0.89078, 0.88297, 0.87467, 0.86587, 0.85658, 0.84675, 0.83635, 0.82537, 0.81377,\n",
" 0.80150, 0.78852, 0.77473, 0.76007, 0.74446, 0.72776, 0.70982, 0.69056, 0.67002, 0.64831, 0.62541,\n",
" 0.60115, 0.57539, 0.54813, 0.51921, 0.48892, 0.45743, 0.42473, 0.39088, 0.35629, 0.32148, 0.28633,\n",
" 0.25138, 0.21721, 0.18443, 0.15362, 0.12530, 0.09992, 0.07775, 0.05893, 0.04344, 0.03108, 0.02156,\n",
" 0.01448, 0.00940, 0.00600, 0.00300, 0.00125, 0.00000\n",
"])\n",
"\n",
"surv_fun = np.interp(ages, surv_fun_ages, surv_fun_data)\n",
"surv_fun /= surv_fun[0]\n",
"surv_fun[-1] = 0.\n",
"\n",
"plt.plot(ages, surv_fun)\n",
"plt.xlim([ages[0], ages[-1]])\n",
"plt.xlabel('Age $t$ (years)')\n",
"plt.ylabel('Probability of being alive $s_t$');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Probability distribution of age at death\n",
"Next we define *p<sub>t</sub>*, the probability of dying at age *t*, which is computed from *s<sub>t</sub>*."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"death_probs = np.diff(surv_fun[::-1])[::-1]\n",
"plt.plot(ages[:-1], death_probs)\n",
"plt.xlim([ages[0], ages[-2]])\n",
"plt.xlabel('Age $t$ (years)')\n",
"plt.ylabel('Probability of death $p_t$');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Life insurance\n",
"To hedge the risk of an early death, the investor can get life insurance. This allows him to pay an annual premium in a given year exchange for increasing the bequest if he dies during that year. The payout of the policy depends on his age (and in particular, likelihood of death in the coming year). The payout-to-premium ratio λ*<sub>t</sub>* is plotted below. When the investor is young (and presumably healthy), the payout-to-premium ratio is large. It decreases as the investor's probability of dying increases."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"payout_ratio = surv_fun[:-1] / death_probs\n",
"plt.plot(ages[:-1], payout_ratio)\n",
"plt.xlim([ages[0], ages[-2]])\n",
"plt.xlabel('Age $t$ (years)')\n",
"plt.ylabel('Payout-to-premium ratio $\\lambda_t$');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Consumption-investment problem with mortality\n",
"We add a new optimization variable length-*T* vector *l*, where \n",
"$$l_t \\ge 0$$\n",
"is the life insurance premium the investor pays at age *t*. The life insurance payout at age *t* is λ*<sub>t</sub>l<sub>t</sub>*.\n",
"\n",
"Here's our final optimization problem, with uncertain mortality and life insurance.\n",
"\n",
"$$\\begin{aligned}\n",
"& \\mbox{maximize} && \\beta \\sum_{t=0}^{T-1} p_t (w_t + \\lambda_t l_t)^\\rho + \\sum_{t=0}^{T-1} s_t c_t^\\rho \\\\\n",
"& \\mbox{subject to} && \\displaystyle w_{t+1} \\le w_t + \\mu_t^T x_t - c_t + y_t - l_t\n",
" + \\frac{(\\gamma - 1)}{2} \\frac{x_t^T \\Sigma x_t}{w_t + v_t},\n",
" \\quad t=0,\\dots, T-1 \\\\\n",
"& && w_t = \\mathbf 1^T x_t, \\quad t=0,\\dots, T \\\\\n",
"& && x_t \\ge 0 \\quad t=0,\\dots, T \\\\\n",
"& && l_t \\ge 0 \\quad t=0,\\dots, T \\\\\n",
"& && w_0 = w_{\\rm init}.\n",
"\\end{aligned} $$\n",
"\n",
"with variables\n",
"$$c\\in\\mathbf{R}^T, \\; w\\in\\mathbf{R}^{T+1}, \\; X\\in\\mathbf{R}^{n\\times T}, l\\in\\mathbf R^T.$$"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"wealth = cp.Variable(T+1)\n",
"x = cp.Variable((n, T))\n",
"cons = cp.Variable(T)\n",
"prem = cp.Variable(T)\n",
"\n",
"consumption_util = cp.norm(cp.multiply(surv_fun[:-1]**(1/rho), cons), rho)\n",
"payout = cp.hstack([cp.multiply(payout_ratio, prem), 0])\n",
"bequest_util = cp.norm(cp.multiply((bequest_weight*death_probs)**(1/rho), wealth[1:] + payout[1:]), rho)\n",
"total_util = cp.norm(cp.hstack([consumption_util, bequest_util]), rho)\n",
"\n",
"constr = [wealth[0] == w_init, wealth[:-1] == cp.sum(x, axis=0), x >= 0, prem >= 0]\n",
"for t in range(T):\n",
" constr += [wealth[t+1] <= wealth[t] + mu[:, t] @ x[:, t] - cons[t] + income[t] - prem[t]\n",
" + (gamma-1)/2 * cp.quad_over_lin(Sigma_half @ x[:, t], wealth[t] + human_cap[t])]\n",
"\n",
"cp.Problem(cp.Maximize(total_util), constr).solve()\n",
"x = x.value\n",
"wealth = wealth.value\n",
"cons = cons.value\n",
"prem = prem.value\n",
"payout = payout.value"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Results\n",
"The wealth trajectory is largely the same as last time, but declines more steeply during decumulation. This is because our mortality model predicts that the investor is less likely to be alive, and can therefore safely consume more quickly."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.stackplot(ages[:-1], x, alpha=.5)\n",
"plt.plot(ages, wealth, color='k')\n",
"plt.xlim([ages[0], ages[-1]])\n",
"plt.xlabel('Age (years)')\n",
"plt.ylabel('Wealth (k\\$)');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Bequest size\n",
"We can also plot the potential bequest *w<sub>t</sub>* + λ*<sub>t</sub>l<sub>t</sub>* as a function of age *t*. (Recall that λ*<sub>t</sub>l<sub>t</sub>* is the potential insurance payout should the investor die at age *t*.) We see that when wealth is low in early life, the investor takes life insurance to ensure that the bequest is sufficiently large. The life insurance stops at age 45 when the investor has accumulated enough wealth to be a sufficiently large bequest."
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(ages, wealth)\n",
"plt.plot(ages, payout)\n",
"plt.plot(ages, wealth + payout)\n",
"plt.xlim([ages[0], ages[-1]])\n",
"plt.xlabel('Age (years)')\n",
"plt.ylabel('Amount (k\\$)')\n",
"plt.legend(['Wealth', 'Potential payout', 'Total bequest']);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Cash flows\n",
"Here we show the consumption *c<sub>t</sub>*, income *y<sub>t</sub>*, and insurance premiums *l<sub>t</sub>*. We see that planned consumption decreases after age 90 or so, as there is little change the investor will still be alive then. Note that the insurance premium payments are very small relative to the income and consumption."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(ages[:-1], cons)\n",
"plt.plot(ages[:-1], income)\n",
"plt.plot(ages[:-1], prem)\n",
"plt.xlim([ages[0], ages[-2]])\n",
"plt.gca().set_ylim(bottom=0)\n",
"plt.xlabel('Age (years)')\n",
"plt.ylabel('Cash flow (k\\$)');\n",
"plt.legend(['Consumption', 'Income', 'Premium']);"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment