{ "cells": [ { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 2 }, "source": [ "# Perfect foresight consumption-saving\n", "\n", "**The** `PerfForesightConsumerType` **class**" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "code_folding": [ 0 ] }, "outputs": [], "source": [ "# Initial imports and notebook setup, click arrow to show\n", "\n", "from copy import copy\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "from HARK.ConsumptionSaving.ConsIndShockModel import PerfForesightConsumerType\n", "from HARK.utilities import plot_funcs\n", "\n", "mystr = lambda number: \"{:.4f}\".format(number)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The module `HARK.ConsumptionSaving.ConsIndShockModel` concerns consumption-saving models with idiosyncratic shocks to (non-capital) income. All of the models assume CRRA utility with geometric discounting, no bequest motive, and income shocks that are either fully transitory or fully permanent.\n", "\n", "`ConsIndShockModel` currently includes three models:\n", "1. A very basic \"perfect foresight\" model with no uncertainty.\n", "2. A model with risk over transitory and permanent income shocks.\n", "3. The model described in (2), with an interest rate for debt that differs from the interest rate for savings.\n", "\n", "This notebook provides documentation for the first of these three models.\n", "$\\newcommand{\\CRRA}{\\rho}$\n", "$\\newcommand{\\DiePrb}{\\mathsf{D}}$\n", "$\\newcommand{\\PermGroFac}{\\Gamma}$\n", "$\\newcommand{\\Rfree}{\\mathsf{R}}$\n", "$\\newcommand{\\DiscFac}{\\beta}$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Statement of perfect foresight consumption-saving model\n", "\n", "The `PerfForesightConsumerType` class models the problem of a consumer with Constant Relative Risk Aversion utility specified by\n", "\\begin{align*}\n", "U(C) = \\frac{C^{1-\\CRRA}}{1-\\rho},\n", "\\end{align*}\n", "who has perfect foresight about everything except whether he will die between the end of period $t$ and the beginning of period $t+1$, which occurs with probability $\\DiePrb_{t+1}$. Permanent labor income $P_t$ grows from period $t$ to period $t+1$ by factor $\\PermGroFac_{t+1}$.\n", "\n", "At the beginning of period $t$, the consumer has an amount of market resources $M_t$ (which includes both market wealth and current income) and must choose how much of those resources to consume $C_t$, while retaining the rest in a riskless asset $A_t$, which will earn return factor $\\Rfree$. The consumer cannot necessarily borrow arbitarily; instead, he might be constrained to have a wealth-to-income ratio at least as great as some \"artificial borrowing constraint\" $\\underline{a} \\leq 0$.\n", "\n", "The agent's flow of future utility $U(C_{t+n})$ from consumption is geometrically discounted by factor $\\DiscFac^n$. If the consumer dies, he receives zero utility flow for the rest of time.\n", "\n", "The agent's problem can be written in Bellman form as:\n", "\n", "\\begin{align*}\n", "V_t(M_t,P_t) &= \\max_{C_t}U(C_t) + \\DiscFac (1 - \\DiePrb_{t+1}) V_{t+1}(M_{t+1},P_{t+1}), \\\\\n", "& \\text{s.t.} \\\\\n", "A_t &= M_t - C_t, \\\\\n", "A_t/P_t &\\geq \\underline{a}, \\\\\n", "M_{t+1} &= \\Rfree A_t + Y_{t+1}, \\\\\n", "Y_{t+1} &= P_{t+1}, \\\\\n", "P_{t+1} &= \\PermGroFac_{t+1} P_t.\n", "\\end{align*}\n", "\n", "The consumer's problem is characterized by the coefficient of relative risk aversion $\\CRRA$, the intertemporal discount factor $\\DiscFac$, the interest factor $\\Rfree$, and age-varying sequences of the permanent income growth factor $\\PermGroFac_t$ and survival probability $(1 - \\DiePrb_t)$.\n", "\n", "While it does not reduce the computational complexity of the problem (as permanent income is deterministic, given its initial condition $P_0$), HARK represents this problem with *normalized* variables (represented in lower case), dividing all real variables by permanent income $P_t$ and utility levels by $P_t^{1-\\CRRA}$. The Bellman form of the model thus reduces to:\n", "\n", "\\begin{align*}\n", "v_t(m_t) &= \\max_{c_t}u(c_t) + \\DiscFac (1 - \\DiePrb_{t+1}) \\PermGroFac_{t+1}^{1-\\CRRA} v_{t+1}(m_{t+1}), \\\\\n", "& \\text{s.t.} \\\\\n", "a_t &= m_t - c_t, \\\\\n", "a_t &\\geq \\underline{a}, \\\\\n", "m_{t+1} &= \\Rfree a_t/\\PermGroFac_{t+1} + 1.\n", "\\end{align*}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Solution method for PerfForesightConsumerType\n", "\n", "Because of the assumptions of CRRA utility and no risk other than mortality, the problem has a closed form solution when there is no artificial borrowing constraint. In fact, the consumption function is perfectly linear, and the value function composed with the inverse utility function is also linear. The mathematical solution of this model is described in detail in the lecture notes [PerfForesightCRRA](https://www.econ2.jhu.edu/people/ccarroll/public/lecturenotes/consumption/PerfForesightCRRA).\n", "\n", "The one period problem for this model is solved by the function `solveConsPerfForesight`, which creates an instance of the class `ConsPerfForesightSolver`. To construct an instance of the class `PerfForesightConsumerType`, several parameters must be passed to its constructor as shown in the table below." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example parameter values to construct an instance of PerfForesightConsumerType\n", "\n", "| Parameter | Description | Code | Example value | Time-varying? |\n", "| :---: | --- | --- | --- | --- |\n", "| $\\DiscFac$ |Intertemporal discount factor | `DiscFac` | $0.96$ | |\n", "| $\\CRRA$ |Coefficient of relative risk aversion | `CRRA` | $2.0$ | |\n", "| $\\Rfree$ | Risk free interest factor | `Rfree` | $1.03$ | |\n", "| $1 - \\DiePrb_{t+1}$ |Survival probability | `LivPrb` | $[0.98]$ | $\\surd$ |\n", "|$\\PermGroFac_{t+1}$|Permanent income growth factor|`PermGroFac`| $[1.01]$ | $\\surd$ |\n", "|$\\underline{a}$|Artificial borrowing constraint|`BoroCnstArt`| $None$ | |\n", "|$(none)$|Maximum number of gridpoints in consumption function |`aXtraCount`| $200$ | |\n", "|$T$| Number of periods in this type's \"cycle\" |`T_cycle`| $1$ | |\n", "|(none)| Number of times the \"cycle\" occurs |`cycles`| $0$ | |\n", "\n", "Note that the survival probability and income growth factor have time subscripts; likewise, the example values for these parameters are *lists* rather than simply single floats. This is because those parameters are *time-varying*: their values can depend on which period of the problem the agent is in. All time-varying parameters *must* be specified as lists, even if the same value occurs in each period for this type.\n", "\n", "The artificial borrowing constraint can be any non-positive `float`, or it can be `None` to indicate no artificial borrowing constraint. The maximum number of gridpoints in the consumption function is only relevant if the borrowing constraint is not `None`; without an upper bound on the number of gridpoints, kinks in the consumption function will propagate indefinitely in an infinite horizon model if there is a borrowing constraint, eventually resulting in an overflow error. If there is no artificial borrowing constraint, then the number of gridpoints used to represent the consumption function is always exactly two.\n", "\n", "The last two parameters in the table specify the \"nature of time\" for this type: the number of (non-terminal) periods in this type's \"cycle\", and the number of times that the \"cycle\" occurs. *Every* subclass of `AgentType` uses these two code parameters to define the nature of time. Here, `T_cycle` has the value $1$, indicating that there is exactly one period in the cycle, while `cycles` is $0$, indicating that the cycle is repeated in *infinite* number of times-- it is an infinite horizon model, with the same \"kind\" of period repeated over and over.\n", "\n", "In contrast, we could instead specify a life-cycle model by setting `T_cycle` to $1$, and specifying age-varying sequences of income growth and survival probability. In all cases, the number of elements in each time-varying parameter should exactly equal `T_cycle`.\n", "\n", "The parameter `AgentCount` specifies how many consumers there are of this *type*-- how many individuals have these exact parameter values and are *ex ante* homogeneous. This information is not relevant for solving the model, but is needed in order to simulate a population of agents, introducing *ex post* heterogeneity through idiosyncratic shocks. Of course, simulating a perfect foresight model is quite boring, as there are *no* idiosyncratic shocks other than death!\n", "\n", "The cell below defines a dictionary that can be passed to the constructor method for `PerfForesightConsumerType`, with the values from the table here." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "code_folding": [] }, "outputs": [], "source": [ "PerfForesightDict = {\n", " # Parameters actually used in the solution method\n", " \"CRRA\": 2.0, # Coefficient of relative risk aversion\n", " \"Rfree\": 1.03, # Interest factor on assets\n", " \"DiscFac\": 0.96, # Default intertemporal discount factor\n", " \"LivPrb\": [0.98], # Survival probability\n", " \"PermGroFac\": [1.01], # Permanent income growth factor\n", " \"BoroCnstArt\": None, # Artificial borrowing constraint\n", " \"aXtraCount\": 200, # Maximum number of gridpoints in consumption function\n", " # Parameters that characterize the nature of time\n", " \"T_cycle\": 1, # Number of periods in the cycle for this agent type\n", " \"cycles\": 0, # Number of times the cycle occurs (0 --> infinitely repeated)\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Solving and examining the solution of the perfect foresight model\n", "\n", "With the dictionary we have just defined, we can create an instance of `PerfForesightConsumerType` by passing the dictionary to the class (as if the class were a function). This instance can then be solved by invoking its `solve` method." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "PFexample = PerfForesightConsumerType(**PerfForesightDict)\n", "PFexample.cycles = 0\n", "PFexample.solve()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `solve` method fills in the instance's attribute `solution` as a time-varying list of solutions to each period of the consumer's problem. In this case, `solution` will be a list with exactly one instance of the class `ConsumerSolution`, representing the solution to the infinite horizon model we specified." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[]\n" ] } ], "source": [ "print(PFexample.solution)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each element of `solution` has a few attributes. To see all of them, we can use the `vars` built in function:\n", "\n", "the consumption functions reside in the attribute `cFunc` of each element of `ConsumerType.solution`. This method creates a (time varying) attribute `cFunc` that contains a list of consumption functions." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'cFunc': , 'vFunc': , 'vPfunc': , 'vPPfunc': , 'mNrmMin': -50.49994992551661, 'hNrm': 50.49994992551661, 'MPCmin': 0.04428139169919579, 'MPCmax': 0.04428139169919579}\n" ] } ], "source": [ "print(vars(PFexample.solution[0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The two most important attributes of a single period solution of this model are the (normalized) consumption function `cFunc` and the (normalized) value function `vFunc`. Let's plot those functions near the lower bound of the permissible state space (the attribute `mNrmMin` tells us the lower bound of $m_t$ where the consumption function is defined)." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Linear perfect foresight consumption function:\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(\"Linear perfect foresight consumption function:\")\n", "mMin = PFexample.solution[0].mNrmMin\n", "plot_funcs(PFexample.solution[0].cFunc, mMin, mMin + 10.0)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Perfect foresight value function:\n" ] }, { "data": { "image/png": "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SagyxRn0qjFjxpgf//jHnW7fuHGjsdvt5tixY9F169evN26323i93n6o8PqzceNGM2HCBLNv3z4jydTW1ka37dixw0gydXV10XW7d+82ksy7776bhGqtratjcfr0aZORkWFeffXV5BV4HenqWEQ8+eSTprS01GzevNlIMs3Nzf1e5/WgO8fiUgsWLDDTp0/vn+IshBGePvCDH/xAOTk5mjJlilasWBFzumrbtm2aPHlyTJIvLy+X3+/Xzp07k1GupX3wwQeqrKzUr371Kw0aNOiy7TfddJNyc3O1bt06BQIBtbS0aN26dbr55ps1ZsyYJFRsXVc6Fps2bVI4HNaxY8c0ceJEjRo1Svfee6/q6+uTUK21XelYSNL+/fu1fPly/fKXv+zygYy4Nt05FvG8Xq+GDRvWx5VZD/+Ke9k3vvENPffcc9qyZYsWLlyoxx9/XAsWLIhub2pq0vDhw2N+Jzs7Wy6XS01NTf1drqUZY1RRUaH58+eruLg4YZshQ4botdde0zPPPKOMjAwNHjxYf/zjH7Vx40Y5nTxbt7d051i8//77CofDWrlypR5//HH95je/0enTpzVjxgzmuPWi7hwLv9+vr3zlK/rXf/1XjR49up8rvH5051jE27Ztm1544QU9+OCDfVyd9RB4umHZsmWXTUSOX2pqaiRJ3/zmN1VaWqpbbrlFDzzwgNauXat169bp1KlT0f3ZbLbLPsMYk3A9Ltfd47FmzRr5fD4tWbKk0321tLTo/vvv12233aY333xTb7zxhm6++Wbdeeedamlp6cdvlZp681iEw2EFg0E98cQTKi8v16233qr169frb3/7m7Zs2dKP3yo19eaxWLJkiSZOnKivfvWr/fgNrKM3j8Wl9u3bpy9+8Yv67ne/qxkzZvTxt7AeHi3RDSdPntTJkye7bFNUVKT09PTL1h87dkyjRo3Sm2++qWnTpum73/2ufve73+mtt96KtmlubtawYcP0X//1X5o+fXqv12813T0es2fP1oYNG2KCZCgUksPh0H333adf/OIXWrdunZYuXarGxsbosH0gEFB2drbWrVun2bNn9+l3SXW9eSx+9rOf6f7771d9fb1GjRoVbTd8+HB9//vfV2VlZZ99DyvozWMxZcoU7dmzJ9rGGKNwOCyHw6FHHnlE//Iv/9Kn3yXV9eaxiNi/f7+mT5+uBx54QCtWrOiz2q2MwNPHfv/732vWrFk6cuSIRo8erVdeeUVf+MIXdPToUY0YMUKS9Pzzz2vevHk6fvy4srKyklyxddTV1cnn80XfNzQ0qLy8XL/5zW80bdo0jRo1SmvWrNHKlSvV0NAQ/Y9OW1ubhg4dqp/+9KeaM2dOssq3lO4ci4MHD+qmm27Sq6++qjvuuEOSdPr0aeXl5emVV15RWVlZssq3lO4ci/feey9mhHPHjh26//779ec//1njx4/XDTfckIzSLac7x0JqH9n57Gc/q3nz5umHP/xhsspNfcmaLW1Ff/7zn81jjz1mamtrzfvvv2+ef/55U1BQYO66665om7a2NjN58mRzxx13mL/+9a/m1VdfNaNGjTILFy5MYuXXh0OHDl12BcSBAweM2+02//AP/2D2799v9u7da7761a8aj8djGhoaklesxSU6FsYY88UvftHcfPPN5o033jB79uwxX/jCF8ykSZNMIBBITqHXgc6OxaW2bNnCVVr9INGx2Lt3r8nLyzP33XefaWxsjC7Hjx9PXqEpijk8vcjtduv555/XZz7zGU2aNEnf/e53VVlZqfXr10fbOBwOvfzyy0pPT9dtt92me++9V3fffbdWr16dxMqvXxMmTNCGDRu0e/dulZSU6Pbbb1dDQ4P+8Ic/REfg0H9++ctfatq0aZo5c6ZKS0uVlpamP/zhD0pLS0t2aUBS/PrXv9aJEyf07LPPasSIEdHlE5/4RLJLSzmc0gIAAJbHCA8AALA8Ag8AALA8Ag8AALA8Ag8AALA8Ag8AALA8Ag8AALA8Ag8AALA8Ag8AALA8Ag8AALA8Ag8AALA8Ag8AALA8Ag8AALC8/x8DIsVwlOn33AAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(\"Perfect foresight value function:\")\n", "plot_funcs(PFexample.solution[0].vFunc, mMin + 0.1, mMin + 10.1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An element of `solution` also includes the (normalized) marginal value function `vPfunc`, and the lower and upper bounds of the marginal propensity to consume (MPC) `MPCmin` and `MPCmax`. Note that with a linear consumption function, the MPC is constant, so its lower and upper bound are identical.\n", "\n", "### Liquidity constrained perfect foresight example\n", "\n", "Without an artificial borrowing constraint, a perfect foresight consumer is free to borrow against the PDV of his entire future stream of labor income -- his \"human wealth\" `hNrm` -- and he will consume a constant proportion of his total wealth (market resources plus human wealth). If we introduce an artificial borrowing constraint, both of these features vanish. In the cell below, we define a parameter dictionary that prevents the consumer from borrowing *at all*, create and solve a new instance of `PerfForesightConsumerType` with it, and then plot its consumption function." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Liquidity constrained perfect foresight consumption function:\n" ] }, { "data": { "image/png": "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ulWZmZkmVeWbDMPQj370I7355pv68MMPlZSUZHZJPuuWW27R559/rvz8fOdr/Pjx+v73v6/8/HwCTTebMmVKu+UNDh06pMTERJMq8l3nzp2Tn5/rbc/f358p3SZLSkpSXFycy728sbFR27Ztc/te7tE9NZK0fPlyLV68WOPHj1dGRobWrl2roqIiLV261OzSfMpDDz2k119/XZs3b1ZISIiz98xmsyk4ONjk6nxLSEhIu7FMffr0UWRkJGOcTPCTn/xEmZmZevrpp7Vw4ULt3r1ba9eu1dq1a80uzefccccd+tWvfqWBAwdq5MiRysvL03PPPaf77rvP7NK8Xm1trQoKCpzvCwsLlZ+fr4iICA0cOFDLli3T008/rZSUFKWkpOjpp59W79699e///u/u/aDOmJ5lthdeeMFITEw0AgMDjXHjxjGN2ASSrvh69dVXzS4NhsGUbpO98847xqhRowyr1WoMGzbMWLt2rdkl+SS73W48/PDDxsCBA42goCAjOTnZePTRR42GhgazS/N6//rXv654j1iyZIlhGK3Tun/xi18YcXFxhtVqNaZPn258/vnnbv8ci2EYRmekMAAAADN59JgaAACANoQaAADgFQg1AADAKxBqAACAVyDUAAAAr0CoAQAAXoFQAwAAvAKhBgAAeAVCDQAA8AqEGgAA4BUINQAAwCsQagAAgFf4/wEyK9YWYCu7wAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "LiqConstrDict = copy(PerfForesightDict)\n", "LiqConstrDict[\"BoroCnstArt\"] = 0.0 # Set the artificial borrowing constraint to zero\n", "\n", "LiqConstrExample = PerfForesightConsumerType(**LiqConstrDict)\n", "LiqConstrExample.cycles = 0 # Make this type be infinite horizon\n", "LiqConstrExample.solve()\n", "\n", "print(\"Liquidity constrained perfect foresight consumption function:\")\n", "plot_funcs(LiqConstrExample.solution[0].cFunc, 0.0, 10.0)" ] }, { "cell_type": "markdown", "metadata": { "incorrectly_encoded_metadata": "pycharm= [markdown] {\"name\": \"#%% md\\n\"}" }, "source": [ "At this time, the value function for a perfect foresight consumer with an artificial borrowing constraint is not computed nor included as part of its `solution`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Simulating the perfect foresight consumer model\n", "\n", "Suppose we wanted to simulate many consumers who share the parameter values that we passed to `PerfForesightConsumerType` -- an *ex ante* homogeneous *type* of consumers. To do this, our instance would have to know *how many* agents there are of this type, as well as their initial levels of assets $a_t$ and permanent income $P_t$.\n", "\n", "### Setting simulation parameters\n", "\n", "Let's fill in this information by passing another dictionary to `PFexample` with simulation parameters. The table below lists the parameters that an instance of `PerfForesightConsumerType` needs in order to successfully simulate its model using the `simulate` method.\n", "\n", "| Description | Code | Example value |\n", "| :---: | --- | --- |\n", "| Number of consumers of this type | `AgentCount` | $10000$ |\n", "| Number of periods to simulate | `T_sim` | $120$ |\n", "| Mean of initial log (normalized) assets | `aNrmInitMean` | $-6.0$ |\n", "| Stdev of initial log (normalized) assets | `aNrmInitStd` | $1.0$ |\n", "| Mean of initial log permanent income | `pLvlInitMean` | $0.0$ |\n", "| Stdev of initial log permanent income | `pLvlInitStd` | $0.0$ |\n", "| Aggregrate productivity growth factor | `PermGroFacAgg` | $1.0$ |\n", "| Age after which consumers are automatically killed | `T_age` | $None$ |\n", "\n", "We have specified the model so that initial assets and permanent income are both distributed lognormally, with mean and standard deviation of the underlying normal distributions provided by the user.\n", "\n", "The parameter `PermGroFacAgg` exists for compatibility with more advanced models that employ aggregate productivity shocks; it can simply be set to 1.\n", "\n", "In infinite horizon models, it might be useful to prevent agents from living extraordinarily long lives through a fortuitous sequence of mortality shocks. We have thus provided the option of setting `T_age` to specify the maximum number of periods that a consumer can live before they are automatically killed (and replaced with a new consumer with initial state drawn from the specified distributions). This can be turned off by setting it to `None`.\n", "\n", "The cell below puts these parameters into a dictionary, then gives them to `PFexample`. Note that all of these parameters *could* have been passed as part of the original dictionary; we omitted them above for simplicity." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "SimulationParams = {\n", " \"AgentCount\": 10000, # Number of agents of this type\n", " \"T_sim\": 120, # Number of periods to simulate\n", " \"aNrmInitMean\": -6.0, # Mean of log initial assets\n", " \"aNrmInitStd\": 1.0, # Standard deviation of log initial assets\n", " \"pLvlInitMean\": 0.0, # Mean of log initial permanent income\n", " \"pLvlInitStd\": 0.0, # Standard deviation of log initial permanent income\n", " \"PermGroFacAgg\": 1.0, # Aggregate permanent income growth factor\n", " \"T_age\": None, # Age after which simulated agents are automatically killed\n", "}\n", "\n", "PFexample.assign_parameters(**SimulationParams)" ] }, { "cell_type": "markdown", "metadata": { "incorrectly_encoded_metadata": "pycharm= [markdown] {\"name\": \"#%% md\\n\"}" }, "source": [ "To generate simulated data, we need to specify which variables we want to track the \"history\" of for this instance. To do so, we set the `track_vars` attribute of our `PerfForesightConsumerType` instance to be a list of strings with the simulation variables we want to track.\n", "\n", "In this model, valid arguments to `track_vars` include `mNrm`, `cNrm`, `aNrm`, and `pLvl`. Because this model has no idiosyncratic shocks, our simulated data will be quite boring.\n", "\n", "### Generating simulated data\n", "\n", "Before simulating, the `initialize_sim` method must be invoked. This resets our instance back to its initial state, drawing a set of initial `aNrm` and `pLvl` values from the specified distributions and storing them in the attributes `aNrmNow_init` and `pLvlNow_init`. It also resets this instance's internal random number generator, so that the same initial states will be set every time `initialize_sim` is called. In models with non-trivial shocks, this also ensures that the same sequence of shocks will be generated on every simulation run.\n", "\n", "Finally, the `simulate` method can be called." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "{'mNrm': array([[ 1.00095989, 1.00282396, 1.00111932, ..., 1.00185921,\n", " 1.00044451, 1.00448108],\n", " [ -0.30491013, -0.30309332, -0.30475474, ..., -0.30403362,\n", " -0.30541244, -0.30147822],\n", " [ -1.57766816, -1.57589742, -1.57751671, ..., -1.57681387,\n", " -1.57815773, -1.57432327],\n", " ...,\n", " [-21.97118426, -9.62717581, -36.59971086, ..., 1.00376132,\n", " -2.81712554, -46.01045686],\n", " [-22.69456637, -10.66355594, 1.00072865, ..., -0.30217974,\n", " -4.02618315, -46.12429267],\n", " [-23.39960622, -11.67365734, -0.30513551, ..., -1.575007 ,\n", " -5.20458357, -46.23524203]])}" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "PFexample.track_vars = [\"mNrm\"]\n", "PFexample.initialize_sim()\n", "PFexample.simulate()" ] }, { "cell_type": "markdown", "metadata": { "incorrectly_encoded_metadata": "pycharm= [markdown] {\"name\": \"#%% md\\n\"}" }, "source": [ "Each simulation variable `X` named in `track_vars` will have the *history* of that variable for each agent stored in the attribute `X_hist` as an array of shape `(T_sim, AgentCount)`. To see that the simulation worked as intended, we can plot the mean of $m_t$ in each simulated period:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAGwCAYAAACpYG+ZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABTdElEQVR4nO3deVxU5eIG8OfMyj5ssskObiik4pK475lltqgtmrn0u2bm2mabZovdMiuvtywrteu9iaV2M8vcdzQX3HFBUJBFBIRhHYaZ8/sDnRvhwsEZDjDP9/OZT3FmGB9OxTy9533fI4iiKIKIiIjIDijkDkBERERUX1h8iIiIyG6w+BAREZHdYPEhIiIiu8HiQ0RERHaDxYeIiIjsBosPERER2Q2V3AEaGrPZjMzMTLi6ukIQBLnjEBERUS2IooiioiIEBARAobj1uA6Lz19kZmYiKChI7hhERERUB+np6QgMDLzl8yw+f+Hq6gqg6sS5ubnJnIaIiIhqQ6/XIygoyPI5fissPn9x4/KWm5sbiw8REVEjc6dpKpzcTERERHaDxYeIiIjsBosPERER2Q0WHyIiIrIbLD5ERERkN1h8iIiIyG6w+BAREZHdYPEhIiIiu8HiQ0RERHaDxYeIiIjsBosPERER2Q0WHyIiIrIbLD71pKLSjMOX8iGKotxRiIiI7BaLTz0wmUXcO38rHv0iAck5xXLHISIislssPvVAqRDQxt8VALA/JU/mNERERPaLxaeedAv3AgAksPgQERHJhsWnntx7vfjsT+E8HyIiIrmw+NSTmEB3OKgVyC+pwHnO8yEiIpIFi0890agU6BTiCQBIuMDLXURERHJg8alH3SJuXO5i8SEiIpIDi089uje8asTnQGo+zGbO8yEiIqpvLD71KLq5OxzVSuSXVOBcTpHccYiIiOxOkyw+n3/+OcLCwuDg4IDY2Fjs3r1b7kgArs/zCfUAAOznPB8iIqJ61+SKT3x8PKZPn47XX38diYmJ6NmzJ4YMGYK0tDS5owGovqydiIiI6leTKz4LFy7EhAkTMHHiRLRp0waffvopgoKC8MUXX8gdDcCfik9qHuf5EBER1bMmVXwqKipw+PBhDBo0qNrxQYMGYd++fTf9HoPBAL1eX+1hSzGBOjhplCgoNeLsFc7zISIiqk9Nqvjk5ubCZDLB19e32nFfX19kZ2ff9Hvmz58PnU5neQQFBdk0o1qpQKfQqtVdXNZORERUv5pU8blBEIRqX4uiWOPYDbNnz0ZhYaHlkZ6ebvN8N5a1cyNDIiKi+qWSO4A1eXt7Q6lU1hjdycnJqTEKdINWq4VWq62PeBY35vnc2M9Hobh5KSMiIiLralIjPhqNBrGxsdi8eXO145s3b0ZcXJxMqWqKbq6Ds0aJwjIjTmfZdk4RERER/U+TKj4AMHPmTHz99df49ttvkZSUhBkzZiAtLQ2TJk2SO5qFWqlA1+ujPnuTc2VOQ0REZD+a1KUuABg1ahTy8vIwb948ZGVloV27dvj1118REhIid7Rq4iK8sO1MDvZeyMPfekfIHYeIiMguNLniAwCTJ0/G5MmT5Y5xW90jvQEAB1PzUVFphkbV5AbfiIiIGhx+2sqkla8rvJw1KDOakJh2Te44REREdoHFRyYKhYBuEdfn+XBZOxERUb1g8ZHRjctd+zjBmYiIqF6w+Mioe0RV8TmaXoASQ6XMaYiIiJo+Fh8ZBXs5IdDDEZVmEX+k8m7tREREtsbiI7Mboz7cz4eIiMj2WHxkFhfJCc5ERET1hcVHZnHXR3ySsvTIKzbInIaIiKhpY/GRWTNXLVr5ugIAElI46kNERGRLLD4NgOVyVzKLDxERkS2x+DQAPSI5wZmIiKg+sPg0AF3DvaBSCEjLL8WlvBK54xARETVZLD4NgItWhdgQDwDArnNXZU5DRETUdLH4NBC9WjYDAOw6z8tdREREtsLi00D0alFVfBIu5MFoMsuchoiIqGli8Wkg2ga4wdNZg2JDJRLTCuSOQ0RE1CSx+DQQCoVgWd3FeT5ERES2weLTgPRsUVV8dp9n8SEiIrIFFp8G5MYE5+MZhcgvqZA5DRERUdPD4tOA+Lo5oJWvK0SRmxkSERHZAotPA9OrJef5EBER2QqLTwPT8/qy9t3ncyGKosxpiIiImhYWnwamS5gntCoFsvXlSM4pljsOERFRk8Li08A4qJXoEuYJANjJy11ERERWxeLTAPW+vrqLxYeIiMi6WHwaoBvF50BqPkorKmVOQ0RE1HSw+DRAkT4uaO7uiIpKMxIu5Mkdh4iIqMlg8WmABEFAn1ZVoz47zvJyFxERkbXcdfHR6/X46aefkJSUZI08dF2fVj4AgO1nc7isnYiIyEokF5+RI0di8eLFAICysjJ06tQJI0eORExMDNasWWP1gPYqLsILGqUCl6+V4cLVErnjEBERNQmSi8+uXbvQs2dPAMC6desgiiIKCgqwaNEivPvuu1YPaK+ctSrLsvYdZ3NkTkNERNQ0SC4+hYWF8PSs+kDeuHEjHn30UTg5OWHo0KE4f/681QPasxvzfLisnYiIyDokF5+goCAkJCSgpKQEGzduxKBBgwAA165dg4ODg9UD2rMb83wOpOSjxMBl7URERHdLcvGZPn06nnrqKQQGBsLf3x99+vQBUHUJLDo62tr57FpEM2cEejiiwsRl7URERNYgufhMnjwZCQkJ+Pbbb7F3714oFFVvER4ezjk+VlZtWfs5zvMhIiK6W3Vazt6pUycMHToUGRkZqKysugQzdOhQdO/e3arhCOh7Y1n7matc1k5ERHSXJBef0tJSTJgwAU5OTmjbti3S0tIAAFOnTsUHH3xg9YD2rtv1Ze0ZBWW4cJV3ayciIrobkovP7NmzcezYMezYsaPaZOYBAwYgPj7equEIcNKo0DW8ahXdtjO83EVERHQ3JBefn376CYsXL0aPHj0gCILleFRUFC5cuGDVcFSlX+uqy11bk1h8iIiI7obk4nP16lX4+PjUOF5SUlKtCJH1DGjjCwA4dOkaCkuNMqchIiJqvCQXn86dO2PDhg2Wr2+UnaVLl6Jbt27WS0YWQZ5OaOnrApNZ5OouIiKiu6CS+g3z58/Hfffdh9OnT6OyshKfffYZTp06hYSEBOzcudMWGQlA/za+OHelGFuScvBQ++ZyxyEiImqUJI/4xMXFYe/evSgtLUVERAQ2bdoEX19fJCQkIDY21hYZCcCANlWXF3eczYHRZJY5DRERUeMkecQHAKKjo7FixQprZ6HbaB/kAU9nDfJLKnDo4jV0i/CSOxIREVGjI3nE59dff8Xvv/9e4/jvv/+O3377zSqhqCal4n+7OG9NuiJzGiIiosZJcvF59dVXYTKZahwXRRGvvvqqVULRzd1Y3bWV+/kQERHVieTic/78eURFRdU43rp1ayQnJ1slFN1czxbeUCsFpOaWcBdnIiKiOpBcfHQ6HVJSUmocT05OhrOzs1VC0c25Oqhxb3jV3B5e7iIiIpJOcvEZNmwYpk+fXm2X5uTkZMyaNQvDhg2zajipQkNDIQhCtUdTu/zW//ouzlu4izMREZFkkovPRx99BGdnZ7Ru3RphYWEICwtDmzZt4OXlhQULFtgioyTz5s1DVlaW5fHGG2/IHcmq+l+f53P40jUUlFbInIaIiKhxkbycXafTYe/evdiyZQuOHTsGR0dHxMTEoFevXrbIJ5mrqyv8/PzkjmEzQZ5OaOXrirNXirD9bA4e7hAodyQiIqJGQxBFUaztiysrK+Hg4ICjR4+iXbt2tsxVJ6GhoTAYDKioqEBQUBBGjBiBl156CRqN5pbfYzAYYDAYLF/r9XoEBQWhsLAQbm5u9RFbso83ncU/tiVjSDs/fDGam0YSERHp9XrodLo7fn5LutSlUqkQEhJy0+XsDcG0adOwatUqbN++HVOmTMGnn36KyZMn3/Z75s+fD51OZ3kEBQXVU9q6GxRVNaK189xVlBsb5j8LIiKihkjSiA8ALFu2DD/88ANWrlwJT09PW+WymDt3Lt5+++3bvubgwYPo1KlTjeNr1qzBY489htzcXHh53Xyn48Y44iOKIuI+2IaswnJ8+0wn9GvtK3ckIiIiWdV2xEfyHJ9FixYhOTkZAQEBCAkJqbGE/ciRI9LT3saUKVPw+OOP3/Y1oaGhNz1+7733AqhadXar4qPVaqHVau8qY30TBAEDo3zxXcIlbDp1hcWHiIioliQXn+HDh9sgxq15e3vD29u7Tt+bmJgIAPD397dmpAZhUJQfvku4hC1JV2Ayi1AqBLkjERERNXiSi8+cOXNskeOuJSQkYP/+/ejbty90Oh0OHjyIGTNmYNiwYQgODpY7ntV1DfeEq4MKucUVSEy7hk6htr/sSERE1NhJ3senodJqtYiPj0efPn0QFRWFt956C88++yy+//57uaPZhFqpQL/rmxluOs1dnImIiGpD8oiPQqGAINz6sopcK746duyI/fv3y/Jny2VQlB/+ezQTm05lY/aQ1rf950JERER1KD7r1q2r9rXRaERiYiJWrFhxx9VXZF29WzWDRqnAxbxSJOcUo4Wvq9yRiIiIGjTJxeehhx6qceyxxx5D27ZtER8fjwkTJlglGN2Zi1aFuEgv7Dh7FZtOX2HxISIiugOrzfHp2rUrtmzZYq23o1q6sZnhplPZMichIiJq+KxSfMrKyvCPf/wDgYG8b1R9GxDlA0EAjl0uxOVrpXLHISIiatAkX+ry8PCoNolWFEUUFRXByckJK1eutGo4ujMfVwd0CfXEgdR8/HYiG8/2Cpc7EhERUYMlufh8+umn1b5WKBRo1qwZunbtCg8PD2vlIgkeiPHHgdR8/HIii8WHiIjoNiQXn7Fjx9oiB92Fwe38MOfnUziWXoD0/FIEeTrJHYmIiKhBklx8AKCgoADffPMNkpKSIAgCoqKiMH78eOh0Omvno1rwcXVA1zAvJKTkYcOJLEzqHSF3JCIiogZJ8uTmQ4cOISIiAp988gny8/ORm5uLhQsXIiIiwuo3KKXaGxpTdT+yDcezZE5CRETUcEkuPjfuf3Xx4kWsXbsW69atQ2pqKh544AFMnz7dBhGpNoa084NCAE5kFOJSXonccYiIiBqkOo34vPLKK1Cp/neVTKVS4eWXX8ahQ4esGo5qz8tFi7iIqrvYbzjBUR8iIqKbkVx83NzckJaWVuN4eno6XF25c7CceLmLiIjo9iQXn1GjRmHChAmIj49Heno6Ll++jFWrVmHixIl44oknbJGRamlwWz8oFQJOZeqRmsvLXURERH8leVXXggULIAgCnn76aVRWVgIA1Go1nnvuOXzwwQdWD0i15+msQfdIb+w6dxUbjmdiSr8WckciIiJqUARRFMW6fGNpaSkuXLgAURQRGRkJJ6emsXeMXq+HTqdDYWEh3Nzc5I4j2eqD6Xh5zXG09nPFxum95I5DRERUL2r7+V3ne3U5OTkhOjoaoaGh2LRpE5KSkur6VmRFg9r6Qq0UcCa7COevFMkdh4iIqEGRXHxGjhyJxYsXA6i6OWmnTp0wcuRIxMTEYM2aNVYPSNK4O2nQq0UzAMB6TnImIiKqRnLx2bVrF3r27AkAWLduHURRREFBARYtWoR3333X6gFJugfvCQAA/HIsE3W8kklERNQkSS4+hYWF8PT0BABs3LgRjz76KJycnDB06FCcP3/e6gFJugFRvtCqFEjJLcGpTL3ccYiIiBoMycUnKCgICQkJKCkpwcaNGzFo0CAAwLVr1+Dg4GD1gCSdi1aFfq19AAC/8HIXERGRheTiM336dDz11FMIDAyEv78/+vTpA6DqElh0dLS181Ed3bjctZ6Xu4iIiCwk7+MzefJkdOnSBenp6Rg4cCAUiqruFB4ezjk+DUjfVj5w1iiRUVCGxPQCdAz2kDsSERGR7Oq0nL1Tp04YOnQoMjIyLJsYDh06FN27d7dqOKo7R40SA6J8AVSN+hAREVEdik9paSkmTJgAJycntG3b1nLfrqlTp3Ln5gbmwZiqy10bjmfBZOblLiIiIsnFZ/bs2Th27Bh27NhRbTLzgAEDEB8fb9VwdHd6tvSGm4MKOUUGHLyYL3ccIiIi2UkuPj/99BMWL16MHj16QBAEy/GoqChcuHDBquHo7mhVStzXzg8A8N+jvNxFREQkufhcvXoVPj4+NY6XlJRUK0LUMDzUvjkAYMPxTJQbTTKnISIikpfk4tO5c2ds2LDB8vWNsrN06VJ069bNesnIKu4N94K/zgH68kpsP5MjdxwiIiJZSV7OPn/+fNx33304ffo0Kisr8dlnn+HUqVNISEjAzp07bZGR7oJSIeCh9s2xZOcFrE3MwJBof7kjERERyUbyiE9cXBz27duH0tJSREREYNOmTfD19UVCQgJiY2NtkZHu0iMdqy537Tibg/ySCpnTEBERyUfSiI/RaMT//d//4c0338SKFStslYmsrKWvK9oGuOFUph6/HM/E091C5Y5EREQkC0kjPmq1GuvWrbNVFrKhhztUjfqsPZIhcxIiIiL5SL7U9fDDD+Onn36yQRSypWHtA6BUCDiaXoCUq8VyxyEiIpKF5MnNkZGReOedd7Bv3z7ExsbC2dm52vNTp061WjiyHh9XB/Rs4Y0dZ6/ip8QMzBzUSu5IRERE9U4QJd66Oyws7NZvJghISUm561By0uv10Ol0KCwshJubm9xxrOq/RzMwbdVRBHk6YtdLfbnvEhERNRm1/fyWPOKTmpp6V8FIPoOi/OCiVSE9vwwHL15DlzBPuSMRERHVqzrdnZ0aJ0eNEkOu38Ji7ZHLMqchIiKqfyw+duax2EAAwC/Hs1BWwVtYEBGRfWHxsTOdQz0R5OmIYkMlfj+VLXccIiKiesXiY2cUCgGPdqwa9VnDy11ERGRnJBeftLQ03GwhmCiKSEtLs0oosq0bxWdPci4yC8pkTkNERFR/JBefsLAwXL16tcbx/Pz82y51p4YjyNMJXcM8IYrAukTu5ExERPZDcvERRfGm+78UFxfDwcHBKqHI9h69Psl5zeHLNx3BIyIiaopqvY/PzJkzAVRtUvjmm2/CycnJ8pzJZMKBAwfQvn17qwck27g/2h9z/nsKKbklSEwvQMdgD7kjERER2Vyti09iYiKAqhGfEydOQKPRWJ7TaDS455578OKLL1o/IdmEi1aFIdF+WHskAz8evsziQ0REdqHWxWf79u0AgHHjxuGzzz5rcrdzsEePdQzE2iMZWH8sE289EAUHtVLuSERERDYleY7PsmXL4ObmhuTkZPz+++8oK6taFcR5Io3PveFeaO7uiKJy7ulDRET2QXLxyc/PR//+/dGyZUvcf//9yMrKAgBMnDgRs2bNsnpAsh2FQsDITkEAgFV/pMuchoiIyPYkF5/p06dDrVYjLS2t2gTnUaNGYePGjVYN92fvvfce4uLi4OTkBHd395u+Ji0tDQ8++CCcnZ3h7e2NqVOnoqKiwmaZmoLHOgVCEICElDxczC2ROw4REZFNSS4+mzZtwt///ncEBgZWO96iRQtcunTJasH+qqKiAiNGjMBzzz130+dNJhOGDh2KkpIS7NmzB6tWrcKaNWs4CnUHzd0d0atFMwDA6kMc9SEioqZNcvEpKSmpNtJzQ25uLrRarVVC3czbb7+NGTNmIDo6+qbPb9q0CadPn8bKlSvRoUMHDBgwAB9//DGWLl0KvV5vs1xNweOdqy53/Xj4MipNZpnTEBER2Y7k4tOrVy989913lq8FQYDZbMZHH32Evn37WjWcFAkJCWjXrh0CAgIsxwYPHgyDwYDDhw/f8vsMBgP0en21h73p38YXXs4a5BQZsONszV25iYiImopaL2e/4aOPPkKfPn1w6NAhVFRU4OWXX8apU6eQn5+PvXv32iJjrWRnZ8PX17faMQ8PD2g0GmRn33rF0vz58/H222/bOl6DplEp8EjH5li6OxWrDqZjQJTvnb+JiIioEZI84hMVFYXjx4+jS5cuGDhwIEpKSvDII48gMTERERERkt5r7ty5EAThto9Dhw7V+v1udiuNW91i44bZs2ejsLDQ8khPt895LqOuX+7afjYHV/TlMqchIiKyDckjPlu3bkX//v1vOkqyePFiTJkypdbvNWXKFDz++OO3fU1oaGit3svPzw8HDhyoduzatWswGo01RoL+TKvV2nRuUmMR6eOKTiEeOHTpGn48fBnP942UOxIREZHVSR7xefTRR3Hw4MEaxz/99FO89tprkt7L29sbrVu3vu2jtjc+7datG06ePGnZVwiomvCs1WoRGxsrKZe9ujHqE38wHWYzN6QkIqKmR3Lx+eSTT3D//ffj9OnTlmMLFizAnDlzsGHDBquG+7O0tDQcPXoUaWlpMJlMOHr0KI4ePYri4mIAwKBBgxAVFYUxY8YgMTERW7duxYsvvohnn32Wt9eopaEx/nDVqpCWX4o9yblyxyEiIrI6yZe6xo0bh7y8PAwaNAh79uxBfHw83n//ffz222+Ii4uzRUYAwFtvvYUVK1ZYvu7QoQOAqnuI9enTB0qlEhs2bMDkyZPRvXt3ODo64sknn8SCBQtslqmpcdKo8EjH5liRcAkr919Cr5bN5I5ERERkVYJYx5tszZ49G0uXLoXJZMLGjRvRtWtXa2eThV6vh06nQ2FhoV2OFJ27UoRBn+yCQgD2vtoP/jpHuSMRERHdUW0/v2s14rNo0aIax/z9/eHk5IRevXrhwIEDlonFU6dOrWNkagha+rqiS5gn/kjNx/d/pGPmwJZyRyIiIrKaWo34hIWF1e7NBAEpKSl3HUpO9j7iAwA/H8vE1O8T4eOqxd5X+0GtlDwVjIiIqF5ZdcQnNTXVasGo4Rvc9n87OW9NuoL72vnLHYmIiMgqJP2vvNFoRHh4eLUVXdT0aFVKjLy+tH3l/jSZ0xAREVmPpOKjVqthMBhuuxMyNQ1PdgmGIAB7knORmlsidxwiIiKrkDx544UXXsDf//53VFZW2iIPNRBBnk7oc305+8r9l2ROQ0REZB2S9/E5cOAAtm7dik2bNiE6OhrOzs7Vnl+7dq3VwpG8xnQLwfazV7H6UNXqLmet5H9diIiIGhTJn2Tu7u549NFHbZGFGpg+LX0Q6uWEi3ml+PHwZYyNC5U7EhER0V2p8waGTRWXs1e3Yt9FzPn5FEK9nLBtVh8oFJzfRUREDU9tP7+5QQvd1mOxgXB1UOFiXim2n82ROw4REdFdqdOkjR9//BGrV69GWloaKioqqj135MgRqwSjhsFZq8ITXYLx1a4UfLMnFf3b+ModiYiIqM4kj/gsWrQI48aNg4+PDxITE9GlSxd4eXkhJSUFQ4YMsUVGktnT3UKgEIB9F/KQlKWXOw4REVGdSS4+n3/+Ob766issXrwYGo0GL7/8MjZv3oypU6eisLDQFhlJZoEeThhyfffmZXu5izcRETVekotPWloa4uLiAACOjo4oKioCAIwZMwbff/+9ddNRgzG+RygA4KejmcgtNsgbhoiIqI4kFx8/Pz/k5eUBAEJCQrB//34AVffz4gKxpqtjsAfuCdShotLMDQ2JiKjRklx8+vXrh/Xr1wMAJkyYgBkzZmDgwIEYNWoUHn74YasHpIZBEASM7xEGAPhXwiWUG00yJyIiIpJO8j4+ZrMZZrMZKlXVgrDVq1djz549iIyMxKRJk6DRaGwStL5wH59bM5rM6P3hdmQWlmP+I9F4okuw3JGIiIgA1P7zmxsY/gWLz+19vTsF725IQkQzZ2ye0ZsbGhIRUYNQ28/vOu3jU15ejuPHjyMnJwdms7nac8OGDavLW1IjMapzED7bch4XrpZgx7kc9GvNfX2IiKjxkFx8Nm7ciKeffhq5ubk1nhMEASYT5340Za4OajzeJQhLd6di6a5UFh8iImpUJE9unjJlCkaMGIGsrCzLfJ8bD5Ye+/BM9zAoFQISUvJwMoN7NxERUeMhufjk5ORg5syZ8PXl/+nbq+bujhgaXbWh4de7U2ROQ0REVHuSi89jjz2GHTt22CAKNSbP9gwHAPxyPAuZBWUypyEiIqodyau6SktLMWLECDRr1gzR0dFQq9XVnp86dapVA9Y3ruqqvce/SsD+lHxM7BGGNx6IkjsOERHZMZut6vrPf/6D33//HY6OjtixYwcE4X/LmQVBaPTFh2rvb70jsD8lH9//kYYX+rWAzkl9528iIiKSkeRLXW+88QbmzZuHwsJCXLx4EampqZZHSgrne9iTPi2bobWfK0oqTPjX/otyxyEiIrojycWnoqICo0aNgkIh+VupiREEAZN6RwAAlu+7yNtYEBFRgye5vYwdOxbx8fG2yEKN0NAYfzR3d0RucQV+PHxZ7jhERES3JXmOj8lkwocffojff/8dMTExNSY3L1y40GrhqOFTKxWY2DMMb68/jaW7U/BEl2AoeRsLIiJqoCQXnxMnTqBDhw4AgJMnT1Z77s8Tncl+jOochEVbz+NSXil+O5mFB2IC5I5ERER0U5KLz/bt222RgxoxJ40KT3cLxWdbz2PJzgsYGu3PEkxERA0SZyiTVYyNC4WjWomTGXpsTcqROw4REdFNsfiQVXg6a/BM91AAwIJNZ2E2S9oXk4iIqF6w+JDV/K1XOFwdVDiTXYT1xzPljkNERFQDiw9ZjbuTBn/rVXUPr082n4PRZJY5ERERUXUsPmRV47qHwctZg4t5pfjhEPf1ISKihqVWq7p+/vnnWr/hsGHD6hyGGj9nrQrP943EvF9OY9HW83ikY3M4qJVyxyIiIgJQy+IzfPjwal8LgoA/39T9z0uXTSbetsDePdk1GF/vTkFmYTlW7r+EiT3D5Y5EREQEoJaXusxms+WxadMmtG/fHr/99hsKCgpQWFiIX3/9FR07dsTGjRttnZcaAQe1EtMHtAQA/HN7MvTlRpkTERERVZE8x2f69On47LPPMHjwYLi5ucHV1RWDBw/GwoULMXXqVFtkpEbokY7NEdHMGddKjfhqZ4rccYiIiADUofhcuHABOp2uxnGdToeLFy9aIxM1ASqlAi/f1xoA8PWeFOToy2VOREREVIfi07lzZ0yfPh1ZWVmWY9nZ2Zg1axa6dOli1XDUuA2K8kXHYHeUG834ZMt5ueMQERFJLz7ffvstcnJyEBISgsjISERGRiI4OBhZWVn45ptvbJGRGilBEPDqkDYAgNWH0pGcUyxzIiIisneSb1IaGRmJ48ePY/PmzThz5gxEUURUVBQGDBjAG1NSDV3CPDGgjQ+2JOVgwe9nsWRMrNyRiIjIjgnin9elS1ReXg6tVtukCo9er4dOp0NhYSHc3NzkjtMknLtShPs+3QWzCKydHIeOwR5yRyIioiamtp/fki91mc1mvPPOO2jevDlcXFyQmpoKAHjzzTd5qYtuqqWvKx6LDQQA/P23M7iLrk1ERHRXJBefd999F8uXL8eHH34IjUZjOR4dHY2vv/7aquGo6Zg+oCU0SgUOpOZj34U8ueMQEZGdklx8vvvuO3z11Vd46qmnoFT+71YEMTExOHPmjFXDUdMR4O6IJ7sGAwA++v0sR32IiEgWkotPRkYGIiMjaxw3m80wGm23Q+97772HuLg4ODk5wd3d/aavEQShxmPJkiU2y0TSTO4bAQe1AkfTC7DtTI7ccYiIyA5JLj5t27bF7t27axz/4Ycf0KFDB6uEupmKigqMGDECzz333G1ft2zZMmRlZVkeY8eOtVkmksbH1QHPxIUBAD7edA5mM0d9iIiofklezj5nzhyMGTMGGRkZMJvNWLt2Lc6ePYvvvvsOv/zyiy0yAgDefvttAMDy5ctv+zp3d3f4+fnZLAfdnb/1CsfK/ZdwOkuP305mY2iMv9yRiIjIjkge8XnwwQcRHx+PX3/9FYIg4K233kJSUhLWr1+PgQMH2iKjJFOmTIG3tzc6d+6MJUuWwGw23/b1BoMBer2+2oNsx8NZgwk9qkZ9Fm4+CxNHfYiIqB5JHvEBgMGDB2Pw4MHWznLX3nnnHfTv3x+Ojo7YunUrZs2ahdzcXLzxxhu3/J758+dbRpOofkzoGYYVCRdx4WoJ1h65jBGdguSOREREdkLyiM/48eOxYsWKGsf1ej3Gjx8v6b3mzp170wnJf34cOnSo1u/3xhtvoFu3bmjfvj1mzZqFefPm4aOPPrrt98yePRuFhYWWR3p6uqSfgaRzc1Djud4RAICFm8+hrMIkcyIiIrIXknduVigUcHR0xIQJE/Dpp59CoajqTleuXEFAQABMptp/iOXm5iI3N/e2rwkNDYWDg4Pl6+XLl2P69OkoKCi44/vv3bsXPXr0QHZ2Nnx9fWuViTs3149yown9P96JjIIyvDS4FZ7vW3OlIBERUW3V9vO7Tpe6NmzYgGeffRZJSUlYvXo1PDzqdgsCb29veHt71+l7ayMxMREODg63XP5O8nFQK/Hyfa0wbdVRfLHjAkZ1DoK3i1buWERE1MRJvtQFAFFRUdi/fz+MRiM6d+6MpKQka+eqIS0tDUePHkVaWhpMJhOOHj2Ko0ePori46o7f69evx9KlS3Hy5ElcuHABX3/9NV5//XX83//9H7RafqA2RA/GBCC6uQ7Fhkp8tuW83HGIiMgOSC4+N25I6uXlhS1btqBPnz6499578fPPP1s93J+99dZb6NChA+bMmYPi4mJ06NABHTp0sMwBUqvV+Pzzz9GtWzfExMTgs88+w7x58/Dxxx/bNBfVnUIh4LX72wAA/vNHGpJzimVORERETV2d5vhkZ2fDx8fHcmzhwoV45ZVXYDabJc3xaYg4x6f+TVxxCFuSrmBAG198PbaT3HGIiKgRstkcn+3bt8PT07PasZkzZyImJgZ79+6VnpTs3qtDWmP72RxsSbqChAt56BbhJXckIiJqoiSP+DR1HPGRx5s/ncS/9l9ClL8b1r/QA0qFIHckIiJqRKw64jNz5ky88847cHZ2xsyZM2/72oULF0pLSgRgxsCW+OloBk5n6fHj4XSM6hwsdyQiImqCalV8EhMTLXdeT0xMvOXrbkx8JpLK01mDaf1b4N0NSfjo93O4P9ofrg5quWMREVETw0tdf8FLXfKpqDRj8Ke7kJpbguf6ROCV+1rLHYmIiBqJ2n5+12kfHyJb0KgUluXt3+xORXp+qcyJiIioqanVpa5HHnmk1m+4du3aOochGtDGB90jvbA3OQ/v/5qEL0bHyh2JiIiakFoVH51OZ+scRACq5om9MTQKQxftxm8ns7E16Qr6t6ndfdaIiIjuhHN8/oJzfBqG9zacxtLdqfB102LTjN7QOXKiMxER3Rrn+FCjNmtQK4R7O+OK3oB3fzktdxwiImoi6nR39h9//BGrV69GWloaKioqqj135MgRqwQj++agVuLDx2Iw4ssE/HD4MobG+KNPK587fyMREdFtSB7xWbRoEcaNGwcfHx8kJiaiS5cu8PLyQkpKCoYMGWKLjGSnOoV64pm4UADA7LUnUFRulDcQERE1epKLz+eff46vvvoKixcvhkajwcsvv4zNmzdj6tSpKCwstEVGsmMvDW6FYE8nZBWWY/5vZ+SOQ0REjZzk4pOWloa4uDgAgKOjI4qKigAAY8aMwffff2/ddGT3nDQqfPhYDADgPwfScCTtmsyJiIioMZNcfPz8/JCXlwcACAkJwf79+wEAqamp4AIxsoV7w73wWGwggKqbmVaazDInIiKixkpy8enXrx/Wr18PAJgwYQJmzJiBgQMHYtSoUXj44YetHpAIAGYPaQ2doxqnMvVYuf+S3HGIiKiRkryPj9lshtlshkpVtSBs9erV2LNnDyIjIzFp0iRoNBqbBK0v3Men4Vq5/xLe+OkkXLUqbJ3VGz5uDnJHIiKiBqK2n9/cwPAvWHwaLpNZxCOf78Wxy4UY3j4Anz7eQe5IRETUQNT287tO+/iUl5fj+PHjyMnJgdlcfb7FsGHD6vKWRHekVAh4Z3g7PPTPvfjpaCZGdgpCXKS33LGIiKgRkVx8Nm7ciKeffhq5ubk1nhMEASaTySrBiG4mJtAdo7uG4F/7L+GVtcfx27RecNHWqb8TEZEdkjy5ecqUKRgxYgSysrIs831uPFh6qD68fF8rNHd3RHp+GW9nQUREkkguPjk5OZg5cyZ8fXnHbJKHq4MaH4+8B4IArDqYjq1JV+SOREREjYTk4vPYY49hx44dNohCVHv3hnthQvcwAMAra04gr9ggcyIiImoMJK/qKi0txYgRI9CsWTNER0dDrVZXe37q1KlWDVjfuKqr8Sg3mvDgP/bgfE4x7mvrhy9Gd4QgCHLHIiIiGdhsOfvXX3+NSZMmwdHREV5eXtU+aARBQEpKSt1TNwAsPo3LyYxCDP/nXlSaRXzwSDQe7xIsdyQiIpKBzYqPn58fpk6dildffRUKheQrZQ0ei0/j8/mOZHy48Sw0KgXWTIpDdKBO7khERFTPavv5Lbm5VFRUYNSoUU2y9FDjNKlXBAa08UFFpRmTVh7GtZIKuSMREVEDJbm9jB07FvHx8bbIQlQnCoWAj0e2R6iXEzIKyjB1VSJMZm5ITkRENUne+c1kMuHDDz/E77//jpiYmBqTmxcuXGi1cES1pXNUY8mYWAz/517sPp+LT7ecw6xBreSORUREDYzk4nPixAl06FB1j6STJ09We44rakhOrf3c8MEjMZgefxT/2JaMKH83DIn2lzsWERE1IJKKj8lkwty5cxEdHQ1PT09bZSKqs+EdmuP45UJ8uzcVM1cfQ5CnE9o152RnIiKqImmOj1KpxODBg1FYWGirPER37bX7W6NXy2YoM5owccUh5OjL5Y5EREQNhOTJzdHR0Y1+rx5q2lRKBRY/2QERzZyRrS/Hs/86jHIj7yNHRER1KD7vvfceXnzxRfzyyy/IysqCXq+v9iBqCNwc1PhmbGe4O6lxLL0AL/14HGau9CIisnuSNzD88/49f57MLIoiBEFo9Hdo5waGTUvChTyM+eYAKs0inusTgVfuay13JCIisoHafn5LXtW1ffv2uwpGVJ+6RXjhg0dj8OIPx/DFjgsI0DlgTLdQuWMREZFMJBef3r172yIHkc08FhuIrIIyfLz5HOb8fAq+bg4Y1NZP7lhERCQDycUHAAoKCvDNN98gKSkJgiAgKioK48ePh07HZcPUME3pF4nMwjJ8/0c6Xvg+Ef959l7EhnjIHYuIiOqZ5MnNhw4dQkREBD755BPk5+cjNzcXCxcuREREBI4cOWKLjER3TRAEvPNQO/Rt1QyGSjP+9q/DuMJl7kREdkfy5OaePXsiMjISS5cuhUpVNWBUWVmJiRMnIiUlBbt27bJJ0PrCyc1NW4mhEo9+sQ9nsosQG+KB75+9FxoVb7hLRNTY2ezu7IcOHcIrr7xiKT0AoFKp8PLLL+PQoUN1S0tUT5y1KiwZHQtXBxUOX7qG9zacljsSERHVI8nFx83NDWlpaTWOp6enw9XV1SqhiGwp1NsZn45qDwBYkXAJa49cljcQERHVG8nFZ9SoUZgwYQLi4+ORnp6Oy5cvY9WqVZg4cSKeeOIJW2Qksrr+bXwxtX8LAMDstSdwKpO3YSEisgeSV3UtWLAAgiDg6aefRmVlJQBArVbjueeewwcffGD1gES2Mr1/Cxy/XIAdZ6/ib/86jPVTesDDWSN3LCIisiHJk5tvKC0txYULFyCKIiIjI+Hk5GTtbLLg5Gb7UlhqxLB/7sGlvFL0iPTG8nGdoVJysjMRUWNjs8nNNzg5OSE6OhoxMTFNpvSQ/dE5qfHlmFg4qpXYk5yLjzadlTsSERHZkOTiU1JSgjfffBNxcXGIjIxEeHh4tQdRY9Pazw0fjYgBAHy5MwW/HM+UOREREdmK5Dk+EydOxM6dOzFmzBj4+/tXu1EpUWP1QEwATlwuxJe7UvDSD8cR5u2MtgHciZyIqKmRPMfH3d0dGzZsQPfu3W2VqYaLFy/inXfewbZt25CdnY2AgACMHj0ar7/+OjSa/01GTUtLw/PPP49t27bB0dERTz75JBYsWFDtNXfCOT72q9JkxjPLDmJPci58XLVY93x3NHd3lDsWERHVgs3m+Hh4eMDT0/Ouwkl15swZmM1mfPnllzh16hQ++eQTLFmyBK+99prlNSaTCUOHDkVJSQn27NmDVatWYc2aNZg1a1a9ZqXGS6VU4J9PdURLXxfkFBnwzLd/oLDUKHcsIiKyIskjPitXrsR///tfrFixQtZJzR999BG++OILpKSkAAB+++03PPDAA0hPT0dAQAAAYNWqVXjmmWeQk5NT69EbjvhQZkEZHv58L67oDega5onvJnSBVqWUOxYREd1GbT+/Jc/x+fjjj3HhwgX4+voiNDQUarW62vP1daPSwsLCaiNPCQkJaNeunaX0AMDgwYNhMBhw+PBh9O3b96bvYzAYYDAYLF/r9XrbhaZGIcDdEcue6YKRXybgQGo+XvrhOD4d1R4KBeezERE1dpKLz/Dhw20QQ5oLFy7gH//4Bz7++GPLsezsbPj6+lZ7nYeHBzQaDbKzs2/5XvPnz8fbb79ts6zUOEUFuOGL0R0xbtlB/HwsE14uGrz1QBQn8xMRNXKSi8+cOXOs9ofPnTv3jqXj4MGD6NSpk+XrzMxM3HfffRgxYgQmTpxY7bU3+1ASRfG2H1azZ8/GzJkzLV/r9XoEBQXV9kegJqxni2b4aEQMZsQfw7K9F+HlrMGUfi3kjkVERHdBcvGxpilTpuDxxx+/7WtCQ0Mtf5+ZmYm+ffuiW7du+Oqrr6q9zs/PDwcOHKh27Nq1azAajTVGgv5Mq9VCq9VKD0924eEOgbhWYsS8X05jwaZzcHfSYPS9IXLHIiKiOpK1+Hh7e8Pb27tWr83IyEDfvn0RGxuLZcuWQaGoviCtW7dueO+995CVlQV/f38AwKZNm6DVahEbG2v17GQ/xvcIw7XSCvxjWzLe/O9JeDhpMDTGX+5YRERUB43ipkSZmZno06cPgoKCsGDBAly9ehXZ2dnV5u4MGjQIUVFRGDNmDBITE7F161a8+OKLePbZZ7k6i+7azIEt8VTXYIgiMCP+KPZdyJU7EhER1UGjKD6bNm1CcnIytm3bhsDAQPj7+1seNyiVSmzYsAEODg7o3r07Ro4cieHDh2PBggUyJqemQhAEzHuoHe6P9kOFyYy/fXcYZ7K5ApCIqLGp893Zmyru40O3U2404elv/sAfF/Ph66bF2snc3ZmIqCGo7ee35OJjMpmwfPlybN26FTk5OTCbzdWe37ZtW90SNxAsPnQnhaVGjPhyH85dKUakjwt+nNQN7k61vy0KERFZn81uWTFt2jRMmzYNJpMJ7dq1wz333FPtQdTU6ZzUWD6uC/zcHJCcU4yRXybgYm6J3LGIiKgWJI/4eHt747vvvsP9999vq0yy4ogP1dbZ7CKM/uYArhYZ4OagwmdPdEDfVj5yxyIisks2G/HRaDSIjIy8q3BETUErP1f88kIPdAx2h768EuOXH8TibefBaXNERA2X5OIza9YsfPbZZ/zlTgTA180B3//fvXjy+lL3BZvOYfK/j6C0olLuaEREdBOSL3U9/PDD2L59Ozw9PdG2bdsaNyldu3atVQPWN17qorpa9Uca3vzvSRhNIqL83bB0bCeu+CIiqic2uzu7u7s7Hn744bsKR9QUPd4lGJE+Lpi08jBOZ+nx0OI9+HJMLGJDPOWORkRE13Efn7/giA/drYyCMkxccQhJWXqolQJmD2mDcd1DeWd3IiIbstnkZiK6vebujljzXDfcH+0Ho0nEvF9OY+KKQ8gvqZA7GhGR3avTiM+PP/6I1atXIy0tDRUV1X+ZHzlyxGrh5MARH7IWURTxr/2X8O6GJFRUmuHrpsUno9ojLqJ2N+YlIqLas9mIz6JFizBu3Dj4+PggMTERXbp0gZeXF1JSUjBkyJC7Ck3UlAiCgKe7heKnyd0R0cwZV/QGPPX1Acz/NQmGSpPc8YiI7JLk4vP555/jq6++wuLFi6HRaPDyyy9j8+bNmDp1KgoLC22RkahRiwpww/oXeuDxzkEQReDLXSkY/s99OJtdJHc0IiK7I7n4pKWlIS4uDgDg6OiIoqKqX95jxozB999/b910RE2Ek0aFDx6NwZdjYuHprEFSlh4PLt6Db/ekck8sIqJ6JLn4+Pn5IS8vDwAQEhKC/fv3AwBSU/kLnOhOBrf1w8bpPdG3VTNUVJox75fTePa7w7jGic9ERPVCcvHp168f1q9fDwCYMGECZsyYgYEDB2LUqFHc34eoFnxcHfDtM50x76G20CgV2JJ0Bfcv2o2DF/PljkZE1ORJXtVlNpthNpuhUlXtfbh69Wrs2bMHkZGRmDRpEjQajU2C1heu6qL6dDKjEC98n4jU3BIoFQJmDGiB5/pEQqngnj9ERFLU9vObGxj+BYsP1bdiQyXe/Okk1iVmAAB6RHpj4ah74OPqIHMyIqLGw6YbGO7evRujR49Gt27dkJFR9cv6X//6F/bs2VO3tER2zEWrwsKR9+Cjx2LgqFZiT3Iu7v9sN3afvyp3NCKiJkdy8VmzZg0GDx4MR0dHJCYmwmAwAACKiorw/vvvWz0gkT0QBAEjOgVh/Qvd0crXFbnFFXj62z/w2roTKCjlxGciImuRXHzeffddLFmyBEuXLq12Z/a4uLhGv2szkdwifVzx3ynd8WTXYIgi8J8Daei7YAfiD6bBbOZVaSKiuyW5+Jw9exa9evWqcdzNzQ0FBQXWyERk1xzUSrz/cDRW/d+9aOnrgmulRryy5gQeW7IPaXmlcscjImrUJBcff39/JCcn1zi+Z88ehIeHWyUUEQH3hnthw9SeeP3+NnDWKHEkrQBDF+3Gbyey5I5GRNRoSS4+f/vb3zBt2jQcOHAAgiAgMzMT//73v/Hiiy9i8uTJtshIZLfUSgWe7RWOTTN7o2OwO4oMlXju30cw9+dTvN8XEVEd1Gk5++uvv45PPvkE5eXlAACtVosXX3wR77zzjtUD1jcuZ6eGymgyY8Gms/hyZwoA4J5AHZaMiYW/zlHmZERE8rP5Pj6lpaU4ffo0zGYzoqKi4OLiUuewDQmLDzV0285cwczVx1BQaoS3ixZfjumI2BBPuWMREcmKGxjWEYsPNQbp+aV49rtDOJNdBLVSwLyH2uGJLsFyxyIiko3Vi8/48eNr9Qd/++23tUvYQLH4UGNRYqjESz8ew68nsgEAj3RsjtlD2qCZq1bmZERE9c/qxUehUCAkJAQdOnS47V3Y161bJz1tA8LiQ42JKIr45/ZkfLz5HEQRcNWqMG1AC4yNC4VaWaeN2YmIGiWrF5/Jkydj1apVCA4Oxvjx4zF69Gh4eja9eQUsPtQYHUm7hrk/n8Lxy4UAgEgfF8wY0BKD2/pCxQJERHbAJnN8DAYD1q5di2+//Rb79u3D0KFDMWHCBAwaNAiC0DTuJs3iQ42V2Szih8Pp+HDjWeSVVN3mItDDERN6hGFkpyA4a1UyJyQish2bT26+dOkSli9fju+++w5GoxGnT59uEiu7WHyosSssM+KbPalYuf8S8q8XIJ2jGu893A4PxATInI6IyDZsend2oOqmioIgQBRFmM3mur4NEVmZzlGNmQNbYu8r/fDu8HYI83ZGYZkRU/6TiLk/n0JFJf97JSL7Jan4GAwGfP/99xg4cCBatWqFEydOYPHixUhLS2sSoz1ETYmjRonR94Zg84xeeK5PBABg+b6LGPFlAi5f4z2/iMg+1Wly87hx4zB69Gh4eXnZOl+946Uuaqq2JlVtfFhYZoSrVoXxPcIwvkcYdI5quaMREd01myxnDw4ORocOHW47kXnt2rXS0zYgLD7UlKXnl+KF7xNxNL0AQNXy93HdQzGhRzh0TixARNR4Wb34PPPMM7VaubVs2bLap2yAWHyoqTObRWw8lY1FW8/jTHYRAMDDSY3Xh0bh0Y7Nm8wKTSKyL7xlRR2x+JC9MJtF/H4qG59sOYdzV4oBAHERXnjv4WiEeTvLnI6ISBoWnzpi8SF7YzSZ8c2eVHy65RzKjWZoVAqMiwvF+B5h8HVzkDseEVGtsPjUEYsP2au0vFK88d+T2HXuKgBArRTwcIfm+L9e4Yj0cZU5HRHR7bH41BGLD9kzURSx7UwOluy8gIMXr1mOP9KxOV69rzV8OAJERA0Ui08dsfgQVTl8KR9f7kzBptNXAADOGiWm9m+Bcd3DoFHx/l9E1LCw+NQRiw9RdYlp1zB3/Wkcu74EPtTLCU91DcFDHQLg48oRICJqGFh86ojFh6gms1nEmiOX8feNZ5FbbAAAKBUCerdshqe6BqN/G1+ZExKRvWPxqSMWH6JbKyo34r9HM7HmyGUkphVYjj8Q4493HmoHD2eNfOGIyK6x+NQRiw9R7Vy4WozvD6Rh2b6LMJlF+Lhq8ffHYtC3lY/c0YjIDrH41BGLD5E0xy8XYEb8UVy4WgIAeKh9ACb0CENMoLu8wYjIrrD41BGLD5F05UYTPvjtDJbvu2g51j7IHWPjQjCknT8c1Er5whGRXWDxqSMWH6K6O5ZegOX7LuKX45kwmqp+tTioFejZohkGRvmiX2sfeLtoZU5JRE1RbT+/G8VmHBcvXsSECRMQFhYGR0dHREREYM6cOaioqKj2OkEQajyWLFkiU2oi+3NPkDs+GdUe+17tjxcHtURzd0eUG83YfPoKXv7xOLq8twXjlx/EplPZqDSZ5Y5LRHZIJXeA2jhz5gzMZjO+/PJLREZG4uTJk3j22WdRUlKCBQsWVHvtsmXLcN9991m+1ul09R2XyO41c9ViSr8WeL5vJE5n6bHldA42J2XjZIYe287kYNuZHPi6aTEiNgijOgchyNNJ7shEZCca7aWujz76CF988QVSUlIsxwRBwLp16zB8+PBav4/BYIDBYLB8rdfrERQUxEtdRDaQcrUY8QfT8ePhy8grqRqxFQSgR6Q3Hu8cjIFRvtwVmojqpEld6rqZwsJCeHp61jg+ZcoUeHt7o3PnzliyZAnM5tsPp8+fPx86nc7yCAoKslVkIrsX3swFs+9vg4TZ/fHPJzuiZwtviCKw+3wunv/PEdw7fyve+eU0zl0pkjsqETVRjXLE58KFC+jYsSM+/vhjTJw40XL83XffRf/+/eHo6IitW7firbfewuzZs/HGG2/c8r044kMkr/T8UsQfTMcPh9NxRf+//xY7BLvj8c5BeCAmAM7aRnFVnohk1ChWdc2dOxdvv/32bV9z8OBBdOrUyfJ1ZmYmevfujd69e+Prr7++7fd+/PHHmDdvHgoLC2udiau6iORRaTJj57mriD+Yjm1nclBprvrV5KJV4aH2AXiiSzDaNeecPSK6uUZRfHJzc5Gbm3vb14SGhsLBoepGiJmZmejbty+6du2K5cuXQ6G4/ZW6vXv3okePHsjOzoavb+3uJcTiQyS/q0UGrD1yGasOpiM1t8RyvIWPC4ZE+2NotD9a+rpAEAQZUxJRQ9Ioio8UGRkZ6Nu3L2JjY7Fy5UoolXfeEG3x4sV46aWXUFBQAK22dnuHsPgQNRyiKGJ/Sj6+/yMNG09mo+JPS+AjmjnjiS7BGNEpCDpHtYwpiaghaFLF58blreDgYHz33XfVSo+fnx8AYP369cjOzka3bt3g6OiI7du3Y9asWXjmmWfw2Wef1frPYvEhapgKy4zYduYKNhzPxq7zV1FRWVWCnDRKPNKxOZ6JC0Wkj6vMKYlILk2q+Cxfvhzjxo276XM34m/cuBGzZ89GcnIyzGYzwsPDMXHiRDz//PNQqWo/MZLFh6jhKyo3Yv2xLKzYdxFnr68AEwTggZgAzBjQAuHNXGROSET1rUkVn/rE4kPUeIiiiISUPCzbexGbT18BACgE4NGOgZjSLxIhXs4yJySi+sLiU0csPkSN06nMQnyy+Ry2JOVYjt0b7onHYoMwpJ0fl8QTNXEsPnXE4kPUuCWmXcOnW85j1/mruPHbzUmjRM8W3ugW7oVuEd5cEUbUBLH41BGLD1HTkFFQhnVHLmPNkYxqS+IBwNNZg3sCdWgboEO75m5oG6BDoIcjyxBRI8biU0csPkRNiyiKOH65EHuSc7E/JQ8HL+aj3FjzVjauDiq08XdDlL8bwryd4eqggrNWBRetCsGeTixGRA0ci08dsfgQNW0VlWaczCzEqYxCnMzQ42RmIc5dKYLRdPtfhT6uWnQO9UTHEA94OWssx5UKAcGeTghv5gxXB+4nRCQXFp86YvEhsj8VlWZcuFqM05l6JGXpkVFQhmJDJYoNlSgqr8TF3BLLLTRux9dNi5a+rujdshn6t/FFmDdXlRHVFxafOmLxIaK/Kqsw4djlAhy+dA1H0wtQbjRZJk4bKk24mFeKq0WGGt8X3swZA6N8MeyeAET5u/FSGZENsfjUEYsPEdVFYZkRKVeLcSStANvOXMGBlPxqo0SRPi546J4A9G/ji1Z+rlAqWIKIrInFp45YfIjIGvTlRuw+l4sNJzKxJSnHcosNAHDWKBET6I6YIB1UCgH6skroy42oNInoHumNIe384PGneUREdGcsPnXE4kNE1lZUbsTvp67gl+OZOHTxGooNlbd9vUohoGcLbwxp54/oQB0ifVygVirqKS1R48TiU0csPkRkSyaziOScYiSmXcPJzEKoFAq4Oajg5qhGWYUJG09l41Smvtr3aJQKtPB1Qfsgd/Rv44O4CG84qJW3+BOI7BOLTx2x+BCR3C5cLcb6Y5nYl5yHpCw9iv4yQuSoVqJHC2/0atkM94Z5ItKHO1ETsfjUEYsPETUkoiji8rUynMqs2oRxy+kcZOvLq73G01mDTiEeCHB3hKuDCq4OKugc1fBy1sLbVQtvFw08nDRwUCtvOanaaDKjsMyIglIjisqNMIuiZeWag1qJ1n6uUPFyGzVgLD51xOJDRA2ZKIo4lanHtjM52J+ShyNp1266E/WtqBQCtCoFFIIAEYBZFGEWxTu+h6uDCj0iq0aZOgZ7wN1JDTcHNRzUCo42UYPA4lNHLD5E1JhUVJpxIqMAiWkFuFZagaLyqk0XC0orkFtcgdxiA3KLDXfcmfoGVwcV3BzUUCkFCAAEQUBesQH68ptPyFYrBegcNfB0VsPTWQMvZy3cndTwcNLA3UkNbxctWvm5ooWPC0eMyKZq+/mtqsdMRERkZRqVArEhnogN8bzla0RRRJnRBIPRDEOlGeVGE8yiCIUgQBAAhSDAWauCm4PqpuXEZBZx/HIBdp3Lxa7zV5GcU3z9chhgNImWcnU7WpUCba7fB63EULV8X19WCTdHFfq19sHAKL/b7nRtqDShoNQInaPaMrHbbBZxPKMQ28/kYOe5qyg3mtDG3w1t/F0R5a9DiJcTfN0coFGxcNH/cMTnLzjiQ0R0Z6IooqTCBH2ZEddKK3CtxIi8EgPySypwrdSIgtKqv17RlyMps+YE7ZuJaOaMiGYuuPGhZDaLyCkyIKuwDLnFFZbXOWuU8HLRothQifySipu/2Z94OWvgp3NAiJcTwr1dEObtjFBvZ/i6aeHtouUKuSaCl7rqiMWHiMi6zGYRF/NKcCKjEJkF5ZbJ164OKlzKK8Xm01ewPyXvjvdDEwTgr59YrloVerb0Rp9WPvB00iApS4+kbD2SsoqQca0MFaY7z39y1aoQ6OmEzqEe6BLmiS5hnvBxdbibH5lkwOJTRyw+RET1T19uxJ7zuSgoNQKoKjkCAC8XLfx1Dghwd4SHkxpFhkrkFVcgr9gAQRAQE6i75eaOoijiWqkR2YXlyCosQ2puCVJyS5BytRhpeaXILa64ZTFq7u6Ilr4uaOHrikgfFwS6O6KZqxbNXLXQOaqb1ITu3GIDjqYVQKUU4OZYNWndSaNEmdGEEkMlSgwmlFZU3bS3tKLqmJuDGq39XdHCxxWOmpuPmN24xFpaYYKDWgkntRIKG96qhcWnjlh8iIjsgyiK0JdX4mqRAck5Rdifko8Dqfk4k62vMbL0ZxqVAvcE6nBvuBfuDfdCx2CPW37430ylyYwKkxkGY9Vfy40mlBvNMFSacLXIgJMZepzIKMSpzEIoBAG9WjZDv9Y+6B7pBSdN3abmVprMyC+tsNweJb+4AocuXcPu81drbJgphSAAoV7OcNYqYTIDJrMZlaaq81pYVlFjUr1WpYCTRokfJsUh0selzn/uzbD41BGLDxGRfSssM+JsdhHO5xTh/JViJOcUI1tfjqtFBhSWGWu8XqkQEOrldH31miv8dQ4wiSLMZhFGk4grReVIvVqCi3kluJRXCkNl7bcf+DONSoFWvq7w0znAX+cAXzcHqJUCzGLVBHSFIMDLWWMZmSo3mnAgNR/7U/Jw+NI1lFaYbvneLX2rbotSWGaEvsyIMqMJjmolnLUqOGmq/uqsUcFZq4STRoXcYgPOZBfVao7Vzex6qS+CvZzq9L23wuJTRyw+RER0K4ZKEy5fK8Ohi/nYn5KPhAt5NTaUlEKpEOCgUkCrVsJBpYCboxpR/m5o11yHds11KK2oxPYzOdh6JgeXr5XdVXZBqJrPdONyVms/V/Rq2QzdI73RzFUr+f1EUcTVYgOSrxTDYDJDKQhQKQQoFQJcHdTQOanh7qiGo1qJ8sqqS15lFSaUGU0I9XK2+mo7Fp86YvEhIqLaEkURV/QGnLtShHNXinA2uwh5JRVQKQSolIJlFObGSrJQL2e4O6mhUSmgUSpqvbeRKIpIyS3BxdwSZBWWI7uwHFf05TBd35ZAIQCVZhH5JRXI0RtwtdgAUQQ6hXiga7gnuoZ5oZWf6y137m4KWHzqiMWHiIio8ant5zd3dSIiIiK7weJDREREdoPFh4iIiOwGiw8RERHZDRYfIiIishssPkRERGQ3WHyIiIjIbrD4EBERkd1g8SEiIiK7weJDREREdoPFh4iIiOwGiw8RERHZDRYfIiIishssPkRERGQ3VHIHaGhEUQRQdXt7IiIiahxufG7f+By/FRafvygqKgIABAUFyZyEiIiIpCoqKoJOp7vl84J4p2pkZ8xmMzIzM+Hq6gpBEKz2vnq9HkFBQUhPT4ebm5vV3rep4vmShudLGp6v2uO5kobnSxprni9RFFFUVISAgAAoFLeeycMRn79QKBQIDAy02fu7ubnxPwYJeL6k4fmShuer9niupOH5ksZa5+t2Iz03cHIzERER2Q0WHyIiIrIbLD71RKvVYs6cOdBqtXJHaRR4vqTh+ZKG56v2eK6k4fmSRo7zxcnNREREZDc44kNERER2g8WHiIiI7AaLDxEREdkNFh8iIiKyGyw+9eTzzz9HWFgYHBwcEBsbi927d8sdSXbz589H586d4erqCh8fHwwfPhxnz56t9hpRFDF37lwEBATA0dERffr0walTp2RK3LDMnz8fgiBg+vTplmM8X9VlZGRg9OjR8PLygpOTE9q3b4/Dhw9bnuf5qlJZWYk33ngDYWFhcHR0RHh4OObNmwez2Wx5jT2fq127duHBBx9EQEAABEHATz/9VO352pwbg8GAF154Ad7e3nB2dsawYcNw+fLlevwp6s/tzpfRaMQrr7yC6OhoODs7IyAgAE8//TQyMzOrvYdNz5dINrdq1SpRrVaLS5cuFU+fPi1OmzZNdHZ2Fi9duiR3NFkNHjxYXLZsmXjy5Enx6NGj4tChQ8Xg4GCxuLjY8poPPvhAdHV1FdesWSOeOHFCHDVqlOjv7y/q9XoZk8vvjz/+EENDQ8WYmBhx2rRpluM8X/+Tn58vhoSEiM8884x44MABMTU1VdyyZYuYnJxseQ3PV5V3331X9PLyEn/55RcxNTVV/OGHH0QXFxfx008/tbzGns/Vr7/+Kr7++uvimjVrRADiunXrqj1fm3MzadIksXnz5uLmzZvFI0eOiH379hXvuecesbKysp5/Gtu73fkqKCgQBwwYIMbHx4tnzpwRExISxK5du4qxsbHV3sOW54vFpx506dJFnDRpUrVjrVu3Fl999VWZEjVMOTk5IgBx586doiiKotlsFv38/MQPPvjA8pry8nJRp9OJS5YskSum7IqKisQWLVqImzdvFnv37m0pPjxf1b3yyitijx49bvk8z9f/DB06VBw/fny1Y4888og4evRoURR5rv7srx/ktTk3BQUFolqtFletWmV5TUZGhqhQKMSNGzfWW3Y53Kwo/tUff/whArAMBtj6fPFSl41VVFTg8OHDGDRoULXjgwYNwr59+2RK1TAVFhYCADw9PQEAqampyM7OrnbutFotevfubdfn7vnnn8fQoUMxYMCAasd5vqr7+eef0alTJ4wYMQI+Pj7o0KEDli5danme5+t/evToga1bt+LcuXMAgGPHjmHPnj24//77AfBc3U5tzs3hw4dhNBqrvSYgIADt2rWz+/MHVP3uFwQB7u7uAGx/vniTUhvLzc2FyWSCr69vteO+vr7Izs6WKVXDI4oiZs6ciR49eqBdu3YAYDk/Nzt3ly5dqveMDcGqVatw5MgRHDx4sMZz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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(np.mean(PFexample.history[\"mNrm\"], axis=1))\n", "plt.xlabel(\"Time\")\n", "plt.ylabel(\"Mean normalized market resources\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "incorrectly_encoded_metadata": "pycharm= [markdown] {\"name\": \"#%% md\\n\"}" }, "source": [ "A perfect foresight consumer can borrow against the PDV of his future income -- his human wealth -- and thus as time goes on, our simulated agents approach the (very negative) steady state level of $m_t$ while being steadily replaced with consumers with roughly $m_t=1$.\n", "\n", "The slight wiggles in the plotted curve are due to consumers randomly dying and being replaced; their replacement will have an initial state drawn from the distributions specified by the user. To see the current distribution of ages, we can look at the attribute `t_age`." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "image/png": "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Vq3EF198IU6fPi2++OIL4e/vLz788MOrvu/06dNFWFiYSEtLE0eOHBFTpkwRfn5+ori4WBiNRpGfny98fHzE8uXLRX5+vqiurq73OBMmTBCRkZFi48aN4tSpU2Lbtm1i/fr1Qgghzp07Jzw8PMQTTzwhsrOzxaZNm0RgYKCYP3++3WP52WefCR8fH5GWlibOnDkjfvrpJ6uVzQGITZs2WdWk1WrFBx98IIT44+ejffv2YsuWLeLo0aOib9++omfPnmLw4MFi165d4sCBAyI+Pl6kpKTYPaaXjxsTE2Ppk5eXJ0aPHi1GjBghDh06JE6dOiW++uorkZGRcdW/B6KmgOGGqJH89NNPAoDYuHHjNfs5Em6+/PJLq30HDRokunfvbtX2wgsviOTkZKu2s2fPCgDi2LFjlv0GDBhg1adXr15i9uzZltf1fejaY9myZSIhIcHyuk+fPuLJJ5+06pOUlGQVbiIjI8Wnn35q1eell14S/fr1q/c9KisrhUqlEmvXrrW01dbWirCwMLFs2TJL25UhoT7Hjh0TAER6enq925977jnRrl07YTabLW0rV64UXl5ewmQyCSGuP5avvfaaaNu2raitra33PewNN//6178s29etWycAiO3bt1valixZItq1a2d5fb0xvXzc5cuXW/Xp0qWLWLBgQb21EjVVvCxF1EiEEADqLjs4S2Ji4nXbMjMz8f3338PLy8vy1b59ewB1c1Au69q1q9V+rVq1QmFhocM1ff755xgwYABCQ0Ph5eWFF154Abm5uZbtx44dQ+/eva32ufL1xYsXcfbsWTzyyCNWNS9evNiq3iudOnUKBoMBSUlJljaVSoXevXsjOzvb7toPHjwIhUKBQYMG1bs9Ozsb/fr1s/o7TEpKQmVlJc6dO2dpu9ZY3nPPPaipqUFcXBwee+wxbNq0yeqylr2ufI+QkBAAQJcuXazaLr+nI2P655+f6dOnY/HixUhKSsL8+fNx6NAhh2slamwMN0SNpE2bNpDJZNf9sJXL6/5ZXg5DAGzmrFzm6el53Taz2YwxY8bg4MGDVl8nTpzALbfcYun354mjMpkMZrP52t/Un/z444+49957MWrUKHz99dfIysrCvHnzUFtba3PsK135vV5+z/fee8+q3l9//dUyL+nPrhYchRAOhUl3d/drbq/vePW997XGMjIyEseOHcPKlSvh7u6OJ554Arfccovl71gmk1mNB1D/3/+V73H5vf/cdvk9HRnTP//8PProozh9+jQmTZqEw4cPIzExEW+++Wa940PUVDDcEDUSf39/jBw5EitXrkRVVZXN9tLSUgBAUFAQACA/P9+y7crJxY7q2bMnjhw5gpiYGMTHx1t91ReOrkalUsFkMl2zz+7duxEdHY158+YhMTERbdq0wZkzZ6z6tGvXDvv27bNq279/v+XPISEhCA8Px+nTp23qjY2Nrfd94+Pj4ebmhl27dlnaDAYD9u/fjw4dOtj9PXbp0gVmsxkZGRn1bu/YsSP27NljFT727NkDb29vhIeH2/0+7u7uGDt2LFasWIEdO3Zg7969OHz4MIC6v/8r/+5PnDiB6upqu49dnxsZ0ytFRkYiJSUFGzduxNNPP4333nvvpuohami8FZyoEa1atQr9+/dH7969sWjRInTt2hVGoxHp6elYvXo1srOz4e7ujr59+2Lp0qWIiYlBUVERnn/++Rt+zyeffBLvvfce7rvvPsyaNQuBgYE4efIk1q9fj/feew8KhcKu48TExGD79u1ISkqCWq2Gn5+fTZ/4+Hjk5uZi/fr16NWrF7755hts2rTJqs+0adPw2GOPITExEf3798eGDRtw6NAhxMXFWfosWLAA06dPh4+PD0aNGgW9Xo/9+/ejpKQEqampNu/r6emJv/3tb5g1axb8/f0RFRWFZcuWobq6Go888ojdYxUTE4MpU6bg4YcfxooVK9CtWzecOXMGhYWFmDBhAp544gksX74c06ZNw9SpU3Hs2DHMnz8fqampljNu1/Phhx/CZDKhT58+8PDwwMcffwx3d3dER0cDAIYOHYq33noLffv2hdlsxuzZs51yO7ajY3rZjBkzMGrUKLRt2xYlJSX47rvvHAqMRJKQbLYPUQt1/vx58eSTT4ro6Gjh5uYmwsPDxdixYy2ThYUQljtg3N3dRffu3cXWrVvrnVBcUlJidexBgwaJp556yuY9jx8/LsaPHy98fX2Fu7u7aN++vZgxY4ZlYmx9+91xxx1iypQpltebN28W8fHxQqlUiujo6Kt+f7NmzRIBAQHCy8tLTJw4UbzxxhtCq9Va9Vm0aJEIDAwUXl5e4uGHHxbTp08Xffv2teqzdu1a0b17d+Hm5ib8/PzELbfccs3J2DU1NWLatGkiMDBQqNVqkZSUJPbt22fV53oTii8fZ+bMmaJVq1bCzc1NxMfHizVr1li279ixQ/Tq1Uu4ubmJ0NBQMXv2bGEwGCzbrzeWmzZtEn369BE+Pj7C09NT9O3bV2zbts3SNy8vTyQnJwtPT0/Rpk0bkZaWVu+E4isnnNf38/DBBx/YjPu1xrS+4wohxNSpU0Xr1q2FWq0WQUFBYtKkSaKoqOiaY0gkNZkQf7q4S0TUyEaMGIHQ0FB8/PHHUpdCRC6Al6WIqFFVV1fj7bffxsiRI6FQKLBu3Tps27YN6enpUpdGRC6CZ26IqFHV1NRgzJgxOHDgAPR6Pdq1a4fnn38ed955p9SlEZGLYLghIiIil8JbwYmIiMilMNwQERGRS2G4ISIiIpfCcENEREQuheGGiIiIXArDDREREbkUhhsiIiJyKQw3RERE5FL+HyUoC+A4wqKqAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "N = PFexample.AgentCount\n", "F = np.linspace(0.0, 1.0, N)\n", "plt.plot(np.sort(PFexample.t_age), F)\n", "plt.xlabel(\"Current age of consumers\")\n", "plt.ylabel(\"Cumulative distribution\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "incorrectly_encoded_metadata": "pycharm= [markdown] {\"name\": \"#%% md\\n\"}" }, "source": [ "The distribution is (discretely) exponential, with a point mass at 120 with consumers who have survived since the beginning of the simulation.\n", "\n", "One might wonder why HARK requires users to call `initialize_sim` before calling `simulate`: Why doesn't `simulate` just call `initialize_sim` as its first step? We have broken up these two steps so that users can simulate some number of periods, change something in the environment, and then resume the simulation.\n", "\n", "When called with no argument, `simulate` will simulate the model for `T_sim` periods. The user can optionally pass an integer specifying the number of periods to simulate (which should not exceed `T_sim`).\n", "\n", "In the cell below, we simulate our perfect foresight consumers for 80 periods, then seize a bunch of their assets (dragging their wealth even more negative), then simulate for the remaining 40 periods.\n", "\n", "The `state_prev` attribute of an `AgentType` stores the values of the model's state variables in the _previous_ period of the simulation." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "image/png": "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zz9HWFgYHBwcEBsbi927d8sdSXbz589H586d4erqCh8fHwwfPhxnz56t9hpRFDF37lwEBATA0dERffr0walTp2RK3LDMnz8fgiBg+vTplmM8X9VlZGRg9OjR8PLygpOTE9q3b4/Dhw9bnuf5qlJZWYk33ngDYWFhcHR0RHh4OObNmwez2Wx5jT2fq127duHBBx9EQEAABEHATz/9VO352pwbg8GAF154Ad7e3nB2dsawYcNw+fLlevwp6s/tzpfRaMQrr7yC6OhoODs7IyAgAE8//TQyMzOrvYdNz5dINrdq1SpRrVaLS5cuFU+fPi1OmzZNdHZ2Fi9duiR3NFkNHjxYXLZsmXjy5Enx6NGj4tChQ8Xg4GCxuLjY8poPPvhAdHV1FdesWSOeOHFCHDVqlOjv7y/q9XoZk8vvjz/+EENDQ8WYmBhx2rRpluM8X/+Tn58vhoSEiM8884x44MABMTU1VdyyZYuYnJxseQ3PV5V3331X9PLyEn/55RcxNTVV/OGHH0QXFxfx008/tbzGns/Vr7/+Kr7++uvimjVrRADiunXrqj1fm3MzadIksXnz5uLmzZvFI0eOiH379hXvuecesbKysp5/Gtu73fkqKCgQBwwYIMbHx4tnzpwRExISxK5du4qxsbHV3sOW54vFpx506dJFnDRpUrVjrVu3Fl999VWZEjVMOTk5IgBx586doiiKotlsFv38/MQPPvjA8pry8nJRp9OJS5YskSum7IqKisQWLVqImzdvFnv37m0pPjxf1b3yyitijx49bvk8z9f/DB06VBw/fny1Y4888og4evRoURR5rv7srx/ktTk3BQUFolqtFletWmV5TUZGhqhQKMSNGzfWW3Y53Kwo/tUff/whArAMBtj6fPFSl41VVFTg8OHDGDRoULXjgwYNwr59+2RK1TAVFhYCADw9PQEAqampyM7OrnbutFotevfubdfn7vnnn8fQoUMxYMCAasd5vqr7+eef0alTJ4wYMQI+Pj7o0KEDli5danme5+t/evToga1bt+LcuXMAgGPHjmHPnj24//77AfBc3U5tzs3hw4dhNBqrvSYgIADt2rWz+/MHVP3uFwQB7u7uAGx/vniTUhvLzc2FyWSCr69vteO+vr7Izs6WKVXDI4oiZs6ciR49eqBdu3YAYDk/Nzt3ly5dqveMDcGqVatw5MgRHDx4sMZz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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "PFexample.initialize_sim()\n", "PFexample.simulate(80)\n", "PFexample.state_prev[\n", " \"aNrm\"\n", "] += -5.0 # Adjust all simulated consumers' assets downward by 5\n", "PFexample.simulate(40)\n", "\n", "plt.plot(np.mean(PFexample.history[\"mNrm\"], axis=1))\n", "plt.xlabel(\"Time\")\n", "plt.ylabel(\"Mean normalized market resources\")\n", "plt.show()" ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "collapsed,code_folding,name,title,incorrectly_encoded_metadata,pycharm", "cell_metadata_json": true, "formats": "ipynb,py:percent" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.18" } }, "nbformat": 4, "nbformat_minor": 4 }