{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Perfect Foresight CRRA Model - Approximation\n", "\n", "[![badge](https://img.shields.io/badge/Launch%20using%20-Econ--ARK-blue)](https://econ-ark.org/materials/perfforesightcrra-approximation#launch)\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Initial notebook set up\n", "from HARK.ConsumptionSaving.ConsIndShockModel import (\n", " PerfForesightConsumerType,\n", " init_perfect_foresight,\n", ") # Import the consumer type\n", "import matplotlib.pyplot as plt\n", "\n", "import numpy as np\n", "from copy import deepcopy\n", "\n", "\n", "def mystr(number):\n", " return \"{:.4f}\".format(number)\n", "\n", "\n", "# These last two will make our charts look nice\n", "plt.style.use(\"seaborn-v0_8-darkgrid\")\n", "palette = plt.get_cmap(\"Dark2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[PerfectForesightCRRA](http://www.econ2.jhu.edu/people/ccarroll/public/lecturenotes/Consumption/PerfForesightCRRA) derives a number of results as approximations; for instance, the exact formula for the consumption function is derived as $$c_t = \\left(\\frac{R - (R\\beta)^{1/\\rho}}{R}\\right)o_t$$\n", "and approximated by $$c_t \\approx (r-\\rho^{-1}(r-\\theta))o_t$$.\n", "\n", "Your task is to make a series of plots that show how the quality of the approximation deteriorates as you change various model parameters. The notebook aims to make this easier by showing that under the baseline parameter values, the percentage amount of the error is pretty much constant across different values of market resources, so you can assume that is generically true.\n", "\n", "To get you started, we show how to conduct the exercise under particularly simple parameterization (the Deaton/Friedman model where $R = \\frac{1}{\\beta}$, in which the only relevant parameter is the interest rate).\n", "\n", "Your specific assignment is:\n", "\n", "1. Starting with the default parameterization of the model, show how the approximation quality changes with values of other parameters\n", "1. Explain, mathematically, why you get the patterns you do for how the solutions deteriorate as you change the parameter values\n", "\n", "Hints:\n", "\n", "1. [MathFactsList](http://www.econ2.jhu.edu/people/ccarroll/public/lecturenotes/MathFacts/MathFactsList.pdf) describes the conditions under which the approximations will be good; you want to find conditions under which the approximations get bad\n", "2. An interesting question is the extent to which the size of approximation errors is related to the degree of impatience according to alternative metrics" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Set up a HARK Perfect Foresight Consumer called PFagent\n", "\n", "\n", "# Now we need to give our consumer parameter values that allow us to solve the consumer's problem\n", "\n", "# Invoke it to create a dictionary called Paramod (Params that we will modify)\n", "# deepcopy prevents later overwriting\n", "Paramod = deepcopy(init_perfect_foresight)\n", "\n", "# Extract the parameters from the dictionary to make them easy to reference\n", "CRRA = Paramod[\"CRRA\"] # Coefficient of relative risk aversion\n", "Rfree = Paramod[\"Rfree\"][0] # Interest factor on assets\n", "DiscFac = Paramod[\"DiscFac\"] # Intertemporal discount factor\n", "PermGroFac = Paramod[\"PermGroFac\"] # Permanent income growth factor\n", "LivPrb = Paramod[\"LivPrb\"] = [1.0] # Survival probability of 100 percent\n", "# This says that it is an infinite horizon model\n", "cycles = Paramod[\"cycles\"] = 0" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Now let's pass our dictionary to our consumer class to create an instance\n", "PFagent = PerfForesightConsumerType(\n", " **Paramod\n", ") # Any parameters we did not modify get their default values\n", "\n", "# Solve the agent's problem\n", "PFagent.solve()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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cXHxjseIEaP044/f16jPr2rixCkKCQnRY489WudvMG655R8699xOmjTpXh0+nOepy6AsBwAAuKZLlwv0wgsva9myJbr++pEqLj6iqKho9ep1hW688SZHictTT83V888/q2uuGa7S0qNKSuquuXMXOJXA1OWBBybrmWee1NVXX6nS0lJ17Hi2Zsx4UpI0bNhw7dnzk8aMuUaBgUEaOfKa4460H0t0dIxSUlJ05ZX9FRoapltvvUN9+vSTJF188SX64IMV6t//cr3//tpqbXxATz31jO655w4dPnxYbdq01Zw583X66WeccFuO5d57H9T8+XM1aFAftWp1ugYPvlIrV7o2NWe/fgOUn39Y06c/LKvVqtatz9Ts2fMUGRmpzp0vUGRkpAYO7KWFC191+tyoUdepvNymRx+dJKs1S6ed1krTpj2uLl0u8MQlNvj5qtu37xd99903Gj/+vhrvtW/fUR07nqM333xDvXr1rPXzoaGheuSRxzR27M16663Xde21N9bYx8/PT1OnPq6///06PfzwJM2ZM98jU8daDHcLpBq5zMx8r53bYpFiYsKVlZXv9vRiOLXR976LvvdN9Pupb/36NVqy5GWtWLHGrc/R976rMfR9bGz4cfehLAcAAAAwCcI9AAAAYBLU3AMAAJ8zaNBQDRo01NvNAOodI/cAAACASRDuAQAAAJMg3AMAAAAmQbgHAAAATIJwDwAAAJgE4R4AAJyyysvLlZJyyNvN8Bl//HHQ203AcRDuAQBAvXvhhefUt++lGjSojw4fzvPYeR599CFt2LBWkpSWlqa+fS9RWlqax87X2H333Tfq2/cSjxz7hRee02uvLT7hz8+cOVUzZ06tvwahVsxzDwAA6t27776p6dOf0GWX9fboeXJzcxzPExIStGXLVo+er7H7y1+6eOw7qPpdo/Ei3AMAAJfs3btH8+fP0d69exQaGqqhQ4fp5ptvl8ViceyTl5erESOGqry8XNOmPaw+fT5Xly4XaMmSl7VixRrHfnfddZu6dLlAN998u2bOnKqgoCBlZmbqm292qnnzSI0ceY2uvvpvkqScnBzNnz9H//nPF/Lz81O3bt11772TtGDBc/r++2/144/fa+/ePZow4X5dfXWy3ntvtRITWygtLVULFszTrl075Ofnpwsu6KY77xyvmJgY7dq1Q48/Pk1Dhw7TqlUrVFJSoq5dL9BDDz2qsLCmNa69sLBAzz//rL75Zqes1iyFhTXV8OFX68Yb/y5JGjGiYlGsLVs2KisrU+3bd9R9903SmWeepV27dmjGjEc0eHCyVq58T5LUv/8gjR17twIDAzVz5lQdOXJEv/32q/LycvXSS0vl7+9fZ9tff32pli9/Ta+//o5iY+P0n/98oYcfnqiFC19Vfv5h3X33P/TFFzuUmpqiq69O1uTJU7Vo0ULl5eWqd+++Gjz4Ss2ZM0spKX/onHM6adq0J9S8eXOna8zKylTTpuGOa1y6dJE2b94gSfrvf/fqtdfeUna2Vc8//6x27Ngui8Winj0v1Z133qPQ0DBJ0hdffKaFC19QWlqKunZNkiQ1a9a8/v9gwgllOQAANAKGYaiwsLBBH4ZhuNy+w4fzNGHCneraNUnr1n2kBQsWaf36Nfrww5VO+zVr1twxcjx79nOaPHmqS8dfv36Nrr56lDZs+ETXXXejnn9+rjIzMyRJDz88UQUFBXrnnVV6770PlZ9foGeeeVIPPviwzj+/s2644SY99dRcp+OVlZVp/Pg75efnp7ffXqXly1fIMAxNnDhBZWVlkqS0tFRlZmbqnXdW6ZVXXtOPP/6glStX1Nq+F198XikpKVq0aJm++eYbjR9/n15+eYFTDfrq1as0ffoTWrt2i1q3PtPpXJmZGTpw4HetWLFaL730qv7zn61aunSR47Pbtn2pGTOe1FtvrVJ8fMIx23799aPVsePZmjXrMWVlZerxx6fq7rvvVbt27Wtt+1df/VvLl6/Qyy8v1aZN6zV37lOaPfs5vffeGqWnp2nVqvecrvGVV5Zpy5atTtc4Zswt6tdvoPr1G6jXXntLNptNDz54rywWi95+e6WWLXtbmZmZmjVrpiTpwIH9mjJlom688SZt3PgvDR06TNu2fenSnwWcHEbuAQDwMsMwNGRIP3399bYGPW/37hdqzZpNTiPvdfn3v7cqODhYN910qywWi1q2PE3PPvuCQkKa1EtbunRJUrduF0qShgy5UrNnP6FDh/5QeXm5vv12l958833HqO/kyY8qL+/YdfzfffeNUlMPafHiZY6R+AceeEgDB/bWnj0/O/a76aZbFBwcotNOa6WuXZN08ODvtR7v5ptvk7+/v8LCwpSWlqbg4GBJUlZWpk47rZUk6Zprrle7dh0kSePG/VP9+1+m77//VpJksVh0770TFRoaptDQMF177Y16/fVXdeutd0iSzj23k846q60kaefOr4/Z9k6dztOUKdM1Zsw1+sc//q5u3S7UlVcOr/O7uOaaGxQSEqKzzmqr6OgYDRw4WLGxcX+e9zylpqbUuMaMjHQFBdW8Rrs9e37S3r0/69lnFyg0NFSSdNdd43XttX/VP//5gD76aLPOPvsc9es3UJJ0ySWX66KLPHMvAJwR7gEAaARcCdjelJWVpbi4eKd2nn5663o7fnR0tON5QEBFPLHZbMrKypIkJSQkVtk3RtHRMcc8Xna2Vc2aNXcqsQkNDVNERDOlpaUoKiracayq563rtxk5Odl67rln9N//7lGrVq3Utm0HRxvtTjvtdMfzkJAQNWvWXFZrlqKjYxQREeFUkhIfnyCrNcvxOiYm1uW2d+p0nmJiYnT55X30wQcr9NBDjx7zu4iIaOZ47ufnp/DwCKfX9mu2X+PevXvUokULdehwTo1rtEtNTZXNZtPw4YOctgcFBSkl5ZAyMzMVF5fg9F7LlqcpLy/3mG3FySPcAwDgZRaLRWvWbFJRUVGDnjc0NNTlHyri4+OVkZEuwzAcn9m69V8qLCzUgAGDj/lZPz8/lZaWOm1zNeTFx8dLktLT09SqVUV4/u23/+mjjzY5Rr1rk5jYQnl5uSosLHCE5IKCAuXl5So6OsatkiRJevjhB3XxxZdqzpz5SkiI1K+/HtTq1auc9rGXEUlSUVGR8vJyFR+foLKyMhUUFKi4uFghISGSpNTUFMXHV4bfqv1wvLZL0g8/fKcNG9ZowIDBmjXrMb366nJHrXt1rvax/RqfeWa+AgIClJeXqzVrVtW6b1xcnIKDg7Vu3cfy9/eXJB09elSpqSlq2fI0xcfH69//dr6xNzOz8rcB8Bxq7gEAaAQsFovCwsIa9OHObwv+7/96qqysTMuWLVFpaakOHfpD8+bNUUlJyXE/27r1mcrOtmrXrh0yDEObNq3X77/vd+m8sbFx6tathxYseE75+fkqLCzQiy/O06FDf0iSgoKCVVhYUONzHTueo9atz9LTTz+hgoICFRQUaPbsJ9Sy5Wk677y/uHzddgUFBQoODpa/v7+ys7M1d+7TkuSoqZekt99erj/+OKji4mLNnz9Hp59+hjp1Ol9SxXz8zz//rEpKSnTgwH69+ebrGjLkylrPdby2FxQUaPr0hzV69M168MGHFRERoWeemeX2NR3rGnNycmpcY1BQkAoKKr7rs88+V6eddrqef/5ZFRUVqaSkWPPmzdE999yh8vJy9e07QP/73z6tXr1KZWVl2r79K33++b9Ouo04PsI9AAA4rvDwcM2ZM187d36t5OT+GjfudiUnDz9mrbddx47naPTom/XYY49q4MDe2rnza11+eR+Xz/3II48pNDRM1103QiNHXqnmzSN1//2TJEkDBgzWunWrNXbsLU6fCQgI0FNPzVV5ebmuuWa4RowYorKyUs2du8BR9uOOhx56VJ98skV9+16m4cOHKzY2Tu3bd9Cvv+5z7POXv3TWpEn3Kjm5v6zWLD399Dz5+VVGrfDwcI0cmaxx427XwIGDde21N9Z6ruO1/emnH1dkZJSuu260AgICNGXKdH366ceO2WxOlP0a+/W7TDfffL3i4pyvsU+ffvrhh+80fPhgRxuzs7P0t79dpSuvHKBDhw5q7twXFBwcrJYtT9NTTz2rlSvfU//+l2np0kW69NLLT6p9cI3FcPf3Uo1cZma+185tsUgxMeHKysqXub5VHA9977voe99Ev/uuuvp+xIih+vvfb9OgQUNrfGbXrh2O6Slx6moMf+9jY8OPuw8j9wAAAIBJEO4BAAAAk2C2HAAAgJNUdfXd6rp2TaIkBw2GkXsAAADAJAj3AAAAgEkQ7gEAAACTINwDAAAAJkG4BwAAAEyCcA8AAACYBOEeAAAAMAnCPQAAAGAShHsAAADAJAj3AAAAgEkQ7gEAAACTINwDAAAAJkG4BwAAAEyCcA8AAACYBOEeAAAAMAnCPQAAAGASAd5uAAAAANDYGIah7OxspaWlKi0tRWlpaerZs4dat+7g7aYdE+EeAAAAPqWoqOjP0F7xSE2t+rwiyKenp6qkpMTpc9HR0fr55/9Jsnin4S4g3AMAAMAUysvLlZmZ4QjsqakpSk+v+jxNqampysvLdfmY0dHRSkhooYSEBI0cOUIWi0WG4blrOFmEewAAADRqhmEoP/+wI6RXH2VPS0tRamqqMjLSZbPZXDpmaGioEhISHY/ExIoAX/Hfiufx8QkKDg6WJFksUkxMuLKy8j15qSeNcA8AAACvKSkpcYyoV4yyVwT2qiE+LS1VRUVFLh3Pz89P8fEJSkhIcIT0isBeGeITExMVHh4hi6XxltecKMI9AAAA6p3NZpPVanW6IdV51L1iu9VqdfmYzZo1/zO0V4b0+HjnUffY2Dj5+/t78MoaN8I9AAAA3FJYWOhUy161NKbqaHtpaalLxwsKCqpWIpNY66h7aGioh6/s1Ee4BwAAgCSprKxMGRnpNWaQqTrSnpaWpsOH81w+ZkxMbLVRdnuIryibSUxsoaioKFOWyHgD4R4AAMDkDMNQXl5ujSkfK+vcK15nZmbIcHEqmLCwpo6gHh+f4AjwVUfc4+LiFRQU5OGrQ1WEewAAgFNYcXHxn4G9emlM5fP09DQdOXLEpeP5+/v/GdYrR9oTE1s4Ary9bCY8PMLDV4YTQbgHAABohGw2mzIzMx0j65VTPzqXyeTk5Lh8zMjIyGq17PYZZSrr3GNiYnz6htRTHeEeAACggRUU5B8jsFeOtpeVlbl0vJCQkFpuRnW+MTUhIVEhISEevjJ4G+EeAACgnpSWlio9Pc0R1GuujlpRKlNYWODS8SwWi+Li4h1BvbYymcTERDVr1pwbUiGJcA8AAHBchmEoJyf7z8WUcrV37/9q3JCalpaqrKxMl29IDQ+PqGXKx4QaN6QGBBDX4Dr+tAAAAJ925MgRpxlkaltsKT09VSUlJS4dLzAwsMYMMlVH3BMSEhQfn6imTZt6+MpwMo4elTIyLEpPtygtzU8ZGRb17Cm1b+/tlh0b4R4AAJhSeXm5MjMznAJ71VF2+yM3N9flY8bExKhly5aKjY2vUuPeosac7X5+fp67MJyU0lLn0J6WVvG8+murtWYfRkVJe/Z4odFuINwDAIBTimEYys8/XGV11JoLLaWmpiojI102m82lY4aGhjqtkFp5M2rin6G9YiQ+JCRYMTHhysrKl4vVN2ggpaVSZmbdob3ivxZZrRYZhmv3JwQGGoqPr3gkJNg0YkSgLBY16r4n3AMAgEajpKTkzxtS7XO2p9QYaa+oey9y6Xh+fn6Ki4uvpTTGOcRHRDTjhtRGqqysamivDOrVQ3xWluuhPSDAUFycoYQEQ/HxNiUkVD6vCPIVgT4qypD9lzAWixQTE6isLA9ebD0g3AMAAI+z2WyyWq01FleqWueelpYiq9Xq8jGbNWteZXS96mwyLRzbY2PjmLO9kSork7KyLI5w7jza7vdnkHcvtPv7G1XCeWVQT0iwVRmBdw7tZkO4BwAAJ6WgoKDaQks1p4BMS0tVaWmpS8cLCgqqNoOMPcA7vw4NDfXwleFElJdXhvaKsF53aLfZ3AvtFY+qod35dXS0eUO7qwj3AACgVmVlZcrISHeqZbffmFo1wOfnH3b5mDExsXXOIGNfeCkqKooSmUbIHtozMirLY2oL7ZmZrod2P7/K8piEBJvi4ioCfGKi82h7dLQhfgHjGsI9AAA+xjAM5eXl1lIa47xKamZmhss3pIaFNa1WIlP7nO1BQUEevjq4y2arCO32mvaqQb0iyFfUuGdkWFRe7npoj42tDOpxcc517faa9pgYQnt9I9wDAGAixcXFNWaPqT4FZHp6mo4cOeLS8fz9/f+cr915saXKOdwrtoWHR3j4yuAum02yWi01Rterhnh7aC8rcz+0Vy2Jsc8mYw/whHbvIdwDAHAKsNlsyszMdKplr+2G1JycHJeP2bx5c0cNe/W52u3PY2JiuCG1kbHZpOzsqqG99hIZd0K7xVIRyO0j6omJNqdymaoj7SyY27jRPQAAeFl+/uFaVkWtDOz2OdvLyspcOl5ISEgtgb1yzvaKFVIT1KRJEw9fGdxhGHWH9oqwXhng3Qnt0dGVN59WrWO3h/j4+IrReEK7OdCNAAB4SGlpqTIy0qvM1Z5SS4hPVWFhgUvHs1gsiouLr7bAUmK1MplENWvWnBtSGxF7aK8sh3FeVMleHpOeblFpqev9FhNjcyqPsY+uV30dG2soMNCDF4dGh3APAICbDMNQVlaWdu/+xTHCXn2kPS0tVVlZmTJcXMoyPDzCaQaZygBfOeoeFxevAIZXGw3DkHJyVGNRpdpC+9Gj7of2qnXs1Rdcio01xL3JqA3/QgAAUMWRI0ccc7PXPuKepvT0VJWUlLh0vMDAQCUkJDpG1qvPIGMP9E2bNvXwlcFVhiHl5qrWoJ6WZpHVKh06FKa0NPdCe3S080JKzqPthHbUD6+E+z179mjWrFnavXu3AgMDdfHFF+vBBx9UVFRUjX0/++wzzZ49WwcPHlRiYqIeeOAB9erVywutBgCcysrLy5WZmVHnDDL27Xl5uS4fMzo6ulo9e80bU6OiouTn66vqNBKGIeXlyWmqx6qhveoIfEnJ8UJ7ZZ9GRTmHdue69sqR9+Bgz14fIHkh3BcXF+uWW27RyJEj9dJLL6mwsFATJ07UQw89pIULFzrtu3//fo0bN05z5szR5Zdfrs2bN2v8+PHavHmz4uPjG7rpAIBGyDAMHT6cd8wbUtPS0pSRka7y8nKXjhkaGlplVdSqJTIVZTItWiTq3HPbKT//qFysuoEHGYZ0+LDzSHtamp9jsaWq5TLFxa6PtEdGVi6sVHWkvX37EIWGFio+ntCOxqfBw31KSoo6duyoO++8U/7+/goKCtKoUaP0wAMP1Nh31apVSkpK0hVXXCFJGjRokFauXKl33nlHd999d0M3HQDQwEpKSpSenlallr3mDalpaakqKipy6Xh+fn6Ki4uvMWd71VH3xMREhYdHHPOGVItFCg4OVn7+0fq6VNTCMKT8/LpDe9XXR464HtqbN3cO7faR9urztoeE1PysxSLFxIQoK8vGD3ZolBo83J911llatGiR07ZNmzbp3HPPrbHvvn371L59e6dtbdu21Z49ezzaRgCAZ9lsNlmt1j/DeUotK6VWhHmr1eryMZs1a/5n/bpzLbv9eUJComJj45izvREwDKmgQDWmeqxeIpORYVFRkeuhvVmz2oN6xQqplYGeGUBhZl69odYwDD377LP69NNP9cYbb9R4v7CwsMYcvCEhIccdofHW7F/28zL7mO+h730XfV9TQUFBtYWW0mqUyKSlpaq0tNSl4wUFBdWY6tFeJlN1ZpnQ0FAPX1kl+r1uBQVyBPWqJTFVA3xamnuhPSLCObQ7j7pXvm6IPwL0ve86Vfrea+G+oKBAkyZN0u7du/XGG2+oQ4cONfZp0qSJiouLnbYVFxcrLCyszuNGRYXJ39+7Ny5FR4d79fzwHvred/lC35eVlSktLU0pKSk6dOiQDh06VOvzw4cPu3Q8i8Wi2NhYtWzZUi1btlSLFi0c/7U/b9mypaKjoxvtnO2+0O92BQVSSoqUmlrxX/uj6uvU1Ir9XBURIbVoUflITHT+r/15aKhFUuP6jYsv9T2cNfa+90q4P3DggG699Va1aNFCK1asqHWWHElq3769du/e7bRt37596tSpU53Hzs4u9OrIfXR0uKzWfOrwfAx977vM0PeGYSgvL7eWkfbKGWTS0lKVmZkhm83m0jFDQ8OUmFg5c4y9rr3qyHt8fIICXVhdx2p1Iy02EDP0u11hoWotian+vKDA9f+5Nm1aObVj9RlkqpbLHGOszqGoqOLRWJip7+GextD3MTHH/8GiwcN9Xl6eRo8erQsvvFAzZ8485vRgycnJevXVV7V+/Xr169dPmzdv1vbt2zV58uRjnsPbf9kMw/ttgHfQ976rsfZ9cXHxnyHdXhKTWmPe9vT0NB05csSl4/n7+/9ZHlNZEuNcMlMR5sPDI1w6XmP8ztzRWPtdqgjEaWkWZWTULImpOnd7fr7roT0srOZUj1WfJyZWlMe4OmV/Y/3uXNGY+x6e1dj7vsHD/cqVK5WSkqINGzZo48aNTu9988036tKli6ZNm6bk5GS1adNGL7zwgmbPnq3JkyerZcuWmj9/vs4888yGbjYANCo2m02ZmZlO87RXH21PT09Vdna2y8eMjIysZerHysCekNBCMTEx3JDqZUVF+nMu9trnZ7eH9sOHXQ/toaGVob1yNVTnBZbi410P7QC8x2K4ui72KSIzM99r566YHitcWVn8qs7X0Pe+yxN9X1CQX2dgt4+4p6enqayszKXjhYSEOAX26jPI2Etkqk9ggLp5ot+PHJHTfOy1B/cTC+1VV0K1l8TYXycm2gjtbuDfe9/VGPo+NrYRluUAgK8qLS1VenrNmWPspTGpqRVTQhYWulZjbrFYFBcXX2PmmKplMgkJCWrePLLR3pDqC4qLK0N79fnZK8pmKp7n5bneR02aVI6oVw3t9tlj7O81bdr4Z/YAUL8I9wBwkgzDUHa2VSkpzrXs9tIY+42qVmuWXP1laXh4xDEWWqoI8LGxcQoI4J9xbykpkQ4csCg19VglMn7KzXU9XYeE1D0/e9UQHxFBaAdQO/6vAADHcOTIkRoj61UXW6pYPTVVJSUlLh0vICCg1rp2e4C3j8A3pU7Ca0pK5BhhP1Zoz8mRJNf6KSTEeXTdfgNqfLxNiYmVI+2EdgAni3APwCeVl5crMzPDUcteEdRTq4X3VOXl5bp8zOjo6D9vQE10CvCVI+8tFB0dfcxZwuA5dYX2qjPIpKdblJ3tev8EB9ce1J1LZGxq1ozQDqBhEO4BmIphGMrPP1xlzvaqN6ZW1LmnpqYqIyPdjTnbQ6uF9crSmMTEFjrnnLYKDGyqoKBgD18danP0aEVor7oSqn02mcopIN0L7UFBlaG9tvnZExMNnXtumMrLG98c/AB8G+EewCmjpKTkz/IYey17zRtS09JSVeTiijd+fn6Kj09wTPNYs7a9YltERLM6b0htDLMnmFVpaV2h3flm1Kws10N7YKCh2maNqT5ve2TksUfaLRYpKkrKymrc810D8D2EewBeZ7PZZLVa/xxlr2uF1BRZrVaXj9msWfM/69eda9mrTgEZGxvHnO1eUFoqZWbWHdrt5TJWq0WG4VotS2Bg7SPtCQkViyrZp3w8XmgHgFMd4R6ARxUWFh5zBhn7DamlpaUuHS8oKKjGyHptde6hoaEevjJUV1ZWEdorV0B1nurRvj0ry/XQHhDgXNNedZrHyueGIiMNcSsDABDuAZygsrIyZWSk1zpne9Xa9vz8wy4dz2KxKCYmttY52yvLZhIVFRXFnO0NrKxMysqqGdqr17W7E9r9/WuG9uqrocbHG4qOJrQDgDsI9wCcGIahvLzcGlM+OpfIpCozM8ONG1LDqgT12kfc4+MTFBgY6OGrQ1Xl5ccP7enpFmVmWmSzuR7aK+Zlr6xpt9+AWrXGndAOAJ5BuAd8SHFxsSOkVw3q9lH2tLRUpaen6ciRIy4dLyAgoNYbUivr3Cu2hYdHePjKUJU9tFe/+bR6aM/IcC+0x8ZW1q7bA7w9xCckVIT6mBhD3MYAAN5DuAdMwGazKTMz02me9uoLL6Wnpyo7O9vlY0ZGRtaoZa8cea8om4mNjWXO9gZkszmH9tTUykWVqob4zEyLystdC+1+fhWh3R7U4+Iqa9kTEytH3gntAHBqINwDjVxBQb5TYK8+g0xaWprS09NUVlbm0vFCQkIcI+uVpTE1b0gNCQnx8JXBzmaTrNbaZ4ypushSZqZFZWXuhfbq87NXnfYxIYHQDgBmQ7gHvKS0tNRxQ2r1GWSqBvjCQtcWybFYLIqNjatzBhn79ubNI7khtYHYbFJ2tqXKjDHOwd2+Smp6uuuh3WKpCOT2kXb7VI/2AG9fITUmxlAA/8IDgM/hn36gnhmGoZycbKeR9eozyKSlpSorK1OGi6vfhIdH/BnUqy605FznHhcXrwDSXIMwjMrQnp5uUWGhtG9fkGOkPSOjsq79REK7fcaYyrr2ypH22FhCOwCgbvwvAnDDkSNHqs0gU7nYktWaoYMH/1BaWqpKSkpcOl5AQIBTKUz1AG+vbW/atKmHrwxSZWivHFl3nuqx6kh7aWn10B5c53FjYpznZ69cbKlyvvaYGENMFgQAOFmEe0BSeXm5MjMz6pxBxv7Izc11+ZjR0dGOoF61NKayVKaFoqOjuSG1ARiGlJurOudnrxrajx51vWQpJqYiqLdq5a+oqKO1hvbYWEI7AKDhEO5haoZh6PDhPKcR9qqj7vYAn5GR7sac7aFOo+32EfcOHdooNLS5Y8724OC6R3JRPwxDysurPbRXvTE1Pd2ikhLXQ3tUVNWbT51vRq06d3tQkGSxSDEx4crKKpGLVVYAAHgM4R6nrKNHj/4Z1u0hPaVGiE9LS1VRUZFLx/Pz86t1zvbqN6RGRDSrcUNqZcDLJ+DVA3toT0/3U2pqZWivnEHm5EJ71aBevVwmLs4QP5cBAE5VhHs0OjabTVartc7SGPvMMllZWS4fs1mz5n/WrzvXslctk4mNjZM/cwJ6lGFIhw+r2lSPflVmkqkM8cXFrof2yMjqteyViypVfU5oBwCYHeEeDaqgoKDaQks1p4BMT09TaWmpS8cLCgo65g2p9u2hoaEevjLfZhhSQUFlecyx6tqPHHE9tDdr5ryQkj2oV7yuDO1MyQ8AQAXCPepFWVmZMjLSayyuVH0O9/z8wy4fMyYmttYpH6suvBQVFcWc7R5kD+1VVz+tXstuf15U5F5or2uqR3twj4831KSJBy8OAAATItzjmAzDUF5erlNpTM1VUlOVmZnh8g2pYWFNlZhYURJTc6XUipH2uLh4BQUFefjqfFvFSHvto+tVt7sT2sPDK0faq9e0V61rJ7QDAOAZhHsfVlxcXO2G1MopIO2j7unpaTpy5IhLxwsICFBcXHydpTH2EB8eHuHhK/NtVUfaa69rP7HQ7lzHXn20veI51U8AAHgX4d6EbDabMjMzq9W2VwR1e5lMWlqKcnJyXD5mZGRknaUx9jAfExPDnO0eVFCgPwN67bPG2EN7YaHroT0srHpNe+2hPSzMgxcGAADqDeH+FFNQkO8U2Ouas72srMyl44WEhNQ6g0zVUff4+AQ1oY7CY4qKVKMkxh7Uq462FxS4HtqbNq1tNVTnaR/j4gyx8C0AAOZCuG8kSktLlZ6eVusNqfYR97S0NBUU5Lt0PIvFotjYuGqhvWade/PmkdyQ6iFFRap1UaWqoT093U+HD7v+/YeGGkpMrF7Lbqux2BKhHQAA30S49zDDMJSdnV2jlt0+0m5/nZWVKcPF1Y/CwyOcArt9CsiqAT4uLl4BAXSvJxw5UlnTXhnSLcrJkQ4caOIYaXc3tNe8AbUytNtH4AntAADgWEh/9WjDhnXatWubfvvtgCPAp6enqqSkxKXPBwQEHHPOdnuAb0rC8wh7aLeXx9RW156e7qfc3GOFdue/Uk2aVAb1ihH3ukM7v0ABAAAni3BfTwoKCjR69LV1jr5HR0c7BfWqpTEV/22h6Ohobkj1gJISOU3vWL2u3bXQ7qxqaLcH9bPOClLTpkec6trDwwntAACg4RDu60nTpk01e/azSk09qGbNov8cfbePticomHXv6509tNe2qFJlXbufcnJcT9chIc43otZV1x4R4RzaLRYpJiZIWVllcrG6CgAAoN4R7uvRjTfepJiYcGVl5RPwTsLRo3KaJaZ6aLe/zs52/bccwcFGrbPGVC+RqR7aAQAATiWEezSY0tK6Q3tl2YxFVqvroT0oyKiysFLtK6MmJNjUvDmhHQAAmB/hHiettFTKzKwttDu/zspyPbQHBho1grr9eVxc5XSQkZGEdgAAADvCPepUNbRXnau9eomM1WqRYbiWsO2hvWpJTPUa94QEQjsAAMCJINz7oLKymiPtVWeNqdjuXmgPCKg7tFeWzRiKijLEhEAAAACeQbg3kbIyKSurMqhXn+rRHtqzstwL7fZgXttIu320ndAOAADgfYT7U0B5ueuh3WZzLbT7+zuPtFeWxDi/jo4mtAMAAJwqCPdeZA/ttU/1WBnaMzPdC+2xsc6rn9ofiYmVr6OjDfn7e/gCAQAA0KAI9x5gs1XUtNc1P7u9zj0jw6LyctdCu59fZWivbX52e2iPiSG0AwAA+CrCfT0wjIrHXXeF6MsvpbS0pm6F9piY2ktiqgZ4QjsAAACOh3BfDywWqbBQWr8+QEVFkmSRxeJ6aA+gFwAAAFAPiJX1pGlT6csvC1Vc3FRNmhQoOtpQYKC3WwUAAABfQrivRy1aGIqJkbKyDBmGt1sDAAAAX8MkhwAAAIBJEO4BAAAAkyDcAwAAACZBuAcAAABMgnAPAAAAmAThHgAAADAJwj0AAABgEoR7AAAAwCQI9wAAAIBJEO4BAAAAkyDcAwAAACZBuAcAAABMgnAPAAAAmAThHgAAADAJwj0AAABgEoR7AAAAwCQI9wAAAIBJEO4BAAAAkyDcAwAAACZBuAcAAABMgnAPAAAAmAThHgAAADAJwj0AAABgEoR7AAAAwCQI9wAAAIBJEO4BAAAAkyDcAwAAACZBuAcAAABMgnAPAAAAmAThHgAAADAJwj0AAABgEoR7AAAAwCQI9wAAAIBJEO4BAAAAkyDcAwAAACZBuAcAAABMgnAPAAAAmAThHgAAADAJr4f77Oxs9e3bV9u2batzn1tuuUXnnXeeunTp4nh8/vnnDdhKAAAAoPEL8ObJd+7cqQcffFAHDhw45n4//vijFi9erO7duzdQywAAAIBTj9dG7letWqX77rtPEyZMOOZ+Bw8eVF5ens4555wGahkAAABwavJauO/Zs6e2bNmiQYMGHXO/H374QWFhYZowYYIuvPBCDRkyRCtWrGigVgIAAACnDrfLcn799VfFx8eradOm+vbbbxUeHq42bdq4feLY2FiX9jt69Kg6d+6sCRMmqF27dtq2bZvGjRunsLAwDRw4sNbPWCxuN6de2M/rrfPDe+h730Xf+yb63XfR977rVOl7i2EYhqs7b9iwQQ888IDeeustderUSa+++qrmz5+vuXPn6rLLLjvhRnTo0EHLli1Tjx49XNp/2rRpslqtmjdvXo33ystt8vf3+n3CAAAAQINza+T++eef14IFC9SpUydJ0k033aS2bdvq6aefPqlwfywrVqyoMUp/9OhRBQcH17p/dnahV0fuo6PDZbXmy/UfmWAG9L3vou99E/3uu+h739UY+j4mJvy4+7gV7lNTU3XJJZc4bevZs+dxb4o9GQUFBZozZ47OOOMMdezYUZ9//rnWrl2rxYsX1/kZb/9lMwzvtwHeQd/7LvreN9Hvvou+912Nve/dCvctW7bU1q1bnQL+l19+qRYtWtRro7p06aJp06YpOTlZo0ePVlFRke666y5ZrVa1atVKs2bNUlJSUr2eEwAAADjVuRXub7vtNt15553q16+fWrZsqZSUFG3ZskWzZs06qUbs3bvX6fU333zjeG6xWDR27FiNHTv2pM4BAAAAmJ1b4X7o0KGKi4vTBx98oN27dysxMVFLlixR165dPdU+AAAAAC5yeyrMHj16uDyrDQAAAICGw5yRAAAAgEkQ7gEAAACTINwDAAAAJkG4BwAAAEzCrRtqf/nlFz311FPav3+/bDab03sff/xxvTYMAAAAgHvcCvePPPKImjRpottuu00BAW5PtAMAAADAg9xK6Hv37tXnn3+upk2beqo9AAAAAE6QWzX3cXFxOnr0qKfaAgAAAOAkuDVyf/311+vOO+/UjTfeqJiYGKf3unXrVq8NAwAAAOAet8L9Y489Jkn65ptvnLZbLBb9/PPP9dcqAAAAAG5zK9zv2bPHU+0AAAAAcJLcnvImLS1Na9as0aFDhxQXF6chQ4bo9NNP90TbAAAAALjBrRtqf/jhBw0ePFibN29WXl6ePv74YyUnJ2vnzp2eah8AAAAAF7k1cv/000/rnnvu0Y033ujY9tprr2n27Nl666236r1xAAAAAFzn1sj93r17de211zptu/baa/Xf//63XhsFAAAAwH1uhfsmTZooNTXVaVtqaqqaNWtWr40CAAAA4D63wv2gQYM0btw4bd26Vb/99ps+++wz3X333Ro0aJCn2gcAAADARW7V3N9zzz3Kzs7W2LFjVVpaquDgYP31r3/VXXfd5an2AQAAAHCRW+E+ODhYTz75pKZPn668vDzFxMTIYrF4qm0AAAAA3OBSuF+7dq2GDBmiDz74oM59hg0bVk9NAgAAAHAiXAr3Cxcu1JAhQzRv3rxa37dYLIR7AAAAwMtcHrmXpE8++aTW9/Pz8+uvRQAAAABOiFuz5XTv3r3W7b169aqXxgAAAAA4cccduf/999/1yCOPyDAMFRQUOK1OK0kFBQWKiIjwWAMBAAAAuOa44f6MM85Qv379lJOTo127dtUYvQ8KClLv3r091kAAAAAArnGp5v66666TJJ122mncOAsAAAA0Um7Ncz9s2DC9//77+vDDD5WZmakWLVro6quv1oABAzzVPgAAAAAucivcv/jii3rttdc0atQoJSYm6uDBg3r00UeVm5urv/3tb55qIwAAAAAXuBXu33zzTS1atEidOnVybOvfv7/++c9/Eu4BAAAAL3NrKsyioiK1b9/eads555yjgoKCem0UAAAAAPe5Fe4HDx6suXPnqry83LFtyZIl6tevX703DAAAAIB73CrL2bt3r7777jt98MEHatmypTIyMpSRkaG4uDj16dPHsd/HH39c7w0FAAAAcGxuhfu//e1v1NYDAAAAjZRb4f6qq67yVDsAAAAAnCS3wv0PP/ygZ555RocOHZLNZnN6j1IcAAAAwLvcCveTJk1Su3btNHToUPn5uXUvLgAAAAAPcyvcHzp0SKtWrVJgYKCn2gMAAADgBLk1/N6tWzf9/PPPnmoLAAAAgJPg1sj9+PHjdeONN6pHjx6KiIhweu+JJ56o14YBAAAAcI9bI/czZ85UdHS0wsLCPNUeAAAAACfIrZH73bt369///jfhHgAAAGiE3Bq5P+OMM1RYWOiptgAAAAA4CW4vYvX3v/9df/3rX9W8eXNZLBbHe8OGDavvtgEAAABwg1vhftmyZZKk119/3Wm7xWIh3AMAAABe5la4/+STTzzVDgAAAAAnya1w//XXX9f5Xrdu3U66MQAAAABOnFvh/oYbbqixzc/PT4mJifr444/rrVEAAAAA3OdWuN+zZ4/T6+zsbL3wwgtq2bJlvTYKAAAAgPvcmgqzuqioKN1///167bXX6qs9AAAAAE7QSYV7ScrLy1NJSUl9tAUAAADASXCrLGfSpElOr0tLS7Vz505ddNFF9dooAAAAAO5zK9xXFxwcrBtuuEGjRo2qr/YAAAAAOEFuhfsnnnjCU+0AAAAAcJLcqrnPysrS448/LknasWOHLrroIg0ZMkT79u3zSOMAAAAAuM6tcD9t2jT9+uuvMgxDM2fO1KBBg9SrVy/NmDHDU+0DAAAA4CK3ynJ++OEHrV+/XpmZmdqzZ4+WLFmi8PBw9ejRw1PtAwAAAOAit0bujxw5opCQEH355Zdq3769IiMjVVxcrICAk7ovFwAAAEA9cCuVn3/++Zo6dap27typgQMHKisrS9OnT1f37t091T4AAAAALnJr5H7mzJk6evSokpKSdPvtt+vQoUM6evSoHn30UU+1DwAAAICLLIZhGN5uRH3KzMz32rktFikmJlxZWfky17eK46HvfRd975vod99F3/uuxtD3sbHhx93HrbKcwsJCvfnmm9q/f79sNpvTe8yBDwAAAHiXW2U5kyZN0rJly1RSUuKp9gAAAAA4QW6N3G/btk0rVqxQq1atPNUeAAAAACfIrZH74OBgxcfHe6otAAAAAE6CW+H+2muv1ZNPPqns7GxPtQcAAADACXKrLOfdd99VSkqK3nrrrRrv/fzzz/XWKAAAAADucyvcP/nkk55qBwAAAICT5Fa47969u2w2m3788Uf98ccfiouLU9euXeXn51Z1DwAAAAAPcCvcZ2Zm6h//+If27Nmj5s2bKycnR61bt9aSJUuUkJDgqTYCAAAAcIFbQ+6zZs1S69attX37dv373//Wtm3bdPbZZ7OAFQAAANAIuDVy/9VXX2njxo0KCwuTJIWHh2vq1Knq06ePRxoHAAAAwHVujdzbbDZZLBanbRaLRYGBgfXaKAAAAADucyvc9+jRQ1OnTlVRUZEkqbCwUFOnTlX37t090jgAAAAArnOrLOf+++/XTTfdpO7du6t58+bKzc1V27Zt9dJLL3mqfQAAAABc5Fa4b9GihdatW6cdO3bIarWqZcuWOu+88+Tv7++p9gEAAABwkctlOYZh6MCBAwoICNCFF16owYMHKyUlxZNtAwAAAOAGl8J9UVGRrrnmGj311FOObVarVQ8++KBuuOEGRw0+AAAAAO9xKdy/+OKLCgwM1LRp0xzboqOj9emnn6qsrIyaewAAAKARcCncb9q0SY899piio6OdtkdHR2vatGnauHGjRxoHAAAAwHUuhXur1aozzjij1vfOPvtsZWZm1mujAAAAALjPpXDftGlT5eTk1Ppebm6umjRpcsINyM7OVt++fbVt27Y69/nss880dOhQde7cWQMHDtSnn356wucDAAAAzMqlcP9///d/Wr58ea3vvfnmm+rcufMJnXznzp0aNWqUDhw4UOc++/fv17hx43TPPfdox44dGjdunMaPH6/09PQTOicAAABgVi6F+9tvv12LFy/WjBkztHPnTh04cEA7duzQjBkz9PLLL+uOO+5w+8SrVq3SfffdpwkTJhx3v6SkJF1xxRUKCAjQoEGD1K1bN73zzjtunxMAAAAwM5cWsTrzzDO1ePFiPfroo1q+fLksFosMw1D79u31yiuvqFOnTm6fuGfPnho6dKgCAgKOGfD37dun9u3bO21r27at9uzZ4/Y5AQAAADNzeYXarl27as2aNTp48KCys7MVGxurFi1anPCJY2NjXdqvsLCwRk1/SEjIMefWt1hOuFknxX5eb50f3kPf+y763jfR776Lvvddp0rfuxzu7Vq1aqVWrVp5oi21atKkiYqLi522FRcXKywsrNb9o6LC5O/v8sK7HhEdHe7V88N76HvfRd/7Jvrdd9H3vqux973b4b6htW/fXrt373batm/fvjpLgbKzC706ch8dHS6rNV+G4Z02wDvoe99F3/sm+t130fe+qzH0fUzM8X+waPThPjk5Wa+++qrWr1+vfv36afPmzdq+fbsmT55c52e8/ZfNMLzfBngHfe+76HvfRL/7LvredzX2vvdu/UodunTpotWrV0uS2rRpoxdeeEEvvfSSunXrpgULFmj+/Pk688wzvdxKAAAAoHFpFCP3e/fudXr9zTffOL2+5JJLdMkllzRkkwAAAIBTTqMcuQcAAADgPsI9AAAAYBKEewAAAMAkCPcA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AQAAAJMg3AMAAAAm4bVwb7VaNXbsWCUlJalHjx6aOXOmysrKat33s88+09ChQ9W5c2cNHDhQn376aQO3FgAAAGj8vBbux48fr9DQUG3dulUrVqzQl19+qaVLl9bYb//+/Ro3bpzuuece7dixQ+PGjdP48eOVnp7e8I0GAAAAGjGvhPvff/9d27dv1/33368mTZqoVatWGjt2rJYvX15j31WrVikpKUlXXHGFAgICNGjQIHXr1k3vvPOOF1oOAAAANF5eCfe//PKLmjdvrvj4eMe2Nm3aKCUlRYcPH3bad9++fWrfvr3TtrZt22rPnj0N0lYAAADgVBHgjZMWFhaqSZMmTtvsr4uKihQREXHMfUNCQlRUVFTn8S2WemysG+zn9db54T30ve+i730T/e676Hvfdar0vVfCfWhoqI4cOeK0zf46LCzMaXuTJk1UXFzstK24uLjGfnaxseH12NITEx3t/TbAO+h730Xf+yb63XfR976rsfe9V8py2rVrp9zcXGVlZTm2/frrr0pISFB4uPMX1r59e/3yyy9O2/bt26d27do1SFsBAACAU4VXwn3r1q11wQUX6PHHH1dBQYEOHjyoBQsWaMSIETX2TU5O1vbt27V+/XqVlZVp/fr12r59u6688kovtBwAAABovCyGYRjeOHFWVpamT5+ubdu2yc/PT8OGDdN9990nf39/denSRdOmTVNycrIkaevWrZo9e7YOHDigli1b6v7779dll13mjWYDAAAAjZbXwr3ZWK1WPfzww9q+fbv8/f2VnJysiRMnKiDAK7c1oIHs2bNHs2bN0u7duxUYGKiLL75YDz74oKKiorzdNDSQ8vJyjRkzRi1bttSTTz7p7eagAeTm5urxxx/XZ599JpvNpm7dumnq1KmKi4vzdtPgYbt379bjjz+uvXv3KiQkRAMGDNADDzygoKAgbzcNHpKdna1Ro0bpscceU48ePSRJ3333nR577DHt27dPkZGRuuOOO3T11Vd7uaWVvLaIldm4uigXzKO4uFi33HKLunTpoi+++EJr165Vbm6uHnroIW83DQ3o+eef144dO7zdDDSgcePGqaioSFu2bNGnn34qf39/Pfzww95uFjzMZrPp9ttvV//+/bV9+3atWLFCX3zxhV555RVvNw0esnPnTo0aNUoHDhxwbMvLy9Ntt92mYcOG6euvv9bMmTP1xBNP6Pvvv/diS50R7uuBO4tywTxSUlLUsWNH3XnnnQoKClJkZKRGjRqlr7/+2ttNQwP58ssvtXnzZvXr18/bTUED+fHHH/Xdd9/pySefVEREhJo2baoZM2bovvvu83bT4GF5eXnKzMyUzWaTvejBz8+vxnTdMIdVq1bpvvvu04QJE5y2b968Wc2bN9d1112ngIAA/d///Z+GDh3aqDIf4b4euLMoF8zjrLPO0qJFi+Tv7+/YtmnTJp177rlebBUaitVq1eTJk/XMM8/wP3cf8v3336tt27Z699131bdvX/Xs2VOzZs1SbGyst5sGD4uMjNSYMWM0a9YsnXfeebrsssvUunVrjRkzxttNgwf07NlTW7Zs0aBBg5y2//LLL41+cVXCfT043qJcMD/DMDR37lx9+umnmjx5srebAw+z2Wy6//77ddNNN6ljx47ebg4aUF5envbu3av9+/dr1apV+uCDD5Senq6JEyd6u2nwMJvNppCQED388MP69ttvtXbtWv3666+aN2+et5sGD4iNja31vskTWVy1oRHu64E7i3LBfAoKCnT33XdrzZo1euONN9ShQwdvNwke9tJLLykoKEg33HCDt5uCBma/cXLy5Mlq2rSpYmJiNH78eH322WcqLCz0cuvgSVu2bNGmTZt07bXXKigoSO3atdOdd96pt956y9tNQwNyd3FVb2Aql3pQdVGumJgYSXUvygVzOXDggG699Va1aNFCK1asYJYcH/Hhhx8qIyNDSUlJkuT4h/6jjz7i5lqTa9u2rWw2m0pLSxUcHCypYkRXkph8ztxSU1N19OhRp20BAQEKDAz0UovgDe3bt9e///1vp22NbXFVRu7rgTuLcsE88vLyNHr0aHXt2lWLFy8m2PuQjRs3ateuXdqxY4d27NihIUOGaMiQIQR7H3DRRRepVatWeuihh1RYWKjs7GzNnTtXV1xxhZo2bert5sGDevbsqczMTC1cuFDl5eU6ePCgXnzxRQ0dOtTbTUMD6tu3r7KysrR06VKVlpbqq6++0po1a/TXv/7V201zINzXk3nz5qmsrEx9+vTRyJEjdckll2js2LHebhY8aOXKlUpJSdGGDRt0wQUXqEuXLo4HAHMKDAzU66+/Ln9/f/Xv31/9+/dXQkKCHn/8cW83DR7Wtm1bvfTSS/rkk0/Uo0cP3Xjjjerdu3eN2VRgbpGRkVqyZIk2btyoHj16aMqUKZoyZYouvPBCbzfNgUWsAAAAAJNg5B4AAAAwCcI9AAAAYBKEewAAAMAkCPcAAACASRDuAQAAAJMg3AMAAAAmQbgHAAAATIJwDwA+Yv/+/d5uAgDAwwj3AFCPOnTooA4dOuh///tfjfdeffVVdejQQfPnzz+hY2/btk0dOnQ4oc9+8sknuvnmm0/oswCAUwfhHgDqWWRkpFatWlVj+8qVK9W0aVMvtEjKzc0VC5IDgPkR7gGgng0dOlQffvihbDabY9v333+vo0eP6pxzznFsKygo0JQpU9SvXz917txZl1xyiRYuXOh4v3fv3nrkkUd08cUXa9iwYU7HMwxDkydP1uDBg5Weni5J+s9//qMRI0YoKSlJgwcP1urVqyVVjPg/+uijSklJUZcuXRz7V1XbuXbv3q0bbrhB3bp1U79+/bR06VLHDwjp6em65ZZb1L17d1166aW66667lJGRIUmy2Wx6+eWXdcUVV+iCCy7QiBEjtHXrVqdzrVy50vG66m8k/vjjD3Xo0EFPPvmkunXrpmnTpkmSXnvtNfXt21ddunTR8OHD9eWXXzq+h2XLlql///5KSkrStddeqx9//NFx7E2bNmnw4MG64IILNHDgQC1YsKDWPrOf94MPPlCvXr3UuXNnTZo0STt27FBycrK6dOmi0aNHKzs7u+6OB4DGwAAA1Jv27dsbX3zxhXHhhRcaW7dudWx/+OGHjZdfftm4/vrrjXnz5hmGYRiPPvqoMXr0aCMvL8+w2WzGxo0bjfbt2xv79+83DMMwevXqZVx55ZVGXl6ekZeXZ3z11VdG+/btjfLycuPBBx80rrrqKsNqtRqGYRg///yzcf755xubNm0yysrKjJ07dxo9evQwPv/8c8MwDOP99983evXqVWe7q58rLS3NuOCCC4w33njDOHr0qPHLL78Yffv2Nd566y3DMAzjgQceMCZPnmwcPXrUyM/PN2666SZjxowZhmEYxrx584xLL73U+PHHH43S0lJj3bp1RqdOnYzvvvvOca7333/fcW77dRmGYRw8eNBo3769MWXKFKOkpMTIy8sz3n//faN79+7Grl27jPLycuPdd981/vKXvxg5OTnGG2+8YVx++eXGzz//bBw9etR47733jKSkJCMzM9M4cuSIcd555xlfffWVYRiGsXv3bqNz586OdlRlP+/48eONoqIiY+/evcbZZ59tJCcnG2lpaYbVajX69u1rzJ8//wT+VABAw2HkHgDqWUBAgIYOHeoozSkuLtamTZs0bNgwp/3GjRunZ599Vk2bNlVaWpqCg4MlyTECLkn9+/dXRESEIiIiHNsmTpyorVu3atmyZYqKipIkvf322+rTp4/69esnf39/de3aVSNHjtTy5ctdbnfVc61evVpt2rTRddddp8DAQLVt21Y333yz43jBwcHauXOn1q1bp8LCQi1atEhTpkyRJL3//vu67bbbdO655yogIECDBg1S7969tWLFCpfbMmzYMAUFBSkiIkKrVq3SqFGj1KVLF/n5+enqq6/WkiVLFBISouXLl+v2229Xx44dFRgYqBEjRqhNmzaO31qEhIRoxYoV+vLLL9WmTRvt3LlT559/fp3n/fvf/64mTZqoffv2io2N1VVXXaX4+HhFRUWpc+fOOnTokMvXAADeEODtBgCAGQ0fPlyjRo1SQUGBPvroI3Xt2lWxsbFO+1itVs2cOVM//fSTTjvtNHXq1EmSnMpv4uLiahw7LS1NhYWF+vzzzzVo0CBJ0qFDh/TVV18pKSnJsV95eblOP/10l9tc9VyHDh3S7t27nY5ns9nk7+8vSZoyZYpeeuklLV68WA8++KA6duyoKVOmKCkpSVlZWWrVqpXTsU877TTt2bPnhNqSmZmpFi1aOL3ftWtXRztnzZql2bNnO94rKytTp06dFBISorfeeksLFizQvffeq4KCAvXv319TpkxRs2bNaj1v8+bNHc/9/f2dfqjy8/PjvgUAjR7hHgA8oGPHjjrrrLO0YcMGrVmzRqNHj66xzz333KPevXtr8eLFCggIUE5Ojt59912nfSwWS43PLV68WO+++66mTZumpKQkxcXFKSEhQVdddZWmT5/u2C8jI8OtMFr1XAkJCerRo4cWL17s2JaTk6PCwkJJ0k8//aRRo0Zp3Lhxys7O1gsvvKC77rpLX331lVq2bKmDBw86HfvgwYOOwO7n56fS0lKn4x6rLYmJiUpNTXV6f+7cuUpOTlZCQoLuvvtuDR482PHegQMH1Lx5cxUUFCgjI0PPPPOMJOnnn3/WP//5Ty1cuFATJ0487ncAAKciynIAwEOGDx+upUuX6rffftNll11W4/38/HyFhITI399f2dnZeuyxxyTJKfjWJigoSNddd53at2+vyZMnS5JGjBihtWvX6osvvpDNZtP+/ft1/fXXa8mSJZIqymiOHDmisrIyl9o+dOhQffvtt1q9erXKysqUkZGhf/zjH3ryySclSQsXLtSMGTNUUFCgiIgINWnSRJGRkZKkq6++Wi+//LJ2796t8vJybdiwQZ988omuuuoqSVKbNm308ccfq7i4WJmZmVq2bNlxv8d33nlH33//vWw2m95//30tX75ckZGRGjlypF588UX9+uuvkqStW7dq8ODB+vrrr1VYWKhbb71Va9askWEYiouLk5+fn6OdAGBGhHsA8JAhQ4bo999/V3JysgICav6i9IknntD69evVtWtXDR8+XPHx8TrnnHP03//+97jHtlgsevzxx7Vjxw69/fbb+stf/qI5c+Zozpw56tatm66//nr17t1b9957rySpW7duio6OVrdu3bR3797jHr9ly5ZatGiR3nnnHV100UW68sorddZZZznC/fTp02Wz2dSnTx9169ZN3333nZ577jlJ0k033aTrrrtOEyZMUFJSkl566SXNmTNH3bt3lyTdd999Kiws1MUXX6wbb7xRycnJx2zL0KFDNW7cON1///1KSkrSO++8o1deeUVRUVEaM2aMhg0bprFjx6pLly6aOXOmHnnkEfXp00fx8fGaN2+eXnnlFXXt2lVDhgzRhRdeqDFjxhz3+gHgVGUxKCAEAAAATIGRewAAAMAkCPcAAACASRDuAQAAAJMg3AMAAAAmQbgHAAAATIJwDwAAAJgE4R4AAAAwCcI9AAAAYBKEewAAAMAkCPcAAACASRDuAQAAAJMg3AMAAAAm8f8HzXRLhP7OHgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot the consumption function approximation versus the \"true\" consumption function\n", "\n", "# Set out some range of market resources that we want to plot consumption for\n", "mMin = 0\n", "mMax = 10\n", "numPoints = 100\n", "m_range = np.linspace(\n", " mMin, mMax, numPoints\n", ") # This creates an array of points in the given range\n", "\n", "wealthHmn = PFagent.solution[\n", " 0\n", "].hNrm # normalized human wealth is constructed when we .solve()\n", "wealthMkt = m_range # bank balances plus current income\n", "wealthTot = wealthHmn + wealthMkt # Total wealth is the sum of human and market\n", "\n", "# Feed our range of market resources into our consumption function in order to get consumption at each point\n", "# (Remember, after doing .solve(), the consumption function is stored as PFagent.solution[0].cFunc)\n", "cHARK = PFagent.solution[0].cFunc(\n", " m_range\n", ") # Because the input m_range is an array, the output cHARK is too\n", "cMax = (\n", " cHARK[-1] * 1.2\n", ") # The last point will be the largest; add 20 percent for visual appeal\n", "\n", "# Use matplotlib package (imported in first cell) to plot the consumption function\n", "plt.figure(figsize=(9, 6)) # set the figure size\n", "plt.plot(\n", " m_range, cHARK, \"b\", label=\"Consumption Function from HARK\"\n", ") # m on the x axis vs c on the y axis\n", "# 'b' is for blue\n", "plt.xlabel(\"Market resources m\") # x axis label\n", "plt.ylabel(\"Consumption c\") # y axis label\n", "plt.ylim(0, cMax)\n", "\n", "# The plot is named plt and it hangs around like a variable\n", "# but is not displayed until you do a plt.show()\n", "\n", "# Construct the approximate consumption function\n", "# Also, recall that in the \"true\" consumption function what matters is total wealth,\n", "# not just market resources so we need to add in human wealth\n", "\n", "# Use the values of R, beta, and rho that we used above to construct rates\n", "rfree = Rfree - 1\n", "discRte = (\n", " 1 / DiscFac\n", ") - 1 # See handout for why this is approximately the time preference rate\n", "cApprox = wealthTot * (rfree - (1 / CRRA) * (rfree - discRte))\n", "plt.plot(\n", " m_range, cApprox, \"k\", label=\"c function approximated\"\n", ") # Add true consumption function line\n", "plt.legend() # show the legend\n", "\n", "plt.show() # show the plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The size of the error looks pretty stable, which we can show by calculating it in percentage terms" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvQAAAIRCAYAAAAlVSknAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVoNJREFUeJzt3Xd8U/X+x/F3mm7aQgtlFHExVRxAkSHIBQRUQAFBrhdZIoosF0MExQGKIlOWIOoFuQwRZImAgIpcQBAF5IeoKBtKabG0pSNNzu+PtpHY0jbchvSQ1/PxyKPtWd9Pzjcneeebk1OLYRiGAAAAAJiSn7cLAAAAAHD5CPQAAACAiRHoAQAAABMj0AMAAAAmRqAHAAAATIxADwAAAJgYgR4AAAAwMQI9AAAAYGIEegAAAMDErrpAn5iYqFatWmnHjh3Fvu1169apZcuWLtMyMjI0duxY3X333apXr566dOmi7du3F3mbJ06cUL9+/VS/fn3Fxsaqf//+OnbsWIHL9+/fX7GxsWrQoIGGDx+u1NRU5/yFCxeqTZs2qlOnjtq0aaMFCxY452VmZmr8+PG6++67Vb9+fQ0YMECnTp3K00ZaWpq6du2qZcuWuUz/8ccf9c9//lN169ZVmzZttHjxYpf5BbWdnp6ul19+WXfddZfq16+vnj176ueff3bOv3DhgkaMGKEGDRqoXr16GjZsmMv9mj17tm655RbVqVPHeZs0aVIR9jAAAMDV7aoK9N9//726du2qo0ePFut2bTab5syZo+eee06GYbjMe+edd7R7924tXrxY3333nbp06aJ+/frp5MmTRdr2oEGDVL58eW3ZskVbtmxRqVKlNGLEiHyXzczM1GOPPaaKFStqy5YtWrt2rY4cOaIJEyZIkr788ktNnDhRb731lnbv3q1x48Zp8uTJWrdunSRpwoQJWr9+vebOnautW7fquuuuU+/evZWZmels49dff1W3bt30448/urR9+vRp9enTR3fddZe2b9+ud999V9OnT9fy5cuL1Pa7776rw4cPa82aNdq6datq1aqlgQMHOrf/+uuv69SpU1q3bp3Wr1+vU6dO6Z133nHO/+mnn/TUU0/phx9+cN6effbZIu1jAACAq9lVE+iXL1+uIUOG5Bvy/vvf/6pz586KjY1V27ZttXLlSre2/dhjj2nHjh3q27dvnnkZGRkaPHiwKlWqJKvVqocffliBgYHav39/kba9cOFCvfTSSwoODlZKSopSU1MVFRWV77KbN29WZmamRo4cqZCQEEVFRWnq1Knq0aOHJCkuLk59+/bVHXfcIYvFojp16qhBgwbauXOnJGn16tUaMGCAqlevrsDAQD3//POKi4vTtm3bJEnbtm1Tz5491bFjR8XExORpOzIyUoMGDVJgYKBq1KihRx99VP/5z3+K1PahQ4dkGIbzDZGfn59CQkIkZX8isGrVKg0ePFhlypRR2bJlNWTIEC1btkxpaWmSpH379ql27dpF2qcAAAC+xN/bBRSXJk2aqH379vL393cJ9T///LOeeuopjR8/Xi1bttSePXvUv39/RUZGqmnTpoqLi1N6enqe7QUGBqpSpUqSpPHjx6tixYp5TkGRpNdee83l723btik5OVm1atVSVlaWTpw4kW+9UVFRCg8PV1BQkCTp+eef15o1axQdHa2PPvoo33X27t2rWrVqacqUKc43JW3atHHe327durksn5CQoJ07dzpH/O12uzNES5LFYpEk/fHHH2rWrJlq1aqlzZs3KygoSB9++KHLthwOh8u6UnYo//3334vU9mOPPaZBgwapYcOGslqtioyM1Lx58yRJR44ckc1mU40aNZzrV61aVenp6Tp8+LDKly+vkydPasmSJRo1apQCAwN177336umnn3buPwAAAF911YzQR0dHy98/7/uTRYsWqWXLlmrdurWsVqvq1q2rhx9+2Hl+95AhQ9S6des8t379+jm3UbFixSLV8OOPP+qZZ57RwIEDVaVKFZ0+fTrfbbdu3Vqffvqpy7pjx47V7t27dd9996lHjx5KTk7Os/2kpCR98803CgoK0rp16zR//nzt2LFDb7/9dp5l4+Pj1bdvX9WuXVvt2rWTJLVu3VqzZs3S0aNHlZGRoSlTpigjI8P5hiYyMvKSAfnuu+/W0aNH9fHHHyszM1O//PKLFi1apIyMjCK1bbfb1aZNG33zzTf67rvv1LJlS/Xv318ZGRlKSUmRJIWGhjq3kfvmITU1VfHx8YqNjVWnTp20adMmzZkzR1u2bNG4ceMK7RMAAICr3VUT6C/lxIkT2rBhg2JjY523+fPnO78MOn/+fB08eDDPbcWKFW6188knn6h3797q16+fBgwYIEm65ppr8t32wYMH1atXL5f1g4ODFRoaquHDh+vChQv5frE2MDBQ5cqV04ABAxQUFKQqVaroySef1Nq1a12W+/HHH9W5c2fdcMMNmjlzpvONzgsvvKA6deqoW7duuvfee52nzkRERBR6/6pUqaJZs2bps88+U5MmTTRmzBh17tw5z7r5tW2z2fT000+rU6dOqlChgsLCwvTSSy8pLi5OW7dudQb53NNrLv49LCxMtWrV0oIFC3TPPfcoMDBQVatWVf/+/fX5558XWjcAAMDV7qoP9BUrVlTHjh21a9cu523dunWaPXt2sWzfbrfr5Zdf1oQJEzR9+nT17t27yOump6erTZs22rt3r8v2HA6HSpcunWf5qlWrymazyeFwOKc5HA6XL+ouXbpUvXr1Us+ePTVhwgQFBgY658XFxempp57Sli1btHnzZj366KP6/fffi3RuempqqiIiIrR06VJ99913mjdvnpKTk13WvVTbFy5cUFJSksuXb61WqywWiwICAnTDDTcoICBAv/32m3P+oUOHFBAQoOuvv17fffed3nvvPZd6MjMzFRwcXGjdAAAAV7urPtB37txZq1ev1rfffiuHw6HDhw/r0Ucf1QcffFAs23/zzTf1zTff6NNPP1Xjxo3dWjc4OFjVqlXT+PHjlZiYqNTUVL322mu6/vrrdccdd+RZ/r777pPdbtcbb7yhzMxMHT9+XLNmzdKDDz4oKfuymq+88oreffddPfbYY3nW/+ijj/TCCy8oNTVVSUlJevXVV3XLLbfotttuK7TW5ORkde3aVVu3bpXD4dB///tfLV682PmF3ILaLl26tOrVq6d33nlHCQkJysjI0Pjx4xUZGal69eopJCRE9913n9555x0lJiYqMTFR77zzjtq1a6fg4GCFhITo3Xff1apVq+RwOPTrr79qxowZ6tq1q1v7GwAA4GpkMf5+HcarQM2aNTVv3jw1aNBAkvTVV19p6tSpOnLkiEJCQtSuXTs999xzLqPXRbFs2TJNmzZNmzZtkpR9zfu77rpLVqtVAQEBLsu++uqreuCBBwrd5vnz5zVu3Dht3rxZFotFjRo10vDhw1W+fHlJ0uOPP66YmBjnl29///13vfnmm9q3b58k6YEHHtCQIUMUGBio9u3b67fffsszct2+fXu99tprSklJ0ejRo/Xtt99Kyv4i8ahRoxQZGZmnrhYtWmjgwIHq1KmTc9r69es1adIknT59WpUrV1b//v11//33O9soqO2zZ8/q7bff1tatW5WVlaXbb79dI0aM0A033CBJSklJ0VtvvaVNmzbJZrOpZcuWeumll5yn46xfv17Tp0/X0aNHFR4erocfflj9+/eXn99V/54UAACgQFdloAcAAAB8BcObAAAAgIkR6AEAAAATI9ADAAAAJnZV/KfY+Pi8/4TpSomKKqXExFSvtQ/voe99F33vu+h730Xf+yZv93t0dHiRlmOE/n9gsUhWq58sFm9XgiuNvvdd9L3vou99F33vm8zU7wR6AAAAwMQI9AAAAICJEegBAAAAEyPQAwAAACZGoAcAAABMjEAPAAAAmBiBHgAAADAxAj0AAABgYgR6AAAAwMQI9AAAAICJEegBAAAAEyPQAwAAXIWaNInV7t278kyfO/c9DRz4RJ7p06dPUZMmsfr668155g0c+IT+8Y+GatWqqfN2zz1N9PjjPbRz5w6X5ebOfc9l3Z9/PqD27Vtr7NhXlJWVVQz3LH99+/ZQixaNlZBw1mNtlFQEegAAAB+XkZGuNWtWqkOHh7Ro0fx8l+nevbc2bNjivH322ReqXr2mXnxxqJKTk/NdZ+fOHRo8uJ8efLCTRo58Rf7+/h6pf//+n3TmTJwaNGispUsXe6SNkoxADwAAkA/DMJRmsyst064LmVlKy7Rn/+3Bm2EYbtV48ODPGjjwCbVqdbcefPBevf/+LLe3IUkbNnyh6OhoPfnkQP366y/66ad9ha4TFhamLl26Ki3tgk6cOJbvNkeMeF6DBz+nxx/v53ZNF1u//gt17/6wWrVqqm7dOmvjxg0u85ctW6zmze9Rp06dtWLFMqWnpzvn7d69Sx073q/335+l++9vqfvvb6kpUybIZrNJksaOfUVvvvmaBg/up3vuaaJu3Trrm2++cq5/112xmjx5vNq2balhw56VJH3zzVd67LFH1bp1Mz3ySCctWfIfORwOZWZmqlevf+nll0c413/ppRfUv//jHv10wjNvk/5Hx48f17hx47Rr1y4ZhqF69eppxIgRqlKlirdLAwAAPsAwDD2+aI/2njx/Rdu9PSZCc/55uywWS6HLnj+fpGefHaDOnbtq4sRpio8/o0GDnlS5ctHq0OEhSdLw4c/KarW6rJeZmambb67tMu3TT5eoY8cuCg8PV5s292vRovkaM+btAts/d+6c/vOf+apYsZJuuOFGl3lLlizUu+9O1Msvv65Wre4tyl2/pN27d2ncuNc0duzbatCgsb77brteeOE53XhjVd1ww406dy5Rmzdv0ocfLtC1116nqKgorVmzQg891NW5jfj4Mzp69IiWLl2phIQEDRkyWKGhoerb9ylJ0tq1qzV69BhNnDhNGzZ8oZdffkHz5i1SuXK3SpJOnDiuTz9dI5vNpt27d+nll1/QSy+9rmbNmuvQod80YsTzMgxDXbt206uvvqE+fR7Vxo0blJKSrB9+2KUPP/yPxz6dkEroCP2AAQNUunRpbdq0SZs2bVKZMmXUv39/b5cFAAB8SOGR2ru2bt2ioKAg9e7dV4GBgapc+RpNnjxdjRs3cS7z1luT9MUXX7ncunXr6bKdPXt+VFxcnO69t60kqUuXR7Rly9c6ceK4y3ILFvxb9977D7Vq1VT/+EdD9er1iAIDAzVt2hwFBQU7l1u7drUWLfpY1avX0OrVK/7nkekvvliju+9urkaNmsjPz08NGzbWzJlzFR1dXpK0YsUy1alTT9ddd70sFos6d+6qxYuzR8xzWSwWPf/8cIWGllKVKtfqX//qoXXrPnfOb9y4iVq2bC1/f3/dd1871ap1s778cp1zfqtW9yo4OFjh4eFas2almjb9h1q2bCV/f3/VrFlLjz7aSytWLJMkXXfd9Xr66SGaNOktTZs2WS+99LqzVk8pcSP0SUlJKleunJ5++mmFhoZKknr06KEHH3xQSUlJKl26tJcrBAAAVzuLxaI5/7xd6VkOWSSVLRemhLMpcv9kFvcE+/sVaXReks6ePavy5Su4LH/ttde73eanny7WhQupeuihts5pDodDS5b8R88+O8w5rVu3nurT50nZ7XatX79WkyaN1x131FXFihVdthcSEqKJE6fJbneoT59umjZtsp55Zki+be/Z84OGDBns/Lt7997q0eOxPPezRo2aLtNuuukWSVJWVpZWrFim5OTzatu2pSTJbncoJSVZ33yzWf/4R/a0iIgIlS5dxrl+hQoVXb48e80117psv0KFCi7zy5WLdv5+7lyiqld3radSpRidPn3K+Xfr1vdq1qx3FRUVpXr16ud734uTVwJ9enq64uLi8p0XHR2tuXPnukxbt26dKleuXGCYL+Jjv1jltumNtuFd9L3vou99F33veywWi0IDrbJYpNBAf6UFWXUZp6d7TIUKFXTm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M+RnZCmyTKiuCfG/rPxWHDwS6B977DGdPXtWzZs3V0CAa6cOHDjQvQqLUUkJ9PAd9L3vou99F33vu+h731QS+r2ogd6tL8Xu27dP69atU1RU1GUVBQAAAKB4ufV5T3h4uAIDAz1VCwAAAAA3uTVC379/f40YMUJ9+/ZVuXLlXObFxHjnywIAAACAL3Mr0I8aNUqStGHDBknZX3jK/SdBBw4cKP7qAAAAABTIrUC/ceNGT9UBAAAA4DK4FegrV66s1NRUff311zpx4oTKly+v5s2bKyIiwlP1AQAAACiAW4H+yJEj6tWrl2w2m2JiYnTy5Em99dZb+ve//63q1at7qkYAAAAAl+DWVW7efPNN3Xvvvfrmm2+0ZMkSffPNN3rwwQc1btw4T9UHAAAAoABuBfo9e/bo2WeflZ9f9mp+fn56+umntWfPHo8UBwAAAKBgbgV6q9WqlJQUl2kpKSkKCQkp1qIAAAAAFI1bgb558+Z6/vnn9fvvvyszM1OHDh3S0KFD1bx5c0/VBwAAAKAAbgX6559/XllZWbr//vt1++23q127dgoMDNSQIUM8VR8AAACAArh1lZsyZcpo/vz5OnbsmBISElS5cmVFR0d7qjYAAAAAhShSoP/+++9Vr1497dy502X64cOHdfjwYUlS/fr1i704AAAAAAUrUqDv27evdu/ere7du+c732Kx6MCBA8VaGAAAAIDCFSnQ7969W5L0888/e7QYAAAAAO5x60uxHTp0yHd6ixYtiqMWAAAAAG4qdIT+6NGjmjlzpiTpt99+04gRI1zmp6SkKD093TPVAQAAAChQoSP01157rSIjIy85PyoqSpMmTSrWogAAAAAUTZHOoR82bJgkqUqVKurfv79HCwIAAABQdG5dh75///46duyY4uLiZBiGJMlms+mXX35Rr169PFEfAAAAgAK4Fejfe+89TZo0SRaLRZJkGIYsFotuuukmAj0AAADgBW4F+v/85z+aOnWqAgMDtWnTJj333HN6/fXXValSJU/VBwAAAKAAbl228vz582rdurVq1aqln376SWXKlNHIkSP1+eefe6o+AAAAAAVwK9CXL19eKSkpqlChgo4fPy7DMBQVFaWkpCRP1QcAAACgAG6dclO/fn0NHjxYkydP1s0336yJEycqKChIFSpU8FR9AAAAAArg1gj9Cy+8oOuuu05ZWVl68cUXtXHjRi1evFgvvviip+oDAAAAUAC3RujDwsI0evRoSdn/UIpz5wEAAADvKlKgnz17tp544glNmzbtkssMHDiw2IoCAAAAUDRFCvQ7d+7UE088oR07duQ7P/e69AAAAACurCIF+jlz5kiSPvjgAwUEBHi0IAAAAABF59aXYps0aaI33nhDv/zyi6fqAQAAAOAGtwL922+/rfj4eHXp0kVdunTR4sWLlZqa6qnaAAAAABTCrUDfrFkzTZo0SVu2bFHHjh21fPlyNW3aVCNGjPBUfQAAAAAK4NZlK3NFRETo7rvv1vnz53XmzBlt3769uOsCAAAAUARujdCnpKTok08+Ubdu3XTffffpp59+0ujRo7Vx48ZiLSojI0NjxozRXXfdpXr16qlnz546dOhQsbYBAAAAXA3cGqG/6667VLFiRT300EOaMmWKypUr55GiXnnlFR0+fFjLly9XmTJlNG7cOD399NNavXq1R9oDAAAAzMqtQP/ee++pYcOGnqpFkpSQkKAVK1bo888/V/ny5SVJQ4YM0R9//CHDMLjmPQAAAHARtwJ9w4YNdejQIS1cuFCnT5/W66+/rjVr1ujRRx91q9H09HTFxcXlO++PP/5QeHi4fvzxRw0YMECJiYmqV6+eXnzxxQLDvDdyfm6bvMfwPfS976LvfRd977voe99kpn53K9Bv3bpVgwYNUvPmzfXf//5X6enpmj59ui5cuKAnnniiyNvZs2ePevToke+88ePHKzk5WevXr9f8+fMVEBCg1157Tf369dPy5ctltVrzrBMVVUpWq1tfByhWZcuGe61teBd977voe99F3/su+t43maHfLYZhGEVd+KGHHtLgwYPVrFkz1a9fXzt37tS+ffv0zDPPFNsXY7/44gs9/fTTWr9+va677jpJUmJioho1aqQ1a9aoWrVqedaJj0/22gh92bLhSkhIVtH3Iq4G9L3vou99F33vu+h731QS+r1cuaK9mXBrhP7IkSO6++67Jcl5+sutt96qpKQkN8u7tNzAnpmZ6Zxmt9slSQW99/DmAWYY3m0f3kPf+y763nfR976LvvdNZuh3t85TiYmJ0e7du12m7du3T5UqVSq2gqpVq6b69evr5ZdfVmJiolJTUzVu3Djdcsstql69erG1AwAAAFwN3Ar0Tz75pJ566ilNmjRJNptNc+bM0YABA9SnT59i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stdG6MuWDVdCQrJK1l6Ep9H3vou+9130ve+i731TSej3cuXCi7ScV065KcipU6dkt9vlcDic0wICAmSxWGS1Wi+5njcPMMPwbvvwHvred9H3vou+9130vW8yQ7+XuPNU6tWrp5CQEL3xxhvKyMhQQkKCJkyYoFatWvHFWAAAAOBvSlygj4qK0ty5c3X48GE1bdpUHTp00PXXX6833njD26UBAAAAJU6JO+VGkmrXrq2PPvrI22UAAAAAJV6JG6EHAAAAUHQEegAAAMDECPQAAACAiRHoAQAAABMj0AMAAAAmRqAHAAAATIxADwAAAJgYgR4AAAAwMQI9AAAAYGIEegAAAMDECPQAAACAiRHoAQAAABMj0AMAAAAmRqAHAAAATIxADwAAAJgYgR4AAAAwMQI9AAAAYGIEegAAAMDECPQAAACAiRHoAQAAABMj0AMAAAAmRqAHAAAATIxADwAAAJgYgR4AAAAwMQI9AAAAYGIEegAAAMDECPQAAACAiRHoAQAAABMj0AMAAAAmRqAHAAAATIxADwAAAJgYgR4AAAAwMQI9AAAAYGIEegAAAMDECPQAAACAiRHoAQAAABMj0AMAAAAmRqAHAAAATIxADwAAAJgYgR4AAAAwMQI9AAAAYGIEegAAAMDECPQAAACAiRHoAQAAABMj0AMAAAAmRqAHAAAATIxADwAAAJgYgR4AAAAwMQI9AAAAYGIEegAAAMDECPQAAACAiRHoAQAAABMj0AMAAAAmRqAHAAAATIxADwAAAJgYgR4AAAAwMYthGIa3iwAAAABweRihBwAAAEyMQA8AAACYGIEeAAAAMDECPQAAAGBiBPrLlJCQoP79+ys2NlYNGjTQ2LFjlZWV5e2ycAX8/PPP6t27t+68807dddddGjZsmBITE71dFq4Qu92u7t2764UXXvB2KbhC/vzzTw0bNkwNGjRQ/fr11b9/f505c8bbZeEK2L9/v7p166bY2Fg1adJEY8aMUWZmprfLggclJiaqVatW2rFjh3Panj171KVLF9WpU0ctWrTQJ5984sUK80egv0zPPPOMQkNDtWXLFi1dulTbtm3TRx995O2y4GHp6el6/PHHVadOHX377bdavXq1/vzzT7344oveLg1XyLRp07Rr1y5vl4EraNCgQbpw4YI2bNigzZs3y2q16qWXXvJ2WfAwh8OhJ598Um3atNF3332npUuX6ttvv9WcOXO8XRo85Pvvv1fXrl119OhR57SkpCQ98cQT6tChg3bu3KmxY8fqzTff1N69e71YaV4E+stw5MgRfffddxo6dKhCQkJUpUoV9e/fXwsWLPB2afCwkydPqlatWhowYIACAwMVGRmprl27aufOnd4uDVfAtm3btH79erVu3drbpeAK+emnn7Rnzx6NGzdOERERCgsL0+uvv64hQ4Z4uzR4WFJSkuLj4+VwOJR7hW8/Pz+FhIR4uTJ4wvLlyzVkyBA9++yzLtPXr1+vMmXKqFu3bvL391ejRo3Uvn37Epf5CPSX4ddff1WZMmVUoUIF57SqVavq5MmTOn/+vBcrg6fdeOONev/992W1Wp3T1q1bp1tuucWLVeFKSEhI0MiRIzVhwgRe0H3I3r17Va1aNS1ZskStWrVSkyZN9NZbbyk6OtrbpcHDIiMj1atXL7311lu69dZb1axZM11//fXq1auXt0uDBzRp0kQbNmzQ/fff7zL9119/VY0aNVymVatWTT///POVLK9QBPrLkJqamucFPffvCxcueKMkeIFhGJo0aZI2b96skSNHersceJDD4dDQoUPVu3dv1apVy9vl4ApKSkrSwYMHdfjwYS1fvlyfffaZ4uLiNHz4cG+XBg9zOBwKDg7WSy+9pB9//FGrV6/WoUOHNHXqVG+XBg+Ijo6Wv79/nun5Zb7g4OASl/cI9JchNDRUaWlpLtNy/y5VqpQ3SsIVlpKSosGDB2vVqlX6+OOPVbNmTW+XBA967733FBgYqO7du3u7FFxhgYGBkqSRI0cqLCxM5cqV0zPPPKOvv/5aqampXq4OnrRhwwatW7dO//rXvxQYGKjq1atrwIABWrhwobdLwxUUEhKi9PR0l2np6eklLu/lfSuCQlWvXl1//vmnzp49q3LlykmSDh06pIoVKyo8PNzL1cHTjh49qr59+yomJkZLly5VVFSUt0uCh61YsUJnzpxRbGysJDmf3L/88ku+IHuVq1atmhwOh2w2m4KCgiRlj9xKcp5XjavTqVOn8lzRxt/fXwEBAV6qCN5Qo0YNbd261WXab7/9purVq3upovwxQn8Zrr/+etWrV09vvPGGUlJSdOzYMc2YMUOdO3f2dmnwsKSkJPXs2VN169bV3LlzCfM+4osvvtDu3bu1a9cu7dq1S+3atVO7du0I8z6gcePGqlKlil588UWlpqYqMTFRkyZN0j333KOwsDBvlwcPatKkieLj4zVr1izZ7XYdO3ZMM2fOVPv27b1dGq6gVq1a6ezZs/roo49ks9m0fft2rVq1Sg899JC3S3NBoL9MU6dOVVZWllq2bKmHH35YTZs2Vf/+/b1dFjxs2bJlOnnypNauXat69eqpTp06zhuAq09AQIDmz58vq9WqNm3aqE2bNqpYsaLeeOMNb5cGD6tWrZree+89bdq0SQ0aNFCPHj3UokWLPFdBwdUtMjJSH3zwgb744gs1aNBAo0aN0qhRo9SwYUNvl+bCYvCZIQAAAGBajNADAAAAJkagBwAAAEyMQA8AAACYGIEeAAAAMDECPQAAAGBiBHoAAADAxAj0AAAAgIkR6AHARx0+fNjbJQAAigGBHgA8qGbNmqpZs6Z+//33PPM+/PBD1axZU+++++5lbXvHjh2qWbPmZa27adMm9enT57LWBQCULAR6APCwyMhILV++PM/0ZcuWKSwszAsVSX/++af4R+EAcHUg0AOAh7Vv314rVqyQw+FwTtu7d68yMzN18803O6elpKRo1KhRat26te644w41bdpUs2bNcs5v0aKFXn75Zd11113q0KGDy/YMw9DIkSPVtm1bxcXFSZL++9//qnPnzoqNjVXbtm21cuVKSdkj+6NHj9bJkydVp04d5/IXy6+t/fv3q3v37qpfv75at26tjz76yPmmIC4uTo8//rjuvPNO3X333Ro4cKDOnDkjSXI4HJo9e7buuece1atXT507d9aWLVtc2lq2bJnz74s/eTh+/Lhq1qypcePGqX79+nr11VclSf/+97/VqlUr1alTR506ddK2bduc+2HevHlq06aNYmNj9a9//Us//fSTc9vr1q1T27ZtVa9ePd13332aMWOGW30JACWSAQDwmBo1ahjffvut0bBhQ2PLli3O6S+99JIxe/Zs49FHHzWmTp1qGIZhjB492ujZs6eRlJRkOBwO44svvjBq1KhhHD582DAMw2jevLnx4IMPGklJSUZSUpKxfft2o0aNGobdbjdeeOEFo2PHjkZCQoJhGIZx4MAB47bbbjPWrVtnZGVlGd9//73RoEED45tvvjEMwzA+/fRTo3nz5pes++9tnT592qhXr57x8ccfG5mZmcavv/5qtGrVyli4cKFhGIYxbNgwY+TIkUZmZqaRnJxs9O7d23j99dcNwzCMqVOnGnfffbfx008/GTabzVizZo1Ru3ZtY8+ePc62Pv30U2fbuffLMAzj2LFjRo0aNYxRo0YZGRkZRlJSkvHpp58ad955p7F7927DbrcbS5YsMW6//Xbj3Llzxscff2z84x//MA4cOGBkZmYan3zyiREbG2vEx8cbaWlpxq233mps377dMAzD2L9/v3HHHXc46wAAs2KEHgA8zN/fX+3bt3eedpOenq5169apQ4cOLssNGjRIkydPVlhYmE6fPq2goCBJco50S1KbNm0UERGhiIgI57Thw4dry5YtmjdvnqKioiRJixYtUsuWLdW6dWtZrVbVrVtXDz/8sBYsWFDkui9ua+XKlapataq6deumgIAAVatWTX369HFuLygoSN9//73WrFmj1NRUvf/++xo1apQk6dNPP9UTTzyhW265Rf7+/rr//vvVokULLV26tMi1dOjQQYGBgYqIiNDy5cvVtWtX1alTR35+furSpYs++OADBQcHa8GCBXryySdVq1YtBQQEqHPnzqpatarz04ng4GAtXbpU27ZtU9WqVfX999/rtttuK3IdAFAS+Xu7AADwBZ06dVLXrl2VkpKiL7/8UnXr1lV0dLTLMgkJCRo7dqz+7//+T9dcc41q164tSS6n1pQvXz7Ptk+fPq3U1FR98803uv/++yVJJ06c0Pbt2xUbG+tczm6369prry1yzRe3deLECe3fv99lew6HQ1arVZI0atQovffee5o7d65eeOEF1apVS6NGjVJsbKzOnj2rKlWquGz7mmuu0c8//3xZtcTHxysmJsZlft26dZ11vvXWW3rnnXec87KyslS7dm0FBwdr4cKFmjFjhp5//nmlpKSoTZs2GjVqlEqXLl3kWgCgpCHQA8AVUKtWLd14441au3atVq1apZ49e+ZZ5umnn1aLFi00d+5c+fv769y5c1qyZInLMhaLJc96c+fO1ZIlS/Tqq68qNjZW5cuXV8WKFdWxY0e99tprzuXOnDnj1hdhL26rYsWKatCggebOneucdu7cOaWmpkqS/u///k9du3bVoEGDlJiYqOnTp2vgwIHavn27KleurGPHjrls+9ixY86Q7ufnJ5vN5rLdgmqpVKmSTp065TJ/0qRJeuCBB1SxYkUNHjxYbdu2dc47evSoypQpo5SUFJ05c0YTJkyQJB04cEDPPfecZs2apeHDhxd5vwBAScMpNwBwhXTq1EkfffSR/vjjDzVr1izP/OTkZAUHB8tqtSoxMVFjxoyRJJewm5/AwEB169ZNNWrU0MiRIyVJnTt31urVq/Xtt9/K4XDo8OHDevTRR/XBBx9Iyj5FJi0tTVlZWUWqvX379vrxxx+1cuVKZWVl6cyZM+rXr5/GjRsnSZo1a5Zef/11paSkKCIiQiEhIYqMjJQkdenSRbNnz9b+/ftlt9u1du1abdq0SR07dpQkVa1aVRs3blR6erri4+M1b968Qvfj4sWLtXfvXjkcDn366adasGCBIiMj9fDDD2vmzJk6dOiQJGnLli1q27atdu7cqdTUVPXt21erVq2SYRgqX768/Pz8nHUCgFkR6AHgCmnXrp2OHDmiBx54QP7+eT8gffPNN/X555+rbt266tSpkypUqKCbb75Zv/zyS6HbtlgseuONN7Rr1y4tWrRIt99+uyZOnKiJEyeqfv36evTRR9WiRQs9//zzkqT69eurbNmyql+/vg4ePFjo9itXrqz3339fixcvVuPGjfXggw/qxhtvdAb61157TQ6HQy1btlT9+vW1Z88eTZkyRZLUu3dvdevWTc8++6xiY2P13nvvaeLEibrzzjslSUOGDFFqaqruuusu9ejRQw888ECBtbRv316DBg3S0KFDFRsbq8WLF2vOnDmKiopSr1691KFDB/Xv31916tTR2LFj9fLLL6tly5aqUKGCpk6dqjlz5qhu3bpq166dGjZsqF69ehV6/wGgJLMY7nz+CgAAAKBEYYQeAAAAMDECPQAAAGBiBHoAAADAxAj0AAAAgIkR6AEAAAATI9ADAAAAJkagBwAAAEyMQA8AAACYGIEeAAAAMDECPQAAAGBiBHoAAADAxP4fmN5Pn4Cf9KYAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot the deviations\n", "approximationError = 100 * (cHARK - cApprox) / cHARK\n", "plt.figure(figsize=(9, 6)) # set the figure size\n", "plt.plot(m_range, approximationError, label=\"cHARK - cApprox\")\n", "plt.xlabel(\"Market resources\") # x axis label\n", "plt.ylabel(\"Percent deviation of approximation\") # y axis label\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we want to calculate how the approximation quality depends on the interest factor. We proceed as follows:\n", "1. Create arrays of R values, such that the return patience factor is increasing as you descend through the array\n", "2. Set up a for loop in which we will:\n", " 1. Input the new value of $R$\n", " 0. Solve the HARK model for the consumption function\n", " 0. Calculate the approximate consumption function\n", " 0. Save the average deviation between the two functions\n", "3. Then we can plot average deviation against the $R$ factor" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# Create array of Rfree values, and calculate the patience factor\n", "howMany = 30\n", "Rfree_min = Rfree\n", "Rfree_max = Rfree**20\n", "Rfree_array = np.linspace(Rfree_min, Rfree_max, howMany)\n", "\n", "Pat_array = (Rfree_array * DiscFac) ** (1 / CRRA)\n", "PatR_array = Pat_array / Rfree_array" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# Set the time preference factor to match the interest factor so that $(R \\beta) = 1$\n", "\n", "Paramod[\"DiscFac\"] = 1 / Rfree" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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qjaPVxXuEzIZuQcAAEDd1Srcb968WX379tXGjRtrbI+Li1NcXJwkqX///k4vztNVTctJyipUSVmF7DZTH6QAAAAANdQq3N96663asmWLrr/++pPuNwxDu3btOqsCMjIyNHHiRD3xxBMaMGDASR/z/fff6x//+IcSExPVokUL/eUvf/GIef4R/nb5263KLynXoexCtQ/3d3dJAAAAaMRqFe63bNkiSfrtt9+c+uabN2/WQw89pISEhFM+Ji4uTnfffbeeffZZDRs2TP/9739177336r///a+aN2/u1Hrqm2EYignz069HchWXQbgHAABA3ZiaBzJ+/PiTbh8xYoTpN/7000/1wAMPaPr06Wd8XL9+/XTRRRfJZrNpzJgx6t+/vz744APT79kQtT02NSeek2oBAABQR2ccuU9ISNDLL78sSdq3b59mzpxZY39eXp6KiopMv/HgwYN1+eWXy2aznTbg79u3T507d66xrWPHjqf9FMEwTr3tZPvc6fgVcxpabSfTUPvY2NDHuqOHzkEfnYM+Ogd9rDt66ByNuY9nDPdt2rRRaGioMjMzT7o/LCxMzz33nOk3ru0qO/n5+SdcJMvHx0cFBScf6Q4L85fVeuoPJMLDA2tfZD3o2TZM+iFOSbkliohoWLWdTkPrY2NFH+uOHjoHfXQO+ugc9LHu6KFzNMY+1mrO/V/+8hdJUuvWrTVlypTq7SUlJbLb7a6p7BhfX98TPhkoKiqSv//J56dnZOSfcuQ+PDxQ6em5cjhcUenZCbVVFrsvJVepqTkyGvghYkPtY2NDH+uOHjoHfXQO+ugc9LHu6KFzNNQ+1mYg2NQ69+PHj9e1116rRx55RN27d9dzzz2nbdu2acGCBS5b775z58765Zdfamzbt2+fevToccrnnO4PweE4/f761irYVxZDyi8pV1peiSICvN1dUq00tD42VvSx7uihc9BH56CPzkEf644eOkdj7KOpE2pnz56t9u3bKyYmRlLlEpkdO3bUnDlzXFKcJF1xxRXasGGDli9frrKyMi1fvlwbNmzQuHHjXPae9clusyg62EeSFJfBxawAAABw9kyF+61bt2r27NkKCAiQVDnf/uGHH9b69eudWlRsbKyWLl0qSerQoYNeeuklvfrqq+rfv78WLlyoF154Qe3atXPqe7pTzHEn1QIAAABny9S0HJvNpoyMjBrr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T7o9Li5OcXFxkqT+/fs7rSi4h5/dqol9ovXaT/F6c32iLjonUhbDcHdZAAAAqKVahfvrr7/+tPsNw9CuXbucUhDca2JsS/170yHtS8vXmv0ZGtox3N0lAQAAoJZqFe5/++03V9eBBiLIx0tX9WqpRRsT9eb6BF3YIUwGo/cAAACNgqkTaiWpsLBQR44cUXJyspKTkxUfH6+VK1e6oja4yXV9o+Vts+iXI7nakJDl7nIAAABQS6ZOqP3kk080Z84cFRcX19geHh6uiy++2KmFwX3C/e0af26UPtiarDfXJ2hATKi7SwIAAEAtmAr3r7zyiu699175+/tr48aNuvHGGzV//nxdcMEFrqoPbvKnfq30yfbD2pyYre1J2eoVHezukgAAAHAGpqblpKam6sYbb9TAgQOVkJCg7t2766mnntJHH33kqvrgJlFBPrqsW3NJ0pvrE91cDQAAAGrDVLgPDw9XaWmpWrRooYMHD0qSWrZsqfT0dJcUB/e68bzWshjSjwcztDslz93lAAAA4AxMhfuePXvq0UcfVVFRkdq2bavFixfr008/VUhIiIvKgzu1DvXVxedUXqTszQ0Jbq4GAAAAZ2Iq3M+cOVMZGRnKz8/XjBkz9Mwzz+iRRx7Rvffe66Ly4G6TB7SRJH2zJ00H0wvcXA0AAABOx9QJtc2aNdNrr71W/f26detUWloqX19flxQH9+sY4a9hHcP13b50vb0hQbPHdHF3SQAAADgF0+vcH89ms511sE9PT9eUKVPUr18/DRgwQE8++aTKyspO+tgNGzbo6quvVmxsrIYOHapXX321LmXDpD8fG73/atdRJWUVurkaAAAAnEqdwn1d3HvvvfLz89OaNWv08ccfa+3atXrrrbdOeNz+/ft122236brrrtOWLVv06quv6l//+pe++uqr+i+6ieoWFajzY0JV7pDe3njI3eUAAADgFNwS7uPj47VhwwbNmDFDvr6+at26taZMmaJ///vfJzz2vffe08iRI/WHP/xBhmGoS5cuev/999W3b183VN50/fn81pKkZT8f0ZHsIjdXAwAAgJMxNefeWfbu3auQkBA1b968eluHDh2UnJysnJwcBQUFVW/fsWOHBg0apPvuu08//vijwsLCNHnyZE2cOPGUr28Yp952sn04s76tQ9Q7OkjbknL0+poDmjKwtbtLatT4faw7eugc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rV+/Xrfeems9VNa41LaPKSkpuvXWW9W7d28ZhqHY2FgNGDBAGzdurKdKG67a9nDSpElatmyZ2rRpo5KSEmVkZMjX11c+Pj71VGnDZubvtCTNnj1bF110kYuranxq28fExERlZ2erW7du9VRZ41HbHr733nsaOXKk/vCHP8gwDHXp0kXvv/+++vbtW0+VNmxm/05L0oEDBzRnzhz94x//ULNmzVxYXeNR2z4eOHBADoej+ma1WuXl5SWbzVZPlZrjUeF+8ODBWrlypcaMGXPax+3bt0+dO3eusa1jx4767bffXFleo1HbPkrS/Pnz9c9//lNt2rSph8oal9r2cdKkSbrtttuq76enp2vjxo3q0aOHq0ts8GrbQ4vFIj8/P/3www/q1auXZs2apXvuuYf/wI4x83d6yZIlio+P19SpU+uhssaltn3cuXOn/P39NX36dJ1//vkaO3asPv7443qqsmGrbQ937NihVq1a6b777tOAAQN06aWXasOGDYqMjKynShs2M3+nq8yePVvjx49Xv379XFhZ41LbPl522WWKiIjQmDFj1L17d91zzz2aO3euoqKi6qlScxrmIcdZqu1f+vz8fPn6+tbY5uPjo4KCAleU1eiY+cezof5iNwRn859Qamqqbr/9dvXo0UNjx451QVWNi9kennfeedq5c6c2btyoKVOmKDIy0tR/fp6qtn3cv3+/nnvuOS1evFhWq9XFVTU+te1jSUmJevfurenTp6tTp05av3697r77bvn7++vSSy91cZUNW217mJ2drUWLFum5557T3//+d23dulW33367goODNXr0aBdX2fCZ/bdx06ZN2r59u/7xj3+4qKLGqbZ9LC0tVZcuXfTkk0+qS5cuWrZsmWbNmqUOHTronHPOcXGV5nnUyH1t+fr6qqioqMa2oqIi+fv7u6kiQNq2bZsmTJigdu3a6eWXX26wH/c1ZHa7XTabTQMHDtS4ceO0bNkyd5fUaBQXF2v69On661//qpYtW7q7nEZt/Pjx+uc//6lu3brJy8tLgwcP1vjx4/Xll1+6u7RGw263a+TIkRo2bJhsNpv69++vcePG0cOz9MEHH+jSSy/lk4+zNGfOHHXq1Ek9e/aU3W7XVVddpd69e+vTTz91d2kn1STDfefOnbV3794a2/bt26dOnTq5qSI0dR9//LEmT56sG2+8Uc8884zs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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot average deviation from true consumption function\n", "PFagent = PerfForesightConsumerType(\n", " **Paramod\n", ") # construct a consumer with our previous parameters\n", "\n", "plt.figure(figsize=(9, 6)) # set the figure size\n", "mean_dev = np.zeros(30)\n", "\n", "for i in range(len(Rfree_array)):\n", " PFagent.Rfree = [Rfree_array[i]]\n", "\n", " # Now we just copy the lines of code from above that we want\n", " PFagent.solve()\n", " cHARK = PFagent.solution[0].cFunc(m_range)\n", " wealthHmn = PFagent.solution[0].hNrm\n", " wealthTot = wealthHmn + m_range\n", " rfree = Rfree - 1\n", " discRte = (1 / DiscFac) - 1\n", " cApprox = wealthTot * (rfree - (1 / CRRA) * (rfree - discRte))\n", " deviation = np.mean(np.abs(cApprox / cHARK))\n", " mean_dev[i] = deviation\n", "\n", "plt.plot(Rfree_array, mean_dev)\n", "plt.xlabel(\"Return Factor\") # x axis label\n", "plt.ylabel(\" Average deviation along consumption function\") # y axis label\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, when the return factor gets to roughly 1.4, the error in the approximation is almost 80 percent. It looks like the value for $R$ where the approximation almost exactly matches the truth is about 1.035." ] } ], "metadata": { "jupytext": { "cell_metadata_json": true, "formats": "py:percent,ipynb", "notebook_metadata_filter": "all" }, "kernelspec": { "display_name": "DemARK", "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.10.18" } }, "nbformat": 4, "nbformat_minor": 4 }