From d20d39ae876d93054fa2943fed4edb51841bd916 Mon Sep 17 00:00:00 2001 From: mmcky Date: Thu, 1 Aug 2024 09:03:18 +0000 Subject: [PATCH] deploy: 1a46d9dc22480f5c2bcdae9a1e3090838493a4d3 --- ...1e955a84c2a250cfb2b37759f09c73dae9532e.png | Bin 0 -> 23698 bytes ...201aecba0b087ae02d3ea76159e77927e3c34b.png | Bin 0 -> 20540 bytes _notebooks/about.ipynb | 10 +- _notebooks/ak2.ipynb | 148 +++++----- _notebooks/ar1_processes.ipynb | 76 +++--- _notebooks/business_cycle.ipynb | 116 ++++---- _notebooks/cagan_adaptive.ipynb | 40 +-- _notebooks/cagan_ree.ipynb | 60 ++-- _notebooks/cobweb.ipynb | 82 +++--- _notebooks/commod_price.ipynb | 40 +-- _notebooks/complex_and_trig.ipynb | 54 ++-- _notebooks/cons_smooth.ipynb | 104 +++---- _notebooks/eigen_I.ipynb | 160 +++++------ _notebooks/eigen_II.ipynb | 84 +++--- _notebooks/equalizing_difference.ipynb | 106 ++++---- _notebooks/french_rev.ipynb | 86 +++--- _notebooks/geom_series.ipynb | 78 +++--- _notebooks/greek_square.ipynb | 58 ++-- _notebooks/heavy_tails.ipynb | 190 ++++++------- _notebooks/inequality.ipynb | 230 ++++++++-------- _notebooks/inflation_history.ipynb | 74 ++--- _notebooks/input_output.ipynb | 92 +++---- _notebooks/intro.ipynb | 32 +-- _notebooks/intro_supply_demand.ipynb | 130 ++++----- _notebooks/laffer_adaptive.ipynb | 54 ++-- _notebooks/lake_model.ipynb | 50 ++-- _notebooks/linear_equations.ipynb | 156 +++++------ _notebooks/lln_clt.ipynb | 104 +++---- _notebooks/long_run_growth.ipynb | 104 +++---- _notebooks/lp_intro.ipynb | 120 ++++---- _notebooks/markov_chains_I.ipynb | 162 +++++------ _notebooks/markov_chains_II.ipynb | 86 +++--- _notebooks/mle.ipynb | 112 ++++---- _notebooks/money_inflation.ipynb | 90 +++--- _notebooks/money_inflation_nonlinear.ipynb | 46 ++-- _notebooks/monte_carlo.ipynb | 120 ++++---- _notebooks/networks.ipynb | 182 ++++++------- _notebooks/olg.ipynb | 116 ++++---- _notebooks/prob_dist.ipynb | 234 ++++++++-------- _notebooks/pv.ipynb | 58 ++-- _notebooks/scalar_dynam.ipynb | 110 ++++---- _notebooks/schelling.ipynb | 58 ++-- _notebooks/short_path.ipynb | 54 ++-- _notebooks/simple_linear_regression.ipynb | 148 +++++----- _notebooks/solow.ipynb | 98 +++---- _notebooks/status.ipynb | 12 +- _notebooks/supply_demand_heterogeneity.ipynb | 54 ++-- _notebooks/supply_demand_multiple_goods.ipynb | 118 ++++---- _notebooks/time_series_with_matrices.ipynb | 110 ++++---- _notebooks/troubleshooting.ipynb | 10 +- _notebooks/unpleasant.ipynb | 54 ++-- _notebooks/zreferences.ipynb | 6 +- _pdf/quantecon-python-intro.pdf | Bin 18928041 -> 18931717 bytes _sources/ak2.ipynb | 110 ++++---- _sources/ar1_processes.ipynb | 50 ++-- _sources/business_cycle.ipynb | 100 +++---- _sources/cagan_adaptive.ipynb | 24 +- _sources/cagan_ree.ipynb | 36 +-- _sources/cobweb.ipynb | 68 ++--- _sources/commod_price.ipynb | 22 +- _sources/complex_and_trig.ipynb | 36 +-- _sources/cons_smooth.ipynb | 78 +++--- _sources/eigen_I.ipynb | 110 ++++---- _sources/eigen_II.ipynb | 62 ++--- _sources/equalizing_difference.ipynb | 94 +++---- _sources/french_rev.ipynb | 76 +++--- _sources/geom_series.ipynb | 46 ++-- _sources/greek_square.ipynb | 44 +-- _sources/heavy_tails.ipynb | 130 ++++----- _sources/inequality.ipynb | 188 ++++++------- _sources/inflation_history.ipynb | 66 ++--- _sources/input_output.ipynb | 64 ++--- _sources/intro.ipynb | 2 +- _sources/intro_supply_demand.ipynb | 88 +++--- _sources/laffer_adaptive.ipynb | 40 +-- _sources/lake_model.ipynb | 30 +- _sources/linear_equations.ipynb | 100 +++---- _sources/lln_clt.ipynb | 60 ++-- _sources/long_run_growth.ipynb | 92 +++---- _sources/lp_intro.ipynb | 94 +++---- _sources/markov_chains_I.ipynb | 102 +++---- _sources/markov_chains_II.ipynb | 54 ++-- _sources/mle.ipynb | 90 +++--- _sources/money_inflation.ipynb | 62 ++--- _sources/money_inflation_nonlinear.ipynb | 34 +-- _sources/monte_carlo.ipynb | 90 +++--- _sources/networks.ipynb | 148 +++++----- _sources/olg.ipynb | 86 +++--- _sources/prob_dist.ipynb | 256 +++++++++--------- _sources/prob_dist.md | 16 +- _sources/pv.ipynb | 40 +-- _sources/scalar_dynam.ipynb | 78 +++--- _sources/schelling.ipynb | 38 +-- _sources/short_path.ipynb | 38 +-- _sources/simple_linear_regression.ipynb | 140 +++++----- _sources/solow.ipynb | 82 +++--- _sources/status.ipynb | 8 +- _sources/supply_demand_heterogeneity.ipynb | 38 +-- _sources/supply_demand_multiple_goods.ipynb | 102 +++---- _sources/time_series_with_matrices.ipynb | 104 +++---- _sources/troubleshooting.ipynb | 2 +- _sources/unpleasant.ipynb | 30 +- _sources/zreferences.ipynb | 2 +- prob_dist.html | 110 +++++++- searchindex.js | 2 +- status.html | 4 +- 106 files changed, 4217 insertions(+), 4125 deletions(-) create mode 100644 _images/3e7588d04d69e84b68d662349b1e955a84c2a250cfb2b37759f09c73dae9532e.png create mode 100644 _images/bd73ac2896c6cc1426c86c0b7d201aecba0b087ae02d3ea76159e77927e3c34b.png diff --git a/_images/3e7588d04d69e84b68d662349b1e955a84c2a250cfb2b37759f09c73dae9532e.png b/_images/3e7588d04d69e84b68d662349b1e955a84c2a250cfb2b37759f09c73dae9532e.png new file mode 100644 index 0000000000000000000000000000000000000000..b4ba1dd7744a0768598706ab5a1b7f3dd0d825fb GIT binary patch literal 23698 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

8@uWI8Ho^5)V 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 DLlhS- literal 0 HcmV?d00001 diff --git a/_images/bd73ac2896c6cc1426c86c0b7d201aecba0b087ae02d3ea76159e77927e3c34b.png b/_images/bd73ac2896c6cc1426c86c0b7d201aecba0b087ae02d3ea76159e77927e3c34b.png new file mode 100644 index 0000000000000000000000000000000000000000..70be81d852ac6071ef794c46f645d8eebe3b9ad3 GIT binary patch literal 20540 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 Bdh!4O literal 0 HcmV?d00001 diff --git a/_notebooks/about.ipynb b/_notebooks/about.ipynb index e57bddc8..9197b5af 100644 --- a/_notebooks/about.ipynb +++ b/_notebooks/about.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "e9049757", + "id": "e2a7c0df", "metadata": {}, "source": [ "# About These Lectures" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "95b96ddc", + "id": "881a93f7", "metadata": {}, "source": [ "## About\n", @@ -41,7 +41,7 @@ }, { "cell_type": "markdown", - "id": "01df23a6", + "id": "78bb24f0", "metadata": {}, "source": [ "## Level\n", @@ -71,7 +71,7 @@ }, { "cell_type": "markdown", - "id": "f5392618", + "id": "fcf2789a", "metadata": {}, "source": [ "## Credits\n", @@ -96,7 +96,7 @@ } ], "metadata": { - "date": 1722488539.950746, + "date": 1722502936.2569392, "filename": "about.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/ak2.ipynb b/_notebooks/ak2.ipynb index c32ce82b..9d029f21 100644 --- a/_notebooks/ak2.ipynb +++ b/_notebooks/ak2.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "d9489df4", + "id": "ad7e303f", "metadata": {}, "source": [ "# Transitions in an Overlapping Generations Model\n", @@ -13,7 +13,7 @@ { "cell_type": "code", "execution_count": null, - "id": "84b07cc8", + "id": "ad5a8a63", "metadata": { "hide-output": false }, @@ -24,7 +24,7 @@ }, { "cell_type": "markdown", - "id": "9a001f60", + "id": "2afdf353", "metadata": {}, "source": [ "## Introduction\n", @@ -60,7 +60,7 @@ }, { "cell_type": "markdown", - "id": "86725aec", + "id": "14bd9039", "metadata": {}, "source": [ "## Setting\n", @@ -128,7 +128,7 @@ }, { "cell_type": "markdown", - "id": "7d88a270", + "id": "c1aaa674", "metadata": {}, "source": [ "## Production\n", @@ -163,7 +163,7 @@ }, { "cell_type": "markdown", - "id": "7243c266", + "id": "3438905a", "metadata": {}, "source": [ "## Government\n", @@ -197,7 +197,7 @@ }, { "cell_type": "markdown", - "id": "36509fe7", + "id": "9d5239a3", "metadata": {}, "source": [ "## Activities in Factor Markets\n", @@ -227,7 +227,7 @@ }, { "cell_type": "markdown", - "id": "2f87cb85", + "id": "feae07d5", "metadata": {}, "source": [ "## Representative firm’s problem\n", @@ -269,7 +269,7 @@ }, { "cell_type": "markdown", - "id": "550111c5", + "id": "55ec611b", "metadata": {}, "source": [ "## Individuals’ problems" @@ -277,7 +277,7 @@ }, { "cell_type": "markdown", - "id": "2c6fb2dc", + "id": "356fa63b", "metadata": {}, "source": [ "### Initial old person\n", @@ -301,7 +301,7 @@ }, { "cell_type": "markdown", - "id": "83e962d3", + "id": "34f7c672", "metadata": {}, "source": [ "### Young person\n", @@ -378,7 +378,7 @@ }, { "cell_type": "markdown", - "id": "b52bd0c8", + "id": "1c70da5d", "metadata": {}, "source": [ "## Equilbrium\n", @@ -393,7 +393,7 @@ }, { "cell_type": "markdown", - "id": "ef240469", + "id": "7fe6195f", "metadata": {}, "source": [ "## Next steps\n", @@ -414,7 +414,7 @@ }, { "cell_type": "markdown", - "id": "69c8b337", + "id": "49b97c35", "metadata": {}, "source": [ "## Closed form solution\n", @@ -441,7 +441,7 @@ }, { "cell_type": "markdown", - "id": "0765f856", + "id": "ea9c48b9", "metadata": {}, "source": [ "### Steady states\n", @@ -486,7 +486,7 @@ }, { "cell_type": "markdown", - "id": "41dcbedc", + "id": "35af6992", "metadata": {}, "source": [ "### Implementation" @@ -495,7 +495,7 @@ { "cell_type": "code", "execution_count": null, - "id": "87b86785", + "id": "822d3daf", "metadata": { "hide-output": false }, @@ -509,7 +509,7 @@ }, { "cell_type": "markdown", - "id": "745528a3", + "id": "3797d7a7", "metadata": {}, "source": [ "For parameters $ \\alpha = 0.3 $ and $ \\beta = 0.5 $, let’s compute $ \\hat{K} $:" @@ -518,7 +518,7 @@ { "cell_type": "code", "execution_count": null, - "id": "962e8849", + "id": "90423e0e", "metadata": { "hide-output": false }, @@ -539,7 +539,7 @@ }, { "cell_type": "markdown", - "id": "6e9c3606", + "id": "f59e6451", "metadata": {}, "source": [ "Knowing $ \\hat K $, we can calculate other equilibrium objects.\n", @@ -550,7 +550,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e86e93aa", + "id": "4bb3246b", "metadata": { "hide-output": false }, @@ -587,7 +587,7 @@ }, { "cell_type": "markdown", - "id": "7cf22268", + "id": "19d74414", "metadata": {}, "source": [ "We can use these helper functions to obtain steady state values $ \\hat{Y} $, $ \\hat{r} $, and $ \\hat{W} $ associated with steady state values $ \\hat{K} $ and $ \\hat{r} $." @@ -596,7 +596,7 @@ { "cell_type": "code", "execution_count": null, - "id": "48d3ae2e", + "id": "1ff98113", "metadata": { "hide-output": false }, @@ -608,7 +608,7 @@ }, { "cell_type": "markdown", - "id": "babf731a", + "id": "3ab962b4", "metadata": {}, "source": [ "Since steady state government debt $ \\hat{D} $ is $ 0 $, all taxes are used to pay for government expenditures" @@ -617,7 +617,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8f05988e", + "id": "fa3a1f48", "metadata": { "hide-output": false }, @@ -629,7 +629,7 @@ }, { "cell_type": "markdown", - "id": "dcd8c186", + "id": "a518c32b", "metadata": {}, "source": [ "We use the optimal consumption plans to find steady state consumptions for young and old" @@ -638,7 +638,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e1e99fc4", + "id": "f0636243", "metadata": { "hide-output": false }, @@ -650,7 +650,7 @@ }, { "cell_type": "markdown", - "id": "c16e3e28", + "id": "e642dab4", "metadata": {}, "source": [ "Let’s store the steady state quantities and prices using an array called `init_ss`" @@ -659,7 +659,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b4653c34", + "id": "b0a51bcd", "metadata": { "hide-output": false }, @@ -673,7 +673,7 @@ }, { "cell_type": "markdown", - "id": "43c502b2", + "id": "dcaaa047", "metadata": {}, "source": [ "### Transitions\n", @@ -716,7 +716,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b2fe85cc", + "id": "c70a9585", "metadata": { "hide-output": false }, @@ -866,7 +866,7 @@ }, { "cell_type": "markdown", - "id": "da45d12c", + "id": "b9efa51f", "metadata": {}, "source": [ "We can create an instance `closed` for model parameters $ \\{\\alpha, \\beta\\} $ and use it for various fiscal policy experiments." @@ -875,7 +875,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7c9122e6", + "id": "8277d773", "metadata": { "hide-output": false }, @@ -886,7 +886,7 @@ }, { "cell_type": "markdown", - "id": "7b6d5fce", + "id": "e3b6df6a", "metadata": {}, "source": [ "\n", @@ -895,7 +895,7 @@ }, { "cell_type": "markdown", - "id": "93dd6179", + "id": "298269c0", "metadata": {}, "source": [ "### Experiment 1: Tax cut\n", @@ -928,7 +928,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5a5ec05c", + "id": "ad88d3b4", "metadata": { "hide-output": false }, @@ -950,7 +950,7 @@ }, { "cell_type": "markdown", - "id": "ce614a4e", + "id": "e7a470db", "metadata": {}, "source": [ "Let’s use the `simulate` method of `closed` to compute dynamic transitions.\n", @@ -961,7 +961,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a8e60824", + "id": "84548eae", "metadata": { "hide-output": false }, @@ -975,7 +975,7 @@ }, { "cell_type": "markdown", - "id": "b3e67491", + "id": "88313931", "metadata": {}, "source": [ "We can also experiment with a lower tax cut rate, such as $ 0.2 $." @@ -984,7 +984,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f7c80aef", + "id": "ade3587a", "metadata": { "hide-output": false }, @@ -1006,7 +1006,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a5124bac", + "id": "615f83ea", "metadata": { "hide-output": false }, @@ -1044,7 +1044,7 @@ }, { "cell_type": "markdown", - "id": "7c29f8a4", + "id": "8d6d1f20", "metadata": {}, "source": [ "The economy with lower tax cut rate at $ t=0 $ has the same transitional pattern, but is less distorted, and it converges to a new steady state with higher physical capital stock.\n", @@ -1055,7 +1055,7 @@ }, { "cell_type": "markdown", - "id": "471e5eb9", + "id": "3617de0f", "metadata": {}, "source": [ "### Experiment 2: Government asset accumulation\n", @@ -1072,7 +1072,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e76a8105", + "id": "d48bd540", "metadata": { "hide-output": false }, @@ -1090,7 +1090,7 @@ }, { "cell_type": "markdown", - "id": "fe0e1b1b", + "id": "ff24513d", "metadata": {}, "source": [ "As the government accumulates the asset and uses it in production, the rental rate on capital falls and private investment falls.\n", @@ -1101,7 +1101,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ce0257b0", + "id": "49c796e8", "metadata": { "hide-output": false }, @@ -1114,7 +1114,7 @@ }, { "cell_type": "markdown", - "id": "53279500", + "id": "0c946fde", "metadata": {}, "source": [ "We want to know how this policy experiment affects individuals.\n", @@ -1132,7 +1132,7 @@ }, { "cell_type": "markdown", - "id": "d72f7a29", + "id": "e2c91be4", "metadata": {}, "source": [ "### Experiment 3: Temporary expenditure cut\n", @@ -1147,7 +1147,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d8396218", + "id": "36246f0a", "metadata": { "hide-output": false }, @@ -1168,7 +1168,7 @@ }, { "cell_type": "markdown", - "id": "facb92be", + "id": "e4baf8df", "metadata": {}, "source": [ "The economy quickly converges to a new steady state with higher physical capital stock, lower interest rate, higher wage rate, and higher consumptions for both the young and the old.\n", @@ -1180,7 +1180,7 @@ }, { "cell_type": "markdown", - "id": "48c3c766", + "id": "dd866769", "metadata": {}, "source": [ "## A computational strategy\n", @@ -1241,7 +1241,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b5158508", + "id": "4de30c47", "metadata": { "hide-output": false }, @@ -1255,7 +1255,7 @@ }, { "cell_type": "markdown", - "id": "dff2afc4", + "id": "f11aba1b", "metadata": {}, "source": [ "We use `Cy_val` to compute the lifetime value of an arbitrary consumption plan, $ C_y $, given the intertemporal budget constraint.\n", @@ -1266,7 +1266,7 @@ { "cell_type": "code", "execution_count": null, - "id": "17462ae6", + "id": "2d6ee47e", "metadata": { "hide-output": false }, @@ -1283,7 +1283,7 @@ }, { "cell_type": "markdown", - "id": "83b8fbc1", + "id": "1f485e1a", "metadata": {}, "source": [ "An optimal consumption plan $ C_y^* $ can be found by maximizing `Cy_val`.\n", @@ -1294,7 +1294,7 @@ { "cell_type": "code", "execution_count": null, - "id": "036db85d", + "id": "885ba9cf", "metadata": { "hide-output": false }, @@ -1313,7 +1313,7 @@ }, { "cell_type": "markdown", - "id": "535857c9", + "id": "1ab5315e", "metadata": {}, "source": [ "Let’s define a Python class `AK2` that computes the transition paths with the fixed-point algorithm.\n", @@ -1324,7 +1324,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bb0c669b", + "id": "275d8751", "metadata": { "hide-output": false }, @@ -1500,7 +1500,7 @@ }, { "cell_type": "markdown", - "id": "64a71dee", + "id": "85056e45", "metadata": {}, "source": [ "We can initialize an instance of class `AK2` with model parameters $ \\{\\alpha, \\beta\\} $ and then use it to conduct fiscal policy experiments." @@ -1509,7 +1509,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e33b3674", + "id": "f79c2692", "metadata": { "hide-output": false }, @@ -1520,7 +1520,7 @@ }, { "cell_type": "markdown", - "id": "a1979bc0", + "id": "67d03924", "metadata": {}, "source": [ "We first examine that the “guess and verify” method leads to the same numerical results as we obtain with the closed form solution when lump sum taxes are muted" @@ -1529,7 +1529,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7768de8a", + "id": "7bb22dc3", "metadata": { "hide-output": false }, @@ -1551,7 +1551,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d88884e5", + "id": "43aa3c3a", "metadata": { "hide-output": false }, @@ -1566,7 +1566,7 @@ { "cell_type": "code", "execution_count": null, - "id": "75ff8e56", + "id": "b37c6867", "metadata": { "hide-output": false }, @@ -1577,7 +1577,7 @@ }, { "cell_type": "markdown", - "id": "3ba6a162", + "id": "cdb4a07f", "metadata": {}, "source": [ "Next, we activate lump sum taxes.\n", @@ -1588,7 +1588,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6bc5307c", + "id": "352c1257", "metadata": { "hide-output": false }, @@ -1607,7 +1607,7 @@ }, { "cell_type": "markdown", - "id": "dc0becb3", + "id": "c6aec34d", "metadata": {}, "source": [ "Note how “crowding out” has been mitigated." @@ -1616,7 +1616,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d82f77dc", + "id": "c1084246", "metadata": { "hide-output": false }, @@ -1654,7 +1654,7 @@ }, { "cell_type": "markdown", - "id": "d78e37fb", + "id": "2583aee4", "metadata": {}, "source": [ "Comparing to [Experiment 1: Tax cut](#exp-tax-cut), the government raises lump-sum taxes to finance the increasing debt interest payment, which is less distortionary comparing to raising the capital income tax rate." @@ -1662,7 +1662,7 @@ }, { "cell_type": "markdown", - "id": "71126ad2", + "id": "d676c929", "metadata": {}, "source": [ "### Experiment 4: Unfunded Social Security System\n", @@ -1689,7 +1689,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6ab15a63", + "id": "87a6f353", "metadata": { "hide-output": false }, @@ -1708,7 +1708,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bd315638", + "id": "4e046f40", "metadata": { "hide-output": false }, @@ -1746,7 +1746,7 @@ }, { "cell_type": "markdown", - "id": "574ddb9c", + "id": "ff117c64", "metadata": {}, "source": [ "An initial old person benefits especially when the social security system is launched because he receives a transfer but pays nothing for it.\n", @@ -1762,7 +1762,7 @@ } ], "metadata": { - "date": 1722488540.2177029, + "date": 1722502936.310943, "filename": "ak2.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/ar1_processes.ipynb b/_notebooks/ar1_processes.ipynb index dd6ddc6b..335db2bb 100644 --- a/_notebooks/ar1_processes.ipynb +++ b/_notebooks/ar1_processes.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "5d7c1d92", + "id": "c00b25b0", "metadata": {}, "source": [ "\n", @@ -13,7 +13,7 @@ }, { "cell_type": "markdown", - "id": "303327fa", + "id": "632bd827", "metadata": {}, "source": [ "# AR(1) Processes\n", @@ -24,7 +24,7 @@ }, { "cell_type": "markdown", - "id": "e932dd84", + "id": "3c70be23", "metadata": {}, "source": [ "## Overview\n", @@ -48,7 +48,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ab137894", + "id": "0293e549", "metadata": { "hide-output": false }, @@ -61,7 +61,7 @@ }, { "cell_type": "markdown", - "id": "e73ad254", + "id": "2e82cdd2", "metadata": {}, "source": [ "## The AR(1) model\n", @@ -102,7 +102,7 @@ }, { "cell_type": "markdown", - "id": "b16aff4f", + "id": "a2d94760", "metadata": {}, "source": [ "### Moving average representation\n", @@ -138,7 +138,7 @@ }, { "cell_type": "markdown", - "id": "420d3834", + "id": "e1a1f16a", "metadata": {}, "source": [ "### Distribution dynamics\n", @@ -189,7 +189,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bfded352", + "id": "a70064f0", "metadata": { "hide-output": false }, @@ -202,7 +202,7 @@ }, { "cell_type": "markdown", - "id": "f5989c77", + "id": "af6260b7", "metadata": {}, "source": [ "Here’s the sequence of distributions:" @@ -211,7 +211,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ef8dc7b6", + "id": "537d0e07", "metadata": { "hide-output": false }, @@ -238,7 +238,7 @@ }, { "cell_type": "markdown", - "id": "12e49b19", + "id": "b42707ef", "metadata": {}, "source": [ "## Stationarity and asymptotic stability\n", @@ -261,7 +261,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fda212f5", + "id": "7b112c47", "metadata": { "hide-output": false }, @@ -283,7 +283,7 @@ }, { "cell_type": "markdown", - "id": "fc9a3dec", + "id": "83b93593", "metadata": {}, "source": [ "Moreover, the limit does not depend on the initial condition.\n", @@ -294,7 +294,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a1a9c088", + "id": "843ae0db", "metadata": { "hide-output": false }, @@ -307,7 +307,7 @@ }, { "cell_type": "markdown", - "id": "41f6d673", + "id": "2d83bc29", "metadata": {}, "source": [ "In fact it’s easy to show that such convergence will occur, regardless of the initial condition, whenever $ |a| < 1 $.\n", @@ -343,7 +343,7 @@ { "cell_type": "code", "execution_count": null, - "id": "55d87d38", + "id": "938c7389", "metadata": { "hide-output": false }, @@ -363,7 +363,7 @@ }, { "cell_type": "markdown", - "id": "b675d27d", + "id": "4f3d3f1a", "metadata": {}, "source": [ "As claimed, the sequence $ \\{ \\psi_t \\} $ converges to $ \\psi^* $.\n", @@ -374,7 +374,7 @@ }, { "cell_type": "markdown", - "id": "eab4eff8", + "id": "b5490255", "metadata": {}, "source": [ "### Stationary distributions\n", @@ -406,7 +406,7 @@ }, { "cell_type": "markdown", - "id": "0b9eed34", + "id": "62cdbbe9", "metadata": {}, "source": [ "## Ergodicity\n", @@ -462,7 +462,7 @@ }, { "cell_type": "markdown", - "id": "3465b086", + "id": "b2069f7d", "metadata": {}, "source": [ "## Exercises" @@ -470,7 +470,7 @@ }, { "cell_type": "markdown", - "id": "a43e9dcc", + "id": "43a8a4ae", "metadata": {}, "source": [ "## Exercise 33.1\n", @@ -510,7 +510,7 @@ }, { "cell_type": "markdown", - "id": "de78c158", + "id": "f2806a9e", "metadata": {}, "source": [ "## Solution to[ Exercise 33.1](https://intro.quantecon.org/#ar1p_ex1)\n", @@ -521,7 +521,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f2dd84ea", + "id": "deacd9ab", "metadata": { "hide-output": false }, @@ -564,7 +564,7 @@ }, { "cell_type": "markdown", - "id": "776220dc", + "id": "6a029c63", "metadata": {}, "source": [ "## Exercise 33.2\n", @@ -615,7 +615,7 @@ }, { "cell_type": "markdown", - "id": "86479e4d", + "id": "d245d0d2", "metadata": {}, "source": [ "## Solution to[ Exercise 33.2](https://intro.quantecon.org/#ar1p_ex2)\n", @@ -626,7 +626,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1a69bfc1", + "id": "a51e347e", "metadata": { "hide-output": false }, @@ -658,7 +658,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0df7989b", + "id": "f1f1bbe2", "metadata": { "hide-output": false }, @@ -679,7 +679,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5edc0fc1", + "id": "932aaded", "metadata": { "hide-output": false }, @@ -695,7 +695,7 @@ }, { "cell_type": "markdown", - "id": "e3d2030c", + "id": "516761d1", "metadata": {}, "source": [ "We see that the kernel density estimator is effective when the underlying\n", @@ -704,7 +704,7 @@ }, { "cell_type": "markdown", - "id": "fe8bbff2", + "id": "80b06f65", "metadata": {}, "source": [ "## Exercise 33.3\n", @@ -752,7 +752,7 @@ }, { "cell_type": "markdown", - "id": "e9be329c", + "id": "bb98f968", "metadata": {}, "source": [ "## Solution to[ Exercise 33.3](https://intro.quantecon.org/#ar1p_ex3)\n", @@ -763,7 +763,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ab122286", + "id": "573921d5", "metadata": { "hide-output": false }, @@ -779,7 +779,7 @@ { "cell_type": "code", "execution_count": null, - "id": "27b97c03", + "id": "0f8837f5", "metadata": { "hide-output": false }, @@ -792,7 +792,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c60cbeb4", + "id": "d45d23d3", "metadata": { "hide-output": false }, @@ -805,7 +805,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2976a19e", + "id": "f495ef56", "metadata": { "hide-output": false }, @@ -818,7 +818,7 @@ { "cell_type": "code", "execution_count": null, - "id": "04159eec", + "id": "f3039244", "metadata": { "hide-output": false }, @@ -842,7 +842,7 @@ }, { "cell_type": "markdown", - "id": "63ea9e16", + "id": "e051ba0b", "metadata": {}, "source": [ "The simulated distribution approximately coincides with the theoretical\n", @@ -851,7 +851,7 @@ } ], "metadata": { - "date": 1722488540.2488303, + "date": 1722502936.343179, "filename": "ar1_processes.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/business_cycle.ipynb b/_notebooks/business_cycle.ipynb index b1c1185e..8d1c65e0 100644 --- a/_notebooks/business_cycle.ipynb +++ b/_notebooks/business_cycle.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "d1033c83", + "id": "1ff69c05", "metadata": {}, "source": [ "# Business Cycles" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "cf73421b", + "id": "8838fd69", "metadata": {}, "source": [ "## Overview\n", @@ -29,7 +29,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d8c35ad9", + "id": "5bf586a4", "metadata": { "hide-output": false }, @@ -41,7 +41,7 @@ }, { "cell_type": "markdown", - "id": "bde6e87d", + "id": "b8a69cec", "metadata": {}, "source": [ "We use the following imports" @@ -50,7 +50,7 @@ { "cell_type": "code", "execution_count": null, - "id": "52bbe1b0", + "id": "accfee9c", "metadata": { "hide-output": false }, @@ -65,7 +65,7 @@ }, { "cell_type": "markdown", - "id": "ca2e3344", + "id": "fce97c63", "metadata": {}, "source": [ "Here’s some minor code to help with colors in our plots." @@ -74,7 +74,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c459fa0d", + "id": "12b52ece", "metadata": { "hide-output": false }, @@ -88,7 +88,7 @@ }, { "cell_type": "markdown", - "id": "859d05ff", + "id": "960f4620", "metadata": {}, "source": [ "## Data acquisition\n", @@ -104,7 +104,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e08430b3", + "id": "b455c1de", "metadata": { "hide-output": false }, @@ -115,7 +115,7 @@ }, { "cell_type": "markdown", - "id": "bcc828e7", + "id": "8cc55da8", "metadata": {}, "source": [ "Now we use this series ID to obtain the data." @@ -124,7 +124,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c9652d0f", + "id": "0b3bd0dc", "metadata": { "hide-output": false }, @@ -138,7 +138,7 @@ }, { "cell_type": "markdown", - "id": "374ccdb4", + "id": "72d8dafd", "metadata": {}, "source": [ "We can look at the series’ metadata to learn more about the series (click to expand)." @@ -147,7 +147,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f21b30fa", + "id": "713223f4", "metadata": { "hide-output": false }, @@ -158,7 +158,7 @@ }, { "cell_type": "markdown", - "id": "c3a9bc14", + "id": "aa36fc1e", "metadata": {}, "source": [ "\n", @@ -167,7 +167,7 @@ }, { "cell_type": "markdown", - "id": "8f9af74f", + "id": "ccd831d3", "metadata": {}, "source": [ "## GDP growth rate\n", @@ -180,7 +180,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a2d6ee35", + "id": "1a7c3eb9", "metadata": { "hide-output": false }, @@ -196,7 +196,7 @@ }, { "cell_type": "markdown", - "id": "5b355736", + "id": "21cf1944", "metadata": {}, "source": [ "Here’s a first look at the data" @@ -205,7 +205,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bd87ff41", + "id": "c6706914", "metadata": { "hide-output": false }, @@ -216,7 +216,7 @@ }, { "cell_type": "markdown", - "id": "0fdedbe9", + "id": "9ab49e18", "metadata": {}, "source": [ "We write a function to generate plots for individual countries taking into account the recessions." @@ -225,7 +225,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ca6d1785", + "id": "7a5ba37b", "metadata": { "hide-output": false }, @@ -304,7 +304,7 @@ }, { "cell_type": "markdown", - "id": "058e97b5", + "id": "b45ec335", "metadata": {}, "source": [ "Let’s start with the United States." @@ -313,7 +313,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e8200844", + "id": "73ce5c58", "metadata": { "hide-output": false }, @@ -331,7 +331,7 @@ }, { "cell_type": "markdown", - "id": "2c1048a1", + "id": "def1cd80", "metadata": {}, "source": [ "GDP growth is positive on average and trending slightly downward over time.\n", @@ -349,7 +349,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7e4c9ae4", + "id": "26d94d27", "metadata": { "hide-output": false }, @@ -366,7 +366,7 @@ }, { "cell_type": "markdown", - "id": "2d63b84c", + "id": "fcab0d39", "metadata": {}, "source": [ "Now let’s consider Japan, which experienced rapid growth in the 1960s and\n", @@ -379,7 +379,7 @@ { "cell_type": "code", "execution_count": null, - "id": "25934f6c", + "id": "b52b190b", "metadata": { "hide-output": false }, @@ -396,7 +396,7 @@ }, { "cell_type": "markdown", - "id": "45acdbbb", + "id": "e225f5cb", "metadata": {}, "source": [ "Now let’s study Greece." @@ -405,7 +405,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cb625427", + "id": "32ec1732", "metadata": { "hide-output": false }, @@ -422,7 +422,7 @@ }, { "cell_type": "markdown", - "id": "a4513f69", + "id": "02c28d7a", "metadata": {}, "source": [ "Greece experienced a very large drop in GDP growth around 2010-2011, during the peak\n", @@ -434,7 +434,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c9f9ffc7", + "id": "f0753718", "metadata": { "hide-output": false }, @@ -451,7 +451,7 @@ }, { "cell_type": "markdown", - "id": "ef6b6229", + "id": "73409eb7", "metadata": {}, "source": [ "Notice that Argentina has experienced far more volatile cycles than\n", @@ -463,7 +463,7 @@ }, { "cell_type": "markdown", - "id": "3dda606a", + "id": "fe63c157", "metadata": {}, "source": [ "## Unemployment\n", @@ -476,7 +476,7 @@ { "cell_type": "code", "execution_count": null, - "id": "07afe89f", + "id": "d3af4538", "metadata": { "hide-output": false }, @@ -499,7 +499,7 @@ }, { "cell_type": "markdown", - "id": "361eedfd", + "id": "fba2f246", "metadata": {}, "source": [ "Let’s plot the unemployment rate in the US from 1929 to 2022 with recessions\n", @@ -509,7 +509,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3c266bd4", + "id": "4da490f5", "metadata": { "hide-output": false }, @@ -559,7 +559,7 @@ }, { "cell_type": "markdown", - "id": "29257969", + "id": "01189ed5", "metadata": {}, "source": [ "The plot shows that\n", @@ -581,7 +581,7 @@ }, { "cell_type": "markdown", - "id": "5b9d7c18", + "id": "dc8a73af", "metadata": {}, "source": [ "## Synchronization\n", @@ -600,7 +600,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9fb6e3e1", + "id": "c6187e6e", "metadata": { "hide-output": false }, @@ -680,7 +680,7 @@ }, { "cell_type": "markdown", - "id": "7ac6029b", + "id": "3b7722f3", "metadata": {}, "source": [ "Here we compare the GDP growth rate of developed economies and developing economies." @@ -689,7 +689,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d72958b0", + "id": "e53d65a7", "metadata": { "hide-output": false }, @@ -705,7 +705,7 @@ }, { "cell_type": "markdown", - "id": "78cf975c", + "id": "eaffee34", "metadata": {}, "source": [ "We use the United Kingdom, United States, Germany, and Japan as examples of developed economies." @@ -714,7 +714,7 @@ { "cell_type": "code", "execution_count": null, - "id": "60c551da", + "id": "8155049a", "metadata": { "hide-output": false }, @@ -732,7 +732,7 @@ }, { "cell_type": "markdown", - "id": "c4767f7d", + "id": "010505fb", "metadata": {}, "source": [ "We choose Brazil, China, Argentina, and Mexico as representative developing economies." @@ -741,7 +741,7 @@ { "cell_type": "code", "execution_count": null, - "id": "126aa4d9", + "id": "0fc5a124", "metadata": { "hide-output": false }, @@ -758,7 +758,7 @@ }, { "cell_type": "markdown", - "id": "ea7aea3c", + "id": "7daa5039", "metadata": {}, "source": [ "The comparison of GDP growth rates above suggests that\n", @@ -780,7 +780,7 @@ { "cell_type": "code", "execution_count": null, - "id": "86a9762d", + "id": "22cb941a", "metadata": { "hide-output": false }, @@ -803,7 +803,7 @@ }, { "cell_type": "markdown", - "id": "0653503f", + "id": "47828bf6", "metadata": {}, "source": [ "We see that France, with its strong labor unions, typically experiences\n", @@ -814,7 +814,7 @@ }, { "cell_type": "markdown", - "id": "3cc91bda", + "id": "a175484f", "metadata": {}, "source": [ "## Leading indicators and correlated factors\n", @@ -828,7 +828,7 @@ }, { "cell_type": "markdown", - "id": "d550d44f", + "id": "a92358ce", "metadata": {}, "source": [ "### Consumption\n", @@ -848,7 +848,7 @@ { "cell_type": "code", "execution_count": null, - "id": "770bfdb2", + "id": "48911e34", "metadata": { "hide-output": false }, @@ -907,7 +907,7 @@ }, { "cell_type": "markdown", - "id": "618afa4f", + "id": "87c3cd0f", "metadata": {}, "source": [ "We see that\n", @@ -924,7 +924,7 @@ }, { "cell_type": "markdown", - "id": "4aa35a4a", + "id": "6aeecc49", "metadata": {}, "source": [ "### Production\n", @@ -941,7 +941,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ab6a2867", + "id": "36fe6201", "metadata": { "hide-output": false }, @@ -972,7 +972,7 @@ }, { "cell_type": "markdown", - "id": "f4a12725", + "id": "71466bc5", "metadata": {}, "source": [ "We observe the delayed contraction in the plot across recessions." @@ -980,7 +980,7 @@ }, { "cell_type": "markdown", - "id": "a7ec6f2f", + "id": "c0f975ca", "metadata": {}, "source": [ "### Credit level\n", @@ -1000,7 +1000,7 @@ { "cell_type": "code", "execution_count": null, - "id": "15c0b3ec", + "id": "68eb3f5b", "metadata": { "hide-output": false }, @@ -1023,7 +1023,7 @@ }, { "cell_type": "markdown", - "id": "b7325ccd", + "id": "8f3eeedf", "metadata": {}, "source": [ "Note that the credit rises during economic expansions\n", @@ -1032,7 +1032,7 @@ } ], "metadata": { - "date": 1722488540.2741394, + "date": 1722502936.367467, "filename": "business_cycle.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/cagan_adaptive.ipynb b/_notebooks/cagan_adaptive.ipynb index 670fe138..83acad08 100644 --- a/_notebooks/cagan_adaptive.ipynb +++ b/_notebooks/cagan_adaptive.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "c9e6c24e", + "id": "d1de25b9", "metadata": {}, "source": [ "# Monetarist Theory of Price Levels with Adaptive Expectations" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "1eb75c46", + "id": "7ac273a3", "metadata": {}, "source": [ "## Overview\n", @@ -41,7 +41,7 @@ }, { "cell_type": "markdown", - "id": "6487c021", + "id": "676a0057", "metadata": {}, "source": [ "## Structure of the model\n", @@ -106,7 +106,7 @@ }, { "cell_type": "markdown", - "id": "08947dc9", + "id": "e104c770", "metadata": {}, "source": [ "## Representing key equations with linear algebra\n", @@ -183,7 +183,7 @@ }, { "cell_type": "markdown", - "id": "11ad32b6", + "id": "b9e2be94", "metadata": {}, "source": [ "## Harvesting insights from our matrix formulation\n", @@ -295,7 +295,7 @@ }, { "cell_type": "markdown", - "id": "2b9cd234", + "id": "bd8f045b", "metadata": {}, "source": [ "## Forecast errors and model computation\n", @@ -328,7 +328,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7ca03a6b", + "id": "e49bae3c", "metadata": { "hide-output": false }, @@ -342,7 +342,7 @@ { "cell_type": "code", "execution_count": null, - "id": "09eb20fb", + "id": "6ee9e2b2", "metadata": { "hide-output": false }, @@ -359,7 +359,7 @@ }, { "cell_type": "markdown", - "id": "976c7e84", + "id": "99fc543e", "metadata": {}, "source": [ "We solve the model and plot variables of interests using the following functions." @@ -368,7 +368,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bae212a8", + "id": "c71a1c5c", "metadata": { "hide-output": false }, @@ -405,7 +405,7 @@ { "cell_type": "code", "execution_count": null, - "id": "774e46f5", + "id": "21599a5b", "metadata": { "hide-output": false }, @@ -442,7 +442,7 @@ }, { "cell_type": "markdown", - "id": "65e2bf32", + "id": "e849ae29", "metadata": {}, "source": [ "## Technical condition for stability\n", @@ -471,7 +471,7 @@ { "cell_type": "code", "execution_count": null, - "id": "631f6d65", + "id": "4fe87a1c", "metadata": { "hide-output": false }, @@ -482,7 +482,7 @@ }, { "cell_type": "markdown", - "id": "ca2e3f0e", + "id": "62336337", "metadata": {}, "source": [ "## Experiments\n", @@ -492,7 +492,7 @@ }, { "cell_type": "markdown", - "id": "e7049e47", + "id": "ff36f81d", "metadata": {}, "source": [ "### Experiment 1\n", @@ -519,7 +519,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1d301b14", + "id": "63662d41", "metadata": { "hide-output": false }, @@ -538,7 +538,7 @@ }, { "cell_type": "markdown", - "id": "14711faa", + "id": "cbf26f33", "metadata": {}, "source": [ "We invite the reader to compare outcomes with those under rational expectations studied in [A Monetarist Theory of Price Levels](https://intro.quantecon.org/cagan_ree.html).\n", @@ -550,7 +550,7 @@ }, { "cell_type": "markdown", - "id": "b9a40065", + "id": "6962bba8", "metadata": {}, "source": [ "### Experiment 2\n", @@ -566,7 +566,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f56a192d", + "id": "38e14087", "metadata": { "hide-output": false }, @@ -584,7 +584,7 @@ } ], "metadata": { - "date": 1722488540.296871, + "date": 1722502936.3899615, "filename": "cagan_adaptive.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/cagan_ree.ipynb b/_notebooks/cagan_ree.ipynb index ec8d6334..c2e8503d 100644 --- a/_notebooks/cagan_ree.ipynb +++ b/_notebooks/cagan_ree.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "c1dcafa4", + "id": "836a7ca3", "metadata": {}, "source": [ "# A Monetarist Theory of Price Levels" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "7be9d40b", + "id": "1c3a14e6", "metadata": {}, "source": [ "## Overview\n", @@ -65,7 +65,7 @@ }, { "cell_type": "markdown", - "id": "4d3c4960", + "id": "dcf69e62", "metadata": {}, "source": [ "## Structure of the model\n", @@ -223,7 +223,7 @@ }, { "cell_type": "markdown", - "id": "8a557057", + "id": "8ded79af", "metadata": {}, "source": [ "## Continuation values\n", @@ -261,7 +261,7 @@ { "cell_type": "code", "execution_count": null, - "id": "98727d9a", + "id": "851501a8", "metadata": { "hide-output": false }, @@ -274,7 +274,7 @@ }, { "cell_type": "markdown", - "id": "72a6f060", + "id": "0534b3a4", "metadata": {}, "source": [ "First, we store parameters in a `namedtuple`:" @@ -283,7 +283,7 @@ { "cell_type": "code", "execution_count": null, - "id": "214e118b", + "id": "88a21ac6", "metadata": { "hide-output": false }, @@ -306,7 +306,7 @@ }, { "cell_type": "markdown", - "id": "2648a3f9", + "id": "d1e83dd3", "metadata": {}, "source": [ "Now we can solve the model to compute $ \\pi_t $, $ m_t $ and $ p_t $ for $ t =1, \\ldots, T+1 $ using the matrix equation above" @@ -315,7 +315,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d5805b18", + "id": "a5b2108a", "metadata": { "hide-output": false }, @@ -345,7 +345,7 @@ }, { "cell_type": "markdown", - "id": "07593c89", + "id": "665e98f3", "metadata": {}, "source": [ "### Some quantitative experiments\n", @@ -368,7 +368,7 @@ }, { "cell_type": "markdown", - "id": "82111306", + "id": "899badf4", "metadata": {}, "source": [ "#### Experiment 1: Foreseen sudden stabilization\n", @@ -397,7 +397,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5d3bcd5b", + "id": "6cd127ab", "metadata": { "hide-output": false }, @@ -418,7 +418,7 @@ }, { "cell_type": "markdown", - "id": "b9426f4e", + "id": "8239f542", "metadata": {}, "source": [ "Now we use the following function to plot the result" @@ -427,7 +427,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6b7fedee", + "id": "9548cbcf", "metadata": { "hide-output": false }, @@ -449,7 +449,7 @@ }, { "cell_type": "markdown", - "id": "6224614d", + "id": "d615e703", "metadata": {}, "source": [ "The plot of the money growth rate $ \\mu_t $ in the top level panel portrays\n", @@ -471,7 +471,7 @@ }, { "cell_type": "markdown", - "id": "9394b214", + "id": "345ab551", "metadata": {}, "source": [ "### The log price level\n", @@ -507,7 +507,7 @@ }, { "cell_type": "markdown", - "id": "e30c75b9", + "id": "e6834954", "metadata": {}, "source": [ "### What jumps?\n", @@ -540,7 +540,7 @@ }, { "cell_type": "markdown", - "id": "c3d92a41", + "id": "820596fa", "metadata": {}, "source": [ "#### Technical details about whether $ p $ or $ m $ jumps at $ T_1 $\n", @@ -554,7 +554,7 @@ }, { "cell_type": "markdown", - "id": "ce080a4a", + "id": "986435ec", "metadata": {}, "source": [ "#### $ m_{T_{1}} $ does not jump.\n", @@ -570,7 +570,7 @@ }, { "cell_type": "markdown", - "id": "dbc806da", + "id": "f6e7c138", "metadata": {}, "source": [ "#### $ m_{T_{1}} $ jumps.\n", @@ -590,7 +590,7 @@ }, { "cell_type": "markdown", - "id": "c34a1f86", + "id": "e4a0f198", "metadata": {}, "source": [ "#### Experiment 2: an unforeseen sudden stabilization\n", @@ -631,7 +631,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7bf46d92", + "id": "228ade3b", "metadata": { "hide-output": false }, @@ -676,7 +676,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6980ba07", + "id": "d5049897", "metadata": { "hide-output": false }, @@ -720,7 +720,7 @@ }, { "cell_type": "markdown", - "id": "7e744eb0", + "id": "ec9ee417", "metadata": {}, "source": [ "We invite you to compare these graphs with corresponding ones for the foreseen stabilization analyzed in experiment 1 above.\n", @@ -748,7 +748,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8555fa03", + "id": "b24b965f", "metadata": { "hide-output": false }, @@ -776,7 +776,7 @@ }, { "cell_type": "markdown", - "id": "ea54580a", + "id": "e110c7fa", "metadata": {}, "source": [ "It is instructive to compare the preceding graphs with graphs of log price levels and inflation rates for data from four big inflations described in\n", @@ -793,7 +793,7 @@ }, { "cell_type": "markdown", - "id": "af43c64c", + "id": "1c6826e6", "metadata": {}, "source": [ "#### Experiment 3\n", @@ -817,7 +817,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6125a6db", + "id": "061ab019", "metadata": { "hide-output": false }, @@ -840,7 +840,7 @@ }, { "cell_type": "markdown", - "id": "0170ec1c", + "id": "1fb131c7", "metadata": {}, "source": [ "## Sequel\n", @@ -854,7 +854,7 @@ } ], "metadata": { - "date": 1722488540.3275425, + "date": 1722502936.421616, "filename": "cagan_ree.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/cobweb.ipynb b/_notebooks/cobweb.ipynb index 7333612e..5479c482 100644 --- a/_notebooks/cobweb.ipynb +++ b/_notebooks/cobweb.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "e87b2d69", + "id": "e5fdfdb8", "metadata": {}, "source": [ "\n", @@ -11,7 +11,7 @@ }, { "cell_type": "markdown", - "id": "fea1833a", + "id": "38380acc", "metadata": {}, "source": [ "# The Cobweb Model\n", @@ -21,7 +21,7 @@ }, { "cell_type": "markdown", - "id": "fc8d4409", + "id": "68e73058", "metadata": {}, "source": [ "## Overview\n", @@ -69,7 +69,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6422d34f", + "id": "8254d7e5", "metadata": { "hide-output": false }, @@ -81,7 +81,7 @@ }, { "cell_type": "markdown", - "id": "68d92139", + "id": "aeedaf5b", "metadata": {}, "source": [ "## History\n", @@ -98,7 +98,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ba7ef9a0", + "id": "1c504495", "metadata": { "hide-output": false }, @@ -119,7 +119,7 @@ }, { "cell_type": "markdown", - "id": "6d211151", + "id": "ac1c782d", "metadata": {}, "source": [ "## The model\n", @@ -154,7 +154,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d4894e1b", + "id": "1b9282b9", "metadata": { "hide-output": false }, @@ -182,7 +182,7 @@ }, { "cell_type": "markdown", - "id": "2ccc0dd8", + "id": "0e668874", "metadata": {}, "source": [ "Now let’s plot." @@ -191,7 +191,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f90eaff1", + "id": "be6bd91b", "metadata": { "hide-output": false }, @@ -212,7 +212,7 @@ }, { "cell_type": "markdown", - "id": "30352e06", + "id": "9db94cdf", "metadata": {}, "source": [ "Market equilibrium requires that supply equals demand, or\n", @@ -258,7 +258,7 @@ }, { "cell_type": "markdown", - "id": "eda9b028", + "id": "41290406", "metadata": {}, "source": [ "## Naive expectations\n", @@ -299,7 +299,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8f72b662", + "id": "c169258d", "metadata": { "hide-output": false }, @@ -317,7 +317,7 @@ }, { "cell_type": "markdown", - "id": "b8779b45", + "id": "d0f6c898", "metadata": {}, "source": [ "Let’s try to understand how prices will evolve using a 45-degree diagram, which is a tool for studying one-dimensional dynamics.\n", @@ -328,7 +328,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1985afe3", + "id": "31cd0d07", "metadata": { "hide-output": false }, @@ -408,7 +408,7 @@ }, { "cell_type": "markdown", - "id": "bb62a0f8", + "id": "dae60a96", "metadata": {}, "source": [ "Now we can set up a market and plot the 45-degree diagram." @@ -417,7 +417,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2c718a5c", + "id": "6a62365a", "metadata": { "hide-output": false }, @@ -429,7 +429,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4ae4ac66", + "id": "01e0d517", "metadata": { "hide-output": false }, @@ -440,7 +440,7 @@ }, { "cell_type": "markdown", - "id": "cdd11b6b", + "id": "8ccc9187", "metadata": {}, "source": [ "The plot shows the function $ g $ defined in [(25.3)](#equation-def-g) and the 45-degree line.\n", @@ -470,7 +470,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6e81edf1", + "id": "4bfa6d33", "metadata": { "hide-output": false }, @@ -506,7 +506,7 @@ { "cell_type": "code", "execution_count": null, - "id": "83990e9f", + "id": "bea28ef1", "metadata": { "hide-output": false }, @@ -517,7 +517,7 @@ }, { "cell_type": "markdown", - "id": "b8d63491", + "id": "598e251d", "metadata": {}, "source": [ "We see that a cycle has formed and the cycle is persistent.\n", @@ -532,7 +532,7 @@ { "cell_type": "code", "execution_count": null, - "id": "90470114", + "id": "b289134d", "metadata": { "hide-output": false }, @@ -543,7 +543,7 @@ }, { "cell_type": "markdown", - "id": "2eba9689", + "id": "79e7e61f", "metadata": {}, "source": [ "## Adaptive expectations\n", @@ -593,7 +593,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d1661e79", + "id": "9c2be63d", "metadata": { "hide-output": false }, @@ -609,7 +609,7 @@ }, { "cell_type": "markdown", - "id": "c09aa827", + "id": "84f4c00c", "metadata": {}, "source": [ "The function below plots price dynamics under adaptive expectations for different values of $ \\alpha $." @@ -618,7 +618,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d4c8445d", + "id": "fbfa50be", "metadata": { "hide-output": false }, @@ -643,7 +643,7 @@ }, { "cell_type": "markdown", - "id": "d21acda0", + "id": "4906d94f", "metadata": {}, "source": [ "Let’s call the function with prices starting at $ p_0 = 5 $." @@ -652,7 +652,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d05d4744", + "id": "810f5754", "metadata": { "hide-output": false }, @@ -663,7 +663,7 @@ }, { "cell_type": "markdown", - "id": "729f3be8", + "id": "fe75fbb2", "metadata": {}, "source": [ "Note that if $ \\alpha=1 $, then adaptive expectations are just naive expectation.\n", @@ -676,7 +676,7 @@ }, { "cell_type": "markdown", - "id": "0260c3b9", + "id": "e74dd36d", "metadata": {}, "source": [ "## Exercises" @@ -684,7 +684,7 @@ }, { "cell_type": "markdown", - "id": "9529333b", + "id": "089294aa", "metadata": {}, "source": [ "## Exercise 25.1\n", @@ -696,7 +696,7 @@ }, { "cell_type": "markdown", - "id": "db26f4a1", + "id": "09c52612", "metadata": {}, "source": [ "## Solution to[ Exercise 25.1](https://intro.quantecon.org/#cobweb_ex1)" @@ -705,7 +705,7 @@ { "cell_type": "code", "execution_count": null, - "id": "977b2fbc", + "id": "2767c8d7", "metadata": { "hide-output": false }, @@ -743,7 +743,7 @@ { "cell_type": "code", "execution_count": null, - "id": "572abcd4", + "id": "fc65b200", "metadata": { "hide-output": false }, @@ -755,7 +755,7 @@ }, { "cell_type": "markdown", - "id": "1ad135b6", + "id": "1dceb335", "metadata": {}, "source": [ "## Exercise 25.2\n", @@ -779,7 +779,7 @@ }, { "cell_type": "markdown", - "id": "d279f9f1", + "id": "87393e42", "metadata": {}, "source": [ "## Solution to[ Exercise 25.2](https://intro.quantecon.org/#cobweb_ex2)" @@ -788,7 +788,7 @@ { "cell_type": "code", "execution_count": null, - "id": "24b9ba06", + "id": "618ba6cf", "metadata": { "hide-output": false }, @@ -805,7 +805,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f94b0c4b", + "id": "16281bcc", "metadata": { "hide-output": false }, @@ -839,7 +839,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a80f0d6c", + "id": "d249766f", "metadata": { "hide-output": false }, @@ -855,7 +855,7 @@ } ], "metadata": { - "date": 1722488540.3524177, + "date": 1722502936.44491, "filename": "cobweb.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/commod_price.ipynb b/_notebooks/commod_price.ipynb index 0d675a77..4629c1ce 100644 --- a/_notebooks/commod_price.ipynb +++ b/_notebooks/commod_price.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "62365158", + "id": "81ea97e1", "metadata": {}, "source": [ "# Commodity Prices" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "ed67b1d7", + "id": "aa3205ef", "metadata": {}, "source": [ "## Outline\n", @@ -39,7 +39,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c5888916", + "id": "6a229a34", "metadata": { "hide-output": false }, @@ -50,7 +50,7 @@ }, { "cell_type": "markdown", - "id": "8f1d6eb8", + "id": "b07fe538", "metadata": {}, "source": [ "We will use the following imports" @@ -59,7 +59,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e718a2b9", + "id": "6fad21fb", "metadata": { "hide-output": false }, @@ -75,7 +75,7 @@ }, { "cell_type": "markdown", - "id": "303981a1", + "id": "0f9c60c8", "metadata": {}, "source": [ "## Data\n", @@ -86,7 +86,7 @@ { "cell_type": "code", "execution_count": null, - "id": "53c36de3", + "id": "918c98e2", "metadata": { "hide-output": false }, @@ -98,7 +98,7 @@ { "cell_type": "code", "execution_count": null, - "id": "899eeab3", + "id": "17529a78", "metadata": { "hide-output": false }, @@ -115,7 +115,7 @@ }, { "cell_type": "markdown", - "id": "b47aaa7e", + "id": "f44a09f3", "metadata": {}, "source": [ "The figure shows surprisingly large movements in the price of cotton.\n", @@ -143,7 +143,7 @@ }, { "cell_type": "markdown", - "id": "dc6413b5", + "id": "58df301d", "metadata": {}, "source": [ "## The competitive storage model\n", @@ -175,7 +175,7 @@ }, { "cell_type": "markdown", - "id": "f3224ba3", + "id": "2ba18780", "metadata": {}, "source": [ "## The model\n", @@ -206,7 +206,7 @@ }, { "cell_type": "markdown", - "id": "678ad48c", + "id": "bf10e6ed", "metadata": {}, "source": [ "## Equilibrium\n", @@ -216,7 +216,7 @@ }, { "cell_type": "markdown", - "id": "39592ad5", + "id": "5f911bc8", "metadata": {}, "source": [ "### Equilibrium conditions\n", @@ -278,7 +278,7 @@ }, { "cell_type": "markdown", - "id": "baf81f41", + "id": "0bd93214", "metadata": {}, "source": [ "### An equilibrium function\n", @@ -362,7 +362,7 @@ }, { "cell_type": "markdown", - "id": "8ab9f776", + "id": "10ef058d", "metadata": {}, "source": [ "### Computing the equilibrium\n", @@ -423,7 +423,7 @@ }, { "cell_type": "markdown", - "id": "aaa8ed27", + "id": "4d8efdfd", "metadata": {}, "source": [ "## Code\n", @@ -439,7 +439,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1ba091b3", + "id": "2e25bad5", "metadata": { "hide-output": false }, @@ -497,7 +497,7 @@ }, { "cell_type": "markdown", - "id": "f2eb6a43", + "id": "468d5b48", "metadata": {}, "source": [ "The figure above shows the inverse demand curve $ P $, which is also $ p_0 $, as\n", @@ -510,7 +510,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7696960a", + "id": "1a3de444", "metadata": { "hide-output": false }, @@ -542,7 +542,7 @@ } ], "metadata": { - "date": 1722488540.3877714, + "date": 1722502936.4786136, "filename": "commod_price.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/complex_and_trig.ipynb b/_notebooks/complex_and_trig.ipynb index f6509a8b..38933b70 100644 --- a/_notebooks/complex_and_trig.ipynb +++ b/_notebooks/complex_and_trig.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "13f04665", + "id": "e8da3dfb", "metadata": {}, "source": [ "\n", @@ -13,7 +13,7 @@ }, { "cell_type": "markdown", - "id": "d3b3943f", + "id": "eb0d18cb", "metadata": {}, "source": [ "# Complex Numbers and Trigonometry" @@ -21,7 +21,7 @@ }, { "cell_type": "markdown", - "id": "235a2122", + "id": "894db063", "metadata": {}, "source": [ "## Overview\n", @@ -45,7 +45,7 @@ }, { "cell_type": "markdown", - "id": "3d46c47a", + "id": "08fa2357", "metadata": {}, "source": [ "### Complex Numbers\n", @@ -105,7 +105,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bda61c0c", + "id": "721a2cbb", "metadata": { "hide-output": false }, @@ -120,7 +120,7 @@ }, { "cell_type": "markdown", - "id": "6815b9ad", + "id": "532be2c3", "metadata": {}, "source": [ "### An Example\n", @@ -139,7 +139,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cdfbb05c", + "id": "8fe43e64", "metadata": { "hide-output": false }, @@ -186,7 +186,7 @@ }, { "cell_type": "markdown", - "id": "7f2840e7", + "id": "515c7312", "metadata": {}, "source": [ "## De Moivre’s Theorem\n", @@ -210,7 +210,7 @@ }, { "cell_type": "markdown", - "id": "eba3f38e", + "id": "bd8096c3", "metadata": {}, "source": [ "## Applications of de Moivre’s Theorem" @@ -218,7 +218,7 @@ }, { "cell_type": "markdown", - "id": "0bedd838", + "id": "8edc83d9", "metadata": {}, "source": [ "### Example 1\n", @@ -249,7 +249,7 @@ }, { "cell_type": "markdown", - "id": "1ff7c410", + "id": "ccab1d35", "metadata": {}, "source": [ "### Example 2\n", @@ -281,7 +281,7 @@ }, { "cell_type": "markdown", - "id": "a79ec05e", + "id": "94fe815d", "metadata": {}, "source": [ "### Example 3\n", @@ -353,7 +353,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f218ccf1", + "id": "376d41be", "metadata": { "hide-output": false }, @@ -384,7 +384,7 @@ }, { "cell_type": "markdown", - "id": "2e6ad09c", + "id": "2b4552d7", "metadata": {}, "source": [ "Using the code above, we compute that\n", @@ -397,7 +397,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21497bf3", + "id": "9fd97a90", "metadata": { "hide-output": false }, @@ -437,7 +437,7 @@ }, { "cell_type": "markdown", - "id": "ab478238", + "id": "bc4ad024", "metadata": {}, "source": [ "### Trigonometric Identities\n", @@ -496,7 +496,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c0239668", + "id": "4a272b7a", "metadata": { "hide-output": false }, @@ -514,7 +514,7 @@ }, { "cell_type": "markdown", - "id": "bf8fbf64", + "id": "79d7ef5c", "metadata": {}, "source": [ "### Trigonometric Integrals\n", @@ -571,7 +571,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e4f477ce", + "id": "dd5293a9", "metadata": { "hide-output": false }, @@ -588,7 +588,7 @@ { "cell_type": "code", "execution_count": null, - "id": "accbeda4", + "id": "cc4a20d1", "metadata": { "hide-output": false }, @@ -601,7 +601,7 @@ }, { "cell_type": "markdown", - "id": "f292edf8", + "id": "33156647", "metadata": {}, "source": [ "### Exercises" @@ -609,7 +609,7 @@ }, { "cell_type": "markdown", - "id": "37b64d01", + "id": "42af81dc", "metadata": {}, "source": [ "### Exercise 9.1\n", @@ -627,7 +627,7 @@ }, { "cell_type": "markdown", - "id": "6e71ab5e", + "id": "c623768c", "metadata": {}, "source": [ "### Solution to[ Exercise 9.1](https://intro.quantecon.org/#complex_ex1)\n", @@ -638,7 +638,7 @@ { "cell_type": "code", "execution_count": null, - "id": "899870bf", + "id": "829fc0f8", "metadata": { "hide-output": false }, @@ -651,7 +651,7 @@ { "cell_type": "code", "execution_count": null, - "id": "37a5ebad", + "id": "c9b92b8c", "metadata": { "hide-output": false }, @@ -666,7 +666,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a1e5d8cc", + "id": "d53fc628", "metadata": { "hide-output": false }, @@ -680,7 +680,7 @@ } ], "metadata": { - "date": 1722488540.4080875, + "date": 1722502936.4996426, "filename": "complex_and_trig.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/cons_smooth.ipynb b/_notebooks/cons_smooth.ipynb index 3e78808a..268104dd 100644 --- a/_notebooks/cons_smooth.ipynb +++ b/_notebooks/cons_smooth.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "feae4c4f", + "id": "6d0a82be", "metadata": {}, "source": [ "# Consumption Smoothing" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "481bb7b9", + "id": "e73d1b0a", "metadata": {}, "source": [ "## Overview\n", @@ -37,7 +37,7 @@ }, { "cell_type": "markdown", - "id": "87324459", + "id": "b4c83bef", "metadata": {}, "source": [ "## Analysis\n", @@ -48,7 +48,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1627655a", + "id": "e91ad807", "metadata": { "hide-output": false }, @@ -61,7 +61,7 @@ }, { "cell_type": "markdown", - "id": "ff92b0ce", + "id": "e48cfbaa", "metadata": {}, "source": [ "The model describes a consumer who lives from time $ t=0, 1, \\ldots, T $, receives a stream $ \\{y_t\\}_{t=0}^T $ of non-financial income and chooses a consumption stream $ \\{c_t\\}_{t=0}^T $.\n", @@ -156,7 +156,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e8da7104", + "id": "c3e96349", "metadata": { "hide-output": false }, @@ -174,7 +174,7 @@ }, { "cell_type": "markdown", - "id": "28eaae22", + "id": "292beca7", "metadata": {}, "source": [ "## Friedman-Hall consumption-smoothing model\n", @@ -230,7 +230,7 @@ }, { "cell_type": "markdown", - "id": "c141efb6", + "id": "1c681c94", "metadata": {}, "source": [ "## Mechanics of Consumption smoothing model\n", @@ -242,7 +242,7 @@ }, { "cell_type": "markdown", - "id": "7c9c714d", + "id": "18c963d0", "metadata": {}, "source": [ "### Step 1\n", @@ -257,7 +257,7 @@ }, { "cell_type": "markdown", - "id": "43826f73", + "id": "f9799ca0", "metadata": {}, "source": [ "### Step 2\n", @@ -271,7 +271,7 @@ }, { "cell_type": "markdown", - "id": "fdde160e", + "id": "0019e382", "metadata": {}, "source": [ "### Step 3\n", @@ -317,7 +317,7 @@ { "cell_type": "code", "execution_count": null, - "id": "693923c8", + "id": "59e77eea", "metadata": { "hide-output": false }, @@ -346,7 +346,7 @@ }, { "cell_type": "markdown", - "id": "84ba3ac4", + "id": "0392b413", "metadata": {}, "source": [ "We use an example where the consumer inherits $ a_0<0 $.\n", @@ -361,7 +361,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8981ef0a", + "id": "80d942df", "metadata": { "hide-output": false }, @@ -382,7 +382,7 @@ }, { "cell_type": "markdown", - "id": "7a5c4705", + "id": "32a26c78", "metadata": {}, "source": [ "The graphs below show paths of non-financial income, consumption, and financial assets." @@ -391,7 +391,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4d376506", + "id": "c2642e41", "metadata": { "hide-output": false }, @@ -413,7 +413,7 @@ }, { "cell_type": "markdown", - "id": "6e26321d", + "id": "8768ffed", "metadata": {}, "source": [ "Note that $ a_{T+1} = 0 $, as anticipated.\n", @@ -424,7 +424,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8993483d", + "id": "76ca2157", "metadata": { "hide-output": false }, @@ -441,7 +441,7 @@ }, { "cell_type": "markdown", - "id": "8c3505b3", + "id": "0afe91dd", "metadata": {}, "source": [ "### Experiments\n", @@ -456,7 +456,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d8c84074", + "id": "d4c30faa", "metadata": { "hide-output": false }, @@ -487,7 +487,7 @@ }, { "cell_type": "markdown", - "id": "2fb26701", + "id": "c7066b6e", "metadata": {}, "source": [ "In the experiments below, please study how consumption and financial asset sequences vary accross different sequences for non-financial income." @@ -495,7 +495,7 @@ }, { "cell_type": "markdown", - "id": "cfa2d7c2", + "id": "1230d88b", "metadata": {}, "source": [ "#### Experiment 1: one-time gain/loss\n", @@ -508,7 +508,7 @@ { "cell_type": "code", "execution_count": null, - "id": "17631b70", + "id": "f66c3d13", "metadata": { "hide-output": false }, @@ -523,7 +523,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0f190caa", + "id": "aa166ca2", "metadata": { "hide-output": false }, @@ -537,7 +537,7 @@ }, { "cell_type": "markdown", - "id": "ffd8f4c0", + "id": "3a9efed5", "metadata": {}, "source": [ "#### Experiment 2: permanent wage gain/loss\n", @@ -550,7 +550,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e34fff4a", + "id": "a32bf584", "metadata": { "hide-output": false }, @@ -566,7 +566,7 @@ { "cell_type": "code", "execution_count": null, - "id": "be526567", + "id": "4c656482", "metadata": { "hide-output": false }, @@ -581,7 +581,7 @@ }, { "cell_type": "markdown", - "id": "287c6613", + "id": "8cac126e", "metadata": {}, "source": [ "#### Experiment 3: a late starter\n", @@ -592,7 +592,7 @@ { "cell_type": "code", "execution_count": null, - "id": "43b9ed71", + "id": "703e84aa", "metadata": { "hide-output": false }, @@ -607,7 +607,7 @@ }, { "cell_type": "markdown", - "id": "c0720e05", + "id": "894de8ea", "metadata": {}, "source": [ "#### Experiment 4: geometric earner\n", @@ -620,7 +620,7 @@ { "cell_type": "code", "execution_count": null, - "id": "886b3428", + "id": "35638fe6", "metadata": { "hide-output": false }, @@ -641,7 +641,7 @@ }, { "cell_type": "markdown", - "id": "dc60f740", + "id": "53bc84a5", "metadata": {}, "source": [ "Now we show the behavior when $ \\lambda = 0.95 $" @@ -650,7 +650,7 @@ { "cell_type": "code", "execution_count": null, - "id": "17842830", + "id": "1e3970b2", "metadata": { "hide-output": false }, @@ -667,7 +667,7 @@ }, { "cell_type": "markdown", - "id": "3ae8705e", + "id": "090b5e77", "metadata": {}, "source": [ "What happens when $ \\lambda $ is negative" @@ -676,7 +676,7 @@ { "cell_type": "code", "execution_count": null, - "id": "be7ebce8", + "id": "e683811b", "metadata": { "hide-output": false }, @@ -693,7 +693,7 @@ }, { "cell_type": "markdown", - "id": "fc70ca53", + "id": "525b617d", "metadata": {}, "source": [ "### Feasible consumption variations\n", @@ -770,7 +770,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a8016547", + "id": "76f0092c", "metadata": { "hide-output": false }, @@ -793,7 +793,7 @@ }, { "cell_type": "markdown", - "id": "987bc68e", + "id": "05940ebc", "metadata": {}, "source": [ "We visualize variations for $ \\xi_1 \\in \\{.01, .05\\} $ and $ \\phi \\in \\{.95, 1.02\\} $" @@ -802,7 +802,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5d96198c", + "id": "e2c38987", "metadata": { "hide-output": false }, @@ -843,7 +843,7 @@ }, { "cell_type": "markdown", - "id": "dca53a7f", + "id": "eb1d29aa", "metadata": {}, "source": [ "We can even use the Python `np.gradient` command to compute derivatives of welfare with respect to our two parameters.\n", @@ -856,7 +856,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a6aac391", + "id": "b3993cea", "metadata": { "hide-output": false }, @@ -880,7 +880,7 @@ }, { "cell_type": "markdown", - "id": "ff4c085c", + "id": "14f44306", "metadata": {}, "source": [ "Then we can visualize the relationship between welfare and $ \\xi_1 $ and compute its derivatives" @@ -889,7 +889,7 @@ { "cell_type": "code", "execution_count": null, - "id": "96d84b01", + "id": "88e8fc07", "metadata": { "hide-output": false }, @@ -912,7 +912,7 @@ }, { "cell_type": "markdown", - "id": "071ba5f5", + "id": "6f9422ee", "metadata": {}, "source": [ "The same can be done on $ \\phi $" @@ -921,7 +921,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b769d419", + "id": "d8e667c0", "metadata": { "hide-output": false }, @@ -944,7 +944,7 @@ }, { "cell_type": "markdown", - "id": "cee05487", + "id": "aac8ca2c", "metadata": {}, "source": [ "## Wrapping up the consumption-smoothing model\n", @@ -961,7 +961,7 @@ }, { "cell_type": "markdown", - "id": "de9d6575", + "id": "852fa06d", "metadata": {}, "source": [ "## Appendix: solving difference equations with linear algebra\n", @@ -980,7 +980,7 @@ }, { "cell_type": "markdown", - "id": "fbc5a78e", + "id": "d651734d", "metadata": {}, "source": [ "### First-order difference equation\n", @@ -1038,7 +1038,7 @@ }, { "cell_type": "markdown", - "id": "bdffdbf6", + "id": "0bac4098", "metadata": {}, "source": [ "### Exercise 12.1\n", @@ -1060,7 +1060,7 @@ }, { "cell_type": "markdown", - "id": "600c7e55", + "id": "633b151f", "metadata": {}, "source": [ "### Second order difference equation\n", @@ -1097,7 +1097,7 @@ }, { "cell_type": "markdown", - "id": "6cd6bf27", + "id": "1c9b873e", "metadata": {}, "source": [ "### Exercise 12.2\n", @@ -1108,7 +1108,7 @@ } ], "metadata": { - "date": 1722488540.4470646, + "date": 1722502936.5417886, "filename": "cons_smooth.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/eigen_I.ipynb b/_notebooks/eigen_I.ipynb index 32086ead..e6d643f9 100644 --- a/_notebooks/eigen_I.ipynb +++ b/_notebooks/eigen_I.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "675dc728", + "id": "c1faf63c", "metadata": {}, "source": [ "\n", @@ -11,7 +11,7 @@ }, { "cell_type": "markdown", - "id": "94c95745", + "id": "2ca781c7", "metadata": {}, "source": [ "# Eigenvalues and Eigenvectors\n", @@ -22,7 +22,7 @@ }, { "cell_type": "markdown", - "id": "3575e304", + "id": "3ba8da8b", "metadata": {}, "source": [ "## Overview\n", @@ -49,7 +49,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e7e9bbf9", + "id": "441d3f13", "metadata": { "hide-output": false }, @@ -65,7 +65,7 @@ }, { "cell_type": "markdown", - "id": "5665cd74", + "id": "4f83fc68", "metadata": {}, "source": [ "\n", @@ -74,7 +74,7 @@ }, { "cell_type": "markdown", - "id": "0ef0fe95", + "id": "feb7cf44", "metadata": {}, "source": [ "## Matrices as transformations\n", @@ -84,7 +84,7 @@ }, { "cell_type": "markdown", - "id": "b7e27714", + "id": "ed05eb46", "metadata": {}, "source": [ "### Mapping vectors to vectors\n", @@ -116,7 +116,7 @@ }, { "cell_type": "markdown", - "id": "de8bb8d5", + "id": "e3c4ac0a", "metadata": {}, "source": [ "### Square matrices\n", @@ -164,7 +164,7 @@ { "cell_type": "code", "execution_count": null, - "id": "58eb3e21", + "id": "13da4ca5", "metadata": { "hide-output": false }, @@ -177,7 +177,7 @@ { "cell_type": "code", "execution_count": null, - "id": "87646095", + "id": "770289b5", "metadata": { "hide-output": false }, @@ -224,7 +224,7 @@ }, { "cell_type": "markdown", - "id": "e0642904", + "id": "be513e61", "metadata": {}, "source": [ "One way to understand this transformation is that $ A $\n", @@ -235,7 +235,7 @@ }, { "cell_type": "markdown", - "id": "ffe2ccac", + "id": "1fc1488c", "metadata": {}, "source": [ "## Types of transformations\n", @@ -259,7 +259,7 @@ { "cell_type": "code", "execution_count": null, - "id": "43a87187", + "id": "29aa79a2", "metadata": { "hide-output": false }, @@ -355,7 +355,7 @@ }, { "cell_type": "markdown", - "id": "c5ef960e", + "id": "80b2cc37", "metadata": {}, "source": [ "### Scaling\n", @@ -378,7 +378,7 @@ { "cell_type": "code", "execution_count": null, - "id": "79ae7797", + "id": "7e54b6e4", "metadata": { "hide-output": false }, @@ -392,7 +392,7 @@ }, { "cell_type": "markdown", - "id": "e542bb67", + "id": "6b106f5e", "metadata": {}, "source": [ "### Shearing\n", @@ -413,7 +413,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5109bce2", + "id": "6ca929b5", "metadata": { "hide-output": false }, @@ -427,7 +427,7 @@ }, { "cell_type": "markdown", - "id": "e2724277", + "id": "56483350", "metadata": {}, "source": [ "### Rotation\n", @@ -449,7 +449,7 @@ { "cell_type": "code", "execution_count": null, - "id": "74d71025", + "id": "a09c535a", "metadata": { "hide-output": false }, @@ -463,7 +463,7 @@ }, { "cell_type": "markdown", - "id": "e66edf9b", + "id": "af7923c7", "metadata": {}, "source": [ "### Permutation\n", @@ -483,7 +483,7 @@ { "cell_type": "code", "execution_count": null, - "id": "58b75b33", + "id": "266ed220", "metadata": { "hide-output": false }, @@ -495,7 +495,7 @@ }, { "cell_type": "markdown", - "id": "c9ba0ece", + "id": "77de7ae9", "metadata": {}, "source": [ "More examples of common transition matrices can be found [here](https://en.wikipedia.org/wiki/Transformation_matrix#Examples_in_2_dimensions)." @@ -503,7 +503,7 @@ }, { "cell_type": "markdown", - "id": "eac9902a", + "id": "8cdbd165", "metadata": {}, "source": [ "## Matrix multiplication as composition\n", @@ -514,7 +514,7 @@ }, { "cell_type": "markdown", - "id": "95982d37", + "id": "8ea4e1c6", "metadata": {}, "source": [ "### Linear compositions\n", @@ -645,7 +645,7 @@ }, { "cell_type": "markdown", - "id": "01650d6a", + "id": "34dd75f2", "metadata": {}, "source": [ "### Examples\n", @@ -661,7 +661,7 @@ { "cell_type": "code", "execution_count": null, - "id": "de1fd77a", + "id": "571b2b3d", "metadata": { "hide-output": false }, @@ -706,7 +706,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6792373d", + "id": "d58bfa9f", "metadata": { "hide-output": false }, @@ -720,7 +720,7 @@ }, { "cell_type": "markdown", - "id": "8a4197a2", + "id": "bcb39c2d", "metadata": {}, "source": [ "#### Shear then rotate" @@ -729,7 +729,7 @@ { "cell_type": "code", "execution_count": null, - "id": "653b4dce", + "id": "0a828899", "metadata": { "hide-output": false }, @@ -740,7 +740,7 @@ }, { "cell_type": "markdown", - "id": "f0c05b6d", + "id": "6b1a861f", "metadata": {}, "source": [ "#### Rotate then shear" @@ -749,7 +749,7 @@ { "cell_type": "code", "execution_count": null, - "id": "837d1bb0", + "id": "b72f4870", "metadata": { "hide-output": false }, @@ -760,7 +760,7 @@ }, { "cell_type": "markdown", - "id": "f1a7ae5b", + "id": "4858c9af", "metadata": {}, "source": [ "It is evident that the transformation $ AB $ is not the same as the transformation $ BA $." @@ -768,7 +768,7 @@ }, { "cell_type": "markdown", - "id": "cbb9eaf6", + "id": "4c56267d", "metadata": {}, "source": [ "## Iterating on a fixed map\n", @@ -795,7 +795,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e1d3da19", + "id": "9e33240a", "metadata": { "hide-output": false }, @@ -848,7 +848,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b60d410c", + "id": "18674493", "metadata": { "hide-output": false }, @@ -865,7 +865,7 @@ }, { "cell_type": "markdown", - "id": "806982f8", + "id": "859d55c4", "metadata": {}, "source": [ "Here with each iteration the vectors get shorter, i.e., move closer to the origin.\n", @@ -876,7 +876,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f8b359b4", + "id": "43b274b9", "metadata": { "hide-output": false }, @@ -893,7 +893,7 @@ }, { "cell_type": "markdown", - "id": "bd78ebe2", + "id": "73c0698f", "metadata": {}, "source": [ "Here with each iteration vectors do not tend to get longer or shorter.\n", @@ -905,7 +905,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d801ca1a", + "id": "1cfff9d3", "metadata": { "hide-output": false }, @@ -922,7 +922,7 @@ }, { "cell_type": "markdown", - "id": "78361b2f", + "id": "91a3c7e2", "metadata": {}, "source": [ "Here with each iteration vectors tend to get longer, i.e., farther from the\n", @@ -940,7 +940,7 @@ }, { "cell_type": "markdown", - "id": "fa548969", + "id": "23c51aa6", "metadata": {}, "source": [ "## Eigenvalues\n", @@ -952,7 +952,7 @@ }, { "cell_type": "markdown", - "id": "bd3b9b9a", + "id": "2150188a", "metadata": {}, "source": [ "### Definitions\n", @@ -979,7 +979,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8ea7cac4", + "id": "bc026373", "metadata": { "hide-output": false }, @@ -1033,7 +1033,7 @@ }, { "cell_type": "markdown", - "id": "16814aeb", + "id": "0e5c21ad", "metadata": {}, "source": [ "### Complex values\n", @@ -1053,7 +1053,7 @@ }, { "cell_type": "markdown", - "id": "27ed457e", + "id": "8af754bc", "metadata": {}, "source": [ "### Some mathematical details\n", @@ -1080,7 +1080,7 @@ }, { "cell_type": "markdown", - "id": "b3019d7b", + "id": "d2038674", "metadata": {}, "source": [ "### Facts\n", @@ -1098,7 +1098,7 @@ }, { "cell_type": "markdown", - "id": "a95e6fe7", + "id": "f73741b9", "metadata": {}, "source": [ "### Computation\n", @@ -1109,7 +1109,7 @@ { "cell_type": "code", "execution_count": null, - "id": "54acd8c9", + "id": "62df8ccd", "metadata": { "hide-output": false }, @@ -1128,7 +1128,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a527d8f9", + "id": "9ebc0937", "metadata": { "hide-output": false }, @@ -1139,7 +1139,7 @@ }, { "cell_type": "markdown", - "id": "376c343d", + "id": "ba2977f2", "metadata": {}, "source": [ "Note that the *columns* of `evecs` are the eigenvectors.\n", @@ -1158,7 +1158,7 @@ }, { "cell_type": "markdown", - "id": "ee1d6118", + "id": "10c696d9", "metadata": {}, "source": [ "## The Neumann Series Lemma\n", @@ -1171,7 +1171,7 @@ }, { "cell_type": "markdown", - "id": "343c67f5", + "id": "e6fb681f", "metadata": {}, "source": [ "### Scalar series\n", @@ -1195,7 +1195,7 @@ }, { "cell_type": "markdown", - "id": "0c14b695", + "id": "4829d9ba", "metadata": {}, "source": [ "### Matrix series\n", @@ -1225,7 +1225,7 @@ }, { "cell_type": "markdown", - "id": "f568176f", + "id": "5f7687f8", "metadata": {}, "source": [ "### (Neumann Series Lemma)\n", @@ -1250,7 +1250,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8a25b2a7", + "id": "ff28a6df", "metadata": { "hide-output": false }, @@ -1267,7 +1267,7 @@ }, { "cell_type": "markdown", - "id": "009f113c", + "id": "5ad2729a", "metadata": {}, "source": [ "The spectral radius $ r(A) $ obtained is less than 1.\n", @@ -1278,7 +1278,7 @@ { "cell_type": "code", "execution_count": null, - "id": "543b3b14", + "id": "65057385", "metadata": { "hide-output": false }, @@ -1291,7 +1291,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d5ef013c", + "id": "3e3b002e", "metadata": { "hide-output": false }, @@ -1303,7 +1303,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9afbc46b", + "id": "115755f2", "metadata": { "hide-output": false }, @@ -1318,7 +1318,7 @@ }, { "cell_type": "markdown", - "id": "6ba10c34", + "id": "c5b77706", "metadata": {}, "source": [ "Let’s check equality between the sum and the inverse methods." @@ -1327,7 +1327,7 @@ { "cell_type": "code", "execution_count": null, - "id": "33c22ce7", + "id": "86e91817", "metadata": { "hide-output": false }, @@ -1338,7 +1338,7 @@ }, { "cell_type": "markdown", - "id": "03925292", + "id": "ceedaf6b", "metadata": {}, "source": [ "Although we truncate the infinite sum at $ k = 50 $, both methods give us the same\n", @@ -1347,7 +1347,7 @@ }, { "cell_type": "markdown", - "id": "e27cd312", + "id": "f4c49369", "metadata": {}, "source": [ "## Exercises" @@ -1355,7 +1355,7 @@ }, { "cell_type": "markdown", - "id": "dd190d14", + "id": "2895a5b7", "metadata": {}, "source": [ "## Exercise 16.1\n", @@ -1377,7 +1377,7 @@ }, { "cell_type": "markdown", - "id": "24958eab", + "id": "763fd61b", "metadata": {}, "source": [ "## Solution to[ Exercise 16.1](https://intro.quantecon.org/#eig1_ex1)\n", @@ -1390,7 +1390,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ded852f6", + "id": "a8a41bd4", "metadata": { "hide-output": false }, @@ -1438,7 +1438,7 @@ }, { "cell_type": "markdown", - "id": "94d3f64b", + "id": "cbccce1a", "metadata": {}, "source": [ "Then we can look at the trajectory of the eigenvector approximation." @@ -1447,7 +1447,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c15ee0a4", + "id": "f3c1d9bf", "metadata": { "hide-output": false }, @@ -1485,7 +1485,7 @@ }, { "cell_type": "markdown", - "id": "0500a847", + "id": "b026cea9", "metadata": {}, "source": [ "## Exercise 16.2\n", @@ -1499,7 +1499,7 @@ }, { "cell_type": "markdown", - "id": "5485b329", + "id": "7950313d", "metadata": {}, "source": [ "## Solution to[ Exercise 16.2](https://intro.quantecon.org/#eig1_ex2)" @@ -1508,7 +1508,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c6139cb9", + "id": "89c80669", "metadata": { "hide-output": false }, @@ -1530,7 +1530,7 @@ }, { "cell_type": "markdown", - "id": "00abd4fe", + "id": "d3d77343", "metadata": {}, "source": [ "The result seems to converge to the eigenvector of $ A $ with the largest eigenvalue.\n", @@ -1543,7 +1543,7 @@ { "cell_type": "code", "execution_count": null, - "id": "55d5be43", + "id": "4f8aef09", "metadata": { "hide-output": false }, @@ -1587,7 +1587,7 @@ }, { "cell_type": "markdown", - "id": "6c8853fe", + "id": "abaa1f85", "metadata": {}, "source": [ "Note that the vector field converges to the eigenvector of $ A $ with the largest eigenvalue and diverges from the eigenvector of $ A $ with the smallest eigenvalue.\n", @@ -1601,7 +1601,7 @@ }, { "cell_type": "markdown", - "id": "195152ae", + "id": "8dfd40b6", "metadata": {}, "source": [ "## Exercise 16.3\n", @@ -1613,7 +1613,7 @@ }, { "cell_type": "markdown", - "id": "2775e7f9", + "id": "a3ff4b4b", "metadata": {}, "source": [ "## Solution to[ Exercise 16.3](https://intro.quantecon.org/#eig1_ex3)\n", @@ -1624,7 +1624,7 @@ { "cell_type": "code", "execution_count": null, - "id": "be55502d", + "id": "074ccaf1", "metadata": { "hide-output": false }, @@ -1693,7 +1693,7 @@ }, { "cell_type": "markdown", - "id": "5ad06ac8", + "id": "8cc1a610", "metadata": {}, "source": [ "The vector fields explain why we observed the trajectories of the vector $ v $ multiplied by $ A $ iteratively before.\n", @@ -1706,7 +1706,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f185d9de", + "id": "46c3aa60", "metadata": { "hide-output": false }, @@ -1770,7 +1770,7 @@ } ], "metadata": { - "date": 1722488540.4917877, + "date": 1722502936.5894413, "filename": "eigen_I.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/eigen_II.ipynb b/_notebooks/eigen_II.ipynb index cba71291..98a48d5f 100644 --- a/_notebooks/eigen_II.ipynb +++ b/_notebooks/eigen_II.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "f479ef44", + "id": "6ab3973b", "metadata": {}, "source": [ "# The Perron-Frobenius Theorem\n", @@ -15,7 +15,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f32d2a0d", + "id": "85829dad", "metadata": { "hide-output": false }, @@ -26,7 +26,7 @@ }, { "cell_type": "markdown", - "id": "e1ed34b5", + "id": "d11d2543", "metadata": {}, "source": [ "In this lecture we will begin with the foundational concepts in spectral theory.\n", @@ -39,7 +39,7 @@ { "cell_type": "code", "execution_count": null, - "id": "27f8f97f", + "id": "4ad49ab5", "metadata": { "hide-output": false }, @@ -53,7 +53,7 @@ }, { "cell_type": "markdown", - "id": "9b682b84", + "id": "f1ddba40", "metadata": {}, "source": [ "## Nonnegative matrices\n", @@ -76,7 +76,7 @@ }, { "cell_type": "markdown", - "id": "f20e7bf3", + "id": "563edbd2", "metadata": {}, "source": [ "### Irreducible matrices\n", @@ -125,7 +125,7 @@ }, { "cell_type": "markdown", - "id": "419b8ae9", + "id": "4be9379a", "metadata": {}, "source": [ "### Left eigenvectors\n", @@ -154,7 +154,7 @@ { "cell_type": "code", "execution_count": null, - "id": "32b2b158", + "id": "6988d268", "metadata": { "hide-output": false }, @@ -179,7 +179,7 @@ }, { "cell_type": "markdown", - "id": "eadf5d58", + "id": "15505d38", "metadata": {}, "source": [ "We can also use `scipy.linalg.eig` with argument `left=True` to find left eigenvectors directly" @@ -188,7 +188,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c5d6451b", + "id": "22e4009d", "metadata": { "hide-output": false }, @@ -203,7 +203,7 @@ }, { "cell_type": "markdown", - "id": "10a20456", + "id": "01004480", "metadata": {}, "source": [ "The eigenvalues are the same while the eigenvectors themselves are different.\n", @@ -220,7 +220,7 @@ }, { "cell_type": "markdown", - "id": "9a304c05", + "id": "dc688a7c", "metadata": {}, "source": [ "### The Perron-Frobenius theorem\n", @@ -234,7 +234,7 @@ }, { "cell_type": "markdown", - "id": "806e83bf", + "id": "41d16edf", "metadata": {}, "source": [ "### (Perron-Frobenius Theorem)\n", @@ -266,7 +266,7 @@ }, { "cell_type": "markdown", - "id": "b3a589a6", + "id": "2815635b", "metadata": {}, "source": [ "#### Example: Irreducible matrix\n", @@ -277,7 +277,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6304e4fa", + "id": "a934bc70", "metadata": { "hide-output": false }, @@ -290,7 +290,7 @@ }, { "cell_type": "markdown", - "id": "09ea5b35", + "id": "c889adcc", "metadata": {}, "source": [ "We can compute the dominant eigenvalue and the corresponding eigenvector" @@ -299,7 +299,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3231a186", + "id": "2ae6b2f6", "metadata": { "hide-output": false }, @@ -310,7 +310,7 @@ }, { "cell_type": "markdown", - "id": "1cb55e8f", + "id": "d7514919", "metadata": {}, "source": [ "Now we can see the claims of the Perron-Frobenius Theorem holds for the irreducible matrix $ A $:\n", @@ -328,7 +328,7 @@ }, { "cell_type": "markdown", - "id": "81b4ac22", + "id": "5a5d15ce", "metadata": {}, "source": [ "### Primitive matrices\n", @@ -370,7 +370,7 @@ }, { "cell_type": "markdown", - "id": "ae474303", + "id": "b79a2099", "metadata": {}, "source": [ "### (Continous of Perron-Frobenius Theorem)\n", @@ -384,7 +384,7 @@ }, { "cell_type": "markdown", - "id": "a6486c6c", + "id": "59340d7d", "metadata": {}, "source": [ "#### Example 1: Primitive matrix\n", @@ -395,7 +395,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6e03eab3", + "id": "68aea8e1", "metadata": { "hide-output": false }, @@ -410,7 +410,7 @@ }, { "cell_type": "markdown", - "id": "41806651", + "id": "a302ff45", "metadata": {}, "source": [ "We compute the dominant eigenvalue and the corresponding eigenvector" @@ -419,7 +419,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b2a2a1f0", + "id": "52d9d8bc", "metadata": { "hide-output": false }, @@ -430,7 +430,7 @@ }, { "cell_type": "markdown", - "id": "665b2c72", + "id": "cb7f14bb", "metadata": {}, "source": [ "Now let’s give some examples to see if the claims of the Perron-Frobenius Theorem hold for the primitive matrix $ B $:\n", @@ -449,7 +449,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2be77de1", + "id": "080b5802", "metadata": { "hide-output": false }, @@ -521,7 +521,7 @@ }, { "cell_type": "markdown", - "id": "4507eadf", + "id": "e8b137b0", "metadata": {}, "source": [ "The convergence is not observed in cases of non-primitive matrices.\n", @@ -532,7 +532,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7935b39d", + "id": "5ddd4636", "metadata": { "hide-output": false }, @@ -553,7 +553,7 @@ }, { "cell_type": "markdown", - "id": "abd9c1d2", + "id": "701a184c", "metadata": {}, "source": [ "The result shows that the matrix is not primitive as it is not everywhere positive.\n", @@ -568,7 +568,7 @@ }, { "cell_type": "markdown", - "id": "e071056c", + "id": "0f74cdc5", "metadata": {}, "source": [ "#### Example 2: Connection to Markov chains\n", @@ -583,7 +583,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1c5c4934", + "id": "b108de77", "metadata": { "hide-output": false }, @@ -599,7 +599,7 @@ { "cell_type": "code", "execution_count": null, - "id": "47b201eb", + "id": "4ac3a294", "metadata": { "hide-output": false }, @@ -613,7 +613,7 @@ { "cell_type": "code", "execution_count": null, - "id": "87243e62", + "id": "aad7736f", "metadata": { "hide-output": false }, @@ -629,7 +629,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6f1c23c1", + "id": "f9339688", "metadata": { "hide-output": false }, @@ -642,7 +642,7 @@ }, { "cell_type": "markdown", - "id": "d541f581", + "id": "0f9e97ac", "metadata": {}, "source": [ "We can also verify other properties hinted by Perron-Frobenius in these stochastic matrices.\n", @@ -691,7 +691,7 @@ }, { "cell_type": "markdown", - "id": "983c4ca2", + "id": "e78a95f0", "metadata": {}, "source": [ "## Exercises" @@ -699,7 +699,7 @@ }, { "cell_type": "markdown", - "id": "6d53452a", + "id": "c8dd3d48", "metadata": {}, "source": [ "## (Leontief’s Input-Output Model)Exercise 39.1\n", @@ -766,7 +766,7 @@ }, { "cell_type": "markdown", - "id": "d654de6f", + "id": "72bae54d", "metadata": {}, "source": [ "## Solution to[ Exercise 39.1 (Leontief’s Input-Output Model)](https://intro.quantecon.org/#eig_ex1)" @@ -775,7 +775,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9f5a0e58", + "id": "0f3362df", "metadata": { "hide-output": false }, @@ -793,7 +793,7 @@ }, { "cell_type": "markdown", - "id": "79589beb", + "id": "2b7a76d4", "metadata": {}, "source": [ "Since we have $ r(A) < 1 $ we can thus find the solution using the Neumann Series Lemma." @@ -802,7 +802,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d0f4dcf9", + "id": "3d25ea93", "metadata": { "hide-output": false }, @@ -821,7 +821,7 @@ } ], "metadata": { - "date": 1722488540.5245233, + "date": 1722502936.6237442, "filename": "eigen_II.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/equalizing_difference.ipynb b/_notebooks/equalizing_difference.ipynb index 43733bf6..ad7b203d 100644 --- a/_notebooks/equalizing_difference.ipynb +++ b/_notebooks/equalizing_difference.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "53808b57", + "id": "8f7fdf0c", "metadata": {}, "source": [ "# Equalizing Difference Model" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "5828fae5", + "id": "5f5d784a", "metadata": {}, "source": [ "## Overview\n", @@ -49,7 +49,7 @@ { "cell_type": "code", "execution_count": null, - "id": "923b782d", + "id": "0a2a6b09", "metadata": { "hide-output": false }, @@ -63,7 +63,7 @@ }, { "cell_type": "markdown", - "id": "15211e0b", + "id": "956f2294", "metadata": {}, "source": [ "## The indifference condition\n", @@ -93,7 +93,7 @@ }, { "cell_type": "markdown", - "id": "691db277", + "id": "43509612", "metadata": {}, "source": [ "### Present value of a high school educated worker\n", @@ -115,7 +115,7 @@ }, { "cell_type": "markdown", - "id": "520d9e50", + "id": "b4b39140", "metadata": {}, "source": [ "### Present value of a college-bound new high school graduate\n", @@ -190,7 +190,7 @@ }, { "cell_type": "markdown", - "id": "39eecef1", + "id": "70edff4f", "metadata": {}, "source": [ "## Computations\n", @@ -204,7 +204,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f5676c7e", + "id": "b11c0304", "metadata": { "hide-output": false }, @@ -235,7 +235,7 @@ }, { "cell_type": "markdown", - "id": "d125b2f3", + "id": "633c0636", "metadata": {}, "source": [ "Using vectorization instead of loops,\n", @@ -249,7 +249,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5b1fe7a1", + "id": "0ed802d0", "metadata": { "hide-output": false }, @@ -263,7 +263,7 @@ }, { "cell_type": "markdown", - "id": "25f7669b", + "id": "c7c4022d", "metadata": {}, "source": [ "Let’s not charge for college and recompute $ \\phi $.\n", @@ -274,7 +274,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ba14ec21", + "id": "febd467a", "metadata": { "hide-output": false }, @@ -288,7 +288,7 @@ }, { "cell_type": "markdown", - "id": "f0408bee", + "id": "5f83d43c", "metadata": {}, "source": [ "Let us construct some graphs that show us how the initial college-high-school wage ratio $ \\phi $ would change if one of its determinants were to change.\n", @@ -299,7 +299,7 @@ { "cell_type": "code", "execution_count": null, - "id": "128c8687", + "id": "0d27be7c", "metadata": { "hide-output": false }, @@ -317,7 +317,7 @@ }, { "cell_type": "markdown", - "id": "b6ea2d7f", + "id": "0617c0fb", "metadata": {}, "source": [ "Evidently, the initial wage ratio $ \\phi $ must rise to compensate a prospective high school student for **waiting** to start receiving income – remember that while she is earning nothing in years $ t=0, 1, 2, 3 $, the high school worker is earning a salary.\n", @@ -329,7 +329,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cc1583c6", + "id": "9d552e6b", "metadata": { "hide-output": false }, @@ -347,7 +347,7 @@ }, { "cell_type": "markdown", - "id": "10cddb84", + "id": "431bcfbd", "metadata": {}, "source": [ "Notice how the initial wage gap falls when the rate of growth $ \\gamma_c $ of college wages rises.\n", @@ -362,7 +362,7 @@ { "cell_type": "code", "execution_count": null, - "id": "41a681a7", + "id": "ee87244d", "metadata": { "hide-output": false }, @@ -380,7 +380,7 @@ }, { "cell_type": "markdown", - "id": "d4a3f7f4", + "id": "76b086d4", "metadata": {}, "source": [ "## Entrepreneur-worker interpretation\n", @@ -413,7 +413,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d7f3615f", + "id": "56ca298c", "metadata": { "hide-output": false }, @@ -449,7 +449,7 @@ }, { "cell_type": "markdown", - "id": "439d7504", + "id": "cc40b2b7", "metadata": {}, "source": [ "If the probability that a new business succeeds is $ 0.2 $, let’s compute the initial wage premium for successful entrepreneurs." @@ -458,7 +458,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ec0f45de", + "id": "e9ac66db", "metadata": { "hide-output": false }, @@ -472,7 +472,7 @@ }, { "cell_type": "markdown", - "id": "9344015e", + "id": "f472c19d", "metadata": {}, "source": [ "Now let’s study how the initial wage premium for successful entrepreneurs depend on the success probability." @@ -481,7 +481,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ae8c8412", + "id": "fd5302a4", "metadata": { "hide-output": false }, @@ -499,7 +499,7 @@ }, { "cell_type": "markdown", - "id": "3bf3baf3", + "id": "120aa9ba", "metadata": {}, "source": [ "Does the graph make sense to you?" @@ -507,7 +507,7 @@ }, { "cell_type": "markdown", - "id": "caa52367", + "id": "84cef0dd", "metadata": {}, "source": [ "## An application of calculus\n", @@ -530,7 +530,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e346b7a2", + "id": "3f706f93", "metadata": { "hide-output": false }, @@ -542,7 +542,7 @@ }, { "cell_type": "markdown", - "id": "cf0a6563", + "id": "94f74588", "metadata": {}, "source": [ "Define function $ A_h $" @@ -551,7 +551,7 @@ { "cell_type": "code", "execution_count": null, - "id": "024b1cfa", + "id": "ca107a89", "metadata": { "hide-output": false }, @@ -563,7 +563,7 @@ }, { "cell_type": "markdown", - "id": "c586a846", + "id": "245998de", "metadata": {}, "source": [ "Define function $ A_c $" @@ -572,7 +572,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f344664e", + "id": "85d02a7d", "metadata": { "hide-output": false }, @@ -584,7 +584,7 @@ }, { "cell_type": "markdown", - "id": "ee1b63ba", + "id": "2172f551", "metadata": {}, "source": [ "Now, define $ \\phi $" @@ -593,7 +593,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5ec6554e", + "id": "6cda6dcb", "metadata": { "hide-output": false }, @@ -605,7 +605,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7f76365a", + "id": "43e13658", "metadata": { "hide-output": false }, @@ -616,7 +616,7 @@ }, { "cell_type": "markdown", - "id": "c7e69d23", + "id": "827a99d1", "metadata": {}, "source": [ "We begin by setting default parameter values." @@ -625,7 +625,7 @@ { "cell_type": "code", "execution_count": null, - "id": "afcff83d", + "id": "d0f6e83b", "metadata": { "hide-output": false }, @@ -640,7 +640,7 @@ }, { "cell_type": "markdown", - "id": "4de79721", + "id": "906a0f98", "metadata": {}, "source": [ "Now let’s compute $ \\frac{\\partial \\phi}{\\partial D} $ and then evaluate it at the default values" @@ -649,7 +649,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d6a671a8", + "id": "d20adc70", "metadata": { "hide-output": false }, @@ -662,7 +662,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fafa3467", + "id": "5cae019e", "metadata": { "hide-output": false }, @@ -675,7 +675,7 @@ }, { "cell_type": "markdown", - "id": "3ffe2d8d", + "id": "9be7bd89", "metadata": {}, "source": [ "Thus, as with our earlier graph, we find that raising $ R $ increases the initial college wage premium $ \\phi $.\n", @@ -686,7 +686,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d13a02f6", + "id": "c01e3735", "metadata": { "hide-output": false }, @@ -699,7 +699,7 @@ { "cell_type": "code", "execution_count": null, - "id": "88900be5", + "id": "84a15c1b", "metadata": { "hide-output": false }, @@ -712,7 +712,7 @@ }, { "cell_type": "markdown", - "id": "4f385574", + "id": "0678aa91", "metadata": {}, "source": [ "We find that raising $ T $ decreases the initial college wage premium $ \\phi $.\n", @@ -725,7 +725,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7235bd7c", + "id": "60adcc6a", "metadata": { "hide-output": false }, @@ -738,7 +738,7 @@ { "cell_type": "code", "execution_count": null, - "id": "73ef7891", + "id": "50c707d0", "metadata": { "hide-output": false }, @@ -751,7 +751,7 @@ }, { "cell_type": "markdown", - "id": "7e4d2fb0", + "id": "065c5d80", "metadata": {}, "source": [ "We find that raising $ \\gamma_h $ increases the initial college wage premium $ \\phi $, in line with our earlier graphical analysis.\n", @@ -762,7 +762,7 @@ { "cell_type": "code", "execution_count": null, - "id": "296697ea", + "id": "57e40a35", "metadata": { "hide-output": false }, @@ -775,7 +775,7 @@ { "cell_type": "code", "execution_count": null, - "id": "07667567", + "id": "d2908501", "metadata": { "hide-output": false }, @@ -788,7 +788,7 @@ }, { "cell_type": "markdown", - "id": "e11775a5", + "id": "e43a1c1b", "metadata": {}, "source": [ "We find that raising $ \\gamma_c $ decreases the initial college wage premium $ \\phi $, in line with our earlier graphical analysis.\n", @@ -799,7 +799,7 @@ { "cell_type": "code", "execution_count": null, - "id": "216c3ec0", + "id": "fd83dbde", "metadata": { "hide-output": false }, @@ -812,7 +812,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8a167ccc", + "id": "03a22ca5", "metadata": { "hide-output": false }, @@ -825,7 +825,7 @@ }, { "cell_type": "markdown", - "id": "1d46d9c5", + "id": "b012a97a", "metadata": {}, "source": [ "We find that raising the gross interest rate $ R $ increases the initial college wage premium $ \\phi $, in line with our earlier graphical analysis." @@ -833,7 +833,7 @@ } ], "metadata": { - "date": 1722488540.5540674, + "date": 1722502937.0598662, "filename": "equalizing_difference.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/french_rev.ipynb b/_notebooks/french_rev.ipynb index 8aa5ad77..8d9fc426 100644 --- a/_notebooks/french_rev.ipynb +++ b/_notebooks/french_rev.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "71a1e48d", + "id": "cb3e4d42", "metadata": {}, "source": [ "# Inflation During French Revolution" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "40b0beb7", + "id": "e51c4823", "metadata": {}, "source": [ "## Overview\n", @@ -47,7 +47,7 @@ }, { "cell_type": "markdown", - "id": "b1e92b4c", + "id": "eab081ee", "metadata": {}, "source": [ "## Data Sources\n", @@ -62,7 +62,7 @@ { "cell_type": "code", "execution_count": null, - "id": "15022a76", + "id": "a45e7bb4", "metadata": { "hide-output": false }, @@ -83,7 +83,7 @@ }, { "cell_type": "markdown", - "id": "214bf708", + "id": "b35fda65", "metadata": {}, "source": [ "## Government Expenditures and Taxes Collected\n", @@ -94,7 +94,7 @@ { "cell_type": "code", "execution_count": null, - "id": "83ed0ecf", + "id": "cced3b6f", "metadata": { "hide-output": false }, @@ -131,7 +131,7 @@ }, { "cell_type": "markdown", - "id": "3cda636c", + "id": "b67f126e", "metadata": {}, "source": [ "During the 18th century, Britain and France fought four large wars.\n", @@ -151,7 +151,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e3a91131", + "id": "15cafb68", "metadata": { "hide-output": false }, @@ -188,7 +188,7 @@ }, { "cell_type": "markdown", - "id": "d0bfdc76", + "id": "e1537136", "metadata": {}, "source": [ "Figures Fig. 5.2 and Fig. 5.4 summarize British and French government fiscal policies during the century before the start the French Revolution in 1789.\n", @@ -237,7 +237,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d0a247f8", + "id": "abef069c", "metadata": { "hide-output": false }, @@ -274,7 +274,7 @@ }, { "cell_type": "markdown", - "id": "0c580819", + "id": "82e6a00b", "metadata": {}, "source": [ "Figure Fig. 5.3 shows that interest payments on government debt (i.e., so-called ‘‘debt service’’) were high fractions of government tax revenues in both Great Britain and France.\n", @@ -288,7 +288,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f8bbdc3b", + "id": "48755cdd", "metadata": { "hide-output": false }, @@ -304,7 +304,7 @@ { "cell_type": "code", "execution_count": null, - "id": "56c8e3c5", + "id": "3e75e27a", "metadata": { "hide-output": false }, @@ -336,7 +336,7 @@ }, { "cell_type": "markdown", - "id": "385b063c", + "id": "a1829781", "metadata": {}, "source": [ "Fig. 5.4 shows that in 1788 on the eve of the French Revolution government expenditures exceeded tax revenues.\n", @@ -382,7 +382,7 @@ }, { "cell_type": "markdown", - "id": "82fac168", + "id": "7189a591", "metadata": {}, "source": [ "## Nationalization, Privatization, Debt Reduction\n", @@ -455,7 +455,7 @@ }, { "cell_type": "markdown", - "id": "bd7143ec", + "id": "72aff03a", "metadata": {}, "source": [ "## Remaking the tax code and tax administration\n", @@ -481,7 +481,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bf5808bc", + "id": "43e0e6f2", "metadata": { "hide-output": false }, @@ -508,7 +508,7 @@ }, { "cell_type": "markdown", - "id": "d6dd03bd", + "id": "4b7a03f2", "metadata": {}, "source": [ "According to Fig. 5.5, tax revenues per capita did not rise to their pre 1789 levels\n", @@ -525,7 +525,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f003e348", + "id": "640df46c", "metadata": { "hide-output": false }, @@ -567,7 +567,7 @@ }, { "cell_type": "markdown", - "id": "1ccf1c0e", + "id": "bf5a1d66", "metadata": {}, "source": [ "To cover the disrepancies between government expenditures and tax revenues revealed in Fig. 5.6, the French revolutionaries printed paper money and spent it.\n", @@ -579,7 +579,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b68264a1", + "id": "a816f392", "metadata": { "hide-output": false }, @@ -612,7 +612,7 @@ }, { "cell_type": "markdown", - "id": "645e725a", + "id": "ad03f9cd", "metadata": {}, "source": [ "Fig. 5.7 compares the revenues raised by printing money from 1789 to 1796 with tax revenues that the Ancient Regime had raised in 1788.\n", @@ -652,7 +652,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cec7a82a", + "id": "c2c8d9af", "metadata": { "hide-output": false }, @@ -692,7 +692,7 @@ }, { "cell_type": "markdown", - "id": "9fa5a883", + "id": "e63daf34", "metadata": {}, "source": [ "We have partioned Fig. 5.8 that shows the log of the price level and Fig. 5.9\n", @@ -730,7 +730,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fc1d246e", + "id": "0bad050c", "metadata": { "hide-output": false }, @@ -775,7 +775,7 @@ }, { "cell_type": "markdown", - "id": "9a76d3c9", + "id": "84f59bc9", "metadata": {}, "source": [ "The three clouds of points in Figure\n", @@ -794,7 +794,7 @@ { "cell_type": "code", "execution_count": null, - "id": "de11301a", + "id": "078c2fca", "metadata": { "hide-output": false }, @@ -811,7 +811,7 @@ { "cell_type": "code", "execution_count": null, - "id": "428591d1", + "id": "e75d1eca", "metadata": { "hide-output": false }, @@ -829,7 +829,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c9b9fa3f", + "id": "dc777b39", "metadata": { "hide-output": false }, @@ -849,7 +849,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0770afdd", + "id": "4085472d", "metadata": { "hide-output": false }, @@ -880,7 +880,7 @@ }, { "cell_type": "markdown", - "id": "da96b353", + "id": "9669f768", "metadata": {}, "source": [ "The three clouds of points in Figure\n", @@ -901,7 +901,7 @@ { "cell_type": "code", "execution_count": null, - "id": "27c8eee2", + "id": "5a2af802", "metadata": { "hide-output": false }, @@ -921,7 +921,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c155eaab", + "id": "c24cd741", "metadata": { "hide-output": false }, @@ -950,7 +950,7 @@ }, { "cell_type": "markdown", - "id": "34b9fc18", + "id": "71af6ab2", "metadata": {}, "source": [ "Now let’s regress inflation on real balances during the **real bills** period and plot the regression\n", @@ -960,7 +960,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7b48b525", + "id": "6e5a0d66", "metadata": { "hide-output": false }, @@ -992,7 +992,7 @@ }, { "cell_type": "markdown", - "id": "466f3ce8", + "id": "26f6badf", "metadata": {}, "source": [ "The regression line in Fig. 5.12 shows that large increases in real balances of\n", @@ -1013,7 +1013,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3f372629", + "id": "14ee824a", "metadata": { "hide-output": false }, @@ -1045,7 +1045,7 @@ }, { "cell_type": "markdown", - "id": "5806c717", + "id": "0220e5fb", "metadata": {}, "source": [ "The regression line in Fig. 5.13 shows that large increases in real balances of\n", @@ -1066,7 +1066,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d9d87ac8", + "id": "3aee8fd4", "metadata": { "hide-output": false }, @@ -1098,7 +1098,7 @@ }, { "cell_type": "markdown", - "id": "b66cbb85", + "id": "46de2b81", "metadata": {}, "source": [ "Fig. 5.14 shows the results of regressing inflation on real balances during the\n", @@ -1108,7 +1108,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2c206a5e", + "id": "8a8471aa", "metadata": { "hide-output": false }, @@ -1140,7 +1140,7 @@ }, { "cell_type": "markdown", - "id": "9e6f39d0", + "id": "3aebd906", "metadata": {}, "source": [ "Fig. 5.14 shows the results of regressing real balances on inflation during the\n", @@ -1149,7 +1149,7 @@ } ], "metadata": { - "date": 1722488541.1360345, + "date": 1722502937.474606, "filename": "french_rev.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/geom_series.ipynb b/_notebooks/geom_series.ipynb index c4a2d4ce..048b8a1d 100644 --- a/_notebooks/geom_series.ipynb +++ b/_notebooks/geom_series.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "44356fbb", + "id": "4ac0b3bf", "metadata": {}, "source": [ "\n", @@ -19,7 +19,7 @@ }, { "cell_type": "markdown", - "id": "aebea892", + "id": "90f6adc5", "metadata": {}, "source": [ "# Geometric Series for Elementary Economics" @@ -27,7 +27,7 @@ }, { "cell_type": "markdown", - "id": "b4126040", + "id": "63205d89", "metadata": {}, "source": [ "## Overview\n", @@ -55,7 +55,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c0dc7668", + "id": "03105150", "metadata": { "hide-output": false }, @@ -71,7 +71,7 @@ }, { "cell_type": "markdown", - "id": "0947a420", + "id": "0d4782ee", "metadata": {}, "source": [ "## Key formulas\n", @@ -90,7 +90,7 @@ }, { "cell_type": "markdown", - "id": "dd4070ba", + "id": "904cb8d7", "metadata": {}, "source": [ "### Infinite geometric series\n", @@ -118,7 +118,7 @@ }, { "cell_type": "markdown", - "id": "21e3ec47", + "id": "a40b33a0", "metadata": {}, "source": [ "### Finite geometric series\n", @@ -147,7 +147,7 @@ }, { "cell_type": "markdown", - "id": "5f234d40", + "id": "4478f213", "metadata": {}, "source": [ "## Example: The Money Multiplier in Fractional Reserve Banking\n", @@ -184,7 +184,7 @@ }, { "cell_type": "markdown", - "id": "aeb15c66", + "id": "0eb4c77d", "metadata": {}, "source": [ "### A simple model\n", @@ -298,7 +298,7 @@ }, { "cell_type": "markdown", - "id": "952b7619", + "id": "478c0309", "metadata": {}, "source": [ "### Money multiplier\n", @@ -318,7 +318,7 @@ }, { "cell_type": "markdown", - "id": "1f5a2be4", + "id": "82b37340", "metadata": {}, "source": [ "## Example: The Keynesian Multiplier\n", @@ -336,7 +336,7 @@ }, { "cell_type": "markdown", - "id": "2f1b38f0", + "id": "5a004484", "metadata": {}, "source": [ "### Static version\n", @@ -405,7 +405,7 @@ }, { "cell_type": "markdown", - "id": "a3850038", + "id": "b09f2953", "metadata": {}, "source": [ "### Dynamic version\n", @@ -508,7 +508,7 @@ }, { "cell_type": "markdown", - "id": "46d87b11", + "id": "785989c4", "metadata": {}, "source": [ "## Example: Interest Rates and Present Values\n", @@ -580,7 +580,7 @@ }, { "cell_type": "markdown", - "id": "1dbbb39f", + "id": "1d1c9ad9", "metadata": {}, "source": [ "### Accumulation\n", @@ -612,7 +612,7 @@ }, { "cell_type": "markdown", - "id": "a6f06121", + "id": "7feaeaef", "metadata": {}, "source": [ "### Discounting\n", @@ -636,7 +636,7 @@ }, { "cell_type": "markdown", - "id": "0530a156", + "id": "0182f4fb", "metadata": {}, "source": [ "### Application to asset pricing\n", @@ -754,7 +754,7 @@ { "cell_type": "code", "execution_count": null, - "id": "29e768f3", + "id": "c29d9a7c", "metadata": { "hide-output": false }, @@ -784,7 +784,7 @@ }, { "cell_type": "markdown", - "id": "29b7cc84", + "id": "98a22b9f", "metadata": {}, "source": [ "Now that we have defined our functions, we can plot some outcomes.\n", @@ -795,7 +795,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c4a13d22", + "id": "0d6c3f68", "metadata": { "hide-output": false }, @@ -828,7 +828,7 @@ }, { "cell_type": "markdown", - "id": "d3a676a1", + "id": "6c16fd52", "metadata": {}, "source": [ "Evidently our approximations perform well for small values of $ T $.\n", @@ -842,7 +842,7 @@ { "cell_type": "code", "execution_count": null, - "id": "874b9b0c", + "id": "81826b2e", "metadata": { "hide-output": false }, @@ -864,7 +864,7 @@ }, { "cell_type": "markdown", - "id": "10072b76", + "id": "d9d0891b", "metadata": {}, "source": [ "The graph above shows how as duration $ T \\rightarrow +\\infty $,\n", @@ -878,7 +878,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9a69cbbe", + "id": "1d972fb0", "metadata": { "hide-output": false }, @@ -903,7 +903,7 @@ }, { "cell_type": "markdown", - "id": "4f441fd7", + "id": "864852c3", "metadata": {}, "source": [ "This graph gives a big hint for why the condition $ r > g $ is\n", @@ -920,7 +920,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d756bb82", + "id": "de9c6944", "metadata": { "hide-output": false }, @@ -951,7 +951,7 @@ }, { "cell_type": "markdown", - "id": "c1240334", + "id": "2cf2562e", "metadata": {}, "source": [ "We can use a little calculus to study how the present value $ p_0 $\n", @@ -971,7 +971,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a6ab1db5", + "id": "730a09eb", "metadata": { "hide-output": false }, @@ -990,7 +990,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d53e1575", + "id": "5e6917a4", "metadata": { "hide-output": false }, @@ -1004,7 +1004,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5d818cc9", + "id": "91ca68d8", "metadata": { "hide-output": false }, @@ -1017,7 +1017,7 @@ }, { "cell_type": "markdown", - "id": "62760dee", + "id": "833de307", "metadata": {}, "source": [ "We can see that for $ \\frac{\\partial p_0}{\\partial r}<0 $ as long as\n", @@ -1030,7 +1030,7 @@ }, { "cell_type": "markdown", - "id": "71d558ec", + "id": "1f905f15", "metadata": {}, "source": [ "## Back to the Keynesian multiplier\n", @@ -1043,7 +1043,7 @@ { "cell_type": "code", "execution_count": null, - "id": "85652f0b", + "id": "7d1c849c", "metadata": { "hide-output": false }, @@ -1076,7 +1076,7 @@ }, { "cell_type": "markdown", - "id": "29884a9b", + "id": "f7d559bb", "metadata": {}, "source": [ "In this model, income grows over time, until it gradually converges to\n", @@ -1090,7 +1090,7 @@ { "cell_type": "code", "execution_count": null, - "id": "47f6ee43", + "id": "27751301", "metadata": { "hide-output": false }, @@ -1111,7 +1111,7 @@ }, { "cell_type": "markdown", - "id": "0ee0887c", + "id": "10e82103", "metadata": {}, "source": [ "Increasing the marginal propensity to consume $ b $ increases the\n", @@ -1123,7 +1123,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8fa4b75c", + "id": "a9ecd458", "metadata": { "hide-output": false }, @@ -1154,7 +1154,7 @@ }, { "cell_type": "markdown", - "id": "10a3e248", + "id": "e0e0c6c7", "metadata": {}, "source": [ "Notice here, whether government spending increases from 0.3 to 0.4 or\n", @@ -1164,7 +1164,7 @@ } ], "metadata": { - "date": 1722488541.1764092, + "date": 1722502937.5146832, "filename": "geom_series.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/greek_square.ipynb b/_notebooks/greek_square.ipynb index 115cccbb..422fffa4 100644 --- a/_notebooks/greek_square.ipynb +++ b/_notebooks/greek_square.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "890e87b4", + "id": "dd8e4c3b", "metadata": {}, "source": [ "# Computing Square Roots" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "23dfc0ee", + "id": "95e0bb2f", "metadata": {}, "source": [ "## Introduction\n", @@ -29,7 +29,7 @@ }, { "cell_type": "markdown", - "id": "0e61c368", + "id": "e4e41be3", "metadata": {}, "source": [ "## Perfect squares and irrational numbers\n", @@ -60,7 +60,7 @@ }, { "cell_type": "markdown", - "id": "3b2e2bac", + "id": "781c46d4", "metadata": {}, "source": [ "## Second-order linear difference equations\n", @@ -204,7 +204,7 @@ }, { "cell_type": "markdown", - "id": "ac9264a1", + "id": "7395b269", "metadata": {}, "source": [ "## Algorithm of the Ancient Greeks\n", @@ -362,7 +362,7 @@ }, { "cell_type": "markdown", - "id": "7800cd2c", + "id": "1b87a793", "metadata": {}, "source": [ "## Implementation\n", @@ -375,7 +375,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c146cfc8", + "id": "e882ea83", "metadata": { "hide-output": false }, @@ -388,7 +388,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b8aa82ff", + "id": "b584b6f9", "metadata": { "hide-output": false }, @@ -448,7 +448,7 @@ }, { "cell_type": "markdown", - "id": "e419fa1f", + "id": "e7716079", "metadata": {}, "source": [ "Now we consider cases where $ (\\eta_1, \\eta_2) = (0, 1) $ and $ (\\eta_1, \\eta_2) = (1, 0) $" @@ -457,7 +457,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8282190e", + "id": "f1aacdc9", "metadata": { "hide-output": false }, @@ -471,7 +471,7 @@ { "cell_type": "code", "execution_count": null, - "id": "22da9685", + "id": "4c9d686d", "metadata": { "hide-output": false }, @@ -490,7 +490,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a0910980", + "id": "bac5e6a0", "metadata": { "hide-output": false }, @@ -505,7 +505,7 @@ }, { "cell_type": "markdown", - "id": "b70c591e", + "id": "c784ec8c", "metadata": {}, "source": [ "We find that convergence is immediate.\n", @@ -515,7 +515,7 @@ }, { "cell_type": "markdown", - "id": "146ab1ca", + "id": "07f8232e", "metadata": {}, "source": [ "## Vectorizing the difference equation\n", @@ -565,7 +565,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0750fc4c", + "id": "44ce1279", "metadata": { "hide-output": false }, @@ -606,7 +606,7 @@ }, { "cell_type": "markdown", - "id": "d7ffd487", + "id": "b40f0d4b", "metadata": {}, "source": [ "Let’s compare the eigenvalues to the roots [(17.15)](#equation-eq-secretweapon) of equation\n", @@ -616,7 +616,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1b3e32be", + "id": "bad42498", "metadata": { "hide-output": false }, @@ -628,7 +628,7 @@ }, { "cell_type": "markdown", - "id": "290426dd", + "id": "17bf1bb0", "metadata": {}, "source": [ "Hence we confirmed [(17.17)](#equation-eq-eigen-sqrt).\n", @@ -654,7 +654,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5517debf", + "id": "370e6aa3", "metadata": { "hide-output": false }, @@ -688,7 +688,7 @@ }, { "cell_type": "markdown", - "id": "e815c371", + "id": "1651220f", "metadata": {}, "source": [ "## Invariant subspace approach\n", @@ -785,7 +785,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fb534362", + "id": "654de831", "metadata": { "hide-output": false }, @@ -801,7 +801,7 @@ }, { "cell_type": "markdown", - "id": "3eb94a04", + "id": "7cb5f17b", "metadata": {}, "source": [ "We find $ x_{1,0}^* = 0 $.\n", @@ -812,7 +812,7 @@ { "cell_type": "code", "execution_count": null, - "id": "89620d86", + "id": "9501a885", "metadata": { "hide-output": false }, @@ -828,7 +828,7 @@ }, { "cell_type": "markdown", - "id": "f1ce0bc8", + "id": "8cda45ba", "metadata": {}, "source": [ "We find $ x_{2,0}^* = 0 $." @@ -837,7 +837,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c44fca2c", + "id": "1dd8fd8b", "metadata": { "hide-output": false }, @@ -855,7 +855,7 @@ }, { "cell_type": "markdown", - "id": "5c4842ab", + "id": "288321ae", "metadata": {}, "source": [ "The following graph shows the ratios $ y_t / y_{t-1} $ for the two cases.\n", @@ -866,7 +866,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3d9149c2", + "id": "4ca432d1", "metadata": { "hide-output": false }, @@ -903,7 +903,7 @@ }, { "cell_type": "markdown", - "id": "a783d963", + "id": "89cd387d", "metadata": {}, "source": [ "## Concluding remarks\n", @@ -918,7 +918,7 @@ } ], "metadata": { - "date": 1722488541.206275, + "date": 1722502937.543686, "filename": "greek_square.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/heavy_tails.ipynb b/_notebooks/heavy_tails.ipynb index 2a721b57..c076b3e2 100644 --- a/_notebooks/heavy_tails.ipynb +++ b/_notebooks/heavy_tails.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "5093485a", + "id": "ec2426a3", "metadata": {}, "source": [ "\n", @@ -11,7 +11,7 @@ }, { "cell_type": "markdown", - "id": "bf14a8f6", + "id": "4181d80b", "metadata": {}, "source": [ "# Heavy-Tailed Distributions\n", @@ -22,7 +22,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a31cb534", + "id": "77c35cbf", "metadata": { "hide-output": false }, @@ -33,7 +33,7 @@ }, { "cell_type": "markdown", - "id": "9e4d4aae", + "id": "5ec153ac", "metadata": {}, "source": [ "We use the following imports." @@ -42,7 +42,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0a9af33c", + "id": "6aeeff7f", "metadata": { "hide-output": false }, @@ -62,7 +62,7 @@ }, { "cell_type": "markdown", - "id": "282080e5", + "id": "38e3f387", "metadata": {}, "source": [ "## Overview\n", @@ -81,7 +81,7 @@ }, { "cell_type": "markdown", - "id": "9a50370c", + "id": "5b172d04", "metadata": {}, "source": [ "### Introduction: light tails\n", @@ -113,7 +113,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e19e86b5", + "id": "aa78f01f", "metadata": { "hide-output": false }, @@ -130,7 +130,7 @@ }, { "cell_type": "markdown", - "id": "3d0b1ebf", + "id": "7a3877f6", "metadata": {}, "source": [ "Notice how\n", @@ -145,7 +145,7 @@ { "cell_type": "code", "execution_count": null, - "id": "30a5421d", + "id": "b6696a91", "metadata": { "hide-output": false }, @@ -156,7 +156,7 @@ }, { "cell_type": "markdown", - "id": "6afb02e1", + "id": "d109d349", "metadata": {}, "source": [ "Here’s another view of draws from the same distribution:" @@ -165,7 +165,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a842b179", + "id": "a88212f7", "metadata": { "hide-output": false }, @@ -184,7 +184,7 @@ }, { "cell_type": "markdown", - "id": "01f2b4a0", + "id": "b781d932", "metadata": {}, "source": [ "We have plotted each individual draw $ X_i $ against $ i $.\n", @@ -208,7 +208,7 @@ }, { "cell_type": "markdown", - "id": "cc1893c4", + "id": "47562683", "metadata": {}, "source": [ "### When are light tails valid?\n", @@ -237,7 +237,7 @@ }, { "cell_type": "markdown", - "id": "56df15ee", + "id": "f4f46be0", "metadata": {}, "source": [ "### Returns on assets\n", @@ -257,7 +257,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9e74a935", + "id": "7398e792", "metadata": { "hide-output": false }, @@ -269,7 +269,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3bf0bb53", + "id": "c5fbe4ee", "metadata": { "hide-output": false }, @@ -290,7 +290,7 @@ }, { "cell_type": "markdown", - "id": "4276571d", + "id": "9a926686", "metadata": {}, "source": [ "This data looks different to the draws from the normal distribution we saw above.\n", @@ -303,7 +303,7 @@ { "cell_type": "code", "execution_count": null, - "id": "28c32969", + "id": "6c636d3f", "metadata": { "hide-output": false }, @@ -315,7 +315,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e8dcd6dd", + "id": "ca070d0a", "metadata": { "hide-output": false }, @@ -336,7 +336,7 @@ }, { "cell_type": "markdown", - "id": "c8121b87", + "id": "0b2da196", "metadata": {}, "source": [ "The histogram also looks different to the histogram of the normal\n", @@ -346,7 +346,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b3bf519b", + "id": "243ce6c6", "metadata": { "hide-output": false }, @@ -370,7 +370,7 @@ }, { "cell_type": "markdown", - "id": "957b5554", + "id": "f2d09128", "metadata": {}, "source": [ "If we look at higher frequency returns data (e.g., tick-by-tick), we often see\n", @@ -381,7 +381,7 @@ }, { "cell_type": "markdown", - "id": "b7526569", + "id": "9535ebd8", "metadata": {}, "source": [ "### Other data\n", @@ -415,7 +415,7 @@ }, { "cell_type": "markdown", - "id": "ba694af2", + "id": "ea8d2f80", "metadata": {}, "source": [ "### Why should we care?\n", @@ -437,7 +437,7 @@ }, { "cell_type": "markdown", - "id": "3f7b9956", + "id": "d0a55343", "metadata": {}, "source": [ "## Visual comparisons\n", @@ -453,7 +453,7 @@ }, { "cell_type": "markdown", - "id": "273d78c2", + "id": "1ed20d4a", "metadata": {}, "source": [ "### Simulations\n", @@ -471,7 +471,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8e168b8a", + "id": "c5248c6e", "metadata": { "hide-output": false }, @@ -507,7 +507,7 @@ }, { "cell_type": "markdown", - "id": "aa31816d", + "id": "05f36251", "metadata": {}, "source": [ "In the top subfigure, the standard deviation of the normal distribution is 2,\n", @@ -525,7 +525,7 @@ }, { "cell_type": "markdown", - "id": "0600e3da", + "id": "2ca69870", "metadata": {}, "source": [ "### Nonnegative distributions\n", @@ -542,7 +542,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7ea7858a", + "id": "47adf455", "metadata": { "hide-output": false }, @@ -563,7 +563,7 @@ }, { "cell_type": "markdown", - "id": "a0168834", + "id": "0e2259ee", "metadata": {}, "source": [ "Another nonnegative distribution is the [Pareto distribution](https://en.wikipedia.org/wiki/Pareto_distribution).\n", @@ -607,7 +607,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7b5e7f40", + "id": "b0977ce1", "metadata": { "hide-output": false }, @@ -628,7 +628,7 @@ }, { "cell_type": "markdown", - "id": "ed88d4bb", + "id": "38b562f7", "metadata": {}, "source": [ "Notice how extreme outcomes are more common." @@ -636,7 +636,7 @@ }, { "cell_type": "markdown", - "id": "a5711433", + "id": "2b9774f5", "metadata": {}, "source": [ "### Counter CDFs\n", @@ -674,7 +674,7 @@ }, { "cell_type": "markdown", - "id": "3bf31fbd", + "id": "df8ad557", "metadata": {}, "source": [ "### Exercise 21.1\n", @@ -684,7 +684,7 @@ }, { "cell_type": "markdown", - "id": "59851619", + "id": "d95542ec", "metadata": {}, "source": [ "### Solution to[ Exercise 21.1](https://intro.quantecon.org/#ht_ex_x1)\n", @@ -709,7 +709,7 @@ { "cell_type": "code", "execution_count": null, - "id": "20867bd3", + "id": "b2ce015c", "metadata": { "hide-output": false }, @@ -728,7 +728,7 @@ }, { "cell_type": "markdown", - "id": "559096d7", + "id": "4be71dbb", "metadata": {}, "source": [ "Here’s a log-log plot of the same functions, which makes visual comparison\n", @@ -738,7 +738,7 @@ { "cell_type": "code", "execution_count": null, - "id": "19b72815", + "id": "b8f922f7", "metadata": { "hide-output": false }, @@ -756,7 +756,7 @@ }, { "cell_type": "markdown", - "id": "be69477e", + "id": "a34ca344", "metadata": {}, "source": [ "In the log-log plot, the Pareto CCDF is linear, while the exponential one is\n", @@ -768,7 +768,7 @@ }, { "cell_type": "markdown", - "id": "4df00e88", + "id": "d9f420cc", "metadata": {}, "source": [ "### Empirical CCDFs\n", @@ -787,7 +787,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8518ac51", + "id": "5a3006aa", "metadata": { "hide-output": false }, @@ -800,7 +800,7 @@ }, { "cell_type": "markdown", - "id": "ee7d0cf5", + "id": "95d623eb", "metadata": {}, "source": [ "Here’s a figure containing some empirical CCDFs from simulated data." @@ -809,7 +809,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fa446359", + "id": "ab35c7c1", "metadata": { "hide-output": false }, @@ -850,7 +850,7 @@ }, { "cell_type": "markdown", - "id": "cf4607d5", + "id": "a8011d5a", "metadata": {}, "source": [ "As with the CCDF, the empirical CCDF from the Pareto distributions is\n", @@ -861,7 +861,7 @@ }, { "cell_type": "markdown", - "id": "9fbef616", + "id": "849f1f05", "metadata": {}, "source": [ "#### Q-Q Plots\n", @@ -876,7 +876,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6ec2c2a3", + "id": "dcf6d910", "metadata": { "hide-output": false }, @@ -889,7 +889,7 @@ }, { "cell_type": "markdown", - "id": "b7b308fc", + "id": "edd108fb", "metadata": {}, "source": [ "We can now compare this with the exponential, log-normal, and Pareto distributions" @@ -898,7 +898,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4d7c639a", + "id": "79faf0ce", "metadata": { "hide-output": false }, @@ -917,7 +917,7 @@ }, { "cell_type": "markdown", - "id": "4b90f06f", + "id": "832ded3f", "metadata": {}, "source": [ "### Power laws\n", @@ -958,7 +958,7 @@ }, { "cell_type": "markdown", - "id": "c1fb2cbf", + "id": "8f9225d7", "metadata": {}, "source": [ "## Heavy tails in economic cross-sections\n", @@ -979,7 +979,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3ae33eec", + "id": "d3a42a2a", "metadata": { "hide-output": false }, @@ -1045,7 +1045,7 @@ { "cell_type": "code", "execution_count": null, - "id": "55fbca04", + "id": "b36835b0", "metadata": { "hide-output": false }, @@ -1074,7 +1074,7 @@ }, { "cell_type": "markdown", - "id": "1f7fff2c", + "id": "1d63071b", "metadata": {}, "source": [ "### Firm size\n", @@ -1085,7 +1085,7 @@ { "cell_type": "code", "execution_count": null, - "id": "03d40857", + "id": "7cde5d05", "metadata": { "hide-output": false }, @@ -1105,7 +1105,7 @@ }, { "cell_type": "markdown", - "id": "949628c9", + "id": "fa6ddb37", "metadata": {}, "source": [ "### City size\n", @@ -1118,7 +1118,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6c867240", + "id": "82033118", "metadata": { "hide-output": false }, @@ -1138,7 +1138,7 @@ }, { "cell_type": "markdown", - "id": "92a3f918", + "id": "11860f4a", "metadata": {}, "source": [ "### Wealth\n", @@ -1151,7 +1151,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5d986af3", + "id": "59fab41a", "metadata": { "hide-output": false }, @@ -1184,7 +1184,7 @@ }, { "cell_type": "markdown", - "id": "ae280c9f", + "id": "7847318f", "metadata": {}, "source": [ "### GDP\n", @@ -1197,7 +1197,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cda20b1e", + "id": "2bc88c58", "metadata": { "hide-output": false }, @@ -1219,7 +1219,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4722737d", + "id": "9b52b53c", "metadata": { "hide-output": false }, @@ -1235,7 +1235,7 @@ }, { "cell_type": "markdown", - "id": "f017d0e5", + "id": "61c32b8b", "metadata": {}, "source": [ "The plot is concave rather than linear, so the distribution has light tails.\n", @@ -1248,7 +1248,7 @@ }, { "cell_type": "markdown", - "id": "176284dd", + "id": "7a245248", "metadata": {}, "source": [ "## Failure of the LLN\n", @@ -1282,7 +1282,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d13a7722", + "id": "cb45dd6d", "metadata": { "hide-output": false }, @@ -1314,7 +1314,7 @@ }, { "cell_type": "markdown", - "id": "d8c58aeb", + "id": "e5fae9f8", "metadata": {}, "source": [ "The sequence shows no sign of converging.\n", @@ -1327,7 +1327,7 @@ }, { "cell_type": "markdown", - "id": "5e086dc3", + "id": "e8834616", "metadata": {}, "source": [ "## Why do heavy tails matter?\n", @@ -1345,7 +1345,7 @@ }, { "cell_type": "markdown", - "id": "1975f931", + "id": "b1623048", "metadata": {}, "source": [ "### Diversification\n", @@ -1392,7 +1392,7 @@ }, { "cell_type": "markdown", - "id": "a87cbd7f", + "id": "16152631", "metadata": {}, "source": [ "### Fiscal policy\n", @@ -1410,7 +1410,7 @@ }, { "cell_type": "markdown", - "id": "db730ba3", + "id": "85d09048", "metadata": {}, "source": [ "## Classifying tail properties\n", @@ -1432,7 +1432,7 @@ }, { "cell_type": "markdown", - "id": "b450bf4c", + "id": "03fe4795", "metadata": {}, "source": [ "### Light and heavy tails\n", @@ -1485,7 +1485,7 @@ }, { "cell_type": "markdown", - "id": "bc75c01e", + "id": "363a42fe", "metadata": {}, "source": [ "## Further reading\n", @@ -1506,7 +1506,7 @@ }, { "cell_type": "markdown", - "id": "ec5ba42b", + "id": "cfa031b5", "metadata": {}, "source": [ "## Exercises" @@ -1514,7 +1514,7 @@ }, { "cell_type": "markdown", - "id": "f2bf0323", + "id": "b84856f0", "metadata": {}, "source": [ "## Exercise 21.2\n", @@ -1525,7 +1525,7 @@ }, { "cell_type": "markdown", - "id": "f7c877df", + "id": "ab0d06b2", "metadata": {}, "source": [ "## Solution to[ Exercise 21.2](https://intro.quantecon.org/#ht_ex2)\n", @@ -1556,7 +1556,7 @@ }, { "cell_type": "markdown", - "id": "b7084028", + "id": "134f7ef2", "metadata": {}, "source": [ "## Exercise 21.3\n", @@ -1572,7 +1572,7 @@ }, { "cell_type": "markdown", - "id": "dec370c0", + "id": "c2f9fb4f", "metadata": {}, "source": [ "## Solution to[ Exercise 21.3](https://intro.quantecon.org/#ht_ex3)" @@ -1581,7 +1581,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bbaa96d1", + "id": "8962265b", "metadata": { "hide-output": false }, @@ -1610,7 +1610,7 @@ }, { "cell_type": "markdown", - "id": "df047659", + "id": "c1890ca4", "metadata": {}, "source": [ "## Exercise 21.4\n", @@ -1672,7 +1672,7 @@ }, { "cell_type": "markdown", - "id": "420efc38", + "id": "b0f4bbe5", "metadata": {}, "source": [ "## Solution to[ Exercise 21.4](https://intro.quantecon.org/#ht_ex5)\n", @@ -1711,7 +1711,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1cb72667", + "id": "9f19b91f", "metadata": { "hide-output": false }, @@ -1736,7 +1736,7 @@ }, { "cell_type": "markdown", - "id": "34e61b16", + "id": "553e01eb", "metadata": {}, "source": [ "Let’s compute the lognormal parameters:" @@ -1745,7 +1745,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b044e246", + "id": "38daafe9", "metadata": { "hide-output": false }, @@ -1758,7 +1758,7 @@ }, { "cell_type": "markdown", - "id": "acac53b0", + "id": "b9bb2573", "metadata": {}, "source": [ "Here’s a function to compute a single estimate of tax revenue for a particular\n", @@ -1768,7 +1768,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3e90e6ca", + "id": "9e671d79", "metadata": { "hide-output": false }, @@ -1787,7 +1787,7 @@ }, { "cell_type": "markdown", - "id": "946f3638", + "id": "956753ee", "metadata": {}, "source": [ "Now let’s generate the violin plot." @@ -1796,7 +1796,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b846d4d3", + "id": "8e10afd2", "metadata": { "hide-output": false }, @@ -1823,7 +1823,7 @@ }, { "cell_type": "markdown", - "id": "e8798b78", + "id": "f4b26851", "metadata": {}, "source": [ "Finally, let’s print the means and standard deviations." @@ -1832,7 +1832,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7e9e11d4", + "id": "ca394927", "metadata": { "hide-output": false }, @@ -1844,7 +1844,7 @@ { "cell_type": "code", "execution_count": null, - "id": "af1853ba", + "id": "a526822c", "metadata": { "hide-output": false }, @@ -1855,7 +1855,7 @@ }, { "cell_type": "markdown", - "id": "76991e92", + "id": "ad277a0a", "metadata": {}, "source": [ "Looking at the output of the code, our main conclusion is that the Pareto\n", @@ -1864,7 +1864,7 @@ }, { "cell_type": "markdown", - "id": "cb8f9368", + "id": "866e2572", "metadata": {}, "source": [ "## Exercise 21.5\n", @@ -1886,7 +1886,7 @@ }, { "cell_type": "markdown", - "id": "8c68b48f", + "id": "1a29b6f8", "metadata": {}, "source": [ "## Solution to[ Exercise 21.5](https://intro.quantecon.org/#ht_ex_cauchy)\n", @@ -1912,7 +1912,7 @@ } ], "metadata": { - "date": 1722488541.271759, + "date": 1722502937.6104822, "filename": "heavy_tails.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/inequality.ipynb b/_notebooks/inequality.ipynb index 0f9bbdaf..4cc3cf51 100644 --- a/_notebooks/inequality.ipynb +++ b/_notebooks/inequality.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "83a04d00", + "id": "cc0debd9", "metadata": {}, "source": [ "# Income and Wealth Inequality" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "b599d2ab", + "id": "628c83e6", "metadata": {}, "source": [ "## Overview\n", @@ -43,7 +43,7 @@ }, { "cell_type": "markdown", - "id": "017b957f", + "id": "597105d9", "metadata": {}, "source": [ "### Some history\n", @@ -71,7 +71,7 @@ }, { "cell_type": "markdown", - "id": "67fd1fb5", + "id": "d5ebd938", "metadata": {}, "source": [ "### Measurement\n", @@ -88,7 +88,7 @@ { "cell_type": "code", "execution_count": null, - "id": "87ee96fd", + "id": "ec81a3e6", "metadata": { "hide-output": false }, @@ -99,7 +99,7 @@ }, { "cell_type": "markdown", - "id": "064fff89", + "id": "f2b47c1a", "metadata": {}, "source": [ "We will also use the following imports." @@ -108,7 +108,7 @@ { "cell_type": "code", "execution_count": null, - "id": "83f329ba", + "id": "281821a4", "metadata": { "hide-output": false }, @@ -124,7 +124,7 @@ }, { "cell_type": "markdown", - "id": "05fc9a7f", + "id": "af864acd", "metadata": {}, "source": [ "## The Lorenz curve\n", @@ -136,7 +136,7 @@ }, { "cell_type": "markdown", - "id": "f099e265", + "id": "a4be48f5", "metadata": {}, "source": [ "### Definition\n", @@ -158,7 +158,7 @@ }, { "cell_type": "markdown", - "id": "a814276d", + "id": "69c41afb", "metadata": {}, "source": [ "### \n", @@ -187,7 +187,7 @@ }, { "cell_type": "markdown", - "id": "e81bd2f8", + "id": "7f3b964a", "metadata": {}, "source": [ "### Lorenz curves of simulated data\n", @@ -205,7 +205,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cdd3fe8a", + "id": "81b8fb41", "metadata": { "hide-output": false }, @@ -259,7 +259,7 @@ }, { "cell_type": "markdown", - "id": "fc0d47cc", + "id": "c5467d36", "metadata": {}, "source": [ "In the next figure, we generate $ n=2000 $ draws from a lognormal\n", @@ -277,7 +277,7 @@ { "cell_type": "code", "execution_count": null, - "id": "47501f0a", + "id": "80a77f5b", "metadata": { "hide-output": false }, @@ -304,7 +304,7 @@ }, { "cell_type": "markdown", - "id": "8381275a", + "id": "df56cc93", "metadata": {}, "source": [ "### Lorenz curves for US data\n", @@ -320,7 +320,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f75d9559", + "id": "cafbfc4b", "metadata": { "hide-output": false }, @@ -334,7 +334,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3a68a716", + "id": "06bd8171", "metadata": { "hide-output": false }, @@ -345,7 +345,7 @@ }, { "cell_type": "markdown", - "id": "92acc895", + "id": "18a90cb9", "metadata": {}, "source": [ "The next code block uses data stored in dataframe `df_income_wealth` to generate the Lorenz curves.\n", @@ -357,7 +357,7 @@ { "cell_type": "code", "execution_count": null, - "id": "58bbcc8e", + "id": "af3a979b", "metadata": { "hide-output": false }, @@ -403,7 +403,7 @@ }, { "cell_type": "markdown", - "id": "cc035664", + "id": "e4e35772", "metadata": {}, "source": [ "Now we plot Lorenz curves for net wealth, total income and labor income in the\n", @@ -417,7 +417,7 @@ { "cell_type": "code", "execution_count": null, - "id": "353cccf1", + "id": "b342392c", "metadata": { "hide-output": false }, @@ -436,7 +436,7 @@ }, { "cell_type": "markdown", - "id": "3fb3734e", + "id": "3d4bbef6", "metadata": {}, "source": [ "One key finding from this figure is that wealth inequality is more extreme than income inequality." @@ -444,7 +444,7 @@ }, { "cell_type": "markdown", - "id": "226dffca", + "id": "97fad8a4", "metadata": {}, "source": [ "## The Gini coefficient\n", @@ -458,7 +458,7 @@ }, { "cell_type": "markdown", - "id": "2996332d", + "id": "986327dc", "metadata": {}, "source": [ "### Definition\n", @@ -470,7 +470,7 @@ }, { "cell_type": "markdown", - "id": "3062e568", + "id": "6c2d1bb2", "metadata": {}, "source": [ "### \n", @@ -492,7 +492,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e45ab754", + "id": "e70d2674", "metadata": { "hide-output": false }, @@ -514,7 +514,7 @@ }, { "cell_type": "markdown", - "id": "ffcced89", + "id": "361004aa", "metadata": {}, "source": [ "In fact the Gini coefficient can also be expressed as\n", @@ -530,7 +530,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d5a58184", + "id": "de383ae0", "metadata": { "hide-output": false }, @@ -554,7 +554,7 @@ }, { "cell_type": "markdown", - "id": "714650b4", + "id": "f211e72e", "metadata": {}, "source": [ "The World in Data project has a [graphical exploration of the Lorenz curve and the Gini coefficient](https://ourworldindata.org/what-is-the-gini-coefficient)" @@ -562,7 +562,7 @@ }, { "cell_type": "markdown", - "id": "26e917d5", + "id": "3af8f98f", "metadata": {}, "source": [ "### Gini coefficient of simulated data\n", @@ -578,7 +578,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ca30bcfe", + "id": "8498aabb", "metadata": { "hide-output": false }, @@ -614,7 +614,7 @@ }, { "cell_type": "markdown", - "id": "7fd52e72", + "id": "6a7ac71f", "metadata": {}, "source": [ "Now we can compute the Gini coefficients for five different populations.\n", @@ -636,7 +636,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ca922929", + "id": "3da0c12b", "metadata": { "hide-output": false }, @@ -657,7 +657,7 @@ }, { "cell_type": "markdown", - "id": "2f6a1133", + "id": "d2698896", "metadata": {}, "source": [ "Let’s build a function that returns a figure (so that we can use it later in the lecture)." @@ -666,7 +666,7 @@ { "cell_type": "code", "execution_count": null, - "id": "754cbf98", + "id": "fe9948a9", "metadata": { "hide-output": false }, @@ -684,7 +684,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d9d6c7af", + "id": "d12de0d7", "metadata": { "hide-output": false }, @@ -700,7 +700,7 @@ }, { "cell_type": "markdown", - "id": "e24ab5bf", + "id": "ccd8ac13", "metadata": {}, "source": [ "The plots show that inequality rises with $ \\sigma $, according to the Gini\n", @@ -709,7 +709,7 @@ }, { "cell_type": "markdown", - "id": "3fb8cf2d", + "id": "c0d99261", "metadata": {}, "source": [ "### Gini coefficient for income (US data)\n", @@ -724,7 +724,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b641bbbf", + "id": "356c5723", "metadata": { "hide-output": false }, @@ -735,7 +735,7 @@ }, { "cell_type": "markdown", - "id": "4369d059", + "id": "a5b5f5a5", "metadata": {}, "source": [ "We now know the series ID is `SI.POV.GINI`.\n", @@ -748,7 +748,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b4589739", + "id": "57aee051", "metadata": { "hide-output": false }, @@ -771,7 +771,7 @@ }, { "cell_type": "markdown", - "id": "8021d5c3", + "id": "abd605b4", "metadata": {}, "source": [ "We can see in Fig. 6.6 that across 50 years of data and all countries the measure varies between 20 and 65.\n", @@ -782,7 +782,7 @@ { "cell_type": "code", "execution_count": null, - "id": "52d2ec49", + "id": "217fc9dd", "metadata": { "hide-output": false }, @@ -796,7 +796,7 @@ }, { "cell_type": "markdown", - "id": "193095e8", + "id": "db407773", "metadata": {}, "source": [ "(This package often returns data with year information contained in the columns. This is not always convenient for simple plotting with pandas so it can be useful to transpose the results before plotting.)" @@ -805,7 +805,7 @@ { "cell_type": "code", "execution_count": null, - "id": "02bc8896", + "id": "bce04783", "metadata": { "hide-output": false }, @@ -817,7 +817,7 @@ }, { "cell_type": "markdown", - "id": "c5e66fb5", + "id": "74c21bdd", "metadata": {}, "source": [ "Let us take a look at the data for the US." @@ -826,7 +826,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8a31ea81", + "id": "29267ee1", "metadata": { "hide-output": false }, @@ -842,7 +842,7 @@ }, { "cell_type": "markdown", - "id": "9a4b81aa", + "id": "e76398ca", "metadata": {}, "source": [ "As can be seen in Fig. 6.7, the income Gini\n", @@ -854,7 +854,7 @@ }, { "cell_type": "markdown", - "id": "4377d9a5", + "id": "3ed42846", "metadata": {}, "source": [ "### Gini coefficient for wealth\n", @@ -869,7 +869,7 @@ { "cell_type": "code", "execution_count": null, - "id": "71422f84", + "id": "8511eb26", "metadata": { "hide-output": false }, @@ -880,7 +880,7 @@ }, { "cell_type": "markdown", - "id": "f766c1c3", + "id": "a3b36c15", "metadata": {}, "source": [ "[This notebook](https://github.com/QuantEcon/lecture-python-intro/tree/main/lectures/_static/lecture_specific/inequality/data.ipynb) can be used to compute this information over the full dataset." @@ -889,7 +889,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b0c0aa2c", + "id": "8561ed39", "metadata": { "hide-output": false }, @@ -902,7 +902,7 @@ }, { "cell_type": "markdown", - "id": "89a408c7", + "id": "4503d6a8", "metadata": {}, "source": [ "Let’s plot the Gini coefficients for net wealth." @@ -911,7 +911,7 @@ { "cell_type": "code", "execution_count": null, - "id": "139b6739", + "id": "f125c28f", "metadata": { "hide-output": false }, @@ -926,7 +926,7 @@ }, { "cell_type": "markdown", - "id": "bd3bd911", + "id": "eaba8bf7", "metadata": {}, "source": [ "The time series for the wealth Gini exhibits a U-shape, falling until the early\n", @@ -939,7 +939,7 @@ }, { "cell_type": "markdown", - "id": "0bd13812", + "id": "b717bbd1", "metadata": {}, "source": [ "### Cross-country comparisons of income inequality\n", @@ -954,7 +954,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b13d3d02", + "id": "156075e1", "metadata": { "hide-output": false }, @@ -966,7 +966,7 @@ }, { "cell_type": "markdown", - "id": "bae9c2cd", + "id": "46f5df89", "metadata": {}, "source": [ "There are 167 countries represented in this dataset.\n", @@ -977,7 +977,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f09a788b", + "id": "70a0478c", "metadata": { "hide-output": false }, @@ -992,7 +992,7 @@ }, { "cell_type": "markdown", - "id": "d3c79634", + "id": "dde65d2d", "metadata": {}, "source": [ "We see that Norway has a shorter time series.\n", @@ -1003,7 +1003,7 @@ { "cell_type": "code", "execution_count": null, - "id": "67e88314", + "id": "c4fbd076", "metadata": { "hide-output": false }, @@ -1014,7 +1014,7 @@ }, { "cell_type": "markdown", - "id": "63243697", + "id": "87a78d8e", "metadata": {}, "source": [ "The data for Norway in this dataset goes back to 1979 but there are gaps in the time series and matplotlib is not showing those data points.\n", @@ -1025,7 +1025,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a6c6d3bb", + "id": "0985315e", "metadata": { "hide-output": false }, @@ -1041,7 +1041,7 @@ }, { "cell_type": "markdown", - "id": "0ccf46fc", + "id": "336066f1", "metadata": {}, "source": [ "From this plot we can observe that the US has a higher Gini coefficient (i.e.\n", @@ -1053,7 +1053,7 @@ }, { "cell_type": "markdown", - "id": "28ca29f9", + "id": "7a114977", "metadata": {}, "source": [ "### Gini Coefficient and GDP per capita (over time)\n", @@ -1066,7 +1066,7 @@ { "cell_type": "code", "execution_count": null, - "id": "aef24065", + "id": "2417eec5", "metadata": { "hide-output": false }, @@ -1081,7 +1081,7 @@ }, { "cell_type": "markdown", - "id": "9b5677d5", + "id": "d9e6e21b", "metadata": {}, "source": [ "We can rearrange the data so that we can plot GDP per capita and the Gini coefficient across years" @@ -1090,7 +1090,7 @@ { "cell_type": "code", "execution_count": null, - "id": "98586371", + "id": "4d8e7a28", "metadata": { "hide-output": false }, @@ -1103,7 +1103,7 @@ }, { "cell_type": "markdown", - "id": "616ad2c5", + "id": "d85084b6", "metadata": {}, "source": [ "Now we can get the GDP per capita data into a shape that can be merged with `plot_data`" @@ -1112,7 +1112,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0710a65c", + "id": "2fef025f", "metadata": { "hide-output": false }, @@ -1127,7 +1127,7 @@ }, { "cell_type": "markdown", - "id": "6093f124", + "id": "4d36e62c", "metadata": {}, "source": [ "Now we use Plotly to build a plot with GDP per capita on the y-axis and the Gini coefficient on the x-axis." @@ -1136,7 +1136,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fea76a8d", + "id": "5aa1ee9f", "metadata": { "hide-output": false }, @@ -1148,7 +1148,7 @@ }, { "cell_type": "markdown", - "id": "0abbfad6", + "id": "c3d94401", "metadata": {}, "source": [ "The time series for all three countries start and stop in different years. We will add a year mask to the data to\n", @@ -1158,7 +1158,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2af49662", + "id": "8bf025d7", "metadata": { "hide-output": false }, @@ -1171,7 +1171,7 @@ }, { "cell_type": "markdown", - "id": "ca9ef732", + "id": "ac7eb1b5", "metadata": {}, "source": [ "\n", @@ -1181,7 +1181,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f6679e17", + "id": "45828008", "metadata": { "hide-output": false }, @@ -1201,7 +1201,7 @@ }, { "cell_type": "markdown", - "id": "a066eb24", + "id": "181a2b0f", "metadata": {}, "source": [ "This plot shows that all three Western economies GDP per capita has grown over\n", @@ -1216,7 +1216,7 @@ }, { "cell_type": "markdown", - "id": "abf22a74", + "id": "e042145c", "metadata": {}, "source": [ "## Top shares\n", @@ -1228,7 +1228,7 @@ }, { "cell_type": "markdown", - "id": "f2b2efc6", + "id": "82ec4c71", "metadata": {}, "source": [ "### Definition\n", @@ -1241,7 +1241,7 @@ }, { "cell_type": "markdown", - "id": "476c195f", + "id": "c1ccb1a4", "metadata": {}, "source": [ "### \n", @@ -1264,7 +1264,7 @@ { "cell_type": "code", "execution_count": null, - "id": "259e43e5", + "id": "ca50ecae", "metadata": { "hide-output": false }, @@ -1312,7 +1312,7 @@ }, { "cell_type": "markdown", - "id": "3bb52a7d", + "id": "ae6e44f2", "metadata": {}, "source": [ "Then let’s plot the top shares." @@ -1321,7 +1321,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e3c651f5", + "id": "3df1ac5f", "metadata": { "hide-output": false }, @@ -1342,7 +1342,7 @@ }, { "cell_type": "markdown", - "id": "df60ac15", + "id": "bc534515", "metadata": {}, "source": [ "## Exercises" @@ -1350,7 +1350,7 @@ }, { "cell_type": "markdown", - "id": "8be4a2a4", + "id": "a3431ec6", "metadata": {}, "source": [ "## Exercise 6.1\n", @@ -1374,7 +1374,7 @@ }, { "cell_type": "markdown", - "id": "38d78b86", + "id": "d1af2d5c", "metadata": {}, "source": [ "## Solution to[ Exercise 6.1](https://intro.quantecon.org/#inequality_ex1)\n", @@ -1385,7 +1385,7 @@ { "cell_type": "code", "execution_count": null, - "id": "28135b1b", + "id": "ae3fc1eb", "metadata": { "hide-output": false }, @@ -1402,7 +1402,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4196d313", + "id": "3ad9fd33", "metadata": { "hide-output": false }, @@ -1430,7 +1430,7 @@ { "cell_type": "code", "execution_count": null, - "id": "16286da1", + "id": "e53c769f", "metadata": { "hide-output": false }, @@ -1447,7 +1447,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c50498ff", + "id": "690abd3f", "metadata": { "hide-output": false }, @@ -1464,7 +1464,7 @@ { "cell_type": "code", "execution_count": null, - "id": "51b56819", + "id": "fa2ac3ce", "metadata": { "hide-output": false }, @@ -1480,7 +1480,7 @@ }, { "cell_type": "markdown", - "id": "5a518093", + "id": "08b1b5d9", "metadata": {}, "source": [ "## Exercise 6.2\n", @@ -1494,7 +1494,7 @@ }, { "cell_type": "markdown", - "id": "e9b86c77", + "id": "958aeb78", "metadata": {}, "source": [ "## Solution to[ Exercise 6.2](https://intro.quantecon.org/#inequality_ex2)\n", @@ -1505,7 +1505,7 @@ { "cell_type": "code", "execution_count": null, - "id": "359569a6", + "id": "56f6fa9f", "metadata": { "hide-output": false }, @@ -1519,7 +1519,7 @@ { "cell_type": "code", "execution_count": null, - "id": "41471e5b", + "id": "49691eed", "metadata": { "hide-output": false }, @@ -1533,7 +1533,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bdd83ccb", + "id": "4fc42038", "metadata": { "hide-output": false }, @@ -1553,7 +1553,7 @@ }, { "cell_type": "markdown", - "id": "b61be8c4", + "id": "86360d25", "metadata": {}, "source": [ "## Exercise 6.3\n", @@ -1571,7 +1571,7 @@ }, { "cell_type": "markdown", - "id": "134abe31", + "id": "1a6b621a", "metadata": {}, "source": [ "## Solution to[ Exercise 6.3](https://intro.quantecon.org/#inequality_ex3)\n", @@ -1582,7 +1582,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a61f9c36", + "id": "1ef057b6", "metadata": { "hide-output": false }, @@ -1594,7 +1594,7 @@ { "cell_type": "code", "execution_count": null, - "id": "77f0e611", + "id": "7a65ee07", "metadata": { "hide-output": false }, @@ -1605,7 +1605,7 @@ }, { "cell_type": "markdown", - "id": "48da8bcc", + "id": "9ed483db", "metadata": {}, "source": [ "We will focus on wealth variable `n_wealth` to compute a Gini coefficient for the year 2016." @@ -1614,7 +1614,7 @@ { "cell_type": "code", "execution_count": null, - "id": "115b7de5", + "id": "0d88710d", "metadata": { "hide-output": false }, @@ -1626,7 +1626,7 @@ { "cell_type": "code", "execution_count": null, - "id": "070c5e18", + "id": "7870a8c8", "metadata": { "hide-output": false }, @@ -1637,7 +1637,7 @@ }, { "cell_type": "markdown", - "id": "e958597f", + "id": "ce871743", "metadata": {}, "source": [ "We can first compute the Gini coefficient using the function defined in the lecture above." @@ -1646,7 +1646,7 @@ { "cell_type": "code", "execution_count": null, - "id": "808cf4e3", + "id": "933a1da2", "metadata": { "hide-output": false }, @@ -1657,7 +1657,7 @@ }, { "cell_type": "markdown", - "id": "00551662", + "id": "a87be4c5", "metadata": {}, "source": [ "Now we can write a vectorized version using `numpy`" @@ -1666,7 +1666,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4b24af9c", + "id": "5bf7af9c", "metadata": { "hide-output": false }, @@ -1683,7 +1683,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6621df65", + "id": "b55577b5", "metadata": { "hide-output": false }, @@ -1694,7 +1694,7 @@ }, { "cell_type": "markdown", - "id": "51db9158", + "id": "349f4dc9", "metadata": {}, "source": [ "Let’s simulate five populations by drawing from a lognormal distribution as before" @@ -1703,7 +1703,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2bd906d8", + "id": "77fdd3c6", "metadata": { "hide-output": false }, @@ -1719,7 +1719,7 @@ }, { "cell_type": "markdown", - "id": "7edd20e4", + "id": "d4435aed", "metadata": {}, "source": [ "We can compute the Gini coefficient for these five populations using the vectorized function, the computation time is shown below:" @@ -1728,7 +1728,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8255f8eb", + "id": "17c73248", "metadata": { "hide-output": false }, @@ -1742,7 +1742,7 @@ }, { "cell_type": "markdown", - "id": "890246e6", + "id": "96af3011", "metadata": {}, "source": [ "This shows the vectorized function is much faster.\n", @@ -1752,7 +1752,7 @@ { "cell_type": "code", "execution_count": null, - "id": "45a4b746", + "id": "590d7fb1", "metadata": { "hide-output": false }, @@ -1763,7 +1763,7 @@ } ], "metadata": { - "date": 1722488541.3817422, + "date": 1722502937.728578, "filename": "inequality.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/inflation_history.ipynb b/_notebooks/inflation_history.ipynb index 4a304979..9e3bc2b9 100644 --- a/_notebooks/inflation_history.ipynb +++ b/_notebooks/inflation_history.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "8624c715", + "id": "5842f43b", "metadata": {}, "source": [ "# Price Level Histories\n", @@ -17,7 +17,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4f44b6fd", + "id": "0ca88426", "metadata": { "hide-output": false }, @@ -29,7 +29,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3e7af340", + "id": "486706e4", "metadata": { "hide-output": false }, @@ -44,7 +44,7 @@ }, { "cell_type": "markdown", - "id": "3d565f9b", + "id": "6d71e3ff", "metadata": {}, "source": [ "We can then import the Python modules we will use." @@ -53,7 +53,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a5ae8b69", + "id": "520f50ae", "metadata": { "hide-output": false }, @@ -67,7 +67,7 @@ }, { "cell_type": "markdown", - "id": "e0863421", + "id": "df2cda3f", "metadata": {}, "source": [ "The rate of growth of the price level is called **inflation** in the popular press and in discussions among central bankers and treasury officials.\n", @@ -89,7 +89,7 @@ }, { "cell_type": "markdown", - "id": "3c1c479d", + "id": "f6d531ff", "metadata": {}, "source": [ "## Four centuries of price levels\n", @@ -114,7 +114,7 @@ { "cell_type": "code", "execution_count": null, - "id": "149cbc84", + "id": "11696d42", "metadata": { "hide-output": false }, @@ -131,7 +131,7 @@ }, { "cell_type": "markdown", - "id": "51fce25f", + "id": "1bf14b3c", "metadata": {}, "source": [ "We first plot price levels over the period 1600-1914.\n", @@ -142,7 +142,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cd907ca2", + "id": "5abd2477", "metadata": { "hide-output": false }, @@ -169,7 +169,7 @@ }, { "cell_type": "markdown", - "id": "178858aa", + "id": "38a40055", "metadata": {}, "source": [ "We say “most years” because there were temporary lapses from the gold or silver standard.\n", @@ -226,7 +226,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bf8270de", + "id": "d6ace0a3", "metadata": { "hide-output": false }, @@ -250,7 +250,7 @@ }, { "cell_type": "markdown", - "id": "d0f5fda7", + "id": "a8d1d2ab", "metadata": {}, "source": [ "Fig. 4.2 shows that paper-money-printing central banks didn’t do as well as the gold and standard silver standard in anchoring price levels.\n", @@ -270,7 +270,7 @@ }, { "cell_type": "markdown", - "id": "0b40019e", + "id": "0e9b71d9", "metadata": {}, "source": [ "## Four big inflations\n", @@ -299,7 +299,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c1e5d29f", + "id": "598a429e", "metadata": { "hide-output": false }, @@ -363,7 +363,7 @@ }, { "cell_type": "markdown", - "id": "d3c137ee", + "id": "eef877ea", "metadata": {}, "source": [ "Now we write plotting functions `pe_plot` and `pr_plot` that will build figures that show the price level, exchange rates,\n", @@ -373,7 +373,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7964a7a4", + "id": "30d419cd", "metadata": { "hide-output": false }, @@ -438,7 +438,7 @@ }, { "cell_type": "markdown", - "id": "ee97117b", + "id": "5159b03c", "metadata": {}, "source": [ "We prepare the data for each country" @@ -447,7 +447,7 @@ { "cell_type": "code", "execution_count": null, - "id": "31c2ed9f", + "id": "d0ae9b7c", "metadata": { "hide-output": false }, @@ -490,7 +490,7 @@ }, { "cell_type": "markdown", - "id": "592b338e", + "id": "c33274b8", "metadata": {}, "source": [ "Now let’s construct graphs for our four countries.\n", @@ -510,7 +510,7 @@ }, { "cell_type": "markdown", - "id": "07a2a97d", + "id": "190192d9", "metadata": {}, "source": [ "### Austria\n", @@ -524,7 +524,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7fa56e9b", + "id": "72e3bde7", "metadata": { "hide-output": false }, @@ -546,7 +546,7 @@ { "cell_type": "code", "execution_count": null, - "id": "801f0ab6", + "id": "207db0aa", "metadata": { "hide-output": false }, @@ -561,7 +561,7 @@ }, { "cell_type": "markdown", - "id": "bfd7c699", + "id": "d3d6fd54", "metadata": {}, "source": [ "Staring at Fig. 4.3 and Fig. 4.4 conveys the following impressions to the authors of this lecture at QuantEcon.\n", @@ -576,7 +576,7 @@ }, { "cell_type": "markdown", - "id": "92fb654c", + "id": "b8ccd04b", "metadata": {}, "source": [ "### Hungary\n", @@ -589,7 +589,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6057eb16", + "id": "d4fe9c30", "metadata": { "hide-output": false }, @@ -611,7 +611,7 @@ { "cell_type": "code", "execution_count": null, - "id": "59f3c266", + "id": "16cfd3ae", "metadata": { "hide-output": false }, @@ -626,7 +626,7 @@ }, { "cell_type": "markdown", - "id": "c3ee08b0", + "id": "0965f6a8", "metadata": {}, "source": [ "### Poland\n", @@ -646,7 +646,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ea8b3f1c", + "id": "ebf4023a", "metadata": { "hide-output": false }, @@ -680,7 +680,7 @@ { "cell_type": "code", "execution_count": null, - "id": "128d3d3a", + "id": "2b01cfb6", "metadata": { "hide-output": false }, @@ -699,7 +699,7 @@ { "cell_type": "code", "execution_count": null, - "id": "62969dcc", + "id": "fc58a6bc", "metadata": { "hide-output": false }, @@ -714,7 +714,7 @@ }, { "cell_type": "markdown", - "id": "bd847070", + "id": "e0c6c631", "metadata": {}, "source": [ "### Germany\n", @@ -728,7 +728,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e1433548", + "id": "fb65bad0", "metadata": { "hide-output": false }, @@ -751,7 +751,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2c88e144", + "id": "7c7be261", "metadata": { "hide-output": false }, @@ -780,7 +780,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a1faf0ed", + "id": "9198b540", "metadata": { "hide-output": false }, @@ -795,7 +795,7 @@ }, { "cell_type": "markdown", - "id": "c25e4ccc", + "id": "62d1ce68", "metadata": {}, "source": [ "## Starting and stopping big inflations\n", @@ -845,7 +845,7 @@ } ], "metadata": { - "date": 1722488541.6848342, + "date": 1722502938.135984, "filename": "inflation_history.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/input_output.ipynb b/_notebooks/input_output.ipynb index 5c515550..fea2ef25 100644 --- a/_notebooks/input_output.ipynb +++ b/_notebooks/input_output.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "1735be9d", + "id": "b6aecbca", "metadata": {}, "source": [ "# Input-Output Models" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "508ade66", + "id": "e60f83b5", "metadata": {}, "source": [ "## Overview\n", @@ -21,7 +21,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d10f9779", + "id": "dbc97565", "metadata": { "hide-output": false }, @@ -35,7 +35,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b0e76b4c", + "id": "a756c19e", "metadata": { "hide-output": false }, @@ -57,7 +57,7 @@ }, { "cell_type": "markdown", - "id": "601d56ec", + "id": "5ea85a07", "metadata": {}, "source": [ "The following figure illustrates a network of linkages among 15 sectors\n", @@ -68,7 +68,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4dbe18bb", + "id": "1092df96", "metadata": { "hide-output": false }, @@ -101,7 +101,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5c1f785c", + "id": "180da13c", "metadata": { "hide-output": false }, @@ -128,7 +128,7 @@ }, { "cell_type": "markdown", - "id": "53119f86", + "id": "020d34b1", "metadata": {}, "source": [ "|Label|Sector|Label|Sector|Label|Sector|\n", @@ -150,7 +150,7 @@ }, { "cell_type": "markdown", - "id": "257a536c", + "id": "c8460ffa", "metadata": {}, "source": [ "## Input output analysis\n", @@ -176,7 +176,7 @@ }, { "cell_type": "markdown", - "id": "ac70f80b", + "id": "c91e0aec", "metadata": {}, "source": [ "### Two goods\n", @@ -188,7 +188,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fcf4168c", + "id": "848af732", "metadata": { "hide-output": false }, @@ -231,7 +231,7 @@ }, { "cell_type": "markdown", - "id": "4e3ed8ce", + "id": "ebc19d22", "metadata": {}, "source": [ "**Feasible allocations must satisfy**\n", @@ -250,7 +250,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2210c06d", + "id": "16b869b5", "metadata": { "hide-output": false }, @@ -287,7 +287,7 @@ }, { "cell_type": "markdown", - "id": "fdb41d91", + "id": "09d805b2", "metadata": {}, "source": [ "More generally, constraints on production are\n", @@ -344,7 +344,7 @@ { "cell_type": "code", "execution_count": null, - "id": "76029e62", + "id": "5e2b031f", "metadata": { "hide-output": false }, @@ -358,7 +358,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c91c5ed8", + "id": "b65f5bd7", "metadata": { "hide-output": false }, @@ -371,7 +371,7 @@ }, { "cell_type": "markdown", - "id": "5d0cd26d", + "id": "dea902cd", "metadata": {}, "source": [ "Let’s check the **Hawkins-Simon conditions**" @@ -380,7 +380,7 @@ { "cell_type": "code", "execution_count": null, - "id": "75ce08aa", + "id": "8ea27fc4", "metadata": { "hide-output": false }, @@ -391,7 +391,7 @@ }, { "cell_type": "markdown", - "id": "af486e8c", + "id": "319cb91b", "metadata": {}, "source": [ "Now, let’s compute the **Leontief inverse** matrix" @@ -400,7 +400,7 @@ { "cell_type": "code", "execution_count": null, - "id": "953a0d2a", + "id": "e41d222c", "metadata": { "hide-output": false }, @@ -413,7 +413,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bcf59c58", + "id": "44889221", "metadata": { "hide-output": false }, @@ -425,7 +425,7 @@ }, { "cell_type": "markdown", - "id": "1fb5b2e8", + "id": "636d2aee", "metadata": {}, "source": [ "## Production possibility frontier\n", @@ -470,7 +470,7 @@ { "cell_type": "code", "execution_count": null, - "id": "653ce0d6", + "id": "c0381c99", "metadata": { "hide-output": false }, @@ -483,7 +483,7 @@ }, { "cell_type": "markdown", - "id": "50553f0c", + "id": "4420df2d", "metadata": {}, "source": [ "Thus, the production possibility frontier for this economy is\n", @@ -495,7 +495,7 @@ }, { "cell_type": "markdown", - "id": "a30a8576", + "id": "9114a945", "metadata": {}, "source": [ "## Prices\n", @@ -542,7 +542,7 @@ }, { "cell_type": "markdown", - "id": "554cac06", + "id": "2998cb34", "metadata": {}, "source": [ "## Linear programs\n", @@ -590,7 +590,7 @@ { "cell_type": "code", "execution_count": null, - "id": "499c5a00", + "id": "31eda075", "metadata": { "hide-output": false }, @@ -626,7 +626,7 @@ }, { "cell_type": "markdown", - "id": "efb09dac", + "id": "4d331aed", "metadata": {}, "source": [ "## Leontief inverse\n", @@ -644,7 +644,7 @@ }, { "cell_type": "markdown", - "id": "105deb37", + "id": "4851db26", "metadata": {}, "source": [ "### Demand shocks\n", @@ -664,7 +664,7 @@ }, { "cell_type": "markdown", - "id": "298538ea", + "id": "5ec2dc1d", "metadata": {}, "source": [ "## Applications of graph theory\n", @@ -686,7 +686,7 @@ }, { "cell_type": "markdown", - "id": "aa221bac", + "id": "7dc91981", "metadata": {}, "source": [ "### Eigenvector centrality\n", @@ -705,7 +705,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3efdc2ee", + "id": "2dbac6a2", "metadata": { "hide-output": false }, @@ -719,7 +719,7 @@ }, { "cell_type": "markdown", - "id": "877ac616", + "id": "f7eba1ec", "metadata": {}, "source": [ "A higher measure indicates higher importance as a supplier.\n", @@ -731,7 +731,7 @@ }, { "cell_type": "markdown", - "id": "5705ab1e", + "id": "44b2119b", "metadata": {}, "source": [ "### Output multipliers\n", @@ -769,7 +769,7 @@ { "cell_type": "code", "execution_count": null, - "id": "929f3213", + "id": "d9f8dcc2", "metadata": { "hide-output": false }, @@ -787,7 +787,7 @@ }, { "cell_type": "markdown", - "id": "e2666374", + "id": "f556a5cb", "metadata": {}, "source": [ "We observe that manufacturing and agriculture are highest ranking sectors." @@ -795,7 +795,7 @@ }, { "cell_type": "markdown", - "id": "27150463", + "id": "923db9c7", "metadata": {}, "source": [ "## Exercises" @@ -803,7 +803,7 @@ }, { "cell_type": "markdown", - "id": "5a37846c", + "id": "43a34596", "metadata": {}, "source": [ "## Exercise 40.1\n", @@ -844,7 +844,7 @@ }, { "cell_type": "markdown", - "id": "bb5fc31d", + "id": "8023f146", "metadata": {}, "source": [ "## Solution to[ Exercise 40.1](https://intro.quantecon.org/#io_ex1)\n", @@ -858,7 +858,7 @@ }, { "cell_type": "markdown", - "id": "f3eba09f", + "id": "754ab4a5", "metadata": {}, "source": [ "## Exercise 40.2\n", @@ -868,7 +868,7 @@ }, { "cell_type": "markdown", - "id": "3e15b967", + "id": "e58f7ba2", "metadata": {}, "source": [ "## Solution to[ Exercise 40.2](https://intro.quantecon.org/#io_ex2)" @@ -877,7 +877,7 @@ { "cell_type": "code", "execution_count": null, - "id": "88d3e05f", + "id": "7df71499", "metadata": { "hide-output": false }, @@ -891,7 +891,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3a4bd474", + "id": "a1d0599c", "metadata": { "hide-output": false }, @@ -905,7 +905,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9f3256cb", + "id": "b0019243", "metadata": { "hide-output": false }, @@ -917,7 +917,7 @@ }, { "cell_type": "markdown", - "id": "8cd8b0ed", + "id": "ec0033a2", "metadata": {}, "source": [ "Thus the production possibility frontier is given by\n", @@ -929,7 +929,7 @@ } ], "metadata": { - "date": 1722488541.7257688, + "date": 1722502938.1758358, "filename": "input_output.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/intro.ipynb b/_notebooks/intro.ipynb index cb13515f..2e0d591b 100644 --- a/_notebooks/intro.ipynb +++ b/_notebooks/intro.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "f6d2862e", + "id": "1aeab9cd", "metadata": {}, "source": [ "# A First Course in Quantitative Economics with Python\n", @@ -12,7 +12,7 @@ }, { "cell_type": "markdown", - "id": "7c96f05b", + "id": "66742a73", "metadata": {}, "source": [ "# Introduction\n", @@ -22,7 +22,7 @@ }, { "cell_type": "markdown", - "id": "06a3ef01", + "id": "985f619c", "metadata": {}, "source": [ "# Economic Data\n", @@ -36,7 +36,7 @@ }, { "cell_type": "markdown", - "id": "a37d2557", + "id": "92671af8", "metadata": {}, "source": [ "# Foundations\n", @@ -49,7 +49,7 @@ }, { "cell_type": "markdown", - "id": "7d319fa5", + "id": "abb7174c", "metadata": {}, "source": [ "# Linear Dynamics: Finite Horizons\n", @@ -63,7 +63,7 @@ }, { "cell_type": "markdown", - "id": "7ddb2aed", + "id": "f1b6e7a7", "metadata": {}, "source": [ "# Linear Dynamics: Infinite Horizons\n", @@ -74,7 +74,7 @@ }, { "cell_type": "markdown", - "id": "b73cc44e", + "id": "7e3da106", "metadata": {}, "source": [ "# Probability and Distributions\n", @@ -88,7 +88,7 @@ }, { "cell_type": "markdown", - "id": "f7f7343e", + "id": "d6cbe590", "metadata": {}, "source": [ "# Nonlinear Dynamics\n", @@ -102,7 +102,7 @@ }, { "cell_type": "markdown", - "id": "59718558", + "id": "1210fb09", "metadata": {}, "source": [ "# Monetary-Fiscal Policy Interactions\n", @@ -116,7 +116,7 @@ }, { "cell_type": "markdown", - "id": "4f6cc655", + "id": "1f3b5f69", "metadata": {}, "source": [ "# Stochastic Dynamics\n", @@ -129,7 +129,7 @@ }, { "cell_type": "markdown", - "id": "235065d2", + "id": "0df6f1b6", "metadata": {}, "source": [ "# Optimization\n", @@ -140,7 +140,7 @@ }, { "cell_type": "markdown", - "id": "947806d9", + "id": "82ae11c2", "metadata": {}, "source": [ "# Modeling in Higher Dimensions\n", @@ -153,7 +153,7 @@ }, { "cell_type": "markdown", - "id": "24e01398", + "id": "d25f3e0e", "metadata": {}, "source": [ "# Markets and Competitive Equilibrium\n", @@ -164,7 +164,7 @@ }, { "cell_type": "markdown", - "id": "2fa7d522", + "id": "615dd9ce", "metadata": {}, "source": [ "# Estimation\n", @@ -175,7 +175,7 @@ }, { "cell_type": "markdown", - "id": "635ba873", + "id": "92c13743", "metadata": {}, "source": [ "# Other\n", @@ -187,7 +187,7 @@ } ], "metadata": { - "date": 1722488541.7621598, + "date": 1722502938.206917, "filename": "intro.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/intro_supply_demand.ipynb b/_notebooks/intro_supply_demand.ipynb index 7f63aa80..06c1ae13 100644 --- a/_notebooks/intro_supply_demand.ipynb +++ b/_notebooks/intro_supply_demand.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "c43477c6", + "id": "80d97398", "metadata": {}, "source": [ "# Introduction to Supply and Demand" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "79d656d8", + "id": "abe787ec", "metadata": {}, "source": [ "## Overview\n", @@ -26,7 +26,7 @@ }, { "cell_type": "markdown", - "id": "63921530", + "id": "8e4255cf", "metadata": {}, "source": [ "### Why does this model matter?\n", @@ -46,7 +46,7 @@ }, { "cell_type": "markdown", - "id": "52aad357", + "id": "de460d71", "metadata": {}, "source": [ "### Topics and infrastructure\n", @@ -68,7 +68,7 @@ { "cell_type": "code", "execution_count": null, - "id": "98c7e6e9", + "id": "79302554", "metadata": { "hide-output": false }, @@ -81,7 +81,7 @@ }, { "cell_type": "markdown", - "id": "f390e36b", + "id": "6404f263", "metadata": {}, "source": [ "## Consumer surplus\n", @@ -93,7 +93,7 @@ }, { "cell_type": "markdown", - "id": "33696c03", + "id": "a99fa284", "metadata": {}, "source": [ "### A discrete example\n", @@ -133,7 +133,7 @@ { "cell_type": "code", "execution_count": null, - "id": "11db707a", + "id": "2013d8f8", "metadata": { "hide-output": false }, @@ -157,7 +157,7 @@ }, { "cell_type": "markdown", - "id": "14a5f8c9", + "id": "68d9d4f9", "metadata": {}, "source": [ "The total consumer surplus in this market is\n", @@ -174,7 +174,7 @@ }, { "cell_type": "markdown", - "id": "95fbbe2b", + "id": "7be46f56", "metadata": {}, "source": [ "### A comment on quantity.\n", @@ -190,7 +190,7 @@ }, { "cell_type": "markdown", - "id": "9dcd6403", + "id": "4e466067", "metadata": {}, "source": [ "### A continuous approximation\n", @@ -213,7 +213,7 @@ { "cell_type": "code", "execution_count": null, - "id": "75bbaeff", + "id": "72562d55", "metadata": { "hide-output": false }, @@ -241,7 +241,7 @@ }, { "cell_type": "markdown", - "id": "4e19d857", + "id": "81c18319", "metadata": {}, "source": [ "Reasoning by analogy with the discrete case, the area under the demand curve and above the price is called the **consumer surplus**, and is a measure of total gains from trade on the part of consumers.\n", @@ -252,7 +252,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5475d6f1", + "id": "eee6511c", "metadata": { "hide-output": false }, @@ -281,7 +281,7 @@ }, { "cell_type": "markdown", - "id": "8d7b67d3", + "id": "7819bcf1", "metadata": {}, "source": [ "The value $ q^* $ is where the inverse demand curve meets price." @@ -289,7 +289,7 @@ }, { "cell_type": "markdown", - "id": "9c951e3e", + "id": "247611b3", "metadata": {}, "source": [ "## Producer surplus\n", @@ -299,7 +299,7 @@ }, { "cell_type": "markdown", - "id": "4e6cac4e", + "id": "d9c647c1", "metadata": {}, "source": [ "### The discrete case\n", @@ -310,7 +310,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6a32ed4c", + "id": "24f3ecf6", "metadata": { "hide-output": false }, @@ -332,7 +332,7 @@ }, { "cell_type": "markdown", - "id": "7441c46d", + "id": "de2eb013", "metadata": {}, "source": [ "Let $ v_i $ be the price at which producer $ i $ is willing to sell the good.\n", @@ -364,7 +364,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3da7c13c", + "id": "35996ffb", "metadata": { "hide-output": false }, @@ -398,7 +398,7 @@ }, { "cell_type": "markdown", - "id": "c28c9637", + "id": "c5709acc", "metadata": {}, "source": [ "\n", @@ -407,7 +407,7 @@ }, { "cell_type": "markdown", - "id": "79cdb360", + "id": "01ac9a35", "metadata": {}, "source": [ "## Integration\n", @@ -428,7 +428,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bed4ce01", + "id": "ceb00621", "metadata": { "hide-output": false }, @@ -452,7 +452,7 @@ }, { "cell_type": "markdown", - "id": "4b3d8c96", + "id": "ddbaf387", "metadata": {}, "source": [ "There are many rules for calculating integrals, with different rules applying to different choices of $ f $.\n", @@ -474,7 +474,7 @@ }, { "cell_type": "markdown", - "id": "538cf5fe", + "id": "164021c8", "metadata": {}, "source": [ "## Supply and demand\n", @@ -515,7 +515,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5942716c", + "id": "748ef4b0", "metadata": { "hide-output": false }, @@ -530,7 +530,7 @@ }, { "cell_type": "markdown", - "id": "a8d8899e", + "id": "b5c99098", "metadata": {}, "source": [ "The function below creates an instance of a Market namedtuple with default values." @@ -539,7 +539,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2c1b5e0f", + "id": "2272b59d", "metadata": { "hide-output": false }, @@ -551,7 +551,7 @@ }, { "cell_type": "markdown", - "id": "325f77d9", + "id": "a472bbfe", "metadata": {}, "source": [ "This `market` can then be used by our `inverse_demand` and `inverse_supply` functions." @@ -560,7 +560,7 @@ { "cell_type": "code", "execution_count": null, - "id": "93345e10", + "id": "532d77a0", "metadata": { "hide-output": false }, @@ -575,7 +575,7 @@ }, { "cell_type": "markdown", - "id": "7c303f16", + "id": "6060321f", "metadata": {}, "source": [ "Here is a plot of these two functions using `market`." @@ -584,7 +584,7 @@ { "cell_type": "code", "execution_count": null, - "id": "33acd46a", + "id": "8bdca576", "metadata": { "hide-output": false }, @@ -611,7 +611,7 @@ }, { "cell_type": "markdown", - "id": "389c43ed", + "id": "9a4a7e79", "metadata": {}, "source": [ "In the above graph, an **equilibrium** price-quantity pair occurs at the intersection of the supply and demand curves." @@ -619,7 +619,7 @@ }, { "cell_type": "markdown", - "id": "40c36b06", + "id": "1e77fd69", "metadata": {}, "source": [ "### Consumer surplus\n", @@ -643,7 +643,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0415eb8c", + "id": "2e9241ea", "metadata": { "hide-output": false }, @@ -677,7 +677,7 @@ }, { "cell_type": "markdown", - "id": "02a6ca1b", + "id": "f826a098", "metadata": {}, "source": [ "Consumer surplus provides a measure of total consumer welfare at quantity $ q $.\n", @@ -700,7 +700,7 @@ }, { "cell_type": "markdown", - "id": "cba09aff", + "id": "dd381336", "metadata": {}, "source": [ "### Producer surplus\n", @@ -723,7 +723,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d5ce476b", + "id": "a97761ff", "metadata": { "hide-output": false }, @@ -757,7 +757,7 @@ }, { "cell_type": "markdown", - "id": "eae7ff47", + "id": "cb40c437", "metadata": {}, "source": [ "Producer surplus measures total producer welfare at quantity $ q $\n", @@ -780,7 +780,7 @@ }, { "cell_type": "markdown", - "id": "3455bb10", + "id": "763c4c90", "metadata": {}, "source": [ "### Social welfare\n", @@ -807,7 +807,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fdb78f05", + "id": "79cdb6f8", "metadata": { "hide-output": false }, @@ -820,7 +820,7 @@ }, { "cell_type": "markdown", - "id": "c25943ba", + "id": "bdf0a8aa", "metadata": {}, "source": [ "The next figure plots welfare as a function of $ q $." @@ -829,7 +829,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e0e720b2", + "id": "8eead0a7", "metadata": { "hide-output": false }, @@ -845,7 +845,7 @@ }, { "cell_type": "markdown", - "id": "3faee7bc", + "id": "7370f2d3", "metadata": {}, "source": [ "Let’s now give a social planner the task of maximizing social welfare.\n", @@ -872,7 +872,7 @@ }, { "cell_type": "markdown", - "id": "be240233", + "id": "1b4754f1", "metadata": {}, "source": [ "### Competitive equilibrium\n", @@ -912,7 +912,7 @@ }, { "cell_type": "markdown", - "id": "6b148f25", + "id": "38960e10", "metadata": {}, "source": [ "## Generalizations\n", @@ -932,7 +932,7 @@ }, { "cell_type": "markdown", - "id": "507c6804", + "id": "a4c3f4f0", "metadata": {}, "source": [ "## Exercises\n", @@ -953,7 +953,7 @@ }, { "cell_type": "markdown", - "id": "535f17ab", + "id": "932d7b42", "metadata": {}, "source": [ "## Exercise 7.1\n", @@ -966,7 +966,7 @@ }, { "cell_type": "markdown", - "id": "b7e5e547", + "id": "200e8585", "metadata": {}, "source": [ "## Solution to[ Exercise 7.1](https://intro.quantecon.org/#isd_ex1)\n", @@ -977,7 +977,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7485aedb", + "id": "3338aaab", "metadata": { "hide-output": false }, @@ -992,7 +992,7 @@ }, { "cell_type": "markdown", - "id": "87f8881a", + "id": "0031aed0", "metadata": {}, "source": [ "Here is a plot of inverse supply and demand." @@ -1001,7 +1001,7 @@ { "cell_type": "code", "execution_count": null, - "id": "614c8626", + "id": "26eb2038", "metadata": { "hide-output": false }, @@ -1027,7 +1027,7 @@ }, { "cell_type": "markdown", - "id": "aa866c34", + "id": "7ef45f80", "metadata": {}, "source": [ "## Exercise 7.2\n", @@ -1067,7 +1067,7 @@ }, { "cell_type": "markdown", - "id": "eca93dab", + "id": "acfb2ec4", "metadata": {}, "source": [ "## Solution to[ Exercise 7.2](https://intro.quantecon.org/#isd_ex2)\n", @@ -1086,7 +1086,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1ea725a5", + "id": "f94be50a", "metadata": { "hide-output": false }, @@ -1101,7 +1101,7 @@ }, { "cell_type": "markdown", - "id": "cefda6c3", + "id": "8d14704d", "metadata": {}, "source": [ "The next figure plots welfare as a function of $ q $." @@ -1110,7 +1110,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3464602d", + "id": "50c8149e", "metadata": { "hide-output": false }, @@ -1125,7 +1125,7 @@ }, { "cell_type": "markdown", - "id": "e6e05058", + "id": "03299983", "metadata": {}, "source": [ "## Exercise 7.3\n", @@ -1142,7 +1142,7 @@ }, { "cell_type": "markdown", - "id": "e5f29012", + "id": "fa8a4f55", "metadata": {}, "source": [ "## Solution to[ Exercise 7.3](https://intro.quantecon.org/#isd_ex3)" @@ -1151,7 +1151,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6b9ba0c8", + "id": "902a66a4", "metadata": { "hide-output": false }, @@ -1169,7 +1169,7 @@ { "cell_type": "code", "execution_count": null, - "id": "caa096d1", + "id": "f3b80b98", "metadata": { "hide-output": false }, @@ -1181,7 +1181,7 @@ }, { "cell_type": "markdown", - "id": "97cf181b", + "id": "a1fc5701", "metadata": {}, "source": [ "## Exercise 7.4\n", @@ -1211,7 +1211,7 @@ }, { "cell_type": "markdown", - "id": "1a555aa6", + "id": "66877c7a", "metadata": {}, "source": [ "## Solution to[ Exercise 7.4](https://intro.quantecon.org/#isd_ex4)" @@ -1220,7 +1220,7 @@ { "cell_type": "code", "execution_count": null, - "id": "75cc0c2b", + "id": "8ce08094", "metadata": { "hide-output": false }, @@ -1237,7 +1237,7 @@ } ], "metadata": { - "date": 1722488541.7995274, + "date": 1722502938.2438278, "filename": "intro_supply_demand.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/laffer_adaptive.ipynb b/_notebooks/laffer_adaptive.ipynb index fc9d8376..d907a732 100644 --- a/_notebooks/laffer_adaptive.ipynb +++ b/_notebooks/laffer_adaptive.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "a3fd0c78", + "id": "08db971c", "metadata": {}, "source": [ "# Laffer Curves with Adaptive Expectations" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "fe331345", + "id": "2abf08a3", "metadata": {}, "source": [ "## Overview\n", @@ -56,7 +56,7 @@ }, { "cell_type": "markdown", - "id": "b93ea876", + "id": "5c3b13d8", "metadata": {}, "source": [ "## The Model\n", @@ -109,7 +109,7 @@ }, { "cell_type": "markdown", - "id": "871a4843", + "id": "2d2c625e", "metadata": {}, "source": [ "## Computing An Equilibrium Sequence\n", @@ -140,7 +140,7 @@ }, { "cell_type": "markdown", - "id": "4308649b", + "id": "191467ce", "metadata": {}, "source": [ "## Claims or Conjectures\n", @@ -157,7 +157,7 @@ }, { "cell_type": "markdown", - "id": "7cd343dc", + "id": "584e6d2a", "metadata": {}, "source": [ "## Limiting Values of Inflation Rate\n", @@ -205,7 +205,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0366d119", + "id": "c1989ccc", "metadata": { "hide-output": false }, @@ -223,7 +223,7 @@ }, { "cell_type": "markdown", - "id": "88f0e439", + "id": "65dc9bd1", "metadata": {}, "source": [ "Let’s create a `namedtuple` to store the parameters of the model" @@ -232,7 +232,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f8d4907b", + "id": "c16735d1", "metadata": { "hide-output": false }, @@ -253,7 +253,7 @@ }, { "cell_type": "markdown", - "id": "a1dea988", + "id": "c506421e", "metadata": {}, "source": [ "Now we write code that computes steady-state $ \\bar \\pi $s." @@ -262,7 +262,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7f692f7f", + "id": "378d6826", "metadata": { "hide-output": false }, @@ -284,7 +284,7 @@ }, { "cell_type": "markdown", - "id": "75e91346", + "id": "2f958f81", "metadata": {}, "source": [ "We find two steady state $ \\bar \\pi $ values" @@ -292,7 +292,7 @@ }, { "cell_type": "markdown", - "id": "ccd417f3", + "id": "361557cd", "metadata": {}, "source": [ "## Steady State Laffer Curve\n", @@ -303,7 +303,7 @@ { "cell_type": "code", "execution_count": null, - "id": "874c66f1", + "id": "e80a2703", "metadata": { "hide-output": false }, @@ -343,7 +343,7 @@ }, { "cell_type": "markdown", - "id": "37e47d38", + "id": "25d576ee", "metadata": {}, "source": [ "## Associated Initial Price Levels\n", @@ -360,7 +360,7 @@ { "cell_type": "code", "execution_count": null, - "id": "84d38008", + "id": "0ebe4f71", "metadata": { "hide-output": false }, @@ -378,7 +378,7 @@ }, { "cell_type": "markdown", - "id": "f9d65ca5", + "id": "f1c67361", "metadata": {}, "source": [ "### Verification\n", @@ -391,7 +391,7 @@ { "cell_type": "code", "execution_count": null, - "id": "42c0755d", + "id": "bf940434", "metadata": { "hide-output": false }, @@ -431,7 +431,7 @@ }, { "cell_type": "markdown", - "id": "7e644188", + "id": "b7c77bd9", "metadata": {}, "source": [ "Compute limiting values starting from $ p_{-1} $ associated with $ \\pi_l $" @@ -440,7 +440,7 @@ { "cell_type": "code", "execution_count": null, - "id": "35a89491", + "id": "e6a9e0dc", "metadata": { "hide-output": false }, @@ -460,7 +460,7 @@ }, { "cell_type": "markdown", - "id": "328efffe", + "id": "2444acfa", "metadata": {}, "source": [ "Compute limiting values starting from $ p_{-1} $ associated with $ \\pi_u $" @@ -469,7 +469,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7fa7a735", + "id": "108d7bf6", "metadata": { "hide-output": false }, @@ -489,7 +489,7 @@ }, { "cell_type": "markdown", - "id": "89172a8c", + "id": "fe3c2f84", "metadata": {}, "source": [ "## Slippery Side of Laffer Curve Dynamics\n", @@ -507,7 +507,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e8713d25", + "id": "257cb868", "metadata": { "hide-output": false }, @@ -548,7 +548,7 @@ }, { "cell_type": "markdown", - "id": "4ef85c41", + "id": "61612ad9", "metadata": {}, "source": [ "Let’s simulate the result generated by varying the initial $ \\pi_{-1} $ and corresponding $ p_{-1} $" @@ -557,7 +557,7 @@ { "cell_type": "code", "execution_count": null, - "id": "97140b44", + "id": "17c71689", "metadata": { "hide-output": false }, @@ -575,7 +575,7 @@ } ], "metadata": { - "date": 1722488541.827119, + "date": 1722502938.270077, "filename": "laffer_adaptive.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/lake_model.ipynb b/_notebooks/lake_model.ipynb index 89560bf9..684677e3 100644 --- a/_notebooks/lake_model.ipynb +++ b/_notebooks/lake_model.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "01160742", + "id": "76a3b8b2", "metadata": {}, "source": [ "# A Lake Model of Employment" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "58b141c1", + "id": "1d49a674", "metadata": {}, "source": [ "## Outline\n", @@ -21,7 +21,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ba668c38", + "id": "429133c2", "metadata": { "hide-output": false }, @@ -33,7 +33,7 @@ }, { "cell_type": "markdown", - "id": "fe386f4b", + "id": "9e4c5b42", "metadata": {}, "source": [ "## The Lake model\n", @@ -61,7 +61,7 @@ }, { "cell_type": "markdown", - "id": "7be50c68", + "id": "07b52abf", "metadata": {}, "source": [ "## Dynamics\n", @@ -119,7 +119,7 @@ }, { "cell_type": "markdown", - "id": "314779af", + "id": "679c1f05", "metadata": {}, "source": [ "### Visualising the long-run outcomes\n", @@ -130,7 +130,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b76107bd", + "id": "a7e46dc2", "metadata": { "hide-output": false }, @@ -196,7 +196,7 @@ { "cell_type": "code", "execution_count": null, - "id": "377a9672", + "id": "48b77717", "metadata": { "hide-output": false }, @@ -233,7 +233,7 @@ }, { "cell_type": "markdown", - "id": "18e320b1", + "id": "3c11e0fd", "metadata": {}, "source": [ "Not surprisingly, we observe that labor force $ n_t $ increases at a constant rate.\n", @@ -264,7 +264,7 @@ }, { "cell_type": "markdown", - "id": "c80f241e", + "id": "90b23413", "metadata": {}, "source": [ "### The application of Perron-Frobenius theorem\n", @@ -289,7 +289,7 @@ }, { "cell_type": "markdown", - "id": "b78b8deb", + "id": "7f26dba6", "metadata": {}, "source": [ "#### Dominant eigenvector\n", @@ -358,7 +358,7 @@ { "cell_type": "code", "execution_count": null, - "id": "703c4b04", + "id": "f20fc913", "metadata": { "hide-output": false }, @@ -439,7 +439,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f7a38bfc", + "id": "7b1fab89", "metadata": { "hide-output": false }, @@ -452,7 +452,7 @@ }, { "cell_type": "markdown", - "id": "1f4d98cb", + "id": "de5b7eca", "metadata": {}, "source": [ "Since $ \\bar{x} $ is an eigenvector corresponding to the eigenvalue $ r(A) $, all the vectors in the set\n", @@ -468,7 +468,7 @@ }, { "cell_type": "markdown", - "id": "9e695665", + "id": "ad8f50d6", "metadata": {}, "source": [ "#### Negative growth rate\n", @@ -487,7 +487,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b5064a5a", + "id": "9e6f5f02", "metadata": { "hide-output": false }, @@ -499,7 +499,7 @@ }, { "cell_type": "markdown", - "id": "d87efc1e", + "id": "0e3d5952", "metadata": {}, "source": [ "Thus, while the sequence of iterates still moves towards the dominant eigenvector $ \\bar{x} $, in this case\n", @@ -513,7 +513,7 @@ }, { "cell_type": "markdown", - "id": "fb21d115", + "id": "9847704f", "metadata": {}, "source": [ "### Properties\n", @@ -572,7 +572,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c892e998", + "id": "ecc6b7b6", "metadata": { "hide-output": false }, @@ -614,7 +614,7 @@ }, { "cell_type": "markdown", - "id": "c978c133", + "id": "6c8301e9", "metadata": {}, "source": [ "To provide more intuition for convergence, we further explain the convergence below without the Perron-Frobenius theorem.\n", @@ -649,7 +649,7 @@ }, { "cell_type": "markdown", - "id": "3aad2600", + "id": "04ec6d07", "metadata": {}, "source": [ "## Exercise" @@ -657,7 +657,7 @@ }, { "cell_type": "markdown", - "id": "a03850a2", + "id": "cf24e224", "metadata": {}, "source": [ "## (Evolution of unemployment and employment rate)Exercise 41.1\n", @@ -673,7 +673,7 @@ }, { "cell_type": "markdown", - "id": "e07ace04", + "id": "87571c0a", "metadata": {}, "source": [ "## Solution to[ Exercise 41.1 (Evolution of unemployment and employment rate)](https://intro.quantecon.org/#lake_model_ex1)\n", @@ -691,7 +691,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7b9b949b", + "id": "21971a9b", "metadata": { "hide-output": false }, @@ -714,7 +714,7 @@ } ], "metadata": { - "date": 1722488541.8492994, + "date": 1722502938.2917242, "filename": "lake_model.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/linear_equations.ipynb b/_notebooks/linear_equations.ipynb index 29cf3a4c..19a75cd2 100644 --- a/_notebooks/linear_equations.ipynb +++ b/_notebooks/linear_equations.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "2b7f1855", + "id": "78b2ac5c", "metadata": {}, "source": [ "# Linear Equations and Matrix Algebra\n", @@ -13,7 +13,7 @@ }, { "cell_type": "markdown", - "id": "4aa33a55", + "id": "9b08d532", "metadata": {}, "source": [ "## Overview\n", @@ -46,7 +46,7 @@ { "cell_type": "code", "execution_count": null, - "id": "efde8686", + "id": "bef6c95d", "metadata": { "hide-output": false }, @@ -58,7 +58,7 @@ }, { "cell_type": "markdown", - "id": "0f0998da", + "id": "89a4e73c", "metadata": {}, "source": [ "## A two good example\n", @@ -74,7 +74,7 @@ }, { "cell_type": "markdown", - "id": "e16616a4", + "id": "14a9eaa3", "metadata": {}, "source": [ "### Pencil and paper methods\n", @@ -141,7 +141,7 @@ }, { "cell_type": "markdown", - "id": "00a878bf", + "id": "0f0716b4", "metadata": {}, "source": [ "### Looking forward\n", @@ -158,7 +158,7 @@ }, { "cell_type": "markdown", - "id": "4926273b", + "id": "72867c3f", "metadata": {}, "source": [ "## Vectors\n", @@ -177,7 +177,7 @@ }, { "cell_type": "markdown", - "id": "c7f39ab6", + "id": "066f4a97", "metadata": {}, "source": [ "## \n", @@ -194,7 +194,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e167ce2c", + "id": "cf952f51", "metadata": { "hide-output": false }, @@ -222,7 +222,7 @@ }, { "cell_type": "markdown", - "id": "0fccbeec", + "id": "5db654e9", "metadata": {}, "source": [ "### Vector operations\n", @@ -239,7 +239,7 @@ }, { "cell_type": "markdown", - "id": "de45c9c1", + "id": "f32f73a9", "metadata": {}, "source": [ "### \n", @@ -296,7 +296,7 @@ { "cell_type": "code", "execution_count": null, - "id": "42035721", + "id": "8f6a1dbf", "metadata": { "hide-output": false }, @@ -337,7 +337,7 @@ }, { "cell_type": "markdown", - "id": "630a2254", + "id": "2b9db0d8", "metadata": {}, "source": [ "Scalar multiplication is an operation that multiplies a vector $ x $ with a scalar elementwise." @@ -345,7 +345,7 @@ }, { "cell_type": "markdown", - "id": "8305d58e", + "id": "5df863c4", "metadata": {}, "source": [ "### \n", @@ -386,7 +386,7 @@ { "cell_type": "code", "execution_count": null, - "id": "102849f0", + "id": "63f9148c", "metadata": { "hide-output": false }, @@ -424,7 +424,7 @@ }, { "cell_type": "markdown", - "id": "66432335", + "id": "eab80272", "metadata": {}, "source": [ "In Python, a vector can be represented as a list or tuple,\n", @@ -440,7 +440,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dc68b2be", + "id": "03cf5edd", "metadata": { "hide-output": false }, @@ -454,7 +454,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c7472769", + "id": "1e2171b9", "metadata": { "hide-output": false }, @@ -465,7 +465,7 @@ }, { "cell_type": "markdown", - "id": "f4cdb7bf", + "id": "bda48761", "metadata": {}, "source": [ "### Inner product and norm\n", @@ -504,7 +504,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b928da78", + "id": "9a80a7af", "metadata": { "hide-output": false }, @@ -516,7 +516,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b24fbe52", + "id": "abd7d1b0", "metadata": { "hide-output": false }, @@ -528,7 +528,7 @@ { "cell_type": "code", "execution_count": null, - "id": "56f191ac", + "id": "8d788302", "metadata": { "hide-output": false }, @@ -540,7 +540,7 @@ { "cell_type": "code", "execution_count": null, - "id": "85f7c5da", + "id": "e920ceed", "metadata": { "hide-output": false }, @@ -551,7 +551,7 @@ }, { "cell_type": "markdown", - "id": "bcc78229", + "id": "812e4222", "metadata": {}, "source": [ "## Matrix operations\n", @@ -567,7 +567,7 @@ }, { "cell_type": "markdown", - "id": "e3bd1867", + "id": "c5c8af8d", "metadata": {}, "source": [ "### Addition and scalar multiplication\n", @@ -580,7 +580,7 @@ }, { "cell_type": "markdown", - "id": "26786408", + "id": "5e6a8adb", "metadata": {}, "source": [ "### \n", @@ -618,7 +618,7 @@ }, { "cell_type": "markdown", - "id": "c2d41fa2", + "id": "1b00e8c1", "metadata": {}, "source": [ "### \n", @@ -669,7 +669,7 @@ }, { "cell_type": "markdown", - "id": "283cff35", + "id": "e21ac614", "metadata": {}, "source": [ "### Matrix multiplication\n", @@ -689,7 +689,7 @@ }, { "cell_type": "markdown", - "id": "532edb0c", + "id": "1155c557", "metadata": {}, "source": [ "### \n", @@ -792,7 +792,7 @@ }, { "cell_type": "markdown", - "id": "6df2d342", + "id": "136f743f", "metadata": {}, "source": [ "### Matrices in NumPy\n", @@ -807,7 +807,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7054430e", + "id": "93f018c2", "metadata": { "hide-output": false }, @@ -822,7 +822,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6b1044ce", + "id": "f012155c", "metadata": { "hide-output": false }, @@ -836,7 +836,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8b5131de", + "id": "6530fb26", "metadata": { "hide-output": false }, @@ -847,7 +847,7 @@ }, { "cell_type": "markdown", - "id": "687a3d14", + "id": "9127fa3f", "metadata": {}, "source": [ "The `shape` attribute is a tuple giving the number of rows and columns —\n", @@ -865,7 +865,7 @@ { "cell_type": "code", "execution_count": null, - "id": "405be6fd", + "id": "1c1960c1", "metadata": { "hide-output": false }, @@ -879,7 +879,7 @@ { "cell_type": "code", "execution_count": null, - "id": "930dfcc9", + "id": "8f5d1096", "metadata": { "hide-output": false }, @@ -890,7 +890,7 @@ }, { "cell_type": "markdown", - "id": "187e913a", + "id": "64f7ac91", "metadata": {}, "source": [ "To multiply matrices we use the `@` symbol.\n", @@ -902,7 +902,7 @@ }, { "cell_type": "markdown", - "id": "18027526", + "id": "5b0c9ca8", "metadata": {}, "source": [ "### Two good model in matrix form\n", @@ -992,7 +992,7 @@ }, { "cell_type": "markdown", - "id": "2137b56f", + "id": "42e0a918", "metadata": {}, "source": [ "### More goods\n", @@ -1040,7 +1040,7 @@ }, { "cell_type": "markdown", - "id": "d2a946e4", + "id": "e232610f", "metadata": {}, "source": [ "### General linear systems\n", @@ -1094,7 +1094,7 @@ }, { "cell_type": "markdown", - "id": "6c813cc4", + "id": "5591cde7", "metadata": {}, "source": [ "### \n", @@ -1118,7 +1118,7 @@ }, { "cell_type": "markdown", - "id": "4fb3a83a", + "id": "9a2ce210", "metadata": {}, "source": [ "## Solving systems of equations\n", @@ -1143,7 +1143,7 @@ }, { "cell_type": "markdown", - "id": "3e7b0856", + "id": "e3d83bb3", "metadata": {}, "source": [ "### No solution\n", @@ -1165,7 +1165,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8c64582f", + "id": "c99b1b91", "metadata": { "hide-output": false }, @@ -1181,7 +1181,7 @@ }, { "cell_type": "markdown", - "id": "c3f363f1", + "id": "e9b84bab", "metadata": {}, "source": [ "Clearly, these are parallel lines and hence we will never find a point $ x \\in \\mathbb{R}^2 $\n", @@ -1223,7 +1223,7 @@ }, { "cell_type": "markdown", - "id": "effe43ee", + "id": "45edae8f", "metadata": {}, "source": [ "### Many solutions\n", @@ -1260,7 +1260,7 @@ }, { "cell_type": "markdown", - "id": "5c01af0d", + "id": "b9ecec2d", "metadata": {}, "source": [ "### Nonsingular matrices\n", @@ -1310,7 +1310,7 @@ }, { "cell_type": "markdown", - "id": "2726ba0b", + "id": "ad80e6a2", "metadata": {}, "source": [ "### Linear equations with NumPy\n", @@ -1335,7 +1335,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cdfc9059", + "id": "0a228813", "metadata": { "hide-output": false }, @@ -1347,7 +1347,7 @@ }, { "cell_type": "markdown", - "id": "3bafb450", + "id": "39aa3995", "metadata": {}, "source": [ "Now we change this to a NumPy array." @@ -1356,7 +1356,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c3622840", + "id": "f58b9d9e", "metadata": { "hide-output": false }, @@ -1368,7 +1368,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f54bfe09", + "id": "ff9dad68", "metadata": { "hide-output": false }, @@ -1382,7 +1382,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1c125218", + "id": "903e5260", "metadata": { "hide-output": false }, @@ -1395,7 +1395,7 @@ { "cell_type": "code", "execution_count": null, - "id": "91586ad0", + "id": "90fb600d", "metadata": { "hide-output": false }, @@ -1410,7 +1410,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21d97c55", + "id": "3869ab49", "metadata": { "hide-output": false }, @@ -1423,7 +1423,7 @@ { "cell_type": "code", "execution_count": null, - "id": "addf94b6", + "id": "bb8c52fe", "metadata": { "hide-output": false }, @@ -1436,7 +1436,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5ce621c2", + "id": "c76a57d3", "metadata": { "hide-output": false }, @@ -1448,7 +1448,7 @@ }, { "cell_type": "markdown", - "id": "1aadf2e2", + "id": "8e9c71fc", "metadata": {}, "source": [ "Notice that we get the same solutions as the pencil and paper case.\n", @@ -1459,7 +1459,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a0a9888f", + "id": "d0968c14", "metadata": { "hide-output": false }, @@ -1473,7 +1473,7 @@ { "cell_type": "code", "execution_count": null, - "id": "aa8e4bdd", + "id": "5870cad0", "metadata": { "hide-output": false }, @@ -1485,7 +1485,7 @@ }, { "cell_type": "markdown", - "id": "b3b8f77a", + "id": "8d21adb8", "metadata": {}, "source": [ "Observe how we can solve for $ x = A^{-1} y $ by either via `inv(A) @ y`, or using `solve(A, y)`.\n", @@ -1495,7 +1495,7 @@ }, { "cell_type": "markdown", - "id": "39ee822b", + "id": "679b7820", "metadata": {}, "source": [ "## Exercises" @@ -1503,7 +1503,7 @@ }, { "cell_type": "markdown", - "id": "c83645d1", + "id": "74633671", "metadata": {}, "source": [ "## Exercise 8.1\n", @@ -1541,7 +1541,7 @@ }, { "cell_type": "markdown", - "id": "16528720", + "id": "d941e971", "metadata": {}, "source": [ "## Solution to[ Exercise 8.1](https://intro.quantecon.org/#lin_eqs_ex1)\n", @@ -1586,7 +1586,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d8ff4975", + "id": "f0755523", "metadata": { "hide-output": false }, @@ -1608,7 +1608,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9c943d10", + "id": "68398350", "metadata": { "hide-output": false }, @@ -1626,7 +1626,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b473716e", + "id": "1c70b89b", "metadata": { "hide-output": false }, @@ -1640,7 +1640,7 @@ }, { "cell_type": "markdown", - "id": "f8697976", + "id": "dceba82f", "metadata": {}, "source": [ "The solution is given by:\n", @@ -1649,7 +1649,7 @@ }, { "cell_type": "markdown", - "id": "89a59146", + "id": "d299ecad", "metadata": {}, "source": [ "## Exercise 8.2\n", @@ -1737,7 +1737,7 @@ }, { "cell_type": "markdown", - "id": "53485a13", + "id": "16b89e2e", "metadata": {}, "source": [ "## Solution to[ Exercise 8.2](https://intro.quantecon.org/#lin_eqs_ex2)" @@ -1746,7 +1746,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fc5f8370", + "id": "1b2f0cf9", "metadata": { "hide-output": false }, @@ -1759,7 +1759,7 @@ { "cell_type": "code", "execution_count": null, - "id": "81fde9fc", + "id": "d39fa9ff", "metadata": { "hide-output": false }, @@ -1782,7 +1782,7 @@ { "cell_type": "code", "execution_count": null, - "id": "99b2ddc5", + "id": "24b56f5d", "metadata": { "hide-output": false }, @@ -1795,7 +1795,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a9011a2a", + "id": "eead8d80", "metadata": { "hide-output": false }, @@ -1807,7 +1807,7 @@ }, { "cell_type": "markdown", - "id": "1745d73c", + "id": "33cbea6e", "metadata": {}, "source": [ "Here is a visualization of how the least squares method approximates the equation of a line connecting a set of points.\n", @@ -1818,7 +1818,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0ec03bd9", + "id": "6201bb41", "metadata": { "hide-output": false }, @@ -1840,7 +1840,7 @@ }, { "cell_type": "markdown", - "id": "fcab3d05", + "id": "153c4c0b", "metadata": {}, "source": [ "### Further reading\n", @@ -1852,7 +1852,7 @@ } ], "metadata": { - "date": 1722488541.9002523, + "date": 1722502938.34152, "filename": "linear_equations.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/lln_clt.ipynb b/_notebooks/lln_clt.ipynb index 27f4cd3d..5d807f9a 100644 --- a/_notebooks/lln_clt.ipynb +++ b/_notebooks/lln_clt.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "bc5b8274", + "id": "b880128c", "metadata": {}, "source": [ "# LLN and CLT" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "de775db5", + "id": "3fae1652", "metadata": {}, "source": [ "## Overview\n", @@ -37,7 +37,7 @@ { "cell_type": "code", "execution_count": null, - "id": "70bf6436", + "id": "7232d1db", "metadata": { "hide-output": false }, @@ -50,7 +50,7 @@ }, { "cell_type": "markdown", - "id": "191b4a82", + "id": "6d156307", "metadata": {}, "source": [ "\n", @@ -59,7 +59,7 @@ }, { "cell_type": "markdown", - "id": "f4b4dbed", + "id": "979763c7", "metadata": {}, "source": [ "## The law of large numbers\n", @@ -72,7 +72,7 @@ }, { "cell_type": "markdown", - "id": "8cc7b1f9", + "id": "8a8ddd73", "metadata": {}, "source": [ "### The LLN in action\n", @@ -82,7 +82,7 @@ }, { "cell_type": "markdown", - "id": "07817dcd", + "id": "243dcdc9", "metadata": {}, "source": [ "### \n", @@ -112,7 +112,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a6d39b6e", + "id": "50d64896", "metadata": { "hide-output": false }, @@ -125,7 +125,7 @@ }, { "cell_type": "markdown", - "id": "f09520a7", + "id": "cad48d60", "metadata": {}, "source": [ "In this setting, the LLN tells us if we flip the coin many times, the fraction\n", @@ -139,7 +139,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4fad1f12", + "id": "57bce456", "metadata": { "hide-output": false }, @@ -152,7 +152,7 @@ }, { "cell_type": "markdown", - "id": "706a9770", + "id": "6680764f", "metadata": {}, "source": [ "If we change $ p $ the claim still holds:" @@ -161,7 +161,7 @@ { "cell_type": "code", "execution_count": null, - "id": "16e99eb8", + "id": "3d336108", "metadata": { "hide-output": false }, @@ -174,7 +174,7 @@ }, { "cell_type": "markdown", - "id": "1bcced98", + "id": "a6d60e4e", "metadata": {}, "source": [ "Let’s connect this to the discussion above, where we said the sample average\n", @@ -210,7 +210,7 @@ }, { "cell_type": "markdown", - "id": "9080e20a", + "id": "e009f060", "metadata": {}, "source": [ "### Statement of the LLN\n", @@ -260,7 +260,7 @@ }, { "cell_type": "markdown", - "id": "54982485", + "id": "8d91cc13", "metadata": {}, "source": [ "### \n", @@ -281,7 +281,7 @@ }, { "cell_type": "markdown", - "id": "e6005690", + "id": "4ce2b8d4", "metadata": {}, "source": [ "### Comments on the theorem\n", @@ -301,7 +301,7 @@ }, { "cell_type": "markdown", - "id": "7db90a5a", + "id": "ada68c11", "metadata": {}, "source": [ "### Illustration\n", @@ -347,7 +347,7 @@ { "cell_type": "code", "execution_count": null, - "id": "10045f13", + "id": "4bad1d54", "metadata": { "hide-output": false }, @@ -365,7 +365,7 @@ }, { "cell_type": "markdown", - "id": "44f550bb", + "id": "c2afbd39", "metadata": {}, "source": [ "Now we write a function to generate $ m $ sample means and histogram them." @@ -374,7 +374,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a214717f", + "id": "4f900e37", "metadata": { "hide-output": false }, @@ -405,7 +405,7 @@ }, { "cell_type": "markdown", - "id": "2f36a064", + "id": "68bc7b77", "metadata": {}, "source": [ "Now we call the function." @@ -414,7 +414,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7b75d027", + "id": "23c48822", "metadata": { "hide-output": false }, @@ -428,7 +428,7 @@ }, { "cell_type": "markdown", - "id": "f73bbab1", + "id": "e3d56576", "metadata": {}, "source": [ "We can see that the distribution of $ \\bar X $ is clustered around $ \\mathbb E X $\n", @@ -444,7 +444,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c3379a5f", + "id": "f158081d", "metadata": { "hide-output": false }, @@ -480,7 +480,7 @@ }, { "cell_type": "markdown", - "id": "e295243c", + "id": "890b212f", "metadata": {}, "source": [ "Let’s try with a normal distribution." @@ -489,7 +489,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d7a5557a", + "id": "8a14022c", "metadata": { "hide-output": false }, @@ -500,7 +500,7 @@ }, { "cell_type": "markdown", - "id": "8760c484", + "id": "0c52ea7d", "metadata": {}, "source": [ "As $ n $ gets large, more probability mass clusters around the population mean $ \\mu $.\n", @@ -511,7 +511,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2b7fec25", + "id": "93f5ac2c", "metadata": { "hide-output": false }, @@ -522,7 +522,7 @@ }, { "cell_type": "markdown", - "id": "7ef092ae", + "id": "fe3183a2", "metadata": {}, "source": [ "We get a similar result." @@ -530,7 +530,7 @@ }, { "cell_type": "markdown", - "id": "3d89f43c", + "id": "9654d8fb", "metadata": {}, "source": [ "## Breaking the LLN\n", @@ -542,7 +542,7 @@ }, { "cell_type": "markdown", - "id": "1fec2ed1", + "id": "ac40109e", "metadata": {}, "source": [ "### Infinite first moment\n", @@ -564,7 +564,7 @@ }, { "cell_type": "markdown", - "id": "863633c2", + "id": "62a9da77", "metadata": {}, "source": [ "### Failure of the IID condition\n", @@ -574,7 +574,7 @@ }, { "cell_type": "markdown", - "id": "0034070c", + "id": "4210a093", "metadata": {}, "source": [ "### \n", @@ -611,7 +611,7 @@ }, { "cell_type": "markdown", - "id": "476ad5bb", + "id": "0b8e6255", "metadata": {}, "source": [ "## Central limit theorem\n", @@ -624,7 +624,7 @@ }, { "cell_type": "markdown", - "id": "65990481", + "id": "8f990560", "metadata": {}, "source": [ "### Statement of the theorem\n", @@ -636,7 +636,7 @@ }, { "cell_type": "markdown", - "id": "b65f160e", + "id": "13a0c29d", "metadata": {}, "source": [ "### \n", @@ -661,7 +661,7 @@ }, { "cell_type": "markdown", - "id": "a6c70a1a", + "id": "78a11de9", "metadata": {}, "source": [ "### Simulation 1\n", @@ -688,7 +688,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d2ace820", + "id": "877d5b76", "metadata": { "hide-output": false }, @@ -725,7 +725,7 @@ }, { "cell_type": "markdown", - "id": "32e461d3", + "id": "7da92c14", "metadata": {}, "source": [ "(Notice the absence of for loops — every operation is vectorized, meaning that the major calculations are all shifted to fast C code.)\n", @@ -735,7 +735,7 @@ }, { "cell_type": "markdown", - "id": "a51e31a2", + "id": "64fe9b3a", "metadata": {}, "source": [ "## Exercises" @@ -743,7 +743,7 @@ }, { "cell_type": "markdown", - "id": "9bab4ab9", + "id": "25df9bbd", "metadata": {}, "source": [ "## Exercise 19.1\n", @@ -755,7 +755,7 @@ }, { "cell_type": "markdown", - "id": "a4492e57", + "id": "43d6fa5b", "metadata": {}, "source": [ "## Solution to[ Exercise 19.1](https://intro.quantecon.org/#lln_ex1)" @@ -764,7 +764,7 @@ { "cell_type": "code", "execution_count": null, - "id": "73e5d400", + "id": "8c8efc39", "metadata": { "hide-output": false }, @@ -799,7 +799,7 @@ }, { "cell_type": "markdown", - "id": "4326b275", + "id": "6254b889", "metadata": {}, "source": [ "## Exercise 19.2\n", @@ -814,7 +814,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cab1df79", + "id": "004d43b2", "metadata": { "hide-output": false }, @@ -827,7 +827,7 @@ }, { "cell_type": "markdown", - "id": "4f04287c", + "id": "3608a099", "metadata": {}, "source": [ "Explain why this provides a random variable $ X $ with the right distribution." @@ -835,7 +835,7 @@ }, { "cell_type": "markdown", - "id": "11ea0443", + "id": "1abac88b", "metadata": {}, "source": [ "## Solution to[ Exercise 19.2](https://intro.quantecon.org/#lln_ex2)\n", @@ -855,7 +855,7 @@ }, { "cell_type": "markdown", - "id": "c6d4c296", + "id": "1cb79b85", "metadata": {}, "source": [ "## Exercise 19.3\n", @@ -891,7 +891,7 @@ }, { "cell_type": "markdown", - "id": "c86043b8", + "id": "bdc5d076", "metadata": {}, "source": [ "## Solution to[ Exercise 19.3](https://intro.quantecon.org/#lln_ex3)\n", @@ -945,7 +945,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0ab767db", + "id": "c610a8b5", "metadata": { "hide-output": false }, @@ -982,7 +982,7 @@ }, { "cell_type": "markdown", - "id": "efc2a6b5", + "id": "e8676b4d", "metadata": {}, "source": [ "We see the convergence of $ \\bar x $ around $ \\mu $ even when the independence assumption is violated." @@ -990,7 +990,7 @@ } ], "metadata": { - "date": 1722488541.9327831, + "date": 1722502938.3736215, "filename": "lln_clt.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/long_run_growth.ipynb b/_notebooks/long_run_growth.ipynb index 9d51f67e..66079525 100644 --- a/_notebooks/long_run_growth.ipynb +++ b/_notebooks/long_run_growth.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "e472aeeb", + "id": "4b75872c", "metadata": {}, "source": [ "# Long-Run Growth" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "8a0d8110", + "id": "92fe52fa", "metadata": {}, "source": [ "## Overview\n", @@ -65,7 +65,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fe7147ac", + "id": "eb6895a2", "metadata": { "hide-output": false }, @@ -80,7 +80,7 @@ }, { "cell_type": "markdown", - "id": "48caaebf", + "id": "e92d9bfb", "metadata": {}, "source": [ "## Setting up\n", @@ -100,7 +100,7 @@ { "cell_type": "code", "execution_count": null, - "id": "09cb0e83", + "id": "71150f3b", "metadata": { "hide-output": false }, @@ -114,7 +114,7 @@ }, { "cell_type": "markdown", - "id": "6bab009b", + "id": "c36d7ada", "metadata": {}, "source": [ "We can see that this dataset contains GDP per capita (`gdppc`) and population (pop) for many countries and years.\n", @@ -125,7 +125,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d32e5a02", + "id": "b96a4065", "metadata": { "hide-output": false }, @@ -137,7 +137,7 @@ }, { "cell_type": "markdown", - "id": "75948eda", + "id": "064315a9", "metadata": {}, "source": [ "We can now explore some of the 169 countries that are available.\n", @@ -148,7 +148,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5a735a87", + "id": "b3e2e7b0", "metadata": { "hide-output": false }, @@ -166,7 +166,7 @@ }, { "cell_type": "markdown", - "id": "f947a0f9", + "id": "ce9033c4", "metadata": {}, "source": [ "Let’s now reshape the original data into some convenient variables to enable quicker access to countries’ time series data.\n", @@ -177,7 +177,7 @@ { "cell_type": "code", "execution_count": null, - "id": "310c6559", + "id": "049c2209", "metadata": { "hide-output": false }, @@ -189,7 +189,7 @@ }, { "cell_type": "markdown", - "id": "1d032441", + "id": "c50e91b1", "metadata": {}, "source": [ "Now we can focus on GDP per capita (`gdppc`) and generate a wide data format" @@ -198,7 +198,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ebb18ff8", + "id": "c3f1cc05", "metadata": { "hide-output": false }, @@ -211,7 +211,7 @@ { "cell_type": "code", "execution_count": null, - "id": "521b83d4", + "id": "331fe0c8", "metadata": { "hide-output": false }, @@ -222,7 +222,7 @@ }, { "cell_type": "markdown", - "id": "8f46a09f", + "id": "37f503ef", "metadata": {}, "source": [ "We create a variable `color_mapping` to store a map between country codes and colors for consistency" @@ -231,7 +231,7 @@ { "cell_type": "code", "execution_count": null, - "id": "32a184d5", + "id": "fa29f441", "metadata": { "hide-output": false }, @@ -249,7 +249,7 @@ }, { "cell_type": "markdown", - "id": "f5b0dca6", + "id": "78101973", "metadata": {}, "source": [ "## GDP per capita\n", @@ -259,7 +259,7 @@ }, { "cell_type": "markdown", - "id": "49e63eaa", + "id": "1b852e9d", "metadata": {}, "source": [ "### United Kingdom\n", @@ -270,7 +270,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3efd5e16", + "id": "19efbab1", "metadata": { "hide-output": false }, @@ -288,7 +288,7 @@ }, { "cell_type": "markdown", - "id": "9f153f18", + "id": "6835a9d9", "metadata": {}, "source": [ ">**Note**\n", @@ -303,7 +303,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d43f622c", + "id": "7f7df91b", "metadata": { "hide-output": false }, @@ -326,7 +326,7 @@ }, { "cell_type": "markdown", - "id": "8c735b14", + "id": "47e9ad9b", "metadata": {}, "source": [ "### Comparing the US, UK, and China\n", @@ -339,7 +339,7 @@ { "cell_type": "code", "execution_count": null, - "id": "61054e36", + "id": "1e8bfed6", "metadata": { "hide-output": false }, @@ -386,7 +386,7 @@ }, { "cell_type": "markdown", - "id": "c594b50f", + "id": "16fdfeef", "metadata": {}, "source": [ "As you can see from this chart, economic growth started in earnest in the 18th century and continued for the next two hundred years.\n", @@ -399,7 +399,7 @@ { "cell_type": "code", "execution_count": null, - "id": "69e4405d", + "id": "d0d143c0", "metadata": { "hide-output": false }, @@ -465,7 +465,7 @@ }, { "cell_type": "markdown", - "id": "41d512c5", + "id": "82dd7a98", "metadata": {}, "source": [ "The preceding graph of per capita GDP strikingly reveals how the spread of the Industrial Revolution has over time gradually lifted the living standards of substantial\n", @@ -479,7 +479,7 @@ }, { "cell_type": "markdown", - "id": "f9db136c", + "id": "27d814a7", "metadata": {}, "source": [ "### Focusing on China\n", @@ -499,7 +499,7 @@ { "cell_type": "code", "execution_count": null, - "id": "23c2504e", + "id": "b2979c53", "metadata": { "hide-output": false }, @@ -549,7 +549,7 @@ }, { "cell_type": "markdown", - "id": "2a2577fc", + "id": "db3b24b4", "metadata": {}, "source": [ "### Focusing on the US and UK\n", @@ -568,7 +568,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e5615afe", + "id": "91a6517c", "metadata": { "hide-output": false }, @@ -619,7 +619,7 @@ }, { "cell_type": "markdown", - "id": "504edca3", + "id": "a55df0f1", "metadata": {}, "source": [ "## GDP growth\n", @@ -632,7 +632,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9c29d10c", + "id": "2834f45d", "metadata": { "hide-output": false }, @@ -646,7 +646,7 @@ }, { "cell_type": "markdown", - "id": "8c00072f", + "id": "057138f3", "metadata": {}, "source": [ "### Early industrialization (1820 to 1940)\n", @@ -663,7 +663,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5c916848", + "id": "a7e4649d", "metadata": { "hide-output": false }, @@ -680,7 +680,7 @@ }, { "cell_type": "markdown", - "id": "c330f2b6", + "id": "70e6ad3a", "metadata": {}, "source": [ "#### Constructing a plot similar to Tooze’s\n", @@ -693,7 +693,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3aea70bf", + "id": "2113b74a", "metadata": { "hide-output": false }, @@ -706,7 +706,7 @@ }, { "cell_type": "markdown", - "id": "db351efe", + "id": "da1fb20d", "metadata": {}, "source": [ "Now let’s assemble our series and get ready to plot them." @@ -715,7 +715,7 @@ { "cell_type": "code", "execution_count": null, - "id": "56493f09", + "id": "25d19a16", "metadata": { "hide-output": false }, @@ -732,7 +732,7 @@ { "cell_type": "code", "execution_count": null, - "id": "75f7dee1", + "id": "94c41e7c", "metadata": { "hide-output": false }, @@ -753,7 +753,7 @@ }, { "cell_type": "markdown", - "id": "e86bec3f", + "id": "916ecd24", "metadata": {}, "source": [ "At the start of this lecture, we noted how US GDP came from “nowhere” at the start of the 19th century to rival and then overtake the GDP of the British Empire\n", @@ -766,7 +766,7 @@ }, { "cell_type": "markdown", - "id": "3fa97545", + "id": "5c7fb507", "metadata": {}, "source": [ "### The modern era (1950 to 2020)\n", @@ -777,7 +777,7 @@ { "cell_type": "code", "execution_count": null, - "id": "589bb2dd", + "id": "904e6865", "metadata": { "hide-output": false }, @@ -794,7 +794,7 @@ }, { "cell_type": "markdown", - "id": "1ca9a338", + "id": "9b386dd5", "metadata": {}, "source": [ "It is tempting to compare this graph with figure Fig. 2.6 that showed the US overtaking the UK near the start of the “American Century”, a version of the graph featured in chapter 1 of [[Tooze, 2014](https://intro.quantecon.org/zreferences.html#id14)]." @@ -802,7 +802,7 @@ }, { "cell_type": "markdown", - "id": "4d4c307e", + "id": "50adf837", "metadata": {}, "source": [ "## Regional analysis\n", @@ -815,7 +815,7 @@ { "cell_type": "code", "execution_count": null, - "id": "26df6f8d", + "id": "f306af80", "metadata": { "hide-output": false }, @@ -830,7 +830,7 @@ }, { "cell_type": "markdown", - "id": "913a6158", + "id": "4745cb25", "metadata": {}, "source": [ "We can save the raw data in a more convenient format to build a single table of regional GDP per capita" @@ -839,7 +839,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7002afbb", + "id": "c7b2706c", "metadata": { "hide-output": false }, @@ -851,7 +851,7 @@ }, { "cell_type": "markdown", - "id": "0df5abfa", + "id": "3ad81bbe", "metadata": {}, "source": [ "Let’s interpolate based on time to fill in any gaps in the dataset for the purpose of plotting" @@ -860,7 +860,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8ca38ad6", + "id": "5e1565ba", "metadata": { "hide-output": false }, @@ -871,7 +871,7 @@ }, { "cell_type": "markdown", - "id": "d6a4003b", + "id": "f94118a9", "metadata": {}, "source": [ "Looking more closely, let’s compare the time series for `Western Offshoots` and `Sub-Saharan Africa` with a number of different regions around the world.\n", @@ -882,7 +882,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ac807082", + "id": "bc55b6db", "metadata": { "hide-output": false }, @@ -900,7 +900,7 @@ } ], "metadata": { - "date": 1722488541.963468, + "date": 1722502938.4036283, "filename": "long_run_growth.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/lp_intro.ipynb b/_notebooks/lp_intro.ipynb index a2381140..3705c74c 100644 --- a/_notebooks/lp_intro.ipynb +++ b/_notebooks/lp_intro.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "7a98d8bf", + "id": "e916598c", "metadata": {}, "source": [ "\n", @@ -11,7 +11,7 @@ }, { "cell_type": "markdown", - "id": "f6774449", + "id": "84f6fa92", "metadata": {}, "source": [ "# Linear Programming\n", @@ -22,7 +22,7 @@ { "cell_type": "code", "execution_count": null, - "id": "41540c94", + "id": "99c52bf7", "metadata": { "hide-output": false }, @@ -33,7 +33,7 @@ }, { "cell_type": "markdown", - "id": "3af796ec", + "id": "62b7b991", "metadata": {}, "source": [ "## Overview\n", @@ -64,7 +64,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e95bc0e9", + "id": "5e5d9742", "metadata": { "hide-output": false }, @@ -79,7 +79,7 @@ }, { "cell_type": "markdown", - "id": "c33e05ae", + "id": "9ed637e7", "metadata": {}, "source": [ "Let’s start with some examples of linear programming problem." @@ -87,7 +87,7 @@ }, { "cell_type": "markdown", - "id": "2a72e787", + "id": "c9a44605", "metadata": {}, "source": [ "## Example 1: production problem\n", @@ -132,7 +132,7 @@ { "cell_type": "code", "execution_count": null, - "id": "81d13a20", + "id": "04d0f969", "metadata": { "hide-output": false }, @@ -167,7 +167,7 @@ }, { "cell_type": "markdown", - "id": "93f3643f", + "id": "89315f1b", "metadata": {}, "source": [ "The blue region is the feasible set within which all constraints are satisfied.\n", @@ -183,7 +183,7 @@ }, { "cell_type": "markdown", - "id": "a73b63a3", + "id": "1e444277", "metadata": {}, "source": [ "### Computation: using OR-Tools\n", @@ -196,7 +196,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6f7b3984", + "id": "2c2bacfe", "metadata": { "hide-output": false }, @@ -208,7 +208,7 @@ }, { "cell_type": "markdown", - "id": "254cb201", + "id": "daaf3acf", "metadata": {}, "source": [ "Let’s create two variables $ x_1 $ and $ x_2 $ such that they can only have nonnegative values." @@ -217,7 +217,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bc6a949e", + "id": "d93f7ebc", "metadata": { "hide-output": false }, @@ -230,7 +230,7 @@ }, { "cell_type": "markdown", - "id": "2dc06a5d", + "id": "de8f2355", "metadata": {}, "source": [ "Add the constraints to the problem." @@ -239,7 +239,7 @@ { "cell_type": "code", "execution_count": null, - "id": "07492332", + "id": "0bbd3372", "metadata": { "hide-output": false }, @@ -254,7 +254,7 @@ }, { "cell_type": "markdown", - "id": "92c4ccbb", + "id": "e8df7bd6", "metadata": {}, "source": [ "Let’s specify the objective function. We use `solver.Maximize` method in the case when we want to maximize the objective function and in the case of minimization we can use `solver.Minimize`." @@ -263,7 +263,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3a95d82a", + "id": "8c81b8c5", "metadata": { "hide-output": false }, @@ -275,7 +275,7 @@ }, { "cell_type": "markdown", - "id": "b8d7d749", + "id": "960cc07b", "metadata": {}, "source": [ "Once we solve the problem, we can check whether the solver was successful in solving the problem using its status. If it’s successful, then the status will be equal to `pywraplp.Solver.OPTIMAL`." @@ -284,7 +284,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a260a1f2", + "id": "c20fd68a", "metadata": { "hide-output": false }, @@ -302,7 +302,7 @@ }, { "cell_type": "markdown", - "id": "4efa3963", + "id": "64410b34", "metadata": {}, "source": [ "## Example 2: investment problem\n", @@ -382,7 +382,7 @@ }, { "cell_type": "markdown", - "id": "f0847e48", + "id": "1cb1cc82", "metadata": {}, "source": [ "### Computation: using OR-Tools\n", @@ -395,7 +395,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f3927422", + "id": "164eb902", "metadata": { "hide-output": false }, @@ -407,7 +407,7 @@ }, { "cell_type": "markdown", - "id": "96b5b7c1", + "id": "064ef014", "metadata": {}, "source": [ "Let’s create five variables $ x_1, x_2, x_3, x_4, $ and $ x_5 $ such that they can only have the values defined in the above constraints." @@ -416,7 +416,7 @@ { "cell_type": "code", "execution_count": null, - "id": "18a57ccc", + "id": "0773e0ea", "metadata": { "hide-output": false }, @@ -432,7 +432,7 @@ }, { "cell_type": "markdown", - "id": "d8033fe5", + "id": "99166a4a", "metadata": {}, "source": [ "Add the constraints to the problem." @@ -441,7 +441,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ef51ba72", + "id": "7f4b6da1", "metadata": { "hide-output": false }, @@ -459,7 +459,7 @@ }, { "cell_type": "markdown", - "id": "22f14bf6", + "id": "4551a853", "metadata": {}, "source": [ "Let’s specify the objective function." @@ -468,7 +468,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bba19efc", + "id": "c91a399c", "metadata": { "hide-output": false }, @@ -480,7 +480,7 @@ }, { "cell_type": "markdown", - "id": "1fef278e", + "id": "d9b283c4", "metadata": {}, "source": [ "Let’s solve the problem and check the status using `pywraplp.Solver.OPTIMAL`." @@ -489,7 +489,7 @@ { "cell_type": "code", "execution_count": null, - "id": "85b2ee96", + "id": "168151b0", "metadata": { "hide-output": false }, @@ -512,7 +512,7 @@ }, { "cell_type": "markdown", - "id": "3e5f9ca5", + "id": "daab5517", "metadata": {}, "source": [ "OR-Tools tells us that the best investment strategy is:\n", @@ -525,7 +525,7 @@ }, { "cell_type": "markdown", - "id": "52624fba", + "id": "ba40bace", "metadata": {}, "source": [ "## Standard form\n", @@ -584,7 +584,7 @@ }, { "cell_type": "markdown", - "id": "87e13d9c", + "id": "312b15b8", "metadata": {}, "source": [ "### Useful transformations\n", @@ -603,7 +603,7 @@ }, { "cell_type": "markdown", - "id": "0a70142e", + "id": "e865da2e", "metadata": {}, "source": [ "### Example 1: production problem\n", @@ -633,7 +633,7 @@ }, { "cell_type": "markdown", - "id": "390d3613", + "id": "e1c7ceb7", "metadata": {}, "source": [ "### Computation: using SciPy\n", @@ -661,7 +661,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f78c04d2", + "id": "d37b1cdc", "metadata": { "hide-output": false }, @@ -678,7 +678,7 @@ }, { "cell_type": "markdown", - "id": "952b26f8", + "id": "1d3c2143", "metadata": {}, "source": [ "Once we solve the problem, we can check whether the solver was successful in solving the problem using the boolean attribute `success`. If it’s successful, then the `success` attribute is set to `True`." @@ -687,7 +687,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ab87d3bd", + "id": "34a54a37", "metadata": { "hide-output": false }, @@ -707,7 +707,7 @@ }, { "cell_type": "markdown", - "id": "4a0fd1f9", + "id": "157d079c", "metadata": {}, "source": [ "The optimal plan tells the factory to produce $ 2.5 $ units of Product 1 and $ 5 $ units of Product 2; that generates a maximizing value of revenue of $ 27.5 $.\n", @@ -729,7 +729,7 @@ }, { "cell_type": "markdown", - "id": "a4267561", + "id": "0d637c19", "metadata": {}, "source": [ "### Example 2: investment problem\n", @@ -773,7 +773,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ddc041f2", + "id": "15883c79", "metadata": { "hide-output": false }, @@ -801,7 +801,7 @@ }, { "cell_type": "markdown", - "id": "f46e0484", + "id": "a7a9824b", "metadata": {}, "source": [ "Let’s solve the problem and check the status using `success` attribute." @@ -810,7 +810,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8690e2f9", + "id": "7584b545", "metadata": { "hide-output": false }, @@ -835,7 +835,7 @@ }, { "cell_type": "markdown", - "id": "1042a11b", + "id": "9c85d259", "metadata": {}, "source": [ "SciPy tells us that the best investment strategy is:\n", @@ -853,7 +853,7 @@ }, { "cell_type": "markdown", - "id": "3ad861f2", + "id": "90d52353", "metadata": {}, "source": [ "## Exercises" @@ -861,7 +861,7 @@ }, { "cell_type": "markdown", - "id": "96c87a31", + "id": "3d5abc6f", "metadata": {}, "source": [ "## Exercise 37.1\n", @@ -871,7 +871,7 @@ }, { "cell_type": "markdown", - "id": "f0d74587", + "id": "7f9d81e7", "metadata": {}, "source": [ "## Solution to[ Exercise 37.1](https://intro.quantecon.org/#lp_intro_ex1)\n", @@ -892,7 +892,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b19c4912", + "id": "61495b0c", "metadata": { "hide-output": false }, @@ -909,7 +909,7 @@ { "cell_type": "code", "execution_count": null, - "id": "35300da2", + "id": "16a862ec", "metadata": { "hide-output": false }, @@ -928,7 +928,7 @@ { "cell_type": "code", "execution_count": null, - "id": "663dc6a8", + "id": "26567291", "metadata": { "hide-output": false }, @@ -941,7 +941,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c71b43f4", + "id": "c24325aa", "metadata": { "hide-output": false }, @@ -961,7 +961,7 @@ }, { "cell_type": "markdown", - "id": "73bc6d66", + "id": "3a199981", "metadata": {}, "source": [ "## Exercise 37.2\n", @@ -979,7 +979,7 @@ }, { "cell_type": "markdown", - "id": "c5fb6da2", + "id": "bb17969d", "metadata": {}, "source": [ "## Solution to[ Exercise 37.2](https://intro.quantecon.org/#lp_intro_ex2)\n", @@ -1000,7 +1000,7 @@ { "cell_type": "code", "execution_count": null, - "id": "aeb8a00c", + "id": "f308913a", "metadata": { "hide-output": false }, @@ -1012,7 +1012,7 @@ }, { "cell_type": "markdown", - "id": "07c151d9", + "id": "445a8f0a", "metadata": {}, "source": [ "Let’s create two variables $ x_1 $ and $ x_2 $ such that they can only have nonnegative values." @@ -1021,7 +1021,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e83f62c9", + "id": "d37b30cf", "metadata": { "hide-output": false }, @@ -1035,7 +1035,7 @@ { "cell_type": "code", "execution_count": null, - "id": "16720790", + "id": "0f051fbd", "metadata": { "hide-output": false }, @@ -1051,7 +1051,7 @@ { "cell_type": "code", "execution_count": null, - "id": "990e4b63", + "id": "0145ca00", "metadata": { "hide-output": false }, @@ -1064,7 +1064,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a567b72d", + "id": "bae12a4f", "metadata": { "hide-output": false }, @@ -1084,7 +1084,7 @@ } ], "metadata": { - "date": 1722488542.0002484, + "date": 1722502938.4382417, "filename": "lp_intro.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/markov_chains_I.ipynb b/_notebooks/markov_chains_I.ipynb index 70c7d168..a82c6271 100644 --- a/_notebooks/markov_chains_I.ipynb +++ b/_notebooks/markov_chains_I.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "988b68e2", + "id": "40d93ee2", "metadata": {}, "source": [ "# Markov Chains: Basic Concepts\n", @@ -15,7 +15,7 @@ { "cell_type": "code", "execution_count": null, - "id": "493e3bba", + "id": "c2e1e167", "metadata": { "hide-output": false }, @@ -26,7 +26,7 @@ }, { "cell_type": "markdown", - "id": "d7d6aaa0", + "id": "15fd9e3b", "metadata": {}, "source": [ "## Overview\n", @@ -60,7 +60,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c95d45a9", + "id": "dfd30236", "metadata": { "hide-output": false }, @@ -81,7 +81,7 @@ }, { "cell_type": "markdown", - "id": "d0a8c6da", + "id": "1def94bf", "metadata": {}, "source": [ "## Definitions and examples\n", @@ -94,7 +94,7 @@ }, { "cell_type": "markdown", - "id": "0f15d299", + "id": "d7acf030", "metadata": {}, "source": [ "### Stochastic matrices\n", @@ -120,7 +120,7 @@ }, { "cell_type": "markdown", - "id": "7780dea6", + "id": "96710a03", "metadata": {}, "source": [ "### Markov chains\n", @@ -135,7 +135,7 @@ }, { "cell_type": "markdown", - "id": "9aaa88c9", + "id": "147f2b27", "metadata": {}, "source": [ "#### Example 1\n", @@ -214,7 +214,7 @@ }, { "cell_type": "markdown", - "id": "cbb5ea94", + "id": "d9d55153", "metadata": {}, "source": [ "#### Example 2\n", @@ -272,7 +272,7 @@ }, { "cell_type": "markdown", - "id": "ba911f04", + "id": "d0504c89", "metadata": {}, "source": [ "#### Example 3\n", @@ -302,7 +302,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6a47459d", + "id": "e150a5b9", "metadata": { "hide-output": false }, @@ -319,7 +319,7 @@ }, { "cell_type": "markdown", - "id": "0b9285d7", + "id": "c24fe441", "metadata": {}, "source": [ "Here is a visualization, with darker colors indicating higher probability." @@ -328,7 +328,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e8db7991", + "id": "423db28d", "metadata": { "hide-output": false }, @@ -362,7 +362,7 @@ }, { "cell_type": "markdown", - "id": "9c966426", + "id": "1466fd05", "metadata": {}, "source": [ "Looking at the data, we see that democracies tend to have longer-lasting growth\n", @@ -374,7 +374,7 @@ }, { "cell_type": "markdown", - "id": "83a828a7", + "id": "2aa6c928", "metadata": {}, "source": [ "### Defining Markov chains\n", @@ -437,7 +437,7 @@ }, { "cell_type": "markdown", - "id": "fe61044b", + "id": "ef056f9f", "metadata": {}, "source": [ "## Simulation\n", @@ -456,7 +456,7 @@ }, { "cell_type": "markdown", - "id": "21acc0b6", + "id": "d01bc5ce", "metadata": {}, "source": [ "### Writing our own simulation code\n", @@ -487,7 +487,7 @@ { "cell_type": "code", "execution_count": null, - "id": "658ca581", + "id": "8a824d0e", "metadata": { "hide-output": false }, @@ -500,7 +500,7 @@ }, { "cell_type": "markdown", - "id": "24832131", + "id": "a3447544", "metadata": {}, "source": [ "We’ll write our code as a function that accepts the following three arguments\n", @@ -513,7 +513,7 @@ { "cell_type": "code", "execution_count": null, - "id": "129b38d9", + "id": "17076d1b", "metadata": { "hide-output": false }, @@ -544,7 +544,7 @@ }, { "cell_type": "markdown", - "id": "1dc0bf77", + "id": "b36a20a2", "metadata": {}, "source": [ "Let’s see how it works using the small matrix" @@ -553,7 +553,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7fe0230c", + "id": "842012f8", "metadata": { "hide-output": false }, @@ -565,7 +565,7 @@ }, { "cell_type": "markdown", - "id": "4fdd7613", + "id": "13e541d7", "metadata": {}, "source": [ "Here’s a short time series." @@ -574,7 +574,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ef33883c", + "id": "4e4f8cd0", "metadata": { "hide-output": false }, @@ -585,7 +585,7 @@ }, { "cell_type": "markdown", - "id": "670ea782", + "id": "a65f7c6e", "metadata": {}, "source": [ "It can be shown that for a long series drawn from `P`, the fraction of the\n", @@ -602,7 +602,7 @@ { "cell_type": "code", "execution_count": null, - "id": "888ac480", + "id": "2247e68b", "metadata": { "hide-output": false }, @@ -614,7 +614,7 @@ }, { "cell_type": "markdown", - "id": "ae830c71", + "id": "70a5f6b9", "metadata": {}, "source": [ "You can try changing the initial distribution to confirm that the output is\n", @@ -623,7 +623,7 @@ }, { "cell_type": "markdown", - "id": "40f06f9d", + "id": "feb62837", "metadata": {}, "source": [ "### Using QuantEcon’s routines\n", @@ -636,7 +636,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ab2a57f5", + "id": "059504fa", "metadata": { "hide-output": false }, @@ -649,7 +649,7 @@ }, { "cell_type": "markdown", - "id": "38a21c3f", + "id": "8efb46e9", "metadata": {}, "source": [ "The `simulate` routine is faster (because it is [JIT compiled](https://python-programming.quantecon.org/numba.html#numba-link))." @@ -658,7 +658,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7e08b5c2", + "id": "554b5c84", "metadata": { "hide-output": false }, @@ -670,7 +670,7 @@ { "cell_type": "code", "execution_count": null, - "id": "32b64bcc", + "id": "da15a521", "metadata": { "hide-output": false }, @@ -681,7 +681,7 @@ }, { "cell_type": "markdown", - "id": "945c7a3c", + "id": "3ea44114", "metadata": {}, "source": [ "#### Adding state values and initial conditions\n", @@ -696,7 +696,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f376e515", + "id": "56491d0f", "metadata": { "hide-output": false }, @@ -709,7 +709,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9ad3324d", + "id": "5f0fa702", "metadata": { "hide-output": false }, @@ -721,7 +721,7 @@ { "cell_type": "code", "execution_count": null, - "id": "16b9b27b", + "id": "b91838e4", "metadata": { "hide-output": false }, @@ -732,7 +732,7 @@ }, { "cell_type": "markdown", - "id": "153d2393", + "id": "7fc6da0c", "metadata": {}, "source": [ "If we want to see indices rather than state values as outputs as we can use" @@ -741,7 +741,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2bd289bb", + "id": "8604ab6e", "metadata": { "hide-output": false }, @@ -752,7 +752,7 @@ }, { "cell_type": "markdown", - "id": "d218a340", + "id": "0fbf5ef2", "metadata": {}, "source": [ "\n", @@ -761,7 +761,7 @@ }, { "cell_type": "markdown", - "id": "60714819", + "id": "cc2af9ef", "metadata": {}, "source": [ "## Distributions over time\n", @@ -843,7 +843,7 @@ }, { "cell_type": "markdown", - "id": "3b2d9695", + "id": "95c3194d", "metadata": {}, "source": [ "### Multiple step transition probabilities\n", @@ -870,7 +870,7 @@ }, { "cell_type": "markdown", - "id": "61dc89c2", + "id": "12cc64b7", "metadata": {}, "source": [ "### Example: probability of recession\n", @@ -895,7 +895,7 @@ }, { "cell_type": "markdown", - "id": "9c6b6432", + "id": "ff6a8aa6", "metadata": {}, "source": [ "### Example 2: cross-sectional distributions\n", @@ -944,7 +944,7 @@ }, { "cell_type": "markdown", - "id": "733143f5", + "id": "822f826b", "metadata": {}, "source": [ "## Stationary distributions\n", @@ -958,7 +958,7 @@ { "cell_type": "code", "execution_count": null, - "id": "af2cb6d2", + "id": "b03ddb2a", "metadata": { "hide-output": false }, @@ -972,7 +972,7 @@ }, { "cell_type": "markdown", - "id": "f91ef98b", + "id": "0b817e15", "metadata": {}, "source": [ "Notice that `ψ @ P` is the same as `ψ`.\n", @@ -994,7 +994,7 @@ }, { "cell_type": "markdown", - "id": "3b81fd29", + "id": "65ba52b6", "metadata": {}, "source": [ "## \n", @@ -1015,7 +1015,7 @@ }, { "cell_type": "markdown", - "id": "684e95fc", + "id": "8c90edb0", "metadata": {}, "source": [ "## \n", @@ -1028,7 +1028,7 @@ }, { "cell_type": "markdown", - "id": "295fc779", + "id": "ccd6a0e6", "metadata": {}, "source": [ "### Example\n", @@ -1053,7 +1053,7 @@ }, { "cell_type": "markdown", - "id": "8f2d9cfb", + "id": "b8f623c7", "metadata": {}, "source": [ "### Calculating stationary distributions\n", @@ -1066,7 +1066,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0b1383d2", + "id": "a8e13e0c", "metadata": { "hide-output": false }, @@ -1081,7 +1081,7 @@ }, { "cell_type": "markdown", - "id": "668f4cfc", + "id": "49f01fd3", "metadata": {}, "source": [ "### Asymptotic stationarity\n", @@ -1098,7 +1098,7 @@ }, { "cell_type": "markdown", - "id": "b267b817", + "id": "b8a1cfa8", "metadata": {}, "source": [ "### \n", @@ -1123,7 +1123,7 @@ }, { "cell_type": "markdown", - "id": "666029fe", + "id": "f7c4b14a", "metadata": {}, "source": [ "#### Example: Hamilton’s chain\n", @@ -1134,7 +1134,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fc7e1bab", + "id": "36d42234", "metadata": { "hide-output": false }, @@ -1148,7 +1148,7 @@ }, { "cell_type": "markdown", - "id": "80395903", + "id": "a8df86d0", "metadata": {}, "source": [ "Let’s pick an initial distribution $ \\psi_1, \\psi_2, \\psi_3 $ and trace out the sequence of distributions $ \\psi_i P^t $ for $ t = 0, 1, 2, \\ldots $, for $ i=1, 2, 3 $.\n", @@ -1159,7 +1159,7 @@ { "cell_type": "code", "execution_count": null, - "id": "92ca2a6e", + "id": "ff229d62", "metadata": { "hide-output": false }, @@ -1176,7 +1176,7 @@ }, { "cell_type": "markdown", - "id": "df043b97", + "id": "52ac08bb", "metadata": {}, "source": [ "Now we plot the sequence" @@ -1185,7 +1185,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fa6a5e7b", + "id": "602e2edd", "metadata": { "hide-output": false }, @@ -1239,7 +1239,7 @@ }, { "cell_type": "markdown", - "id": "6ab8d456", + "id": "cbece212", "metadata": {}, "source": [ "Here\n", @@ -1255,7 +1255,7 @@ }, { "cell_type": "markdown", - "id": "a4a3acf0", + "id": "35bce546", "metadata": {}, "source": [ "#### Example: failure of convergence\n", @@ -1291,7 +1291,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c32a8de4", + "id": "a642c9b4", "metadata": { "hide-output": false }, @@ -1349,7 +1349,7 @@ }, { "cell_type": "markdown", - "id": "664df167", + "id": "df5bc2f7", "metadata": {}, "source": [ "This animation demonstrates the behavior of an irreducible and periodic stochastic matrix.\n", @@ -1368,7 +1368,7 @@ }, { "cell_type": "markdown", - "id": "d109a006", + "id": "35ff22a3", "metadata": {}, "source": [ "## Computing expectations\n", @@ -1441,7 +1441,7 @@ }, { "cell_type": "markdown", - "id": "f4a9b2b1", + "id": "8a796d59", "metadata": {}, "source": [ "### Expectations of geometric sums\n", @@ -1471,7 +1471,7 @@ }, { "cell_type": "markdown", - "id": "3c913aaa", + "id": "8724590f", "metadata": {}, "source": [ "### Exercise 34.1\n", @@ -1501,7 +1501,7 @@ }, { "cell_type": "markdown", - "id": "0283d897", + "id": "ce57a471", "metadata": {}, "source": [ "### Solution to[ Exercise 34.1](https://intro.quantecon.org/#mc1_ex_1)\n", @@ -1520,7 +1520,7 @@ { "cell_type": "code", "execution_count": null, - "id": "441d76af", + "id": "d204a12e", "metadata": { "hide-output": false }, @@ -1535,7 +1535,7 @@ }, { "cell_type": "markdown", - "id": "4c47fc95", + "id": "0ea9c34b", "metadata": {}, "source": [ "Note that rows of the transition matrix converge to the stationary distribution." @@ -1544,7 +1544,7 @@ { "cell_type": "code", "execution_count": null, - "id": "967e926a", + "id": "c7a117dd", "metadata": { "hide-output": false }, @@ -1557,7 +1557,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4886c34f", + "id": "ddeb6465", "metadata": { "hide-output": false }, @@ -1570,7 +1570,7 @@ }, { "cell_type": "markdown", - "id": "7da1f2bc", + "id": "bc55ac33", "metadata": {}, "source": [ "### Exercise 34.2\n", @@ -1581,7 +1581,7 @@ { "cell_type": "code", "execution_count": null, - "id": "161e01b7", + "id": "5a94452d", "metadata": { "hide-output": false }, @@ -1598,7 +1598,7 @@ }, { "cell_type": "markdown", - "id": "adaf7f36", + "id": "83e4bb08", "metadata": {}, "source": [ "In this exercise,\n", @@ -1610,7 +1610,7 @@ }, { "cell_type": "markdown", - "id": "f50ec265", + "id": "21117ac0", "metadata": {}, "source": [ "### Solution to[ Exercise 34.2](https://intro.quantecon.org/#mc1_ex_2)\n", @@ -1623,7 +1623,7 @@ { "cell_type": "code", "execution_count": null, - "id": "204f63b4", + "id": "b5ea7d13", "metadata": { "hide-output": false }, @@ -1641,7 +1641,7 @@ }, { "cell_type": "markdown", - "id": "6cec2ef2", + "id": "557a14ab", "metadata": {}, "source": [ "So it satisfies the requirement.\n", @@ -1654,7 +1654,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dd945f57", + "id": "2649ba3c", "metadata": { "hide-output": false }, @@ -1688,7 +1688,7 @@ }, { "cell_type": "markdown", - "id": "f4361d7d", + "id": "12f468a2", "metadata": {}, "source": [ "### Exercise 34.3\n", @@ -1699,7 +1699,7 @@ }, { "cell_type": "markdown", - "id": "c31dc61a", + "id": "afc1907c", "metadata": {}, "source": [ "### Solution to[ Exercise 34.3](https://intro.quantecon.org/#mc1_ex_3)\n", @@ -1725,7 +1725,7 @@ } ], "metadata": { - "date": 1722488542.3155077, + "date": 1722502938.892865, "filename": "markov_chains_I.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/markov_chains_II.ipynb b/_notebooks/markov_chains_II.ipynb index 5af7cc4b..b0281ca6 100644 --- a/_notebooks/markov_chains_II.ipynb +++ b/_notebooks/markov_chains_II.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "96438d6d", + "id": "67df9872", "metadata": {}, "source": [ "# Markov Chains: Irreducibility and Ergodicity\n", @@ -15,7 +15,7 @@ { "cell_type": "code", "execution_count": null, - "id": "733337f7", + "id": "1a742f6e", "metadata": { "hide-output": false }, @@ -26,7 +26,7 @@ }, { "cell_type": "markdown", - "id": "1242594d", + "id": "d0ff4ae5", "metadata": {}, "source": [ "## Overview\n", @@ -54,7 +54,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9c192ce1", + "id": "73e4b39c", "metadata": { "hide-output": false }, @@ -67,7 +67,7 @@ }, { "cell_type": "markdown", - "id": "05c1c9de", + "id": "781c2138", "metadata": {}, "source": [ "\n", @@ -76,7 +76,7 @@ }, { "cell_type": "markdown", - "id": "6dd703b6", + "id": "56501d51", "metadata": {}, "source": [ "## Irreducibility\n", @@ -123,7 +123,7 @@ { "cell_type": "code", "execution_count": null, - "id": "97602b30", + "id": "64cba0db", "metadata": { "hide-output": false }, @@ -139,7 +139,7 @@ }, { "cell_type": "markdown", - "id": "8a7a3060", + "id": "580ab4ac", "metadata": {}, "source": [ "Here’s a more pessimistic scenario in which poor people remain poor forever\n", @@ -155,7 +155,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0b1c5d5b", + "id": "f2203727", "metadata": { "hide-output": false }, @@ -171,7 +171,7 @@ }, { "cell_type": "markdown", - "id": "c8888bed", + "id": "f0bde016", "metadata": {}, "source": [ "It might be clear to you already that irreducibility is going to be important\n", @@ -184,7 +184,7 @@ }, { "cell_type": "markdown", - "id": "7b7fcc39", + "id": "f9beb68b", "metadata": {}, "source": [ "### Irreducibility and stationarity\n", @@ -198,7 +198,7 @@ }, { "cell_type": "markdown", - "id": "a1a40bdd", + "id": "c518c5a1", "metadata": {}, "source": [ "### \n", @@ -215,7 +215,7 @@ }, { "cell_type": "markdown", - "id": "ea2aed3e", + "id": "86edb5d9", "metadata": {}, "source": [ "## Ergodicity\n", @@ -225,7 +225,7 @@ }, { "cell_type": "markdown", - "id": "d481d1e1", + "id": "e778a6b9", "metadata": {}, "source": [ "## \n", @@ -268,7 +268,7 @@ }, { "cell_type": "markdown", - "id": "86166a39", + "id": "fdc00c6c", "metadata": {}, "source": [ "### Example: ergodicity and unemployment\n", @@ -297,7 +297,7 @@ }, { "cell_type": "markdown", - "id": "2d045d33", + "id": "09771cdb", "metadata": {}, "source": [ "### Example: Hamilton dynamics\n", @@ -326,7 +326,7 @@ { "cell_type": "code", "execution_count": null, - "id": "833d25f4", + "id": "33bea2e5", "metadata": { "hide-output": false }, @@ -356,7 +356,7 @@ }, { "cell_type": "markdown", - "id": "3ebfe7cf", + "id": "1862e63d", "metadata": {}, "source": [ "You might like to try changing $ x=1 $ to either $ x=0 $ or $ x=2 $.\n", @@ -366,7 +366,7 @@ }, { "cell_type": "markdown", - "id": "dda25471", + "id": "e65c686c", "metadata": {}, "source": [ "### Example: a periodic chain\n", @@ -398,7 +398,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7546aeb0", + "id": "f10d7159", "metadata": { "hide-output": false }, @@ -432,7 +432,7 @@ }, { "cell_type": "markdown", - "id": "375537b6", + "id": "50c23ff1", "metadata": {}, "source": [ "This example helps to emphasize that asymptotic stationarity is about the distribution, while ergodicity is about the sample path.\n", @@ -444,7 +444,7 @@ }, { "cell_type": "markdown", - "id": "102361cd", + "id": "6382c0ec", "metadata": {}, "source": [ "### Example: political institutions\n", @@ -476,7 +476,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e65b109f", + "id": "664aa687", "metadata": { "hide-output": false }, @@ -511,7 +511,7 @@ }, { "cell_type": "markdown", - "id": "8c5c7bdd", + "id": "eba3047b", "metadata": {}, "source": [ "## Exercises" @@ -519,7 +519,7 @@ }, { "cell_type": "markdown", - "id": "5a280409", + "id": "e5fbf96c", "metadata": {}, "source": [ "## Exercise 35.1\n", @@ -552,7 +552,7 @@ { "cell_type": "code", "execution_count": null, - "id": "99d3cedd", + "id": "2b495fc1", "metadata": { "hide-output": false }, @@ -575,7 +575,7 @@ }, { "cell_type": "markdown", - "id": "08d15e94", + "id": "6884a6f1", "metadata": {}, "source": [ "1. Show this process is asymptotically stationary and calculate an approximation to the stationary distribution. \n", @@ -584,7 +584,7 @@ }, { "cell_type": "markdown", - "id": "b5861c2d", + "id": "a8f22bf2", "metadata": {}, "source": [ "## Solution to[ Exercise 35.1](https://intro.quantecon.org/#mc_ex1)\n", @@ -597,7 +597,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d847d5a0", + "id": "01ead629", "metadata": { "hide-output": false }, @@ -620,7 +620,7 @@ }, { "cell_type": "markdown", - "id": "88d8c967", + "id": "47e65458", "metadata": {}, "source": [ "For this model, rows of $ P^n $ converge to the stationary distribution as $ n \\to\n", @@ -630,7 +630,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f9c2e8e7", + "id": "818ce692", "metadata": { "hide-output": false }, @@ -643,7 +643,7 @@ }, { "cell_type": "markdown", - "id": "099b100f", + "id": "4e4d8dcc", "metadata": {}, "source": [ "Part 2:" @@ -652,7 +652,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ebf3c350", + "id": "3a1dbb2a", "metadata": { "hide-output": false }, @@ -677,7 +677,7 @@ }, { "cell_type": "markdown", - "id": "37f27244", + "id": "49420fa2", "metadata": {}, "source": [ "Note that the fraction of time spent at each state converges to the probability\n", @@ -686,7 +686,7 @@ }, { "cell_type": "markdown", - "id": "9826a2b3", + "id": "fb64fc8b", "metadata": {}, "source": [ "## Exercise 35.2\n", @@ -728,7 +728,7 @@ }, { "cell_type": "markdown", - "id": "6acb42d8", + "id": "8e899af6", "metadata": {}, "source": [ "## Solution to[ Exercise 35.2](https://intro.quantecon.org/#mc_ex2)\n", @@ -744,7 +744,7 @@ { "cell_type": "code", "execution_count": null, - "id": "808ca908", + "id": "83f0c8fe", "metadata": { "hide-output": false }, @@ -777,7 +777,7 @@ }, { "cell_type": "markdown", - "id": "fd33fdc0", + "id": "a4ed431f", "metadata": {}, "source": [ "## Exercise 35.3\n", @@ -796,7 +796,7 @@ }, { "cell_type": "markdown", - "id": "311fd011", + "id": "6105e5b5", "metadata": {}, "source": [ "## Solution to[ Exercise 35.3](https://intro.quantecon.org/#mc_ex3)" @@ -805,7 +805,7 @@ { "cell_type": "code", "execution_count": null, - "id": "991aa032", + "id": "5711dc88", "metadata": { "hide-output": false }, @@ -821,7 +821,7 @@ }, { "cell_type": "markdown", - "id": "89ab0b0e", + "id": "862c961e", "metadata": {}, "source": [ "Let’s try it." @@ -830,7 +830,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bb597442", + "id": "cc04a0d7", "metadata": { "hide-output": false }, @@ -852,7 +852,7 @@ } ], "metadata": { - "date": 1722488542.3487206, + "date": 1722502938.9279327, "filename": "markov_chains_II.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/mle.ipynb b/_notebooks/mle.ipynb index b85cc297..5f1696bb 100644 --- a/_notebooks/mle.ipynb +++ b/_notebooks/mle.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "eb3fe273", + "id": "8ea50dfc", "metadata": {}, "source": [ "# Maximum Likelihood Estimation" @@ -11,7 +11,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d9d0d085", + "id": "e7e865a9", "metadata": { "hide-output": false }, @@ -27,7 +27,7 @@ }, { "cell_type": "markdown", - "id": "82017f04", + "id": "2940414c", "metadata": {}, "source": [ "## Introduction\n", @@ -61,7 +61,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c5e4e393", + "id": "e2e29aad", "metadata": { "hide-output": false }, @@ -76,7 +76,7 @@ }, { "cell_type": "markdown", - "id": "af2792cc", + "id": "dc4c3076", "metadata": {}, "source": [ "For a population of size $ N $, where individual $ i $ has wealth $ w_i $, total revenue raised by\n", @@ -101,7 +101,7 @@ { "cell_type": "code", "execution_count": null, - "id": "675b5fd2", + "id": "80a68947", "metadata": { "hide-output": false }, @@ -112,7 +112,7 @@ }, { "cell_type": "markdown", - "id": "1e93b678", + "id": "58c9825a", "metadata": {}, "source": [ "The data is derived from the\n", @@ -124,7 +124,7 @@ { "cell_type": "code", "execution_count": null, - "id": "38521f8c", + "id": "b73b5f15", "metadata": { "hide-output": false }, @@ -142,7 +142,7 @@ }, { "cell_type": "markdown", - "id": "79c44bf6", + "id": "8b9d1809", "metadata": {}, "source": [ "Let’s histogram this sample." @@ -151,7 +151,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dd1153b4", + "id": "9c469f6c", "metadata": { "hide-output": false }, @@ -170,7 +170,7 @@ }, { "cell_type": "markdown", - "id": "42e6264c", + "id": "f20eb3eb", "metadata": {}, "source": [ "The histogram shows that many people have very low wealth and a few people have\n", @@ -182,7 +182,7 @@ { "cell_type": "code", "execution_count": null, - "id": "261a619e", + "id": "a10065db", "metadata": { "hide-output": false }, @@ -193,7 +193,7 @@ }, { "cell_type": "markdown", - "id": "5c3b913b", + "id": "381ffd18", "metadata": {}, "source": [ "How can we estimate total revenue from the full population using only the sample data?\n", @@ -217,7 +217,7 @@ }, { "cell_type": "markdown", - "id": "9ff03ae6", + "id": "183f7bf1", "metadata": {}, "source": [ "## Maximum likelihood estimation\n", @@ -247,7 +247,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e950f085", + "id": "c42b592b", "metadata": { "hide-output": false }, @@ -261,7 +261,7 @@ }, { "cell_type": "markdown", - "id": "16977d0d", + "id": "e8e83a6c", "metadata": {}, "source": [ "Now our job is to obtain the maximum likelihood estimates of $ \\mu $ and $ \\sigma $, which\n", @@ -332,7 +332,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6d0a714f", + "id": "2fcfc7bd", "metadata": { "hide-output": false }, @@ -345,7 +345,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e4456c42", + "id": "6716cc3a", "metadata": { "hide-output": false }, @@ -358,7 +358,7 @@ }, { "cell_type": "markdown", - "id": "9c432573", + "id": "693340fb", "metadata": {}, "source": [ "Let’s plot the log-normal pdf using the estimated parameters against our sample data." @@ -367,7 +367,7 @@ { "cell_type": "code", "execution_count": null, - "id": "82e8b899", + "id": "eceb0f3e", "metadata": { "hide-output": false }, @@ -387,7 +387,7 @@ }, { "cell_type": "markdown", - "id": "e142feb7", + "id": "05ac9608", "metadata": {}, "source": [ "Our estimated lognormal distribution appears to be a reasonable fit for the overall data.\n", @@ -402,7 +402,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dd0f95ea", + "id": "2d156f88", "metadata": { "hide-output": false }, @@ -417,7 +417,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0613e80c", + "id": "d1ddc329", "metadata": { "hide-output": false }, @@ -429,7 +429,7 @@ }, { "cell_type": "markdown", - "id": "592d2b10", + "id": "328a4544", "metadata": {}, "source": [ "(Our unit was 100,000 dollars, so this means that actual revenue is 100,000\n", @@ -438,7 +438,7 @@ }, { "cell_type": "markdown", - "id": "4cc44542", + "id": "2f891f93", "metadata": {}, "source": [ "## Pareto distribution\n", @@ -466,7 +466,7 @@ { "cell_type": "code", "execution_count": null, - "id": "18ee32cc", + "id": "449b5883", "metadata": { "hide-output": false }, @@ -479,7 +479,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a7917d00", + "id": "1fc3aba0", "metadata": { "hide-output": false }, @@ -492,7 +492,7 @@ }, { "cell_type": "markdown", - "id": "ef42133b", + "id": "8b67980e", "metadata": {}, "source": [ "Now let’s recompute total revenue." @@ -501,7 +501,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9f4d7aff", + "id": "b5436fe6", "metadata": { "hide-output": false }, @@ -514,7 +514,7 @@ }, { "cell_type": "markdown", - "id": "dd404743", + "id": "efcacc38", "metadata": {}, "source": [ "The number is very different!" @@ -523,7 +523,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f3056735", + "id": "b518526e", "metadata": { "hide-output": false }, @@ -534,7 +534,7 @@ }, { "cell_type": "markdown", - "id": "faa9ed49", + "id": "ea7003dc", "metadata": {}, "source": [ "We see that choosing the right distribution is extremely important.\n", @@ -545,7 +545,7 @@ { "cell_type": "code", "execution_count": null, - "id": "708dc611", + "id": "c9f6cdbe", "metadata": { "hide-output": false }, @@ -564,7 +564,7 @@ }, { "cell_type": "markdown", - "id": "f9b19d33", + "id": "a1b917af", "metadata": {}, "source": [ "We observe that in this case the fit for the Pareto distribution is not very\n", @@ -573,7 +573,7 @@ }, { "cell_type": "markdown", - "id": "db0179f0", + "id": "a968a216", "metadata": {}, "source": [ "## What is the best distribution?\n", @@ -594,7 +594,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9bd5e379", + "id": "d1848d41", "metadata": { "hide-output": false }, @@ -609,7 +609,7 @@ }, { "cell_type": "markdown", - "id": "3bd951f2", + "id": "e9b3afbe", "metadata": {}, "source": [ "Let’s plot this data." @@ -618,7 +618,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0ad55a7e", + "id": "a6932215", "metadata": { "hide-output": false }, @@ -632,7 +632,7 @@ }, { "cell_type": "markdown", - "id": "aaa6f26e", + "id": "6a16333f", "metadata": {}, "source": [ "Now let’s try fitting some distributions to this data." @@ -640,7 +640,7 @@ }, { "cell_type": "markdown", - "id": "978c5005", + "id": "e71148b5", "metadata": {}, "source": [ "### Lognormal distribution for the right hand tail\n", @@ -653,7 +653,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ad662167", + "id": "ce6314f6", "metadata": { "hide-output": false }, @@ -675,7 +675,7 @@ }, { "cell_type": "markdown", - "id": "34fa5c2a", + "id": "5bb4a3c4", "metadata": {}, "source": [ "While the lognormal distribution was a good fit for the entire dataset,\n", @@ -684,7 +684,7 @@ }, { "cell_type": "markdown", - "id": "9d4a87c0", + "id": "b9b2fa92", "metadata": {}, "source": [ "### Pareto distribution for the right hand tail\n", @@ -697,7 +697,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4a941d4d", + "id": "d64fbc23", "metadata": { "hide-output": false }, @@ -718,7 +718,7 @@ }, { "cell_type": "markdown", - "id": "3e6cef72", + "id": "9f1fa9eb", "metadata": {}, "source": [ "The Pareto distribution is a better fit for the right hand tail of our dataset." @@ -726,7 +726,7 @@ }, { "cell_type": "markdown", - "id": "c663f9e0", + "id": "b943b146", "metadata": {}, "source": [ "### So what is the best distribution?\n", @@ -746,7 +746,7 @@ }, { "cell_type": "markdown", - "id": "938841a3", + "id": "31433295", "metadata": {}, "source": [ "## Exercises" @@ -754,7 +754,7 @@ }, { "cell_type": "markdown", - "id": "0ecbc548", + "id": "8d4ce8e6", "metadata": {}, "source": [ "## Exercise 46.1\n", @@ -774,7 +774,7 @@ }, { "cell_type": "markdown", - "id": "19dd4efc", + "id": "d210a1a8", "metadata": {}, "source": [ "## Solution to[ Exercise 46.1](https://intro.quantecon.org/#mle_ex1)" @@ -783,7 +783,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fbb7702b", + "id": "52b05ba1", "metadata": { "hide-output": false }, @@ -796,7 +796,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a8071385", + "id": "3cb09dd3", "metadata": { "hide-output": false }, @@ -809,7 +809,7 @@ }, { "cell_type": "markdown", - "id": "84cbbb8d", + "id": "9daa009b", "metadata": {}, "source": [ "## Exercise 46.2\n", @@ -819,7 +819,7 @@ }, { "cell_type": "markdown", - "id": "4fcaa487", + "id": "f2e1c8c4", "metadata": {}, "source": [ "## Solution to[ Exercise 46.2](https://intro.quantecon.org/#mle_ex2)" @@ -828,7 +828,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dace57b5", + "id": "680a0af2", "metadata": { "hide-output": false }, @@ -846,7 +846,7 @@ }, { "cell_type": "markdown", - "id": "248a2a1b", + "id": "661f407a", "metadata": {}, "source": [ "Clearly, this distribution is not a good fit for our data." @@ -854,7 +854,7 @@ } ], "metadata": { - "date": 1722488542.3762226, + "date": 1722502938.955847, "filename": "mle.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/money_inflation.ipynb b/_notebooks/money_inflation.ipynb index 0cd61b50..8a41415e 100644 --- a/_notebooks/money_inflation.ipynb +++ b/_notebooks/money_inflation.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "16300ce2", + "id": "f723c639", "metadata": {}, "source": [ "# Money Financed Government Deficits and Price Levels" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "5c6b4577", + "id": "048f6af1", "metadata": {}, "source": [ "## Overview\n", @@ -73,7 +73,7 @@ }, { "cell_type": "markdown", - "id": "7f53b880", + "id": "1d553305", "metadata": {}, "source": [ "## Demand for and supply of money\n", @@ -147,7 +147,7 @@ }, { "cell_type": "markdown", - "id": "b1015344", + "id": "c40314d7", "metadata": {}, "source": [ "## Equilibrium price and money supply sequences\n", @@ -206,7 +206,7 @@ }, { "cell_type": "markdown", - "id": "517cc184", + "id": "b62f426a", "metadata": {}, "source": [ "### Steady states\n", @@ -290,7 +290,7 @@ }, { "cell_type": "markdown", - "id": "43063f9b", + "id": "10991b92", "metadata": {}, "source": [ "## Some code\n", @@ -301,7 +301,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a8eef2b6", + "id": "efbeeeac", "metadata": { "hide-output": false }, @@ -316,7 +316,7 @@ }, { "cell_type": "markdown", - "id": "49e2d476", + "id": "cf062b87", "metadata": {}, "source": [ "Let’s set some parameter values and compute possible steady-state rates of return on currency $ \\bar R $, the seigniorage maximizing rate of return on currency, and an object that we’ll discuss later, namely, an initial price level $ p_0 $ associated with the maximum steady-state rate of return on currency.\n", @@ -327,7 +327,7 @@ { "cell_type": "code", "execution_count": null, - "id": "560d4b24", + "id": "302aa331", "metadata": { "hide-output": false }, @@ -350,7 +350,7 @@ }, { "cell_type": "markdown", - "id": "8c028303", + "id": "312cc600", "metadata": {}, "source": [ "Now we compute the $ \\bar R_{\\rm max} $ and corresponding revenue" @@ -359,7 +359,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f328fcfd", + "id": "10f72795", "metadata": { "hide-output": false }, @@ -383,7 +383,7 @@ }, { "cell_type": "markdown", - "id": "74596560", + "id": "2e051ac3", "metadata": {}, "source": [ "Now let’s plot seigniorage as a function of alternative potential steady-state values of $ R $.\n", @@ -398,7 +398,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3714140c", + "id": "f1b83b0e", "metadata": { "hide-output": false }, @@ -423,7 +423,7 @@ }, { "cell_type": "markdown", - "id": "82873168", + "id": "560aa34b", "metadata": {}, "source": [ "Let’s print the two steady-state rates of return $ \\bar R $ and the associated seigniorage revenues that the government collects.\n", @@ -436,7 +436,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dcaa861c", + "id": "a623e746", "metadata": { "hide-output": false }, @@ -451,7 +451,7 @@ }, { "cell_type": "markdown", - "id": "0202d33d", + "id": "b9bf9d6b", "metadata": {}, "source": [ "Now let’s compute the maximum steady-state amount of seigniorage that could be gathered by printing money and the state state rate of return on money that attains it." @@ -459,7 +459,7 @@ }, { "cell_type": "markdown", - "id": "5babccb8", + "id": "e1890ab9", "metadata": {}, "source": [ "## Two computation strategies\n", @@ -471,7 +471,7 @@ }, { "cell_type": "markdown", - "id": "950421ec", + "id": "96e65a48", "metadata": {}, "source": [ "### Method 1\n", @@ -520,7 +520,7 @@ }, { "cell_type": "markdown", - "id": "edfa1146", + "id": "79ba8e11", "metadata": {}, "source": [ "### Method 2\n", @@ -559,7 +559,7 @@ }, { "cell_type": "markdown", - "id": "3a05cabe", + "id": "d0a874ba", "metadata": {}, "source": [ "## Computation method 1\n", @@ -604,7 +604,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f747f00f", + "id": "300c29cc", "metadata": { "hide-output": false }, @@ -632,7 +632,7 @@ }, { "cell_type": "markdown", - "id": "43d6ebaa", + "id": "aa39f194", "metadata": {}, "source": [ "Let’s write some code to plot outcomes for several possible initial values $ R_0 $." @@ -641,7 +641,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9272348b", + "id": "049e9519", "metadata": { "hide-output": false }, @@ -690,7 +690,7 @@ }, { "cell_type": "markdown", - "id": "2bcece78", + "id": "6d0f0f1a", "metadata": {}, "source": [ "Let’s plot distinct outcomes associated with several $ R_0 \\in [\\frac{\\gamma_2}{\\gamma_1}, R_u] $.\n", @@ -701,7 +701,7 @@ { "cell_type": "code", "execution_count": null, - "id": "41069ea8", + "id": "211ac8d0", "metadata": { "hide-output": false }, @@ -715,7 +715,7 @@ }, { "cell_type": "markdown", - "id": "a1db4edc", + "id": "0648bfc3", "metadata": {}, "source": [ "Notice how sequences that start from $ R_0 $ in the half-open interval $ [R_\\ell, R_u) $ converge to the steady state associated with to $ R_\\ell $." @@ -723,7 +723,7 @@ }, { "cell_type": "markdown", - "id": "a44f1844", + "id": "39807d74", "metadata": {}, "source": [ "## Computation method 2\n", @@ -767,7 +767,7 @@ { "cell_type": "code", "execution_count": null, - "id": "80d164ae", + "id": "c8ccd8ed", "metadata": { "hide-output": false }, @@ -781,7 +781,7 @@ }, { "cell_type": "markdown", - "id": "fc0fe85a", + "id": "14f37221", "metadata": {}, "source": [ "Define\n", @@ -794,7 +794,7 @@ { "cell_type": "code", "execution_count": null, - "id": "168fe326", + "id": "3b36dbbf", "metadata": { "hide-output": false }, @@ -806,7 +806,7 @@ }, { "cell_type": "markdown", - "id": "daf36243", + "id": "e5bd69e3", "metadata": {}, "source": [ "and write the system [(28.13)](#equation-eq-sytem101) as\n", @@ -861,7 +861,7 @@ { "cell_type": "code", "execution_count": null, - "id": "17d84d28", + "id": "8f192300", "metadata": { "hide-output": false }, @@ -875,7 +875,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0eabbb45", + "id": "a51bdd4f", "metadata": { "hide-output": false }, @@ -890,7 +890,7 @@ }, { "cell_type": "markdown", - "id": "9e1e6548", + "id": "43766abe", "metadata": {}, "source": [ "Partition $ Q $ as\n", @@ -946,7 +946,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d1614ceb", + "id": "025ce994", "metadata": { "hide-output": false }, @@ -963,7 +963,7 @@ }, { "cell_type": "markdown", - "id": "74ebc76c", + "id": "f0e75fbc", "metadata": {}, "source": [ "For almost all initial vectors $ y_0 $, the gross rate of inflation $ \\frac{p_{t+1}}{p_t} $ eventually converges to the larger eigenvalue $ {R_\\ell}^{-1} $.\n", @@ -1054,7 +1054,7 @@ }, { "cell_type": "markdown", - "id": "a42fffd7", + "id": "9a4f1de9", "metadata": {}, "source": [ "### More convenient formula\n", @@ -1095,7 +1095,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a080ac3e", + "id": "fdedc167", "metadata": { "hide-output": false }, @@ -1108,7 +1108,7 @@ }, { "cell_type": "markdown", - "id": "84fa7969", + "id": "c27c70ac", "metadata": {}, "source": [ "It can be verified that this formula replicates itself over time in the sense that\n", @@ -1127,7 +1127,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6db6233c", + "id": "e8c151e3", "metadata": { "hide-output": false }, @@ -1179,7 +1179,7 @@ { "cell_type": "code", "execution_count": null, - "id": "09e81f0e", + "id": "c5cc86b8", "metadata": { "hide-output": false }, @@ -1192,7 +1192,7 @@ }, { "cell_type": "markdown", - "id": "4c384258", + "id": "1a406c77", "metadata": {}, "source": [ "Please notice that for $ m_t $ and $ p_t $, we have used log scales for the coordinate (i.e., vertical) axes.\n", @@ -1203,7 +1203,7 @@ }, { "cell_type": "markdown", - "id": "ea2490d2", + "id": "f0b0bdf6", "metadata": {}, "source": [ "## Peculiar stationary outcomes\n", @@ -1230,7 +1230,7 @@ }, { "cell_type": "markdown", - "id": "d417e41f", + "id": "02925c92", "metadata": {}, "source": [ "## Equilibrium selection\n", @@ -1260,7 +1260,7 @@ } ], "metadata": { - "date": 1722488542.4392514, + "date": 1722502939.0222955, "filename": "money_inflation.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/money_inflation_nonlinear.ipynb b/_notebooks/money_inflation_nonlinear.ipynb index ff668637..24297fd4 100644 --- a/_notebooks/money_inflation_nonlinear.ipynb +++ b/_notebooks/money_inflation_nonlinear.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "4c50fe47", + "id": "d4f4b16e", "metadata": {}, "source": [ "# Inflation Rate Laffer Curves" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "9548e72e", + "id": "65941c9a", "metadata": {}, "source": [ "## Overview\n", @@ -49,7 +49,7 @@ }, { "cell_type": "markdown", - "id": "00b46395", + "id": "3dab68e8", "metadata": {}, "source": [ "## The model\n", @@ -85,7 +85,7 @@ }, { "cell_type": "markdown", - "id": "8bc8ad99", + "id": "3ca800ae", "metadata": {}, "source": [ "## Computing an equilibrium sequence\n", @@ -135,7 +135,7 @@ }, { "cell_type": "markdown", - "id": "ac6cfa2d", + "id": "ae34ca79", "metadata": {}, "source": [ "## Limiting values of inflation rate\n", @@ -183,7 +183,7 @@ { "cell_type": "code", "execution_count": null, - "id": "339f8c9c", + "id": "d25e1975", "metadata": { "hide-output": false }, @@ -198,7 +198,7 @@ }, { "cell_type": "markdown", - "id": "cf54f486", + "id": "3b39acb0", "metadata": {}, "source": [ "Let’s create a `namedtuple` to store the parameters of the model" @@ -207,7 +207,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9baa3d77", + "id": "1d7ff047", "metadata": { "hide-output": false }, @@ -228,7 +228,7 @@ }, { "cell_type": "markdown", - "id": "b78bfe52", + "id": "3f4b4f0a", "metadata": {}, "source": [ "Now we write code that computes steady-state $ \\overline \\pi $s." @@ -237,7 +237,7 @@ { "cell_type": "code", "execution_count": null, - "id": "abad8e24", + "id": "395ceb9e", "metadata": { "hide-output": false }, @@ -259,7 +259,7 @@ }, { "cell_type": "markdown", - "id": "f99b7c64", + "id": "a3ec22ec", "metadata": {}, "source": [ "We find two steady state $ \\overline \\pi $ values." @@ -267,7 +267,7 @@ }, { "cell_type": "markdown", - "id": "a0054a5f", + "id": "f65a5133", "metadata": {}, "source": [ "## Steady state Laffer curve\n", @@ -278,7 +278,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2c3fd54d", + "id": "e37b5ad1", "metadata": { "hide-output": false }, @@ -317,7 +317,7 @@ }, { "cell_type": "markdown", - "id": "b7e4d94f", + "id": "ebb3ae33", "metadata": {}, "source": [ "## Associated initial price levels\n", @@ -328,7 +328,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f1df5309", + "id": "167c5c5f", "metadata": { "hide-output": false }, @@ -356,7 +356,7 @@ }, { "cell_type": "markdown", - "id": "544b3950", + "id": "47d29700", "metadata": {}, "source": [ "### Verification\n", @@ -370,7 +370,7 @@ { "cell_type": "code", "execution_count": null, - "id": "200b8223", + "id": "998da11c", "metadata": { "hide-output": false }, @@ -395,7 +395,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b0cb9be1", + "id": "12d9882f", "metadata": { "hide-output": false }, @@ -418,7 +418,7 @@ }, { "cell_type": "markdown", - "id": "98084d20", + "id": "5ece151e", "metadata": {}, "source": [ "## Slippery side of Laffer curve dynamics\n", @@ -429,7 +429,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b549093f", + "id": "e0031598", "metadata": { "hide-output": false }, @@ -486,7 +486,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e1736ad7", + "id": "5f68bf06", "metadata": { "hide-output": false }, @@ -506,7 +506,7 @@ }, { "cell_type": "markdown", - "id": "0cac1398", + "id": "0138825b", "metadata": {}, "source": [ "Staring at the paths of price levels in Fig. 30.2 reveals that almost all paths converge to the *higher* inflation tax rate displayed in the stationary state Laffer curve. displayed in figure Fig. 30.1.\n", @@ -538,7 +538,7 @@ } ], "metadata": { - "date": 1722488542.4660213, + "date": 1722502939.047687, "filename": "money_inflation_nonlinear.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/monte_carlo.ipynb b/_notebooks/monte_carlo.ipynb index e813283d..d5350bb9 100644 --- a/_notebooks/monte_carlo.ipynb +++ b/_notebooks/monte_carlo.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "255e9eac", + "id": "6b812d69", "metadata": {}, "source": [ "\n", @@ -11,7 +11,7 @@ }, { "cell_type": "markdown", - "id": "24bf624b", + "id": "c3295db0", "metadata": {}, "source": [ "# Monte Carlo and Option Pricing" @@ -19,7 +19,7 @@ }, { "cell_type": "markdown", - "id": "a83d11d8", + "id": "f6354f30", "metadata": {}, "source": [ "## Overview\n", @@ -55,7 +55,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b4ebf56c", + "id": "b2b5f4c0", "metadata": { "hide-output": false }, @@ -68,7 +68,7 @@ }, { "cell_type": "markdown", - "id": "d457c249", + "id": "82c0c16d", "metadata": {}, "source": [ "## An introduction to Monte Carlo\n", @@ -79,7 +79,7 @@ }, { "cell_type": "markdown", - "id": "b6bb0a7b", + "id": "18b68910", "metadata": {}, "source": [ "### Share price with known distribution\n", @@ -137,7 +137,7 @@ }, { "cell_type": "markdown", - "id": "cc636c90", + "id": "83356097", "metadata": {}, "source": [ "### Share price with unknown distribution\n", @@ -184,7 +184,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9546fe08", + "id": "6aca9c11", "metadata": { "hide-output": false }, @@ -198,7 +198,7 @@ }, { "cell_type": "markdown", - "id": "996d1a0b", + "id": "03ddb6c8", "metadata": {}, "source": [ "#### A routine using loops in python\n", @@ -214,7 +214,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c3c662c5", + "id": "ea0453a7", "metadata": { "hide-output": false }, @@ -233,7 +233,7 @@ }, { "cell_type": "markdown", - "id": "c0c81c06", + "id": "9fd621f9", "metadata": {}, "source": [ "We can also construct a function that contains these operations:" @@ -242,7 +242,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2a1a39cb", + "id": "2b55a260", "metadata": { "hide-output": false }, @@ -260,7 +260,7 @@ }, { "cell_type": "markdown", - "id": "f89cb955", + "id": "9239fbd2", "metadata": {}, "source": [ "Now let’s call it." @@ -269,7 +269,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2a5f3a69", + "id": "b6402f91", "metadata": { "hide-output": false }, @@ -280,7 +280,7 @@ }, { "cell_type": "markdown", - "id": "5f5cc193", + "id": "cd63fb87", "metadata": {}, "source": [ "### A vectorized routine\n", @@ -295,7 +295,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e49c6fcc", + "id": "31801344", "metadata": { "hide-output": false }, @@ -312,7 +312,7 @@ { "cell_type": "code", "execution_count": null, - "id": "503200df", + "id": "82538c39", "metadata": { "hide-output": false }, @@ -325,7 +325,7 @@ }, { "cell_type": "markdown", - "id": "1f409b3c", + "id": "059d93e2", "metadata": {}, "source": [ "Notice that this routine is much faster.\n", @@ -336,7 +336,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6d41443e", + "id": "be866e55", "metadata": { "hide-output": false }, @@ -349,7 +349,7 @@ }, { "cell_type": "markdown", - "id": "96c2ed5a", + "id": "7899db30", "metadata": {}, "source": [ "## Pricing a European call option under risk neutrality\n", @@ -361,7 +361,7 @@ }, { "cell_type": "markdown", - "id": "7a809f8b", + "id": "465d69db", "metadata": {}, "source": [ "### Risk-neutral pricing\n", @@ -406,7 +406,7 @@ }, { "cell_type": "markdown", - "id": "0b54d67b", + "id": "7e096767", "metadata": {}, "source": [ "### A comment on risk\n", @@ -432,7 +432,7 @@ }, { "cell_type": "markdown", - "id": "3b6649ad", + "id": "5495c5ca", "metadata": {}, "source": [ "### Discounting\n", @@ -467,7 +467,7 @@ }, { "cell_type": "markdown", - "id": "5396bdad", + "id": "ad666883", "metadata": {}, "source": [ "### European call options\n", @@ -518,7 +518,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cef08c9f", + "id": "c5494232", "metadata": { "hide-output": false }, @@ -533,7 +533,7 @@ }, { "cell_type": "markdown", - "id": "5ff07f5a", + "id": "68303d2f", "metadata": {}, "source": [ "We set the simulation size to" @@ -542,7 +542,7 @@ { "cell_type": "code", "execution_count": null, - "id": "957efb49", + "id": "29e4f173", "metadata": { "hide-output": false }, @@ -553,7 +553,7 @@ }, { "cell_type": "markdown", - "id": "7aa3ac2c", + "id": "c3226d4e", "metadata": {}, "source": [ "Here is our code" @@ -562,7 +562,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5aa0ecc1", + "id": "bf3475d3", "metadata": { "hide-output": false }, @@ -576,7 +576,7 @@ }, { "cell_type": "markdown", - "id": "2f4df415", + "id": "35b99539", "metadata": {}, "source": [ "## Pricing via a dynamic model\n", @@ -592,7 +592,7 @@ }, { "cell_type": "markdown", - "id": "9c44118d", + "id": "9914212d", "metadata": {}, "source": [ "### Simple dynamics\n", @@ -629,7 +629,7 @@ }, { "cell_type": "markdown", - "id": "3e99e074", + "id": "3b911da8", "metadata": {}, "source": [ "### Problems with simple dynamics\n", @@ -647,7 +647,7 @@ }, { "cell_type": "markdown", - "id": "5025f50c", + "id": "34c5db01", "metadata": {}, "source": [ "### More realistic dynamics\n", @@ -671,7 +671,7 @@ }, { "cell_type": "markdown", - "id": "2b21e653", + "id": "4162b927", "metadata": {}, "source": [ "### Default parameters\n", @@ -682,7 +682,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3ec38b8c", + "id": "eeabd377", "metadata": { "hide-output": false }, @@ -697,7 +697,7 @@ }, { "cell_type": "markdown", - "id": "4bf1a9b4", + "id": "6cd4187b", "metadata": {}, "source": [ "(Here `default_S0` is $ S_0 $ and `default_h0` is $ h_0 $.)\n", @@ -708,7 +708,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5ad977a1", + "id": "5de99021", "metadata": { "hide-output": false }, @@ -721,7 +721,7 @@ }, { "cell_type": "markdown", - "id": "9094e188", + "id": "2bd0611c", "metadata": {}, "source": [ "### Visualizations\n", @@ -738,7 +738,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7241fab4", + "id": "5dedf79a", "metadata": { "hide-output": false }, @@ -758,7 +758,7 @@ }, { "cell_type": "markdown", - "id": "79a63bcc", + "id": "e9a461c7", "metadata": {}, "source": [ "Here we plot the paths and the log of the paths." @@ -767,7 +767,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ab904c63", + "id": "e9559e64", "metadata": { "hide-output": false }, @@ -789,7 +789,7 @@ }, { "cell_type": "markdown", - "id": "ae1cab8b", + "id": "1be703ec", "metadata": {}, "source": [ "### Computing the price\n", @@ -814,7 +814,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7fce5c35", + "id": "2e732e1c", "metadata": { "hide-output": false }, @@ -847,7 +847,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b3ef5837", + "id": "8eb7b8d9", "metadata": { "hide-output": false }, @@ -859,7 +859,7 @@ }, { "cell_type": "markdown", - "id": "0be4e2e3", + "id": "38db58b8", "metadata": {}, "source": [ "## Exercises" @@ -867,7 +867,7 @@ }, { "cell_type": "markdown", - "id": "63889f08", + "id": "89df6df8", "metadata": {}, "source": [ "## Exercise 20.1\n", @@ -882,7 +882,7 @@ }, { "cell_type": "markdown", - "id": "d96e4711", + "id": "c66e6b8c", "metadata": {}, "source": [ "## Solution to[ Exercise 20.1](https://intro.quantecon.org/#monte_carlo_ex1)" @@ -891,7 +891,7 @@ { "cell_type": "code", "execution_count": null, - "id": "29f5397a", + "id": "ba2a302d", "metadata": { "hide-output": false }, @@ -921,7 +921,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7671f1fa", + "id": "65ffd1b4", "metadata": { "hide-output": false }, @@ -933,7 +933,7 @@ }, { "cell_type": "markdown", - "id": "03db1c86", + "id": "977e9e5b", "metadata": {}, "source": [ "Notice that this version is faster than the one using a Python loop.\n", @@ -944,7 +944,7 @@ { "cell_type": "code", "execution_count": null, - "id": "eca0196c", + "id": "7273d627", "metadata": { "hide-output": false }, @@ -956,7 +956,7 @@ }, { "cell_type": "markdown", - "id": "e239f5dc", + "id": "efe96c66", "metadata": {}, "source": [ "## Exercise 20.2\n", @@ -972,7 +972,7 @@ }, { "cell_type": "markdown", - "id": "99a83a70", + "id": "01d590c5", "metadata": {}, "source": [ "## Solution to[ Exercise 20.2](https://intro.quantecon.org/#monte_carlo_ex2)" @@ -981,7 +981,7 @@ { "cell_type": "code", "execution_count": null, - "id": "88f9fe60", + "id": "4de98d10", "metadata": { "hide-output": false }, @@ -1001,7 +1001,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9e426f99", + "id": "150a5926", "metadata": { "hide-output": false }, @@ -1044,7 +1044,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fc48d01f", + "id": "c2fb3e4a", "metadata": { "hide-output": false }, @@ -1055,7 +1055,7 @@ }, { "cell_type": "markdown", - "id": "ebd80a6c", + "id": "50df5b4d", "metadata": {}, "source": [ "Let’s look at the vectorized version which is faster than using Python loops." @@ -1064,7 +1064,7 @@ { "cell_type": "code", "execution_count": null, - "id": "356274ec", + "id": "10f442a4", "metadata": { "hide-output": false }, @@ -1099,7 +1099,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21e2850f", + "id": "3a32601c", "metadata": { "hide-output": false }, @@ -1110,7 +1110,7 @@ } ], "metadata": { - "date": 1722488542.4994297, + "date": 1722502939.0798125, "filename": "monte_carlo.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/networks.ipynb b/_notebooks/networks.ipynb index dc999655..4632af6b 100644 --- a/_notebooks/networks.ipynb +++ b/_notebooks/networks.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "f04f83c4", + "id": "02391e80", "metadata": {}, "source": [ "# Networks" @@ -11,7 +11,7 @@ { "cell_type": "code", "execution_count": null, - "id": "09ccedbd", + "id": "8e17ff02", "metadata": { "hide-output": false }, @@ -22,7 +22,7 @@ }, { "cell_type": "markdown", - "id": "87b38dba", + "id": "1540c24a", "metadata": {}, "source": [ "## Outline\n", @@ -59,7 +59,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8cc7c99d", + "id": "371a6b76", "metadata": { "hide-output": false }, @@ -80,7 +80,7 @@ }, { "cell_type": "markdown", - "id": "0e61994f", + "id": "15b81236", "metadata": {}, "source": [ "## Economic and financial networks\n", @@ -105,7 +105,7 @@ }, { "cell_type": "markdown", - "id": "2768c9bb", + "id": "c2480cf3", "metadata": {}, "source": [ "### Example: Aircraft Exports\n", @@ -116,7 +116,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7cf5c048", + "id": "3bf1bf6d", "metadata": { "hide-output": false }, @@ -174,7 +174,7 @@ }, { "cell_type": "markdown", - "id": "e4c0f479", + "id": "77363912", "metadata": {}, "source": [ "The circles in the figure are called **nodes** or **vertices** – in this case they represent countries.\n", @@ -192,7 +192,7 @@ }, { "cell_type": "markdown", - "id": "675867e4", + "id": "00f86fd7", "metadata": {}, "source": [ "### Example: A Markov Chain\n", @@ -220,7 +220,7 @@ }, { "cell_type": "markdown", - "id": "f102ae8c", + "id": "06da2e33", "metadata": {}, "source": [ "## An introduction to graph theory\n", @@ -254,7 +254,7 @@ }, { "cell_type": "markdown", - "id": "ccb2e03d", + "id": "19178147", "metadata": {}, "source": [ "### Key definitions\n", @@ -306,7 +306,7 @@ }, { "cell_type": "markdown", - "id": "e3736eee", + "id": "6183e8df", "metadata": {}, "source": [ "### Digraphs in Networkx\n", @@ -323,7 +323,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b11a9287", + "id": "9c161ca3", "metadata": { "hide-output": false }, @@ -334,7 +334,7 @@ }, { "cell_type": "markdown", - "id": "ee7cb5fe", + "id": "e3fefa52", "metadata": {}, "source": [ "Next we populate it with nodes and edges.\n", @@ -346,7 +346,7 @@ { "cell_type": "code", "execution_count": null, - "id": "04050516", + "id": "c2a89b95", "metadata": { "hide-output": false }, @@ -359,7 +359,7 @@ }, { "cell_type": "markdown", - "id": "6dcb25af", + "id": "ea797746", "metadata": {}, "source": [ "Finally, we add the edges to our `DiGraph` object:" @@ -368,7 +368,7 @@ { "cell_type": "code", "execution_count": null, - "id": "edb86cd0", + "id": "5e556ff2", "metadata": { "hide-output": false }, @@ -381,7 +381,7 @@ }, { "cell_type": "markdown", - "id": "9033e479", + "id": "7daaf09f", "metadata": {}, "source": [ "Alternatively, we can use the method `add_edges_from`." @@ -390,7 +390,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cdb53488", + "id": "523e0f93", "metadata": { "hide-output": false }, @@ -401,7 +401,7 @@ }, { "cell_type": "markdown", - "id": "62b07270", + "id": "0a775d64", "metadata": {}, "source": [ "Adding the edges automatically adds the nodes, so `G_p` is now a\n", @@ -413,7 +413,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dc7d1945", + "id": "3e419542", "metadata": { "hide-output": false }, @@ -428,7 +428,7 @@ }, { "cell_type": "markdown", - "id": "9f13bfe2", + "id": "e7fcadbb", "metadata": {}, "source": [ "The figure obtained above matches the original directed graph in Fig. 42.3.\n", @@ -442,7 +442,7 @@ { "cell_type": "code", "execution_count": null, - "id": "92c83dab", + "id": "9946476e", "metadata": { "hide-output": false }, @@ -453,7 +453,7 @@ }, { "cell_type": "markdown", - "id": "38d7b28a", + "id": "62169aba", "metadata": {}, "source": [ "\n", @@ -462,7 +462,7 @@ }, { "cell_type": "markdown", - "id": "1bb4d0ef", + "id": "7d11a682", "metadata": {}, "source": [ "### Communication\n", @@ -499,7 +499,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a5a1663c", + "id": "b7c0dbf9", "metadata": { "hide-output": false }, @@ -518,7 +518,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fbdb634f", + "id": "3d392378", "metadata": { "hide-output": false }, @@ -530,7 +530,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6cad8222", + "id": "9e922f51", "metadata": { "hide-output": false }, @@ -549,7 +549,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7270d5ce", + "id": "c95032d7", "metadata": { "hide-output": false }, @@ -560,7 +560,7 @@ }, { "cell_type": "markdown", - "id": "2ef29c98", + "id": "ddeb6c34", "metadata": {}, "source": [ "## Weighted graphs\n", @@ -571,7 +571,7 @@ }, { "cell_type": "markdown", - "id": "b7087c93", + "id": "910ea7c0", "metadata": {}, "source": [ "### International private credit flows by country\n", @@ -583,7 +583,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ea6efa93", + "id": "ffc46dfb", "metadata": { "hide-output": false }, @@ -645,7 +645,7 @@ }, { "cell_type": "markdown", - "id": "e6a4bfed", + "id": "4e5254db", "metadata": {}, "source": [ "The country codes are given in the following table\n", @@ -681,7 +681,7 @@ }, { "cell_type": "markdown", - "id": "35bd71e4", + "id": "993614e3", "metadata": {}, "source": [ "### Definitions\n", @@ -707,7 +707,7 @@ }, { "cell_type": "markdown", - "id": "ba2d5052", + "id": "1bfe09cd", "metadata": {}, "source": [ "## Adjacency matrices\n", @@ -751,7 +751,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e02edb8e", + "id": "c5af3b86", "metadata": { "hide-output": false }, @@ -766,7 +766,7 @@ }, { "cell_type": "markdown", - "id": "ca491dc1", + "id": "8dc46aab", "metadata": {}, "source": [ "One of the key points to remember about adjacency matrices is that taking the\n", @@ -780,7 +780,7 @@ { "cell_type": "code", "execution_count": null, - "id": "42488d76", + "id": "53697fbe", "metadata": { "hide-output": false }, @@ -811,7 +811,7 @@ }, { "cell_type": "markdown", - "id": "5eb025bf", + "id": "9a7d245d", "metadata": {}, "source": [ "We see that bank 2 extends a loan of size 200 to bank 3.\n", @@ -850,7 +850,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d1ee6f5e", + "id": "5e178946", "metadata": { "hide-output": false }, @@ -880,7 +880,7 @@ }, { "cell_type": "markdown", - "id": "aa345776", + "id": "2b32ba33", "metadata": {}, "source": [ "In general, every nonnegative $ n \\times n $ matrix $ A = (a_{ij}) $ can be\n", @@ -896,7 +896,7 @@ }, { "cell_type": "markdown", - "id": "c816e546", + "id": "0f9b5680", "metadata": {}, "source": [ "## Properties\n", @@ -910,7 +910,7 @@ }, { "cell_type": "markdown", - "id": "f43fbd67", + "id": "ca5137c0", "metadata": {}, "source": [ "## \n", @@ -935,7 +935,7 @@ }, { "cell_type": "markdown", - "id": "09078c5f", + "id": "08dbbfcf", "metadata": {}, "source": [ "## \n", @@ -958,7 +958,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2a7c7e67", + "id": "f81a91ea", "metadata": { "hide-output": false }, @@ -973,7 +973,7 @@ }, { "cell_type": "markdown", - "id": "8fe04c6b", + "id": "aacfc6cc", "metadata": {}, "source": [ "Then we construct the associated adjacency matrix A." @@ -982,7 +982,7 @@ { "cell_type": "code", "execution_count": null, - "id": "98e0fda8", + "id": "59b75514", "metadata": { "hide-output": false }, @@ -996,7 +996,7 @@ { "cell_type": "code", "execution_count": null, - "id": "31c1a011", + "id": "b031eb18", "metadata": { "hide-output": false }, @@ -1013,7 +1013,7 @@ { "cell_type": "code", "execution_count": null, - "id": "36695d8e", + "id": "e0d12e8e", "metadata": { "hide-output": false }, @@ -1025,7 +1025,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0bde25fb", + "id": "36f0f540", "metadata": { "hide-output": false }, @@ -1036,7 +1036,7 @@ }, { "cell_type": "markdown", - "id": "a363447b", + "id": "e25f14a9", "metadata": {}, "source": [ "## Network centrality\n", @@ -1059,7 +1059,7 @@ }, { "cell_type": "markdown", - "id": "10910b97", + "id": "1dcc1026", "metadata": {}, "source": [ "### Degree centrality\n", @@ -1078,7 +1078,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ac44d96e", + "id": "45a92f29", "metadata": { "hide-output": false }, @@ -1106,7 +1106,7 @@ }, { "cell_type": "markdown", - "id": "35bbea92", + "id": "f3b75c85", "metadata": {}, "source": [ "The following code displays the in-degree centrality of all nodes." @@ -1115,7 +1115,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a09e10f1", + "id": "e92c8e00", "metadata": { "hide-output": false }, @@ -1129,7 +1129,7 @@ }, { "cell_type": "markdown", - "id": "183695fe", + "id": "c15f258a", "metadata": {}, "source": [ "Consider the international credit network displayed in Fig. 42.4.\n", @@ -1140,7 +1140,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c58f7212", + "id": "b978c4fe", "metadata": { "hide-output": false }, @@ -1153,7 +1153,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a4589ba3", + "id": "eff090dd", "metadata": { "hide-output": false }, @@ -1170,7 +1170,7 @@ { "cell_type": "code", "execution_count": null, - "id": "469622ec", + "id": "bc0e6b80", "metadata": { "hide-output": false }, @@ -1192,7 +1192,7 @@ }, { "cell_type": "markdown", - "id": "38bf1ea3", + "id": "5ac04bf8", "metadata": {}, "source": [ "Unfortunately, while in-degree and out-degree centrality are simple to\n", @@ -1234,7 +1234,7 @@ }, { "cell_type": "markdown", - "id": "0b1c726c", + "id": "4677b187", "metadata": {}, "source": [ "### Eigenvector centrality\n", @@ -1296,7 +1296,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1c499d7a", + "id": "7195ccb8", "metadata": { "hide-output": false }, @@ -1317,7 +1317,7 @@ }, { "cell_type": "markdown", - "id": "7480490d", + "id": "dbed6cc1", "metadata": {}, "source": [ "Let’s compute eigenvector centrality for the graph generated in Fig. 42.6." @@ -1326,7 +1326,7 @@ { "cell_type": "code", "execution_count": null, - "id": "51ec2fd4", + "id": "ec567a1b", "metadata": { "hide-output": false }, @@ -1338,7 +1338,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c84d1f02", + "id": "b8c7567e", "metadata": { "hide-output": false }, @@ -1353,7 +1353,7 @@ }, { "cell_type": "markdown", - "id": "ff81237c", + "id": "2b729b74", "metadata": {}, "source": [ "While nodes $ 2 $ and $ 4 $ had the highest in-degree centrality, we can see that nodes $ 1 $ and $ 2 $ have the\n", @@ -1365,7 +1365,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f2bec6b4", + "id": "ea140583", "metadata": { "hide-output": false }, @@ -1377,7 +1377,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f650c51c", + "id": "be6c23fc", "metadata": { "hide-output": false }, @@ -1397,7 +1397,7 @@ }, { "cell_type": "markdown", - "id": "45cae9ec", + "id": "8c78c8e2", "metadata": {}, "source": [ "Countries that are rated highly according to this rank tend to be important\n", @@ -1416,7 +1416,7 @@ }, { "cell_type": "markdown", - "id": "7e7f2126", + "id": "2e775910", "metadata": {}, "source": [ "### Katz centrality\n", @@ -1472,7 +1472,7 @@ }, { "cell_type": "markdown", - "id": "9449bbbe", + "id": "293b7c3a", "metadata": {}, "source": [ "### Authorities vs hubs\n", @@ -1534,7 +1534,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a7bc2a48", + "id": "b66d547b", "metadata": { "hide-output": false }, @@ -1546,7 +1546,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6345339f", + "id": "d49ece62", "metadata": { "hide-output": false }, @@ -1566,7 +1566,7 @@ }, { "cell_type": "markdown", - "id": "b9baf654", + "id": "318c90fe", "metadata": {}, "source": [ "Highly ranked countries are those that attract large inflows of credit, or\n", @@ -1577,7 +1577,7 @@ }, { "cell_type": "markdown", - "id": "f907c6dc", + "id": "fedd3778", "metadata": {}, "source": [ "## Further reading\n", @@ -1595,7 +1595,7 @@ }, { "cell_type": "markdown", - "id": "1144d932", + "id": "03f82113", "metadata": {}, "source": [ "## Exercises" @@ -1603,7 +1603,7 @@ }, { "cell_type": "markdown", - "id": "2ec35385", + "id": "75750617", "metadata": {}, "source": [ "## Exercise 42.1\n", @@ -1617,7 +1617,7 @@ }, { "cell_type": "markdown", - "id": "550952ea", + "id": "294701d5", "metadata": {}, "source": [ "## Solution to[ Exercise 42.1](https://intro.quantecon.org/#networks_ex1)\n", @@ -1648,7 +1648,7 @@ }, { "cell_type": "markdown", - "id": "cd600d1f", + "id": "913257ff", "metadata": {}, "source": [ "## Exercise 42.2\n", @@ -1673,7 +1673,7 @@ }, { "cell_type": "markdown", - "id": "09f2f689", + "id": "5bf33f19", "metadata": {}, "source": [ "## Solution to[ Exercise 42.2](https://intro.quantecon.org/#networks_ex2)" @@ -1682,7 +1682,7 @@ { "cell_type": "code", "execution_count": null, - "id": "780ac9c1", + "id": "8e6a3356", "metadata": { "hide-output": false }, @@ -1711,7 +1711,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bcf68990", + "id": "132ead58", "metadata": { "hide-output": false }, @@ -1725,7 +1725,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1afd4bb5", + "id": "2f6b0ecb", "metadata": { "hide-output": false }, @@ -1740,7 +1740,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dd0477e0", + "id": "e98d127a", "metadata": { "hide-output": false }, @@ -1755,7 +1755,7 @@ }, { "cell_type": "markdown", - "id": "4217079a", + "id": "284ae57c", "metadata": {}, "source": [ "## Exercise 42.3\n", @@ -1777,7 +1777,7 @@ }, { "cell_type": "markdown", - "id": "9cbe5cac", + "id": "cdc1186c", "metadata": {}, "source": [ "## Solution to[ Exercise 42.3](https://intro.quantecon.org/#networks_ex3)" @@ -1786,7 +1786,7 @@ { "cell_type": "code", "execution_count": null, - "id": "524a1b8a", + "id": "a7c77783", "metadata": { "hide-output": false }, @@ -1807,7 +1807,7 @@ { "cell_type": "code", "execution_count": null, - "id": "568fc67a", + "id": "cb7484dc", "metadata": { "hide-output": false }, @@ -1830,7 +1830,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c9782fba", + "id": "6fad864b", "metadata": { "hide-output": false }, @@ -1842,7 +1842,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1166cf8c", + "id": "a7aaaa47", "metadata": { "hide-output": false }, @@ -1853,7 +1853,7 @@ } ], "metadata": { - "date": 1722488543.1917553, + "date": 1722502940.0435827, "filename": "networks.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/olg.ipynb b/_notebooks/olg.ipynb index 64f5d837..f3f878f6 100644 --- a/_notebooks/olg.ipynb +++ b/_notebooks/olg.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "484c98ba", + "id": "1978c6a8", "metadata": {}, "source": [ "# The Overlapping Generations Model\n", @@ -26,7 +26,7 @@ }, { "cell_type": "markdown", - "id": "d23d8b3c", + "id": "2583ce1f", "metadata": {}, "source": [ "## Overview\n", @@ -66,7 +66,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d75c4c19", + "id": "f9f74187", "metadata": { "hide-output": false }, @@ -80,7 +80,7 @@ }, { "cell_type": "markdown", - "id": "93e578d7", + "id": "22347161", "metadata": {}, "source": [ "## Environment\n", @@ -118,7 +118,7 @@ }, { "cell_type": "markdown", - "id": "6d4d337c", + "id": "8b1fb9bd", "metadata": {}, "source": [ "## Supply of capital\n", @@ -128,7 +128,7 @@ }, { "cell_type": "markdown", - "id": "f4874cfa", + "id": "04cc4a0a", "metadata": {}, "source": [ "### Consumer’s problem\n", @@ -225,7 +225,7 @@ }, { "cell_type": "markdown", - "id": "30c0fd78", + "id": "f3996052", "metadata": {}, "source": [ "### Example: log preferences\n", @@ -246,7 +246,7 @@ }, { "cell_type": "markdown", - "id": "4c67fa90", + "id": "4110f7d6", "metadata": {}, "source": [ "### Savings and investment\n", @@ -265,7 +265,7 @@ }, { "cell_type": "markdown", - "id": "22902498", + "id": "f9b72bfb", "metadata": {}, "source": [ "## Demand for capital\n", @@ -276,7 +276,7 @@ }, { "cell_type": "markdown", - "id": "e68abb93", + "id": "52fd6c8a", "metadata": {}, "source": [ "### Firm’s problem\n", @@ -314,7 +314,7 @@ }, { "cell_type": "markdown", - "id": "24f54b48", + "id": "f81b9b8d", "metadata": {}, "source": [ "### Demand\n", @@ -352,7 +352,7 @@ { "cell_type": "code", "execution_count": null, - "id": "03bc29e5", + "id": "f410e4df", "metadata": { "hide-output": false }, @@ -365,7 +365,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9f73c905", + "id": "95970528", "metadata": { "hide-output": false }, @@ -378,7 +378,7 @@ }, { "cell_type": "markdown", - "id": "789d1772", + "id": "f4c6899d", "metadata": {}, "source": [ "The next figure plots the supply of capital, as in [(26.6)](#equation-saving-log-2-olg), as well as the demand for capital, as in [(26.11)](#equation-aggregate-demand-capital-olg), as functions of the interest rate $ R_{t+1} $.\n", @@ -388,7 +388,7 @@ }, { "cell_type": "markdown", - "id": "6691035d", + "id": "b30ace74", "metadata": {}, "source": [ "## Equilibrium\n", @@ -398,7 +398,7 @@ }, { "cell_type": "markdown", - "id": "3fec6fa5", + "id": "7798e6bd", "metadata": {}, "source": [ "### Equilibrium conditions\n", @@ -429,7 +429,7 @@ }, { "cell_type": "markdown", - "id": "9c7b53b8", + "id": "4efcf03d", "metadata": {}, "source": [ "### Example: log utility\n", @@ -461,7 +461,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ad8b01df", + "id": "673a5dde", "metadata": { "hide-output": false }, @@ -474,7 +474,7 @@ }, { "cell_type": "markdown", - "id": "d9728660", + "id": "3a32cf58", "metadata": {}, "source": [ "In the case of log utility, since capital supply does not depend on the interest rate, the equilibrium quantity is fixed by supply.\n", @@ -493,7 +493,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3e7c5138", + "id": "fb34475c", "metadata": { "hide-output": false }, @@ -523,7 +523,7 @@ }, { "cell_type": "markdown", - "id": "7ac31d00", + "id": "a9bede6c", "metadata": {}, "source": [ "## Dynamics\n", @@ -535,7 +535,7 @@ }, { "cell_type": "markdown", - "id": "d5723d72", + "id": "41696278", "metadata": {}, "source": [ "### Evolution of capital\n", @@ -566,7 +566,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b0c65128", + "id": "1c077f06", "metadata": { "hide-output": false }, @@ -579,7 +579,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1455550d", + "id": "59b9dc7b", "metadata": { "hide-output": false }, @@ -608,7 +608,7 @@ }, { "cell_type": "markdown", - "id": "92459e81", + "id": "5c1fec71", "metadata": {}, "source": [ "### Steady state (log case)\n", @@ -645,7 +645,7 @@ { "cell_type": "code", "execution_count": null, - "id": "883a6af8", + "id": "d778bf34", "metadata": { "hide-output": false }, @@ -657,7 +657,7 @@ }, { "cell_type": "markdown", - "id": "d52366bc", + "id": "0a58ac9b", "metadata": {}, "source": [ "### Time series\n", @@ -670,7 +670,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f8529f73", + "id": "1965e70e", "metadata": { "hide-output": false }, @@ -694,7 +694,7 @@ }, { "cell_type": "markdown", - "id": "74f93470", + "id": "32f551f4", "metadata": {}, "source": [ "If you experiment with different positive initial conditions, you will see that the series always converges to $ k^* $.\n", @@ -705,7 +705,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e78ed56f", + "id": "b02840e7", "metadata": { "hide-output": false }, @@ -725,7 +725,7 @@ }, { "cell_type": "markdown", - "id": "32d30f40", + "id": "7ba453c2", "metadata": {}, "source": [ "The interest rate reflects the marginal product of capital, which is high when capital stock is low." @@ -733,7 +733,7 @@ }, { "cell_type": "markdown", - "id": "2f7b8877", + "id": "abfcc6fa", "metadata": {}, "source": [ "## CRRA preferences\n", @@ -755,7 +755,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f074c883", + "id": "bfe82bd1", "metadata": { "hide-output": false }, @@ -775,7 +775,7 @@ }, { "cell_type": "markdown", - "id": "67290eeb", + "id": "ddeade47", "metadata": {}, "source": [ "Let’s also redefine the capital demand function to work with this `namedtuple`." @@ -784,7 +784,7 @@ { "cell_type": "code", "execution_count": null, - "id": "35b3ea4e", + "id": "fa2b8a84", "metadata": { "hide-output": false }, @@ -796,7 +796,7 @@ }, { "cell_type": "markdown", - "id": "43cd3aa3", + "id": "95a72554", "metadata": {}, "source": [ "### Supply\n", @@ -827,7 +827,7 @@ { "cell_type": "code", "execution_count": null, - "id": "47b89a8d", + "id": "64ba2015", "metadata": { "hide-output": false }, @@ -841,7 +841,7 @@ { "cell_type": "code", "execution_count": null, - "id": "64a299d0", + "id": "faca2a6e", "metadata": { "hide-output": false }, @@ -865,7 +865,7 @@ }, { "cell_type": "markdown", - "id": "cf6d9a27", + "id": "3e8e20de", "metadata": {}, "source": [ "### Equilibrium\n", @@ -899,7 +899,7 @@ }, { "cell_type": "markdown", - "id": "23c281a3", + "id": "613270ea", "metadata": {}, "source": [ "## Exercises" @@ -907,7 +907,7 @@ }, { "cell_type": "markdown", - "id": "8286e022", + "id": "f1bf2bec", "metadata": {}, "source": [ "## Exercise 26.1\n", @@ -919,7 +919,7 @@ }, { "cell_type": "markdown", - "id": "3d8a0134", + "id": "7644d66a", "metadata": {}, "source": [ "## Solution to[ Exercise 26.1](https://intro.quantecon.org/#olg_ex1)\n", @@ -952,7 +952,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cc2a9c8c", + "id": "b7dfa52f", "metadata": { "hide-output": false }, @@ -969,7 +969,7 @@ }, { "cell_type": "markdown", - "id": "8484c4d0", + "id": "f21e78b4", "metadata": {}, "source": [ "Now let’s define a function that finds the value of $ k_{t+1} $." @@ -978,7 +978,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3af66bad", + "id": "a07ec1b7", "metadata": { "hide-output": false }, @@ -990,7 +990,7 @@ }, { "cell_type": "markdown", - "id": "3a0f7fe4", + "id": "0e53d7b3", "metadata": {}, "source": [ "Finally, here is the 45-degree diagram." @@ -999,7 +999,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9bb06b96", + "id": "b45aa1ac", "metadata": { "hide-output": false }, @@ -1030,7 +1030,7 @@ }, { "cell_type": "markdown", - "id": "ff8e5cfa", + "id": "010eafff", "metadata": {}, "source": [ "## Exercise 26.2\n", @@ -1054,7 +1054,7 @@ }, { "cell_type": "markdown", - "id": "90398990", + "id": "0a255bb9", "metadata": {}, "source": [ "## Solution to[ Exercise 26.2](https://intro.quantecon.org/#olg_ex2)\n", @@ -1077,7 +1077,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fc8a4ecf", + "id": "6fc8a5bd", "metadata": { "hide-output": false }, @@ -1094,7 +1094,7 @@ }, { "cell_type": "markdown", - "id": "9f720c8d", + "id": "2faea2b6", "metadata": {}, "source": [ "Let’s apply Newton’s method to find the root:" @@ -1103,7 +1103,7 @@ { "cell_type": "code", "execution_count": null, - "id": "96552ff1", + "id": "e48390b1", "metadata": { "hide-output": false }, @@ -1115,7 +1115,7 @@ }, { "cell_type": "markdown", - "id": "9b6abcae", + "id": "177f7e0f", "metadata": {}, "source": [ "## Exercise 26.3\n", @@ -1128,7 +1128,7 @@ }, { "cell_type": "markdown", - "id": "1aff7e6a", + "id": "fba19a4e", "metadata": {}, "source": [ "## Solution to[ Exercise 26.3](https://intro.quantecon.org/#olg_ex3)\n", @@ -1139,7 +1139,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3cbe7dbf", + "id": "6e235bbb", "metadata": { "hide-output": false }, @@ -1152,7 +1152,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6b81e911", + "id": "5fcde0dd", "metadata": { "hide-output": false }, @@ -1184,7 +1184,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e7b8aff5", + "id": "8734c453", "metadata": { "hide-output": false }, @@ -1195,7 +1195,7 @@ } ], "metadata": { - "date": 1722488543.231481, + "date": 1722502940.083072, "filename": "olg.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/prob_dist.ipynb b/_notebooks/prob_dist.ipynb index 3a29dde0..ec4603be 100644 --- a/_notebooks/prob_dist.ipynb +++ b/_notebooks/prob_dist.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "1983ca57", + "id": "b091018e", "metadata": {}, "source": [ "# Distributions and Probabilities\n", @@ -13,7 +13,7 @@ }, { "cell_type": "markdown", - "id": "083a0136", + "id": "f4c8f493", "metadata": {}, "source": [ "## Outline\n", @@ -24,7 +24,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0cc4d49e", + "id": "8ab9297e", "metadata": { "hide-output": false }, @@ -36,7 +36,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8e7997de", + "id": "4dee2aba", "metadata": { "hide-output": false }, @@ -52,7 +52,7 @@ }, { "cell_type": "markdown", - "id": "cd0603e4", + "id": "06d3b637", "metadata": {}, "source": [ "## Common distributions\n", @@ -62,7 +62,7 @@ }, { "cell_type": "markdown", - "id": "ed7e214a", + "id": "a645cff9", "metadata": {}, "source": [ "### Discrete distributions\n", @@ -115,7 +115,7 @@ }, { "cell_type": "markdown", - "id": "7f7708c4", + "id": "1ceb7133", "metadata": {}, "source": [ "#### Uniform distribution\n", @@ -128,7 +128,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cf4e5ce4", + "id": "94ac4c87", "metadata": { "hide-output": false }, @@ -140,7 +140,7 @@ }, { "cell_type": "markdown", - "id": "f0bf6abb", + "id": "85dd168e", "metadata": {}, "source": [ "Here’s the mean and variance:" @@ -149,7 +149,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bb7e223e", + "id": "f6beacfe", "metadata": { "hide-output": false }, @@ -160,7 +160,7 @@ }, { "cell_type": "markdown", - "id": "a08b1dd8", + "id": "c878c35f", "metadata": {}, "source": [ "The formula for the mean is $ (n+1)/2 $, and the formula for the variance is $ (n^2 - 1)/12 $.\n", @@ -171,7 +171,7 @@ { "cell_type": "code", "execution_count": null, - "id": "680b5374", + "id": "27bd8a56", "metadata": { "hide-output": false }, @@ -183,7 +183,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1c7cf973", + "id": "8a342ced", "metadata": { "hide-output": false }, @@ -194,7 +194,7 @@ }, { "cell_type": "markdown", - "id": "0dd139c3", + "id": "c97a8bbf", "metadata": {}, "source": [ "Here’s a plot of the probability mass function:" @@ -203,7 +203,7 @@ { "cell_type": "code", "execution_count": null, - "id": "20a1b183", + "id": "00a43678", "metadata": { "hide-output": false }, @@ -221,7 +221,7 @@ }, { "cell_type": "markdown", - "id": "f8cb464d", + "id": "f75e5ff2", "metadata": {}, "source": [ "Here’s a plot of the CDF:" @@ -230,7 +230,7 @@ { "cell_type": "code", "execution_count": null, - "id": "72d70f01", + "id": "b5c04c00", "metadata": { "hide-output": false }, @@ -248,7 +248,7 @@ }, { "cell_type": "markdown", - "id": "2ef68ef3", + "id": "654f55a0", "metadata": {}, "source": [ "The CDF jumps up by $ p(x_i) $ at $ x_i $." @@ -256,7 +256,7 @@ }, { "cell_type": "markdown", - "id": "b1aea099", + "id": "e1a5bc7b", "metadata": {}, "source": [ "#### Exercise 18.1\n", @@ -269,7 +269,7 @@ }, { "cell_type": "markdown", - "id": "b2f9c5a6", + "id": "ba4100f4", "metadata": {}, "source": [ "#### Bernoulli distribution\n", @@ -277,7 +277,8 @@ "Another useful distribution is the Bernoulli distribution on $ S = \\{0,1\\} $, which has PMF:\n", "\n", "$$\n", - "p(i) = \\theta^{i-1} (1 - \\theta)^i\n", + "p(i) = \\theta^i (1 - \\theta)^{1-i}\n", + "\\qquad (i = 0, 1)\n", "$$\n", "\n", "Here $ \\theta \\in [0,1] $ is a parameter.\n", @@ -289,7 +290,7 @@ " probability $ 1-\\theta $ \n", "\n", "\n", - "The formula for the mean is $ p $, and the formula for the variance is $ p(1-p) $.\n", + "The formula for the mean is $ \\theta $, and the formula for the variance is $ \\theta(1-\\theta) $.\n", "\n", "We can import the Bernoulli distribution on $ S = \\{0,1\\} $ from SciPy like so:" ] @@ -297,7 +298,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b038e6f6", + "id": "c8efbd70", "metadata": { "hide-output": false }, @@ -309,7 +310,7 @@ }, { "cell_type": "markdown", - "id": "db2f0b21", + "id": "318ea377", "metadata": {}, "source": [ "Here’s the mean and variance at $ \\theta=0.4 $" @@ -318,7 +319,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d625453f", + "id": "cfc40e86", "metadata": { "hide-output": false }, @@ -329,28 +330,27 @@ }, { "cell_type": "markdown", - "id": "ea6c342c", + "id": "06d25730", "metadata": {}, "source": [ - "Now let’s evaluate the PMF" + "We can evaluate the PMF as follows" ] }, { "cell_type": "code", "execution_count": null, - "id": "463d9012", + "id": "b37bd9a7", "metadata": { "hide-output": false }, "outputs": [], "source": [ - "u.pmf(0)\n", - "u.pmf(1)" + "u.pmf(0), u.pmf(1)" ] }, { "cell_type": "markdown", - "id": "42d6bf35", + "id": "5103a3fe", "metadata": {}, "source": [ "#### Binomial distribution\n", @@ -375,7 +375,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1a2d0d14", + "id": "8d6d529f", "metadata": { "hide-output": false }, @@ -388,7 +388,7 @@ }, { "cell_type": "markdown", - "id": "f6a87b77", + "id": "e9a482aa", "metadata": {}, "source": [ "According to our formulas, the mean and variance are" @@ -397,7 +397,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d94e95f1", + "id": "3b0a2f36", "metadata": { "hide-output": false }, @@ -408,7 +408,7 @@ }, { "cell_type": "markdown", - "id": "fd11cdf7", + "id": "2650669e", "metadata": {}, "source": [ "Let’s see if SciPy gives us the same results:" @@ -417,7 +417,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3c143df5", + "id": "8d6ecf5c", "metadata": { "hide-output": false }, @@ -428,7 +428,7 @@ }, { "cell_type": "markdown", - "id": "94f92028", + "id": "adfa9b1d", "metadata": {}, "source": [ "Here’s the PMF:" @@ -437,7 +437,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8ee92340", + "id": "8e340f06", "metadata": { "hide-output": false }, @@ -449,7 +449,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3c38988b", + "id": "568e6ad9", "metadata": { "hide-output": false }, @@ -467,7 +467,7 @@ }, { "cell_type": "markdown", - "id": "3c56ad41", + "id": "d8eab3f9", "metadata": {}, "source": [ "Here’s the CDF:" @@ -476,7 +476,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e9742532", + "id": "39d5b73a", "metadata": { "hide-output": false }, @@ -494,7 +494,7 @@ }, { "cell_type": "markdown", - "id": "a12f5b9f", + "id": "432bbcfb", "metadata": {}, "source": [ "#### Exercise 18.2\n", @@ -504,7 +504,7 @@ }, { "cell_type": "markdown", - "id": "3fd99287", + "id": "d8e50684", "metadata": {}, "source": [ "#### Solution to[ Exercise 18.2](https://intro.quantecon.org/#prob_ex3)\n", @@ -515,7 +515,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0efc86c9", + "id": "8a32ce31", "metadata": { "hide-output": false }, @@ -534,7 +534,7 @@ }, { "cell_type": "markdown", - "id": "02ad643a", + "id": "25424f07", "metadata": {}, "source": [ "We can see that the output graph is the same as the one above." @@ -542,7 +542,7 @@ }, { "cell_type": "markdown", - "id": "24a1d844", + "id": "0fbdc841", "metadata": {}, "source": [ "#### Geometric distribution\n", @@ -569,7 +569,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d2f8de7d", + "id": "969e69ee", "metadata": { "hide-output": false }, @@ -582,7 +582,7 @@ }, { "cell_type": "markdown", - "id": "66e2d9e9", + "id": "f7cfac06", "metadata": {}, "source": [ "Here’s part of the PMF:" @@ -591,7 +591,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0467377e", + "id": "bcfd7453", "metadata": { "hide-output": false }, @@ -610,7 +610,7 @@ }, { "cell_type": "markdown", - "id": "85253e59", + "id": "f921cef1", "metadata": {}, "source": [ "#### Poisson distribution\n", @@ -631,7 +631,7 @@ { "cell_type": "code", "execution_count": null, - "id": "62ee977f", + "id": "76e8191a", "metadata": { "hide-output": false }, @@ -644,7 +644,7 @@ }, { "cell_type": "markdown", - "id": "c9c899aa", + "id": "05f7d242", "metadata": {}, "source": [ "Here’s the PMF:" @@ -653,7 +653,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cbffadce", + "id": "dc90ccdb", "metadata": { "hide-output": false }, @@ -665,7 +665,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4d6ec818", + "id": "60ab6b39", "metadata": { "hide-output": false }, @@ -683,7 +683,7 @@ }, { "cell_type": "markdown", - "id": "b00b6df7", + "id": "66380946", "metadata": {}, "source": [ "### Continuous distributions\n", @@ -720,7 +720,7 @@ }, { "cell_type": "markdown", - "id": "b799bd81", + "id": "b95b8cf8", "metadata": {}, "source": [ "#### Normal distribution\n", @@ -742,7 +742,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4232fa96", + "id": "d59389a1", "metadata": { "hide-output": false }, @@ -755,7 +755,7 @@ { "cell_type": "code", "execution_count": null, - "id": "926ad938", + "id": "4a983e4b", "metadata": { "hide-output": false }, @@ -766,7 +766,7 @@ }, { "cell_type": "markdown", - "id": "329c9e9f", + "id": "a426d37d", "metadata": {}, "source": [ "Here’s a plot of the density — the famous “bell-shaped curve”:" @@ -775,7 +775,7 @@ { "cell_type": "code", "execution_count": null, - "id": "750d2ec5", + "id": "f98e9ce7", "metadata": { "hide-output": false }, @@ -799,7 +799,7 @@ }, { "cell_type": "markdown", - "id": "9ef8fe58", + "id": "2a56ef67", "metadata": {}, "source": [ "Here’s a plot of the CDF:" @@ -808,7 +808,7 @@ { "cell_type": "code", "execution_count": null, - "id": "021a2a15", + "id": "a2752e44", "metadata": { "hide-output": false }, @@ -829,7 +829,7 @@ }, { "cell_type": "markdown", - "id": "ddf453ec", + "id": "0a8023b8", "metadata": {}, "source": [ "#### Lognormal distribution\n", @@ -857,7 +857,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9d1e6328", + "id": "7a84936d", "metadata": { "hide-output": false }, @@ -870,7 +870,7 @@ { "cell_type": "code", "execution_count": null, - "id": "796d3aea", + "id": "09ee4cb3", "metadata": { "hide-output": false }, @@ -882,7 +882,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3a892b41", + "id": "fcbb26a4", "metadata": { "hide-output": false }, @@ -907,7 +907,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4e644f24", + "id": "12eaae77", "metadata": { "hide-output": false }, @@ -930,7 +930,7 @@ }, { "cell_type": "markdown", - "id": "65b05ba6", + "id": "a4d545ed", "metadata": {}, "source": [ "#### Exponential distribution\n", @@ -954,7 +954,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c29d42fa", + "id": "2eb8a842", "metadata": { "hide-output": false }, @@ -967,7 +967,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c9a076cf", + "id": "11ce45f6", "metadata": { "hide-output": false }, @@ -979,7 +979,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e53bbdc7", + "id": "12ebb943", "metadata": { "hide-output": false }, @@ -1003,7 +1003,7 @@ { "cell_type": "code", "execution_count": null, - "id": "82fea7e4", + "id": "f86ed6f6", "metadata": { "hide-output": false }, @@ -1024,7 +1024,7 @@ }, { "cell_type": "markdown", - "id": "942e1004", + "id": "2a43a876", "metadata": {}, "source": [ "#### Beta distribution\n", @@ -1052,7 +1052,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bc9b0164", + "id": "2ba67575", "metadata": { "hide-output": false }, @@ -1065,7 +1065,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5c99fc28", + "id": "4da26313", "metadata": { "hide-output": false }, @@ -1077,7 +1077,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d9aacc33", + "id": "a6863bb2", "metadata": { "hide-output": false }, @@ -1102,7 +1102,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5b53de0e", + "id": "edb6bb49", "metadata": { "hide-output": false }, @@ -1123,7 +1123,7 @@ }, { "cell_type": "markdown", - "id": "15409540", + "id": "4266f5bc", "metadata": {}, "source": [ "#### Gamma distribution\n", @@ -1150,7 +1150,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6398c088", + "id": "7487535a", "metadata": { "hide-output": false }, @@ -1163,7 +1163,7 @@ { "cell_type": "code", "execution_count": null, - "id": "deff1161", + "id": "3ea4c495", "metadata": { "hide-output": false }, @@ -1175,7 +1175,7 @@ { "cell_type": "code", "execution_count": null, - "id": "719764db", + "id": "4fac4cae", "metadata": { "hide-output": false }, @@ -1200,7 +1200,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dcac1899", + "id": "7299a465", "metadata": { "hide-output": false }, @@ -1221,7 +1221,7 @@ }, { "cell_type": "markdown", - "id": "91a49186", + "id": "bf5d40d4", "metadata": {}, "source": [ "## Observed distributions\n", @@ -1234,7 +1234,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4206e3b5", + "id": "cf778ea2", "metadata": { "hide-output": false }, @@ -1257,7 +1257,7 @@ }, { "cell_type": "markdown", - "id": "5f82ab69", + "id": "c7934cd7", "metadata": {}, "source": [ "In this situation, we might refer to the set of their incomes as the “income distribution.”\n", @@ -1273,7 +1273,7 @@ }, { "cell_type": "markdown", - "id": "ab7cbccd", + "id": "9877f562", "metadata": {}, "source": [ "### Summary statistics\n", @@ -1298,7 +1298,7 @@ { "cell_type": "code", "execution_count": null, - "id": "53f1ba6e", + "id": "bbf62fb9", "metadata": { "hide-output": false }, @@ -1310,17 +1310,21 @@ }, { "cell_type": "markdown", - "id": "3b7a32ff", + "id": "19273a01", "metadata": {}, "source": [ "### Exercise 18.3\n", "\n", - "Check that the formulas given above produce the same numbers." + "If you try to check that the formulas given above for the sample mean and sample\n", + "variance produce the same numbers, you will see that the variance isn’t quite\n", + "right. This is because SciPy uses $ 1/(n-1) $ instead of $ 1/n $ as the term at the\n", + "front of the variance. (Some books define the sample variance this way.)\n", + "Confirm." ] }, { "cell_type": "markdown", - "id": "b91c0744", + "id": "07bcb550", "metadata": {}, "source": [ "### Visualization\n", @@ -1336,7 +1340,7 @@ }, { "cell_type": "markdown", - "id": "52d30eb9", + "id": "e6c39de5", "metadata": {}, "source": [ "#### Histograms\n", @@ -1347,7 +1351,7 @@ { "cell_type": "code", "execution_count": null, - "id": "27ffb26c", + "id": "ccdae993", "metadata": { "hide-output": false }, @@ -1362,7 +1366,7 @@ }, { "cell_type": "markdown", - "id": "fd220971", + "id": "e688740d", "metadata": {}, "source": [ "Let’s look at a distribution from real data.\n", @@ -1377,7 +1381,7 @@ { "cell_type": "code", "execution_count": null, - "id": "121baf26", + "id": "bc23ca03", "metadata": { "hide-output": false }, @@ -1391,7 +1395,7 @@ }, { "cell_type": "markdown", - "id": "9622fd90", + "id": "377472a3", "metadata": {}, "source": [ "The first observation is the monthly return (percent change) over January 2000, which was" @@ -1400,7 +1404,7 @@ { "cell_type": "code", "execution_count": null, - "id": "96cb5952", + "id": "04403633", "metadata": { "hide-output": false }, @@ -1411,7 +1415,7 @@ }, { "cell_type": "markdown", - "id": "a602dc69", + "id": "085938d3", "metadata": {}, "source": [ "Let’s turn the return observations into an array and histogram it." @@ -1420,7 +1424,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5308aae7", + "id": "cbd3bbdf", "metadata": { "hide-output": false }, @@ -1435,7 +1439,7 @@ }, { "cell_type": "markdown", - "id": "a9a50c6d", + "id": "67d6d9a4", "metadata": {}, "source": [ "#### Kernel density estimates\n", @@ -1451,7 +1455,7 @@ { "cell_type": "code", "execution_count": null, - "id": "61fe243f", + "id": "8308e67c", "metadata": { "hide-output": false }, @@ -1466,7 +1470,7 @@ }, { "cell_type": "markdown", - "id": "f7cc03f1", + "id": "90d785ae", "metadata": {}, "source": [ "The smoothness of the KDE is dependent on how we choose the bandwidth." @@ -1475,7 +1479,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9837e89e", + "id": "763e951f", "metadata": { "hide-output": false }, @@ -1493,7 +1497,7 @@ }, { "cell_type": "markdown", - "id": "f160a7f2", + "id": "369876b9", "metadata": {}, "source": [ "When we use a larger bandwidth, the KDE is smoother.\n", @@ -1503,7 +1507,7 @@ }, { "cell_type": "markdown", - "id": "75fcdb7e", + "id": "83ccd69e", "metadata": {}, "source": [ "#### Violin plots\n", @@ -1514,7 +1518,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bdba80a4", + "id": "c06c767c", "metadata": { "hide-output": false }, @@ -1529,7 +1533,7 @@ }, { "cell_type": "markdown", - "id": "5184ea0e", + "id": "b738b9e8", "metadata": {}, "source": [ "Violin plots are particularly useful when we want to compare different distributions.\n", @@ -1540,7 +1544,7 @@ { "cell_type": "code", "execution_count": null, - "id": "51df2a99", + "id": "78a1dbc7", "metadata": { "hide-output": false }, @@ -1554,7 +1558,7 @@ { "cell_type": "code", "execution_count": null, - "id": "86535fb1", + "id": "07c68abb", "metadata": { "hide-output": false }, @@ -1569,7 +1573,7 @@ }, { "cell_type": "markdown", - "id": "b664ce0b", + "id": "d5a39081", "metadata": {}, "source": [ "### Connection to probability distributions\n", @@ -1592,7 +1596,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bb9cb408", + "id": "24327c66", "metadata": { "hide-output": false }, @@ -1607,7 +1611,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ffb5ed88", + "id": "bd2cfeac", "metadata": { "hide-output": false }, @@ -1624,7 +1628,7 @@ }, { "cell_type": "markdown", - "id": "94b129d1", + "id": "2d4a4ae7", "metadata": {}, "source": [ "The match between the histogram and the density is not bad but also not very good.\n", @@ -1642,7 +1646,7 @@ { "cell_type": "code", "execution_count": null, - "id": "28f207e8", + "id": "09fe6028", "metadata": { "hide-output": false }, @@ -1663,7 +1667,7 @@ }, { "cell_type": "markdown", - "id": "1e3334da", + "id": "807e9dcb", "metadata": {}, "source": [ "Note that if you keep increasing $ N $, which is the number of observations, the fit will get better and better.\n", @@ -1673,7 +1677,7 @@ } ], "metadata": { - "date": 1722488543.2842953, + "date": 1722502940.1342027, "filename": "prob_dist.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/pv.ipynb b/_notebooks/pv.ipynb index b87c0e64..e225eb9b 100644 --- a/_notebooks/pv.ipynb +++ b/_notebooks/pv.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "3f39ef8a", + "id": "d3591581", "metadata": {}, "source": [ "# Present Values" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "390afd29", + "id": "0ddb771e", "metadata": {}, "source": [ "## Overview\n", @@ -49,7 +49,7 @@ }, { "cell_type": "markdown", - "id": "7b737e52", + "id": "6ffea3bf", "metadata": {}, "source": [ "## Analysis\n", @@ -100,7 +100,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e66d2411", + "id": "3b409778", "metadata": { "hide-output": false }, @@ -112,7 +112,7 @@ }, { "cell_type": "markdown", - "id": "e0e68cf5", + "id": "5eddcf1b", "metadata": {}, "source": [ "## Representing sequences as vectors\n", @@ -155,7 +155,7 @@ }, { "cell_type": "markdown", - "id": "2f7013f5", + "id": "39624778", "metadata": {}, "source": [ "## Exercise 11.1\n", @@ -219,7 +219,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9b6dec03", + "id": "0a9b3759", "metadata": { "hide-output": false }, @@ -241,7 +241,7 @@ }, { "cell_type": "markdown", - "id": "621c69d3", + "id": "0e48a40b", "metadata": {}, "source": [ "Now let’s compute and plot the asset price.\n", @@ -252,7 +252,7 @@ { "cell_type": "code", "execution_count": null, - "id": "10ad4f05", + "id": "95852964", "metadata": { "hide-output": false }, @@ -264,7 +264,7 @@ }, { "cell_type": "markdown", - "id": "0a4abf8f", + "id": "64be175f", "metadata": {}, "source": [ "Let’s build the matrix $ A $" @@ -273,7 +273,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a816bfad", + "id": "2fadbcd1", "metadata": { "hide-output": false }, @@ -290,7 +290,7 @@ }, { "cell_type": "markdown", - "id": "c223f8bc", + "id": "a7efa0e2", "metadata": {}, "source": [ "Let’s inspect $ A $" @@ -299,7 +299,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ba191ebc", + "id": "2ea9b902", "metadata": { "hide-output": false }, @@ -310,7 +310,7 @@ }, { "cell_type": "markdown", - "id": "12ef2f0b", + "id": "a4f8305c", "metadata": {}, "source": [ "Now let’s solve for prices using [(11.5)](#equation-eq-apdb-sol)." @@ -319,7 +319,7 @@ { "cell_type": "code", "execution_count": null, - "id": "318f8afd", + "id": "f5b97d99", "metadata": { "hide-output": false }, @@ -337,7 +337,7 @@ }, { "cell_type": "markdown", - "id": "50032bdb", + "id": "8c5a42ca", "metadata": {}, "source": [ "Now let’s consider a cyclically growing dividend sequence:\n", @@ -350,7 +350,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b922bcae", + "id": "e4af2b88", "metadata": { "hide-output": false }, @@ -372,7 +372,7 @@ }, { "cell_type": "markdown", - "id": "de96947f", + "id": "5931c054", "metadata": {}, "source": [ "## Exercise 11.2\n", @@ -383,7 +383,7 @@ }, { "cell_type": "markdown", - "id": "97141916", + "id": "d5a9e2d2", "metadata": {}, "source": [ "## Solution to[ Exercise 11.2](https://intro.quantecon.org/#pv_ex_cyc)\n", @@ -394,7 +394,7 @@ { "cell_type": "code", "execution_count": null, - "id": "23372a49", + "id": "9f13150f", "metadata": { "hide-output": false }, @@ -422,7 +422,7 @@ }, { "cell_type": "markdown", - "id": "e9e5b9b0", + "id": "4a6cf9bb", "metadata": {}, "source": [ "The weighted averaging associated with the present value calculation largely\n", @@ -431,7 +431,7 @@ }, { "cell_type": "markdown", - "id": "5ab1faae", + "id": "6bf688f0", "metadata": {}, "source": [ "## Analytical expressions\n", @@ -456,7 +456,7 @@ }, { "cell_type": "markdown", - "id": "b01937a2", + "id": "8383a5f1", "metadata": {}, "source": [ "## Exercise 11.3\n", @@ -499,7 +499,7 @@ }, { "cell_type": "markdown", - "id": "ec6a02c5", + "id": "c4037f4f", "metadata": {}, "source": [ "## More about bubbles\n", @@ -561,7 +561,7 @@ }, { "cell_type": "markdown", - "id": "9c424435", + "id": "2b9366a9", "metadata": {}, "source": [ "## Gross rate of return\n", @@ -584,7 +584,7 @@ }, { "cell_type": "markdown", - "id": "997c6808", + "id": "d0d08557", "metadata": {}, "source": [ "## Exercises" @@ -592,7 +592,7 @@ }, { "cell_type": "markdown", - "id": "f8b8dbac", + "id": "e1c3eed4", "metadata": {}, "source": [ "## Exercise 11.4\n", @@ -608,7 +608,7 @@ }, { "cell_type": "markdown", - "id": "7d977a4a", + "id": "3e756f70", "metadata": {}, "source": [ "## Solution to[ Exercise 11.4](https://intro.quantecon.org/#pv_ex_a)\n", @@ -623,7 +623,7 @@ } ], "metadata": { - "date": 1722488543.3125095, + "date": 1722502940.1604893, "filename": "pv.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/scalar_dynam.ipynb b/_notebooks/scalar_dynam.ipynb index 3c2147c0..ff2b8ef8 100644 --- a/_notebooks/scalar_dynam.ipynb +++ b/_notebooks/scalar_dynam.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "928089c7", + "id": "bcc44049", "metadata": {}, "source": [ "\n", @@ -11,7 +11,7 @@ }, { "cell_type": "markdown", - "id": "fb4711cc", + "id": "af209b3e", "metadata": {}, "source": [ "# Dynamics in One Dimension" @@ -19,7 +19,7 @@ }, { "cell_type": "markdown", - "id": "a45390c1", + "id": "a08ce671", "metadata": {}, "source": [ "## Overview\n", @@ -55,7 +55,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e5489566", + "id": "93eaa8a5", "metadata": { "hide-output": false }, @@ -67,7 +67,7 @@ }, { "cell_type": "markdown", - "id": "37874b09", + "id": "135ffe9d", "metadata": {}, "source": [ "## Some definitions\n", @@ -77,7 +77,7 @@ }, { "cell_type": "markdown", - "id": "89d80f5c", + "id": "abc2f069", "metadata": {}, "source": [ "### Composition of functions\n", @@ -120,7 +120,7 @@ }, { "cell_type": "markdown", - "id": "64e7fcf3", + "id": "0495de3d", "metadata": {}, "source": [ "### Dynamic systems\n", @@ -186,7 +186,7 @@ }, { "cell_type": "markdown", - "id": "a28e4ed0", + "id": "9b8c4af2", "metadata": {}, "source": [ "### Example: a linear model\n", @@ -239,7 +239,7 @@ }, { "cell_type": "markdown", - "id": "ea196820", + "id": "8e63d062", "metadata": {}, "source": [ "### Example: a nonlinear model\n", @@ -271,7 +271,7 @@ }, { "cell_type": "markdown", - "id": "1e47d0bd", + "id": "b0a40ace", "metadata": {}, "source": [ "## Stability\n", @@ -285,7 +285,7 @@ }, { "cell_type": "markdown", - "id": "7d37bb4a", + "id": "0b432d8c", "metadata": {}, "source": [ "### Steady states\n", @@ -312,7 +312,7 @@ }, { "cell_type": "markdown", - "id": "2579ee4e", + "id": "b056f066", "metadata": {}, "source": [ "### Global stability\n", @@ -336,7 +336,7 @@ }, { "cell_type": "markdown", - "id": "f6532c7c", + "id": "e77b433a", "metadata": {}, "source": [ "### Local stability\n", @@ -357,7 +357,7 @@ }, { "cell_type": "markdown", - "id": "afeebae1", + "id": "037419f6", "metadata": {}, "source": [ "### \n", @@ -373,7 +373,7 @@ }, { "cell_type": "markdown", - "id": "66e0e719", + "id": "85686ee1", "metadata": {}, "source": [ "## Graphical analysis\n", @@ -398,7 +398,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3676d30a", + "id": "f1a046bb", "metadata": { "hide-output": false }, @@ -492,7 +492,7 @@ }, { "cell_type": "markdown", - "id": "e26a636c", + "id": "adc5b1b5", "metadata": {}, "source": [ "Let’s create a 45-degree diagram for the Solow-Swan model with a fixed set of\n", @@ -502,7 +502,7 @@ { "cell_type": "code", "execution_count": null, - "id": "be5cd7d6", + "id": "0a9bf076", "metadata": { "hide-output": false }, @@ -514,7 +514,7 @@ }, { "cell_type": "markdown", - "id": "3b8e8e79", + "id": "6306afe8", "metadata": {}, "source": [ "Here is the 45-degree plot." @@ -523,7 +523,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dfab5e19", + "id": "152e57b9", "metadata": { "hide-output": false }, @@ -536,7 +536,7 @@ }, { "cell_type": "markdown", - "id": "5873d0df", + "id": "5198edcf", "metadata": {}, "source": [ "The plot shows the function $ g $ and the 45-degree line.\n", @@ -569,7 +569,7 @@ }, { "cell_type": "markdown", - "id": "515d5a3a", + "id": "fc989299", "metadata": {}, "source": [ "### Trajectories\n", @@ -584,7 +584,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d92e6fb7", + "id": "298bda9f", "metadata": { "hide-output": false }, @@ -597,7 +597,7 @@ }, { "cell_type": "markdown", - "id": "b45116e0", + "id": "fa5fc43e", "metadata": {}, "source": [ "We can plot the time series of per capita capital corresponding to the figure above as\n", @@ -607,7 +607,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9cdfe280", + "id": "c57e0826", "metadata": { "hide-output": false }, @@ -618,7 +618,7 @@ }, { "cell_type": "markdown", - "id": "36ec8d7e", + "id": "1929519a", "metadata": {}, "source": [ "Here’s a somewhat longer view:" @@ -627,7 +627,7 @@ { "cell_type": "code", "execution_count": null, - "id": "582374e6", + "id": "a1910ef9", "metadata": { "hide-output": false }, @@ -638,7 +638,7 @@ }, { "cell_type": "markdown", - "id": "7b8f0073", + "id": "9ab344d2", "metadata": {}, "source": [ "When per capita capital stock is higher than the unique positive steady state, we see that\n", @@ -648,7 +648,7 @@ { "cell_type": "code", "execution_count": null, - "id": "95703c0e", + "id": "66942d6f", "metadata": { "hide-output": false }, @@ -661,7 +661,7 @@ }, { "cell_type": "markdown", - "id": "89421b40", + "id": "f58cf218", "metadata": {}, "source": [ "Here is the time series:" @@ -670,7 +670,7 @@ { "cell_type": "code", "execution_count": null, - "id": "23880f07", + "id": "79a077e4", "metadata": { "hide-output": false }, @@ -681,7 +681,7 @@ }, { "cell_type": "markdown", - "id": "a3d83fca", + "id": "8801f156", "metadata": {}, "source": [ "### Complex dynamics\n", @@ -701,7 +701,7 @@ { "cell_type": "code", "execution_count": null, - "id": "27c8f36f", + "id": "ddf522d4", "metadata": { "hide-output": false }, @@ -716,7 +716,7 @@ }, { "cell_type": "markdown", - "id": "fe4c5034", + "id": "d6fcb58e", "metadata": {}, "source": [ "Now let’s look at a typical trajectory." @@ -725,7 +725,7 @@ { "cell_type": "code", "execution_count": null, - "id": "82c89520", + "id": "325a94a3", "metadata": { "hide-output": false }, @@ -736,7 +736,7 @@ }, { "cell_type": "markdown", - "id": "ce6bb659", + "id": "30b95f54", "metadata": {}, "source": [ "Notice how irregular it is.\n", @@ -747,7 +747,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2fe15807", + "id": "ac81d297", "metadata": { "hide-output": false }, @@ -758,7 +758,7 @@ }, { "cell_type": "markdown", - "id": "326be2d7", + "id": "44902a16", "metadata": {}, "source": [ "The irregularity is even clearer over a longer time horizon:" @@ -767,7 +767,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7bcfe7ae", + "id": "f5f5a991", "metadata": { "hide-output": false }, @@ -778,7 +778,7 @@ }, { "cell_type": "markdown", - "id": "a2d86aa3", + "id": "97c64d65", "metadata": {}, "source": [ "## Exercises" @@ -786,7 +786,7 @@ }, { "cell_type": "markdown", - "id": "8f15ef3d", + "id": "d7034458", "metadata": {}, "source": [ "## Exercise 23.1\n", @@ -810,7 +810,7 @@ }, { "cell_type": "markdown", - "id": "021780cc", + "id": "848ca31b", "metadata": {}, "source": [ "## Solution to[ Exercise 23.1](https://intro.quantecon.org/#sd_ex1)\n", @@ -823,7 +823,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f3a699cc", + "id": "ca441a33", "metadata": { "hide-output": false }, @@ -836,7 +836,7 @@ }, { "cell_type": "markdown", - "id": "c523b5f1", + "id": "a0388a26", "metadata": {}, "source": [ "Now let’s plot a trajectory:" @@ -845,7 +845,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8175f7a2", + "id": "7d2c7e1e", "metadata": { "hide-output": false }, @@ -857,7 +857,7 @@ }, { "cell_type": "markdown", - "id": "112c87fd", + "id": "e8897d16", "metadata": {}, "source": [ "Here is the corresponding time series, which converges towards the steady\n", @@ -867,7 +867,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3a15ab26", + "id": "9ecfa171", "metadata": { "hide-output": false }, @@ -878,7 +878,7 @@ }, { "cell_type": "markdown", - "id": "6dcf0f63", + "id": "f03bd1d7", "metadata": {}, "source": [ "Now let’s try $ a=-0.5 $ and see what differences we observe.\n", @@ -889,7 +889,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4a7ae897", + "id": "f593cfee", "metadata": { "hide-output": false }, @@ -902,7 +902,7 @@ }, { "cell_type": "markdown", - "id": "11d9ccdf", + "id": "de835299", "metadata": {}, "source": [ "Now let’s plot a trajectory:" @@ -911,7 +911,7 @@ { "cell_type": "code", "execution_count": null, - "id": "99b76498", + "id": "98f58a45", "metadata": { "hide-output": false }, @@ -923,7 +923,7 @@ }, { "cell_type": "markdown", - "id": "fdf8b649", + "id": "ebca789e", "metadata": {}, "source": [ "Here is the corresponding time series, which converges towards the steady\n", @@ -933,7 +933,7 @@ { "cell_type": "code", "execution_count": null, - "id": "744f6474", + "id": "73f55cb4", "metadata": { "hide-output": false }, @@ -944,7 +944,7 @@ }, { "cell_type": "markdown", - "id": "d9777b3e", + "id": "29ea652b", "metadata": {}, "source": [ "Once again, we have convergence to the steady state but the nature of\n", @@ -958,7 +958,7 @@ } ], "metadata": { - "date": 1722488543.3474662, + "date": 1722502940.1944335, "filename": "scalar_dynam.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/schelling.ipynb b/_notebooks/schelling.ipynb index 0cc5afe5..8aafe0e4 100644 --- a/_notebooks/schelling.ipynb +++ b/_notebooks/schelling.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "b19dfd09", + "id": "54c8dde1", "metadata": {}, "source": [ "\n", @@ -11,7 +11,7 @@ }, { "cell_type": "markdown", - "id": "5e33aacf", + "id": "2854590d", "metadata": {}, "source": [ "# Racial Segregation\n", @@ -22,7 +22,7 @@ }, { "cell_type": "markdown", - "id": "91a65042", + "id": "40e46ea1", "metadata": {}, "source": [ "## Outline\n", @@ -65,7 +65,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b3944fe6", + "id": "295d63c0", "metadata": { "hide-output": false }, @@ -79,7 +79,7 @@ }, { "cell_type": "markdown", - "id": "65fcc3ad", + "id": "4c2571a1", "metadata": {}, "source": [ "## The model\n", @@ -89,7 +89,7 @@ }, { "cell_type": "markdown", - "id": "78af7b5b", + "id": "7ae8eaaa", "metadata": {}, "source": [ "### Set-Up\n", @@ -113,7 +113,7 @@ }, { "cell_type": "markdown", - "id": "ec39c237", + "id": "853af23c", "metadata": {}, "source": [ "### Preferences\n", @@ -137,7 +137,7 @@ }, { "cell_type": "markdown", - "id": "f0d55bc7", + "id": "d4ece3e6", "metadata": {}, "source": [ "### Behavior\n", @@ -160,7 +160,7 @@ }, { "cell_type": "markdown", - "id": "c1f298e9", + "id": "8ce74fdc", "metadata": {}, "source": [ "### (Jump Chain Algorithm)\n", @@ -178,7 +178,7 @@ }, { "cell_type": "markdown", - "id": "0efe4fc6", + "id": "badf6d61", "metadata": {}, "source": [ "## Results\n", @@ -192,7 +192,7 @@ }, { "cell_type": "markdown", - "id": "2eba25da", + "id": "71f2ecff", "metadata": { "hide-output": false }, @@ -213,7 +213,7 @@ }, { "cell_type": "markdown", - "id": "6b4cd05a", + "id": "1a46d7a3", "metadata": {}, "source": [ "Let’s build them." @@ -222,7 +222,7 @@ { "cell_type": "code", "execution_count": null, - "id": "169ab672", + "id": "3f456fc1", "metadata": { "hide-output": false }, @@ -279,7 +279,7 @@ }, { "cell_type": "markdown", - "id": "b18a74af", + "id": "fc1a3dbc", "metadata": {}, "source": [ "Here’s some code that takes a list of agents and produces a plot showing their\n", @@ -292,7 +292,7 @@ { "cell_type": "code", "execution_count": null, - "id": "85756433", + "id": "532b3645", "metadata": { "hide-output": false }, @@ -324,7 +324,7 @@ }, { "cell_type": "markdown", - "id": "2c3db882", + "id": "2ab16ffc", "metadata": {}, "source": [ "And here’s some pseudocode for the main loop, where we cycle through the\n", @@ -335,7 +335,7 @@ }, { "cell_type": "markdown", - "id": "506e344a", + "id": "43703012", "metadata": { "hide-output": false }, @@ -351,7 +351,7 @@ }, { "cell_type": "markdown", - "id": "f2573f2e", + "id": "9f2e2b66", "metadata": {}, "source": [ "The real code is below" @@ -360,7 +360,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8da61c6d", + "id": "de886545", "metadata": { "hide-output": false }, @@ -409,7 +409,7 @@ }, { "cell_type": "markdown", - "id": "4efc4aca", + "id": "695cae45", "metadata": {}, "source": [ "Let’s have a look at the results." @@ -418,7 +418,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ee68cb74", + "id": "b5879ba1", "metadata": { "hide-output": false }, @@ -429,7 +429,7 @@ }, { "cell_type": "markdown", - "id": "481ce33f", + "id": "e5997109", "metadata": {}, "source": [ "As discussed above, agents are initially mixed randomly together.\n", @@ -449,7 +449,7 @@ }, { "cell_type": "markdown", - "id": "58878a59", + "id": "52b09401", "metadata": {}, "source": [ "## Exercises" @@ -457,7 +457,7 @@ }, { "cell_type": "markdown", - "id": "588af446", + "id": "4536086c", "metadata": {}, "source": [ "## Exercise 22.1\n", @@ -490,7 +490,7 @@ }, { "cell_type": "markdown", - "id": "791870c9", + "id": "389ac68f", "metadata": {}, "source": [ "## Solution to[ Exercise 22.1](https://intro.quantecon.org/#schelling_ex1)\n", @@ -501,7 +501,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21053aa8", + "id": "5bc82fa5", "metadata": { "hide-output": false }, @@ -610,7 +610,7 @@ }, { "cell_type": "markdown", - "id": "473df3a0", + "id": "11664f10", "metadata": {}, "source": [ "When we run this we again find that mixed neighborhoods break down and segregation emerges.\n", @@ -621,7 +621,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5b9e5635", + "id": "89714c38", "metadata": { "hide-output": false }, @@ -632,7 +632,7 @@ } ], "metadata": { - "date": 1722488543.3665826, + "date": 1722502940.2119713, "filename": "schelling.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/short_path.ipynb b/_notebooks/short_path.ipynb index ccb69b08..2ae6be8e 100644 --- a/_notebooks/short_path.ipynb +++ b/_notebooks/short_path.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "471132aa", + "id": "c1e63d95", "metadata": {}, "source": [ "\n", @@ -11,7 +11,7 @@ }, { "cell_type": "markdown", - "id": "9222a861", + "id": "6b42967e", "metadata": {}, "source": [ "# Shortest Paths\n", @@ -22,7 +22,7 @@ }, { "cell_type": "markdown", - "id": "bdc4eb3b", + "id": "b94301f4", "metadata": {}, "source": [ "## Overview\n", @@ -52,7 +52,7 @@ { "cell_type": "code", "execution_count": null, - "id": "938f3622", + "id": "fbd6eb38", "metadata": { "hide-output": false }, @@ -63,7 +63,7 @@ }, { "cell_type": "markdown", - "id": "c8bcd806", + "id": "bf48a4af", "metadata": {}, "source": [ "## Outline of the problem\n", @@ -106,7 +106,7 @@ }, { "cell_type": "markdown", - "id": "f3276bc3", + "id": "13e00f3d", "metadata": {}, "source": [ "## Finding least-cost paths\n", @@ -163,7 +163,7 @@ }, { "cell_type": "markdown", - "id": "ebc8b90f", + "id": "c867d402", "metadata": {}, "source": [ "## Solving for minimum cost-to-go\n", @@ -174,7 +174,7 @@ }, { "cell_type": "markdown", - "id": "5102950b", + "id": "7aff2c4b", "metadata": {}, "source": [ "### The algorithm\n", @@ -207,7 +207,7 @@ }, { "cell_type": "markdown", - "id": "d7c1a0a5", + "id": "371c267a", "metadata": {}, "source": [ "### Implementation\n", @@ -243,7 +243,7 @@ { "cell_type": "code", "execution_count": null, - "id": "aebb6e46", + "id": "ff51ee44", "metadata": { "hide-output": false }, @@ -262,7 +262,7 @@ }, { "cell_type": "markdown", - "id": "40c053c5", + "id": "58983889", "metadata": {}, "source": [ "Notice that the cost of staying still (on the principle diagonal) is set to\n", @@ -279,7 +279,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a5951a30", + "id": "74090999", "metadata": { "hide-output": false }, @@ -308,7 +308,7 @@ }, { "cell_type": "markdown", - "id": "1c934e03", + "id": "988c97dc", "metadata": {}, "source": [ "This matches with the numbers we obtained by inspection above.\n", @@ -318,7 +318,7 @@ }, { "cell_type": "markdown", - "id": "4d088807", + "id": "77f9057f", "metadata": {}, "source": [ "## Exercises" @@ -326,7 +326,7 @@ }, { "cell_type": "markdown", - "id": "a4f30301", + "id": "5d0951c6", "metadata": {}, "source": [ "## Exercise 38.1\n", @@ -355,7 +355,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4250f0f0", + "id": "a4811c42", "metadata": { "hide-output": false }, @@ -466,7 +466,7 @@ }, { "cell_type": "markdown", - "id": "e86d5802", + "id": "9e739aee", "metadata": {}, "source": [ "## Solution to[ Exercise 38.1](https://intro.quantecon.org/#short_path_ex1)\n", @@ -477,7 +477,7 @@ { "cell_type": "code", "execution_count": null, - "id": "885f0869", + "id": "5c60b5d6", "metadata": { "hide-output": false }, @@ -508,7 +508,7 @@ }, { "cell_type": "markdown", - "id": "fdd69edc", + "id": "080aa1ad", "metadata": {}, "source": [ "In addition, let’s write\n", @@ -525,7 +525,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e3b029ad", + "id": "baa7965c", "metadata": { "hide-output": false }, @@ -554,7 +554,7 @@ }, { "cell_type": "markdown", - "id": "be255585", + "id": "04c5a250", "metadata": {}, "source": [ "We used np.allclose() rather than testing exact equality because we are\n", @@ -567,7 +567,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c5e62337", + "id": "7273358a", "metadata": { "hide-output": false }, @@ -589,7 +589,7 @@ }, { "cell_type": "markdown", - "id": "d202e973", + "id": "b983a33f", "metadata": {}, "source": [ "Okay, now we have the necessary functions, let’s call them to do the job we were assigned." @@ -598,7 +598,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8121fc21", + "id": "7faca0e9", "metadata": { "hide-output": false }, @@ -611,7 +611,7 @@ }, { "cell_type": "markdown", - "id": "e6859f58", + "id": "3e7d6559", "metadata": {}, "source": [ "The total cost of the path should agree with $ J[0] $ so let’s check this." @@ -620,7 +620,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5896c1b1", + "id": "73683676", "metadata": { "hide-output": false }, @@ -631,7 +631,7 @@ } ], "metadata": { - "date": 1722488543.3835995, + "date": 1722502940.229396, "filename": "short_path.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/simple_linear_regression.ipynb b/_notebooks/simple_linear_regression.ipynb index 22171709..219c5238 100644 --- a/_notebooks/simple_linear_regression.ipynb +++ b/_notebooks/simple_linear_regression.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "d0426552", + "id": "a2d4c54f", "metadata": {}, "source": [ "# Simple Linear Regression Model" @@ -11,7 +11,7 @@ { "cell_type": "code", "execution_count": null, - "id": "168b085d", + "id": "d09e6db6", "metadata": { "hide-output": false }, @@ -24,7 +24,7 @@ }, { "cell_type": "markdown", - "id": "3ac93a66", + "id": "5bdf7a45", "metadata": {}, "source": [ "The simple regression model estimates the relationship between two variables $ x_i $ and $ y_i $\n", @@ -57,7 +57,7 @@ { "cell_type": "code", "execution_count": null, - "id": "587f666e", + "id": "262b6f29", "metadata": { "hide-output": false }, @@ -72,7 +72,7 @@ }, { "cell_type": "markdown", - "id": "6ae37239", + "id": "335476fb", "metadata": {}, "source": [ "We can use a scatter plot of the data to see the relationship between $ y_i $ (ice-cream sales in dollars (\\$’s)) and $ x_i $ (degrees Celsius)." @@ -81,7 +81,7 @@ { "cell_type": "code", "execution_count": null, - "id": "336eac2c", + "id": "174a17ab", "metadata": { "hide-output": false }, @@ -98,7 +98,7 @@ }, { "cell_type": "markdown", - "id": "9b430476", + "id": "3dd7fb5c", "metadata": {}, "source": [ "as you can see the data suggests that more ice-cream is typically sold on hotter days.\n", @@ -115,7 +115,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ed390fef", + "id": "6838401e", "metadata": { "hide-output": false }, @@ -129,7 +129,7 @@ { "cell_type": "code", "execution_count": null, - "id": "91b916b5", + "id": "61b5fe77", "metadata": { "hide-output": false }, @@ -143,7 +143,7 @@ }, { "cell_type": "markdown", - "id": "a7ccc49c", + "id": "8a86159e", "metadata": {}, "source": [ "We can see that this model does a poor job of estimating the relationship.\n", @@ -154,7 +154,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3be76287", + "id": "44bcc07c", "metadata": { "hide-output": false }, @@ -167,7 +167,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a85793ce", + "id": "6c20d268", "metadata": { "hide-output": false }, @@ -182,7 +182,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e2d115a2", + "id": "6b11199a", "metadata": { "hide-output": false }, @@ -195,7 +195,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5cee6219", + "id": "1fa65564", "metadata": { "hide-output": false }, @@ -209,7 +209,7 @@ }, { "cell_type": "markdown", - "id": "7b4ddf84", + "id": "bb47e703", "metadata": {}, "source": [ "However we need to think about formalizing this guessing process by thinking of this problem as an optimization problem.\n", @@ -227,7 +227,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0be13144", + "id": "2e7ff31d", "metadata": { "hide-output": false }, @@ -239,7 +239,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6b0ace8e", + "id": "cf947897", "metadata": { "hide-output": false }, @@ -251,7 +251,7 @@ { "cell_type": "code", "execution_count": null, - "id": "19e4ec76", + "id": "02670a19", "metadata": { "hide-output": false }, @@ -266,7 +266,7 @@ }, { "cell_type": "markdown", - "id": "f8da3db4", + "id": "bfef8445", "metadata": {}, "source": [ "The Ordinary Least Squares (OLS) method chooses $ \\alpha $ and $ \\beta $ in such a way that **minimizes** the sum of the squared residuals (SSR).\n", @@ -286,7 +286,7 @@ }, { "cell_type": "markdown", - "id": "ea205094", + "id": "5a624e14", "metadata": {}, "source": [ "## How does error change with respect to $ \\alpha $ and $ \\beta $\n", @@ -299,7 +299,7 @@ { "cell_type": "code", "execution_count": null, - "id": "174e42b9", + "id": "3ee1d9fa", "metadata": { "hide-output": false }, @@ -311,7 +311,7 @@ }, { "cell_type": "markdown", - "id": "09d93459", + "id": "77d07580", "metadata": {}, "source": [ "We can then calculate the error for a range of $ \\beta $ values" @@ -320,7 +320,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e33d55f7", + "id": "a102adc7", "metadata": { "hide-output": false }, @@ -333,7 +333,7 @@ }, { "cell_type": "markdown", - "id": "d0deab0b", + "id": "d8e4e0ea", "metadata": {}, "source": [ "Plotting the error" @@ -342,7 +342,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4bf8d4a5", + "id": "1527fcb1", "metadata": { "hide-output": false }, @@ -354,7 +354,7 @@ }, { "cell_type": "markdown", - "id": "44b17cd6", + "id": "3200de7a", "metadata": {}, "source": [ "Now let us vary $ \\alpha $ (holding $ \\beta $ constant)" @@ -363,7 +363,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c9e70daa", + "id": "b28b2495", "metadata": { "hide-output": false }, @@ -376,7 +376,7 @@ }, { "cell_type": "markdown", - "id": "993d1177", + "id": "38a75547", "metadata": {}, "source": [ "Plotting the error" @@ -385,7 +385,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5790f055", + "id": "0fc7f8d8", "metadata": { "hide-output": false }, @@ -397,7 +397,7 @@ }, { "cell_type": "markdown", - "id": "f26d09b8", + "id": "0dc4f76f", "metadata": {}, "source": [ "\n", @@ -406,7 +406,7 @@ }, { "cell_type": "markdown", - "id": "6cc2374e", + "id": "7e54985b", "metadata": {}, "source": [ "## Calculating optimal values\n", @@ -515,7 +515,7 @@ { "cell_type": "code", "execution_count": null, - "id": "905f7d8b", + "id": "147860ce", "metadata": { "hide-output": false }, @@ -530,7 +530,7 @@ }, { "cell_type": "markdown", - "id": "8d8ac55c", + "id": "b808a3b7", "metadata": {}, "source": [ "Now computing across the 10 observations and then summing the numerator and denominator" @@ -539,7 +539,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c19e58f5", + "id": "a6a94533", "metadata": { "hide-output": false }, @@ -554,7 +554,7 @@ }, { "cell_type": "markdown", - "id": "f6ad5694", + "id": "ba65d463", "metadata": {}, "source": [ "Calculating $ \\alpha $" @@ -563,7 +563,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d3c276bb", + "id": "56585dd3", "metadata": { "hide-output": false }, @@ -575,7 +575,7 @@ }, { "cell_type": "markdown", - "id": "b0f9241c", + "id": "2166b5e5", "metadata": {}, "source": [ "Now we can plot the OLS solution" @@ -584,7 +584,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3fa6bc1e", + "id": "982de953", "metadata": { "hide-output": false }, @@ -601,7 +601,7 @@ }, { "cell_type": "markdown", - "id": "9e40bc20", + "id": "d615ba51", "metadata": {}, "source": [ "## Exercise 45.1\n", @@ -620,7 +620,7 @@ }, { "cell_type": "markdown", - "id": "44b0fb4f", + "id": "fc19dea8", "metadata": {}, "source": [ "## Solution to[ Exercise 45.1](https://intro.quantecon.org/#slr-ex1)\n", @@ -635,7 +635,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5db02bc6", + "id": "de41e960", "metadata": { "hide-output": false }, @@ -648,7 +648,7 @@ { "cell_type": "code", "execution_count": null, - "id": "72a08836", + "id": "b896f276", "metadata": { "hide-output": false }, @@ -659,7 +659,7 @@ }, { "cell_type": "markdown", - "id": "39d91306", + "id": "23c6ec13", "metadata": {}, "source": [ "You can see that the data downloaded from Our World in Data has provided a global set of countries with the GDP per capita and Life Expectancy Data.\n", @@ -674,7 +674,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3f800163", + "id": "41d64a7d", "metadata": { "hide-output": false }, @@ -687,7 +687,7 @@ }, { "cell_type": "markdown", - "id": "3264121d", + "id": "8827cd81", "metadata": {}, "source": [ "Sometimes it can be useful to rename your columns to make it easier to work with in the DataFrame" @@ -696,7 +696,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b421716c", + "id": "edcf0b8b", "metadata": { "hide-output": false }, @@ -708,7 +708,7 @@ }, { "cell_type": "markdown", - "id": "236647af", + "id": "d6828d63", "metadata": {}, "source": [ "We can see there are `NaN` values which represents missing data so let us go ahead and drop those" @@ -717,7 +717,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c92a5322", + "id": "23c5e57c", "metadata": { "hide-output": false }, @@ -729,7 +729,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a468e823", + "id": "c13dd39e", "metadata": { "hide-output": false }, @@ -740,7 +740,7 @@ }, { "cell_type": "markdown", - "id": "6bb4cecf", + "id": "a6e75f46", "metadata": {}, "source": [ "We have now dropped the number of rows in our DataFrame from 62156 to 12445 removing a lot of empty data relationships.\n", @@ -757,7 +757,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b64e6b79", + "id": "9339f740", "metadata": { "hide-output": false }, @@ -769,7 +769,7 @@ }, { "cell_type": "markdown", - "id": "bfd2904e", + "id": "605a15c5", "metadata": {}, "source": [ "As you can see there are a lot of countries where data is not available for the Year 1543!\n", @@ -780,7 +780,7 @@ { "cell_type": "code", "execution_count": null, - "id": "de6a7d46", + "id": "b27b5653", "metadata": { "hide-output": false }, @@ -791,7 +791,7 @@ }, { "cell_type": "markdown", - "id": "6c7f8ecb", + "id": "67f8d724", "metadata": {}, "source": [ "You can see that Great Britain (GBR) is the only one available\n", @@ -802,7 +802,7 @@ { "cell_type": "code", "execution_count": null, - "id": "677cf3cd", + "id": "170abeb2", "metadata": { "hide-output": false }, @@ -813,7 +813,7 @@ }, { "cell_type": "markdown", - "id": "54aa1410", + "id": "318db778", "metadata": {}, "source": [ "In fact we can use pandas to quickly check how many countries are captured in each year" @@ -822,7 +822,7 @@ { "cell_type": "code", "execution_count": null, - "id": "92d699a1", + "id": "c65d426a", "metadata": { "hide-output": false }, @@ -833,7 +833,7 @@ }, { "cell_type": "markdown", - "id": "a9019644", + "id": "40bf3189", "metadata": {}, "source": [ "So it is clear that if you are doing cross-sectional comparisons then more recent data will include a wider set of countries\n", @@ -844,7 +844,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b620ef3a", + "id": "e5fd72ff", "metadata": { "hide-output": false }, @@ -856,7 +856,7 @@ { "cell_type": "code", "execution_count": null, - "id": "48f81ea0", + "id": "9222a263", "metadata": { "hide-output": false }, @@ -867,7 +867,7 @@ }, { "cell_type": "markdown", - "id": "4c565f56", + "id": "eb9a751b", "metadata": {}, "source": [ "This data shows a couple of interesting relationships.\n", @@ -884,7 +884,7 @@ { "cell_type": "code", "execution_count": null, - "id": "24683a8a", + "id": "373458b1", "metadata": { "hide-output": false }, @@ -895,7 +895,7 @@ }, { "cell_type": "markdown", - "id": "eee857af", + "id": "2e1d8282", "metadata": {}, "source": [ "As you can see from this transformation – a linear model fits the shape of the data more closely." @@ -904,7 +904,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f158abbb", + "id": "75b51b60", "metadata": { "hide-output": false }, @@ -916,7 +916,7 @@ { "cell_type": "code", "execution_count": null, - "id": "88bdedbe", + "id": "0ba571c2", "metadata": { "hide-output": false }, @@ -927,7 +927,7 @@ }, { "cell_type": "markdown", - "id": "73e0f53f", + "id": "61ecf2b3", "metadata": {}, "source": [ "**Q4:** Use [(45.1)](#equation-eq-optimal-alpha) and [(45.2)](#equation-eq-optimal-beta) to compute optimal values for $ \\alpha $ and $ \\beta $" @@ -936,7 +936,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5f3b7499", + "id": "2ef98f8e", "metadata": { "hide-output": false }, @@ -952,7 +952,7 @@ { "cell_type": "code", "execution_count": null, - "id": "456fed41", + "id": "ceb07f6f", "metadata": { "hide-output": false }, @@ -964,7 +964,7 @@ { "cell_type": "code", "execution_count": null, - "id": "69dd3662", + "id": "08171e19", "metadata": { "hide-output": false }, @@ -980,7 +980,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f8b93bed", + "id": "1c51b974", "metadata": { "hide-output": false }, @@ -992,7 +992,7 @@ }, { "cell_type": "markdown", - "id": "0fc14024", + "id": "a07721d5", "metadata": {}, "source": [ "**Q5:** Plot the line of best fit found using OLS" @@ -1001,7 +1001,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b678979e", + "id": "3707d5ef", "metadata": { "hide-output": false }, @@ -1018,7 +1018,7 @@ }, { "cell_type": "markdown", - "id": "16688db1", + "id": "d6673428", "metadata": {}, "source": [ "## Exercise 45.2\n", @@ -1032,7 +1032,7 @@ } ], "metadata": { - "date": 1722488543.4214602, + "date": 1722502940.2647753, "filename": "simple_linear_regression.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/solow.ipynb b/_notebooks/solow.ipynb index d8af47c9..e21f0646 100644 --- a/_notebooks/solow.ipynb +++ b/_notebooks/solow.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "7861f6f1", + "id": "72a61e12", "metadata": {}, "source": [ "\n", @@ -11,7 +11,7 @@ }, { "cell_type": "markdown", - "id": "e3e8ed15", + "id": "2a3c37ff", "metadata": {}, "source": [ "# The Solow-Swan Growth Model\n", @@ -29,7 +29,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7533dd54", + "id": "e7289c03", "metadata": { "hide-output": false }, @@ -41,7 +41,7 @@ }, { "cell_type": "markdown", - "id": "7a6517c6", + "id": "4c1e888b", "metadata": {}, "source": [ "## The model\n", @@ -120,7 +120,7 @@ }, { "cell_type": "markdown", - "id": "a9a5871a", + "id": "a573fb07", "metadata": {}, "source": [ "## A graphical perspective\n", @@ -141,7 +141,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ab636a98", + "id": "6f7d18fe", "metadata": { "hide-output": false }, @@ -154,7 +154,7 @@ }, { "cell_type": "markdown", - "id": "8b2d7a9e", + "id": "2c6f9c6d", "metadata": {}, "source": [ "Now, we define the function $ g $." @@ -163,7 +163,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0db4ab49", + "id": "e49711d9", "metadata": { "hide-output": false }, @@ -175,7 +175,7 @@ }, { "cell_type": "markdown", - "id": "e24be199", + "id": "bcad7aaf", "metadata": {}, "source": [ "Let’s plot the 45-degree diagram of $ g $." @@ -184,7 +184,7 @@ { "cell_type": "code", "execution_count": null, - "id": "97889917", + "id": "177870b1", "metadata": { "hide-output": false }, @@ -233,7 +233,7 @@ { "cell_type": "code", "execution_count": null, - "id": "42b4c36c", + "id": "3b100b58", "metadata": { "hide-output": false }, @@ -244,7 +244,7 @@ }, { "cell_type": "markdown", - "id": "4d58b4e8", + "id": "4dac5ad2", "metadata": {}, "source": [ "Suppose, at some $ k_t $, the value $ g(k_t) $ lies strictly above the 45-degree line.\n", @@ -278,7 +278,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b0afc13a", + "id": "968db9a4", "metadata": { "hide-output": false }, @@ -290,7 +290,7 @@ }, { "cell_type": "markdown", - "id": "c4640622", + "id": "2401b047", "metadata": {}, "source": [ "From our graphical analysis, it appears that $ (k_t) $ converges to $ k^* $, regardless of initial capital\n", @@ -309,7 +309,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fc00c026", + "id": "ed24ad45", "metadata": { "hide-output": false }, @@ -326,7 +326,7 @@ { "cell_type": "code", "execution_count": null, - "id": "afe90569", + "id": "ca834f55", "metadata": { "hide-output": false }, @@ -361,7 +361,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d6739afc", + "id": "799b7bc7", "metadata": { "hide-output": false }, @@ -372,7 +372,7 @@ }, { "cell_type": "markdown", - "id": "8450c4d1", + "id": "1ea23a63", "metadata": {}, "source": [ "As expected, the time paths in the figure all converge to $ k^* $." @@ -380,7 +380,7 @@ }, { "cell_type": "markdown", - "id": "432247ad", + "id": "adfb5132", "metadata": {}, "source": [ "## Growth in continuous time\n", @@ -443,7 +443,7 @@ { "cell_type": "code", "execution_count": null, - "id": "92b0d607", + "id": "86f2471a", "metadata": { "hide-output": false }, @@ -454,7 +454,7 @@ }, { "cell_type": "markdown", - "id": "71c31c54", + "id": "28b5683e", "metadata": {}, "source": [ "Next we define the function $ g $ for growth in continuous time" @@ -463,7 +463,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5bec6de2", + "id": "a646cdaa", "metadata": { "hide-output": false }, @@ -476,7 +476,7 @@ { "cell_type": "code", "execution_count": null, - "id": "60e7230f", + "id": "27fda8ab", "metadata": { "hide-output": false }, @@ -518,7 +518,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9622bdd5", + "id": "34a34fc5", "metadata": { "hide-output": false }, @@ -530,7 +530,7 @@ }, { "cell_type": "markdown", - "id": "15df545b", + "id": "e6ffc40c", "metadata": {}, "source": [ "This shows global stability heuristically for a fixed parameterization, but\n", @@ -592,7 +592,7 @@ }, { "cell_type": "markdown", - "id": "e4ba4d55", + "id": "175b1101", "metadata": {}, "source": [ "## Exercises" @@ -600,7 +600,7 @@ }, { "cell_type": "markdown", - "id": "68b2d7ce", + "id": "e0c67bcd", "metadata": {}, "source": [ "## Exercise 24.1\n", @@ -616,7 +616,7 @@ }, { "cell_type": "markdown", - "id": "dd781149", + "id": "4cf0717a", "metadata": {}, "source": [ "## Solution to[ Exercise 24.1](https://intro.quantecon.org/#solow_ex1)\n", @@ -631,7 +631,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1b5df862", + "id": "cde863b5", "metadata": { "hide-output": false }, @@ -645,7 +645,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4f0f36ce", + "id": "0784fb79", "metadata": { "hide-output": false }, @@ -658,7 +658,7 @@ }, { "cell_type": "markdown", - "id": "493ce970", + "id": "f18fadc5", "metadata": {}, "source": [ "Let’s find the value of $ s $ that maximizes $ c^* $ using [scipy.optimize.minimize_scalar](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize_scalar.html#scipy.optimize.minimize_scalar).\n", @@ -668,7 +668,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d3c17cba", + "id": "46e836cd", "metadata": { "hide-output": false }, @@ -680,7 +680,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6e83c19d", + "id": "4dcfb4e9", "metadata": { "hide-output": false }, @@ -694,7 +694,7 @@ { "cell_type": "code", "execution_count": null, - "id": "589c936f", + "id": "7b61d52d", "metadata": { "hide-output": false }, @@ -709,7 +709,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ca8f0424", + "id": "29efd945", "metadata": { "hide-output": false }, @@ -743,7 +743,7 @@ }, { "cell_type": "markdown", - "id": "f108e08d", + "id": "1310a5ff", "metadata": {}, "source": [ "One can also try to solve this mathematically by differentiating $ c^*(s) $ and solve for $ \\frac{d}{ds}c^*(s)=0 $ using [sympy](https://www.sympy.org/en/index.html)." @@ -752,7 +752,7 @@ { "cell_type": "code", "execution_count": null, - "id": "00aae8d8", + "id": "9e8d6077", "metadata": { "hide-output": false }, @@ -764,7 +764,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5c974efa", + "id": "3fd9adae", "metadata": { "hide-output": false }, @@ -777,7 +777,7 @@ }, { "cell_type": "markdown", - "id": "96644e4a", + "id": "b714dfc1", "metadata": {}, "source": [ "Let’s differentiate $ c $ and solve using [sympy.solve](https://docs.sympy.org/latest/modules/solvers/solvers.html#sympy.solvers.solvers.solve)" @@ -786,7 +786,7 @@ { "cell_type": "code", "execution_count": null, - "id": "904ced9d", + "id": "2bd72bdd", "metadata": { "hide-output": false }, @@ -799,7 +799,7 @@ }, { "cell_type": "markdown", - "id": "c43093fd", + "id": "a83e444a", "metadata": {}, "source": [ "Incidentally, the rate of savings which maximizes steady state level of per capita consumption is called the [Golden Rule savings rate](https://en.wikipedia.org/wiki/Golden_Rule_savings_rate)." @@ -807,7 +807,7 @@ }, { "cell_type": "markdown", - "id": "52c2d97c", + "id": "d15c7c5d", "metadata": {}, "source": [ "## Exercise 24.2\n", @@ -846,7 +846,7 @@ }, { "cell_type": "markdown", - "id": "b1533909", + "id": "9f680012", "metadata": {}, "source": [ "## Solution to[ Exercise 24.2](https://intro.quantecon.org/#solow_ex2)\n", @@ -857,7 +857,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9c3793ea", + "id": "20a62fce", "metadata": { "hide-output": false }, @@ -875,7 +875,7 @@ }, { "cell_type": "markdown", - "id": "2b63be59", + "id": "853b349f", "metadata": {}, "source": [ "Let’s define the function *k_next* to find the next value of $ k $" @@ -884,7 +884,7 @@ { "cell_type": "code", "execution_count": null, - "id": "74dbe535", + "id": "a909abe6", "metadata": { "hide-output": false }, @@ -900,7 +900,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f84b1fcf", + "id": "18b2e573", "metadata": { "hide-output": false }, @@ -930,7 +930,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c38564b3", + "id": "7056d55b", "metadata": { "hide-output": false }, @@ -941,7 +941,7 @@ } ], "metadata": { - "date": 1722488543.4519591, + "date": 1722502940.2947385, "filename": "solow.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/status.ipynb b/_notebooks/status.ipynb index 4796ed8d..3f352c2b 100644 --- a/_notebooks/status.ipynb +++ b/_notebooks/status.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "0658744d", + "id": "83646349", "metadata": {}, "source": [ "# Execution Statistics\n", @@ -46,7 +46,7 @@ "|monte_carlo|2024-08-01 04:49|cache|189.5|✅|\n", "|networks|2024-08-01 04:49|cache|8.87|✅|\n", "|olg|2024-08-01 04:49|cache|2.31|✅|\n", - "|prob_dist|2024-08-01 04:49|cache|8.4|✅|\n", + "|prob_dist|2024-08-01 09:00|cache|19.75|✅|\n", "|pv|2024-08-01 04:49|cache|1.73|✅|\n", "|scalar_dynam|2024-08-01 04:49|cache|3.07|✅|\n", "|schelling|2024-08-01 04:50|cache|11.92|✅|\n", @@ -70,7 +70,7 @@ { "cell_type": "code", "execution_count": null, - "id": "989b5a91", + "id": "8972e6e7", "metadata": { "hide-output": false }, @@ -81,7 +81,7 @@ }, { "cell_type": "markdown", - "id": "b8e3be49", + "id": "8d237249", "metadata": {}, "source": [ "and the following package versions" @@ -90,7 +90,7 @@ { "cell_type": "code", "execution_count": null, - "id": "72c2a842", + "id": "0df6a2b9", "metadata": { "hide-output": false }, @@ -101,7 +101,7 @@ } ], "metadata": { - "date": 1722488543.4756122, + "date": 1722502940.317688, "filename": "status.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/supply_demand_heterogeneity.ipynb b/_notebooks/supply_demand_heterogeneity.ipynb index d2cd7ef4..5ff68555 100644 --- a/_notebooks/supply_demand_heterogeneity.ipynb +++ b/_notebooks/supply_demand_heterogeneity.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "5b1cf579", + "id": "57a0acf3", "metadata": {}, "source": [ "\n", @@ -11,7 +11,7 @@ }, { "cell_type": "markdown", - "id": "c50e50e1", + "id": "e133e15c", "metadata": {}, "source": [ "# Market Equilibrium with Heterogeneity" @@ -19,7 +19,7 @@ }, { "cell_type": "markdown", - "id": "3ed8975c", + "id": "72442f8a", "metadata": {}, "source": [ "## Overview\n", @@ -42,7 +42,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fabe2d3d", + "id": "6e2205a3", "metadata": { "hide-output": false }, @@ -54,7 +54,7 @@ }, { "cell_type": "markdown", - "id": "176af6f9", + "id": "ba55ebc5", "metadata": {}, "source": [ "## An simple example\n", @@ -105,7 +105,7 @@ }, { "cell_type": "markdown", - "id": "1664421a", + "id": "7999148b", "metadata": {}, "source": [ "## Exercise 44.1\n", @@ -131,7 +131,7 @@ }, { "cell_type": "markdown", - "id": "288a7df8", + "id": "0e2df57a", "metadata": {}, "source": [ "## Pure exchange economy\n", @@ -141,7 +141,7 @@ }, { "cell_type": "markdown", - "id": "6536c57c", + "id": "710128ec", "metadata": {}, "source": [ "### Competitive equilibrium\n", @@ -173,7 +173,7 @@ }, { "cell_type": "markdown", - "id": "688bcc98", + "id": "858a9c7d", "metadata": {}, "source": [ "### Designing some Python code\n", @@ -207,7 +207,7 @@ { "cell_type": "code", "execution_count": null, - "id": "40280cd3", + "id": "30eb1467", "metadata": { "hide-output": false }, @@ -283,7 +283,7 @@ }, { "cell_type": "markdown", - "id": "f8ee1a1e", + "id": "df0ffe02", "metadata": {}, "source": [ "## Implementation\n", @@ -297,7 +297,7 @@ }, { "cell_type": "markdown", - "id": "22a05111", + "id": "d5fb89d5", "metadata": {}, "source": [ "### Two-person economy without production\n", @@ -308,7 +308,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1d1cadd7", + "id": "4217005a", "metadata": { "hide-output": false }, @@ -332,7 +332,7 @@ }, { "cell_type": "markdown", - "id": "1767bb6e", + "id": "2476baa2", "metadata": {}, "source": [ "What happens if the first consumer likes the first good more and the second consumer likes the second good more?" @@ -341,7 +341,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d8ffd01b", + "id": "3d5e5a55", "metadata": { "hide-output": false }, @@ -358,7 +358,7 @@ }, { "cell_type": "markdown", - "id": "df091320", + "id": "a052f089", "metadata": {}, "source": [ "Let the first consumer be poorer." @@ -367,7 +367,7 @@ { "cell_type": "code", "execution_count": null, - "id": "db141bfd", + "id": "4a68afd9", "metadata": { "hide-output": false }, @@ -384,7 +384,7 @@ }, { "cell_type": "markdown", - "id": "0c3e267e", + "id": "3088b62d", "metadata": {}, "source": [ "Now let’s construct an autarky (i.e., no-trade) equilibrium." @@ -393,7 +393,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ca7a566b", + "id": "c2909b7b", "metadata": { "hide-output": false }, @@ -413,7 +413,7 @@ }, { "cell_type": "markdown", - "id": "912b1e3f", + "id": "459f2f1a", "metadata": {}, "source": [ "Now let’s redistribute endowments before trade." @@ -422,7 +422,7 @@ { "cell_type": "code", "execution_count": null, - "id": "32b94ae4", + "id": "dd48fc66", "metadata": { "hide-output": false }, @@ -444,7 +444,7 @@ }, { "cell_type": "markdown", - "id": "dad1b9c5", + "id": "aa08b934", "metadata": {}, "source": [ "### A dynamic economy\n", @@ -455,7 +455,7 @@ { "cell_type": "code", "execution_count": null, - "id": "34c7ed0e", + "id": "607dadca", "metadata": { "hide-output": false }, @@ -479,7 +479,7 @@ }, { "cell_type": "markdown", - "id": "67616cad", + "id": "8269897d", "metadata": {}, "source": [ "### Risk economy with arrow securities\n", @@ -490,7 +490,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a9d2f23d", + "id": "7129b92a", "metadata": { "hide-output": false }, @@ -516,7 +516,7 @@ }, { "cell_type": "markdown", - "id": "35411274", + "id": "2640c06c", "metadata": {}, "source": [ "## Deducing a representative consumer\n", @@ -599,7 +599,7 @@ } ], "metadata": { - "date": 1722488543.491541, + "date": 1722502940.3331583, "filename": "supply_demand_heterogeneity.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/supply_demand_multiple_goods.ipynb b/_notebooks/supply_demand_multiple_goods.ipynb index 13ae40c2..375951f2 100644 --- a/_notebooks/supply_demand_multiple_goods.ipynb +++ b/_notebooks/supply_demand_multiple_goods.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "a2b74c48", + "id": "8f8e76dd", "metadata": {}, "source": [ "\n", @@ -11,7 +11,7 @@ }, { "cell_type": "markdown", - "id": "d41c9ebd", + "id": "26d7cc1a", "metadata": {}, "source": [ "# Supply and Demand with Many Goods" @@ -19,7 +19,7 @@ }, { "cell_type": "markdown", - "id": "6582d6c9", + "id": "b92ddf54", "metadata": {}, "source": [ "## Overview\n", @@ -68,7 +68,7 @@ { "cell_type": "code", "execution_count": null, - "id": "61d1efe2", + "id": "b2ab09be", "metadata": { "hide-output": false }, @@ -82,7 +82,7 @@ }, { "cell_type": "markdown", - "id": "9a6d5b4f", + "id": "ebb85ac4", "metadata": {}, "source": [ "## Formulas from linear algebra\n", @@ -111,7 +111,7 @@ }, { "cell_type": "markdown", - "id": "51f4be70", + "id": "1c778efb", "metadata": {}, "source": [ "## From utility function to demand curve\n", @@ -173,7 +173,7 @@ }, { "cell_type": "markdown", - "id": "84187bd2", + "id": "17b3cea0", "metadata": {}, "source": [ "### Demand curve implied by constrained utility maximization\n", @@ -230,7 +230,7 @@ }, { "cell_type": "markdown", - "id": "d67dcbbf", + "id": "4db366e0", "metadata": {}, "source": [ "## Endowment economy\n", @@ -260,7 +260,7 @@ }, { "cell_type": "markdown", - "id": "d6d44032", + "id": "aec67d05", "metadata": {}, "source": [ "## Exercise 43.1\n", @@ -270,7 +270,7 @@ }, { "cell_type": "markdown", - "id": "3ed2f1fd", + "id": "9faa388a", "metadata": {}, "source": [ "## Exercise 43.2\n", @@ -284,7 +284,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fcf06d14", + "id": "29994b2c", "metadata": { "hide-output": false }, @@ -338,7 +338,7 @@ }, { "cell_type": "markdown", - "id": "18ad83b3", + "id": "3dea7797", "metadata": {}, "source": [ "## Digression: Marshallian and Hicksian demand curves\n", @@ -382,7 +382,7 @@ }, { "cell_type": "markdown", - "id": "727123cc", + "id": "f6966576", "metadata": {}, "source": [ "## Dynamics and risk as special cases\n", @@ -398,7 +398,7 @@ }, { "cell_type": "markdown", - "id": "50187dc4", + "id": "5ff43283", "metadata": {}, "source": [ "### Dynamics\n", @@ -455,7 +455,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7e288cbe", + "id": "d825f235", "metadata": { "hide-output": false }, @@ -479,7 +479,7 @@ }, { "cell_type": "markdown", - "id": "40629f06", + "id": "5b30f087", "metadata": {}, "source": [ "### Risk and state-contingent claims\n", @@ -550,7 +550,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9a5ef8b2", + "id": "2b77c1db", "metadata": { "hide-output": false }, @@ -574,7 +574,7 @@ }, { "cell_type": "markdown", - "id": "691f5602", + "id": "bd6c31e4", "metadata": {}, "source": [ "### Exercise 43.3\n", @@ -593,7 +593,7 @@ }, { "cell_type": "markdown", - "id": "69302a46", + "id": "16880a9b", "metadata": {}, "source": [ "### Solution to[ Exercise 43.3](https://intro.quantecon.org/#sdm_ex3)\n", @@ -606,7 +606,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3c19ab14", + "id": "599f7d4b", "metadata": { "hide-output": false }, @@ -622,7 +622,7 @@ }, { "cell_type": "markdown", - "id": "6440c030", + "id": "1758a308", "metadata": {}, "source": [ "If the consumer likes the first (or second) good more, then we can set a larger bliss value for good 1." @@ -631,7 +631,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9350df1b", + "id": "5edea2f4", "metadata": { "hide-output": false }, @@ -646,7 +646,7 @@ }, { "cell_type": "markdown", - "id": "f76b8241", + "id": "285fd6a4", "metadata": {}, "source": [ "Increase the probability that state $ 1 $ occurs." @@ -655,7 +655,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c04d390b", + "id": "d27bf909", "metadata": { "hide-output": false }, @@ -679,7 +679,7 @@ }, { "cell_type": "markdown", - "id": "001e2dc4", + "id": "a38c5ca8", "metadata": {}, "source": [ "## Economies with endogenous supplies of goods\n", @@ -689,7 +689,7 @@ }, { "cell_type": "markdown", - "id": "bf46d46a", + "id": "1873217f", "metadata": {}, "source": [ "### Supply curve of a competitive firm\n", @@ -741,7 +741,7 @@ }, { "cell_type": "markdown", - "id": "71b7f2c8", + "id": "1eed9cff", "metadata": {}, "source": [ "### Competitive equilibrium\n", @@ -753,7 +753,7 @@ }, { "cell_type": "markdown", - "id": "48744738", + "id": "d06b92c4", "metadata": {}, "source": [ "#### $ \\mu=1 $ warmup\n", @@ -779,7 +779,7 @@ }, { "cell_type": "markdown", - "id": "3942d138", + "id": "271c28f8", "metadata": {}, "source": [ "#### General $ \\mu\\neq 1 $ case\n", @@ -807,7 +807,7 @@ }, { "cell_type": "markdown", - "id": "4b7a2cac", + "id": "6561d1c4", "metadata": {}, "source": [ "### Implementation\n", @@ -829,7 +829,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c935c2a3", + "id": "bc7b7378", "metadata": { "hide-output": false }, @@ -900,7 +900,7 @@ }, { "cell_type": "markdown", - "id": "ef9e83b8", + "id": "e5bfe046", "metadata": {}, "source": [ "Then define a function that plots demand and supply curves and labels surpluses and equilibrium." @@ -909,7 +909,7 @@ { "cell_type": "code", "execution_count": null, - "id": "57c1f727", + "id": "8d2d530d", "metadata": { "hide-output": false }, @@ -962,7 +962,7 @@ }, { "cell_type": "markdown", - "id": "9e95f4ae", + "id": "554a78c4", "metadata": {}, "source": [ "#### Example: single agent with one good and production\n", @@ -980,7 +980,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0f864a1b", + "id": "b296f6ab", "metadata": { "hide-output": false }, @@ -1005,7 +1005,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8063d2b1", + "id": "34528db6", "metadata": { "hide-output": false }, @@ -1019,7 +1019,7 @@ }, { "cell_type": "markdown", - "id": "7688a147", + "id": "3a096d62", "metadata": {}, "source": [ "Let’s give the consumer a lower welfare weight by raising $ \\mu $." @@ -1028,7 +1028,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2718453d", + "id": "7ffb88b3", "metadata": { "hide-output": false }, @@ -1047,7 +1047,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8ac7f253", + "id": "6f05ef14", "metadata": { "hide-output": false }, @@ -1061,7 +1061,7 @@ }, { "cell_type": "markdown", - "id": "d252e546", + "id": "8ae75ad7", "metadata": {}, "source": [ "Now we change the bliss point so that the consumer derives more utility from consumption." @@ -1070,7 +1070,7 @@ { "cell_type": "code", "execution_count": null, - "id": "81d6a5e5", + "id": "55e87c14", "metadata": { "hide-output": false }, @@ -1089,7 +1089,7 @@ }, { "cell_type": "markdown", - "id": "032c4578", + "id": "eb0af344", "metadata": {}, "source": [ "This raises both the equilibrium price and quantity." @@ -1097,7 +1097,7 @@ }, { "cell_type": "markdown", - "id": "9783b054", + "id": "c7f86ffb", "metadata": {}, "source": [ "#### Example: single agent two-good economy with production\n", @@ -1109,7 +1109,7 @@ { "cell_type": "code", "execution_count": null, - "id": "33fa1b08", + "id": "e564eaeb", "metadata": { "hide-output": false }, @@ -1136,7 +1136,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e711e449", + "id": "4e0432e4", "metadata": { "hide-output": false }, @@ -1153,7 +1153,7 @@ { "cell_type": "code", "execution_count": null, - "id": "082e4210", + "id": "738c6101", "metadata": { "hide-output": false }, @@ -1173,7 +1173,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9b85cfe6", + "id": "909a954b", "metadata": { "hide-output": false }, @@ -1188,7 +1188,7 @@ }, { "cell_type": "markdown", - "id": "71d195ae", + "id": "e2b8540d", "metadata": {}, "source": [ "### Digression: a supplier who is a monopolist\n", @@ -1229,7 +1229,7 @@ }, { "cell_type": "markdown", - "id": "55399093", + "id": "4fa033f0", "metadata": {}, "source": [ "### Exercise 43.4\n", @@ -1239,7 +1239,7 @@ }, { "cell_type": "markdown", - "id": "3373ede0", + "id": "3f2e727f", "metadata": {}, "source": [ "### A monopolist\n", @@ -1278,7 +1278,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7cb57eaa", + "id": "2b2daa00", "metadata": { "hide-output": false }, @@ -1319,7 +1319,7 @@ }, { "cell_type": "markdown", - "id": "33939150", + "id": "066d3e84", "metadata": {}, "source": [ "Define a function that plots the demand, marginal cost and marginal revenue curves with surpluses and equilibrium labelled." @@ -1328,7 +1328,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dd6e119a", + "id": "ff02db68", "metadata": { "hide-output": false }, @@ -1391,7 +1391,7 @@ }, { "cell_type": "markdown", - "id": "30493c0b", + "id": "1b29151e", "metadata": {}, "source": [ "#### A multiple good example\n", @@ -1402,7 +1402,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bf6e9cde", + "id": "2067576d", "metadata": { "hide-output": false }, @@ -1432,7 +1432,7 @@ }, { "cell_type": "markdown", - "id": "547b2577", + "id": "14edeb77", "metadata": {}, "source": [ "#### A single-good example" @@ -1441,7 +1441,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b04a6300", + "id": "03bd82f7", "metadata": { "hide-output": false }, @@ -1469,7 +1469,7 @@ }, { "cell_type": "markdown", - "id": "36d38dbd", + "id": "495d8ce8", "metadata": {}, "source": [ "## Multi-good welfare maximization problem\n", @@ -1515,7 +1515,7 @@ } ], "metadata": { - "date": 1722488543.5357707, + "date": 1722502940.3755996, "filename": "supply_demand_multiple_goods.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/time_series_with_matrices.ipynb b/_notebooks/time_series_with_matrices.ipynb index 51e57238..75388d42 100644 --- a/_notebooks/time_series_with_matrices.ipynb +++ b/_notebooks/time_series_with_matrices.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "2c184972", + "id": "fa0bedad", "metadata": {}, "source": [ "\n", @@ -16,7 +16,7 @@ }, { "cell_type": "markdown", - "id": "a4c0a7f6", + "id": "2e1fd53e", "metadata": {}, "source": [ "# Univariate Time Series with Matrix Algebra" @@ -24,7 +24,7 @@ }, { "cell_type": "markdown", - "id": "57ca3566", + "id": "e8a783f8", "metadata": {}, "source": [ "## Overview\n", @@ -54,7 +54,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6d12b665", + "id": "ae282b44", "metadata": { "hide-output": false }, @@ -68,7 +68,7 @@ }, { "cell_type": "markdown", - "id": "e64710a1", + "id": "22a17dc3", "metadata": {}, "source": [ "## Samuelson’s model\n", @@ -157,7 +157,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d969e9f8", + "id": "51004bb6", "metadata": { "hide-output": false }, @@ -176,7 +176,7 @@ }, { "cell_type": "markdown", - "id": "31a4f7f9", + "id": "1df161a0", "metadata": {}, "source": [ "Now we construct $ A $ and $ b $." @@ -185,7 +185,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6ee74006", + "id": "75e8eb1e", "metadata": { "hide-output": false }, @@ -208,7 +208,7 @@ }, { "cell_type": "markdown", - "id": "7e012285", + "id": "71f6ea7a", "metadata": {}, "source": [ "Let’s look at the matrix $ A $ and the vector $ b $ for our\n", @@ -218,7 +218,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d9c2f573", + "id": "e6057b97", "metadata": { "hide-output": false }, @@ -229,7 +229,7 @@ }, { "cell_type": "markdown", - "id": "506312e4", + "id": "17a4e256", "metadata": {}, "source": [ "Now let’s solve for the path of $ y $.\n", @@ -243,7 +243,7 @@ { "cell_type": "code", "execution_count": null, - "id": "18b0fa6c", + "id": "cdc2f409", "metadata": { "hide-output": false }, @@ -256,7 +256,7 @@ }, { "cell_type": "markdown", - "id": "a6713c9b", + "id": "51934f06", "metadata": {}, "source": [ "or we can use `np.linalg.solve`:" @@ -265,7 +265,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3028c74b", + "id": "aa9839da", "metadata": { "hide-output": false }, @@ -276,7 +276,7 @@ }, { "cell_type": "markdown", - "id": "b2dd4f94", + "id": "f83b65bc", "metadata": {}, "source": [ "Here make sure the two methods give the same result, at least up to floating\n", @@ -286,7 +286,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d2389bc6", + "id": "dc7c4cfd", "metadata": { "hide-output": false }, @@ -297,7 +297,7 @@ }, { "cell_type": "markdown", - "id": "deeb44d5", + "id": "940e1637", "metadata": {}, "source": [ ">**Note**\n", @@ -314,7 +314,7 @@ { "cell_type": "code", "execution_count": null, - "id": "884e70b8", + "id": "f05fa46a", "metadata": { "hide-output": false }, @@ -329,7 +329,7 @@ }, { "cell_type": "markdown", - "id": "d3f54406", + "id": "944167d7", "metadata": {}, "source": [ "The [*steady state*](https://intro.quantecon.org/scalar_dynam.html#scalar-dynam-steady-state) value $ y^* $ of $ y_t $ is obtained by setting $ y_t = y_{t-1} =\n", @@ -346,7 +346,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6c25cd97", + "id": "cab4f36b", "metadata": { "hide-output": false }, @@ -364,7 +364,7 @@ { "cell_type": "code", "execution_count": null, - "id": "07637812", + "id": "2477158b", "metadata": { "hide-output": false }, @@ -376,7 +376,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1246478e", + "id": "8f666c71", "metadata": { "hide-output": false }, @@ -391,7 +391,7 @@ }, { "cell_type": "markdown", - "id": "83fe9664", + "id": "6536a7ec", "metadata": {}, "source": [ "## Adding a random term\n", @@ -447,7 +447,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c461b816", + "id": "ef7ca216", "metadata": { "hide-output": false }, @@ -461,7 +461,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3c778ac1", + "id": "d6904ca6", "metadata": { "hide-output": false }, @@ -476,7 +476,7 @@ }, { "cell_type": "markdown", - "id": "9e77cb5d", + "id": "190138eb", "metadata": {}, "source": [ "The above time series looks a lot like (detrended) GDP series for a\n", @@ -488,7 +488,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e5ccb84e", + "id": "cf0a715d", "metadata": { "hide-output": false }, @@ -510,7 +510,7 @@ }, { "cell_type": "markdown", - "id": "2a07f072", + "id": "04885c8c", "metadata": {}, "source": [ "Also consider the case when $ y_{0} $ and $ y_{-1} $ are at\n", @@ -520,7 +520,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f4f92465", + "id": "e200c013", "metadata": { "hide-output": false }, @@ -542,7 +542,7 @@ }, { "cell_type": "markdown", - "id": "f49b6602", + "id": "a5b87e85", "metadata": {}, "source": [ "## Computing population moments\n", @@ -588,7 +588,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7201ca32", + "id": "a1693ee8", "metadata": { "hide-output": false }, @@ -655,7 +655,7 @@ }, { "cell_type": "markdown", - "id": "daf2fb36", + "id": "284d0287", "metadata": {}, "source": [ "It is enlightening to study the $ \\mu_y, \\Sigma_y $’s implied by various parameter values.\n", @@ -668,7 +668,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e6932b12", + "id": "239cbed6", "metadata": { "hide-output": false }, @@ -691,7 +691,7 @@ }, { "cell_type": "markdown", - "id": "576bbaaf", + "id": "5411975c", "metadata": {}, "source": [ "Visually, notice how the variance across realizations of $ y_t $ decreases as $ t $ increases.\n", @@ -702,7 +702,7 @@ { "cell_type": "code", "execution_count": null, - "id": "25c57bd2", + "id": "798bcb11", "metadata": { "hide-output": false }, @@ -715,7 +715,7 @@ }, { "cell_type": "markdown", - "id": "5cc6d01a", + "id": "a06cfd11", "metadata": {}, "source": [ "Notice how the population variance increases and asymptotes.\n", @@ -726,7 +726,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0377ccee", + "id": "1cb15cf3", "metadata": { "hide-output": false }, @@ -742,7 +742,7 @@ }, { "cell_type": "markdown", - "id": "21ce81e1", + "id": "4d6fd0e1", "metadata": {}, "source": [ "Notice that the covariance between $ y_t $ and $ y_{t-1} $ – the elements on the superdiagonal – are *not* identical.\n", @@ -759,7 +759,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e1f519cb", + "id": "27af2504", "metadata": { "hide-output": false }, @@ -773,7 +773,7 @@ }, { "cell_type": "markdown", - "id": "867dab40", + "id": "59f3dc9b", "metadata": {}, "source": [ "Please notice how the subdiagonal and superdiagonal elements seem to have converged.\n", @@ -787,7 +787,7 @@ }, { "cell_type": "markdown", - "id": "a502beb1", + "id": "4b905729", "metadata": {}, "source": [ "## Moving average representation\n", @@ -805,7 +805,7 @@ { "cell_type": "code", "execution_count": null, - "id": "42ad65c5", + "id": "3a1d4604", "metadata": { "hide-output": false }, @@ -817,7 +817,7 @@ }, { "cell_type": "markdown", - "id": "00b3651c", + "id": "8f849d08", "metadata": {}, "source": [ "Evidently, $ A^{-1} $ is a lower triangular matrix.\n", @@ -828,7 +828,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1ef908c1", + "id": "ea8121c2", "metadata": { "hide-output": false }, @@ -840,7 +840,7 @@ }, { "cell_type": "markdown", - "id": "f42a53c1", + "id": "24826dce", "metadata": {}, "source": [ "Notice how every row ends with the previous row’s pre-diagonal entries.\n", @@ -867,7 +867,7 @@ }, { "cell_type": "markdown", - "id": "58467b2c", + "id": "7d2767cc", "metadata": {}, "source": [ "## A forward looking model\n", @@ -930,7 +930,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c1c5775b", + "id": "f21f4ef9", "metadata": { "hide-output": false }, @@ -942,7 +942,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fbc43f3d", + "id": "11acba34", "metadata": { "hide-output": false }, @@ -958,7 +958,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dc9f6963", + "id": "14f1391c", "metadata": { "hide-output": false }, @@ -970,7 +970,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7bc168ce", + "id": "3d49d862", "metadata": { "hide-output": false }, @@ -985,7 +985,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2ff52d56", + "id": "c12b50a7", "metadata": { "hide-output": false }, @@ -997,7 +997,7 @@ { "cell_type": "code", "execution_count": null, - "id": "03e9cb0d", + "id": "9f956d1d", "metadata": { "hide-output": false }, @@ -1014,7 +1014,7 @@ }, { "cell_type": "markdown", - "id": "7eac53d6", + "id": "c488e472", "metadata": {}, "source": [ "Can you explain why the trend of the price is downward over time?\n", @@ -1026,7 +1026,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1dbf13f1", + "id": "fb67c765", "metadata": { "hide-output": false }, @@ -1045,7 +1045,7 @@ } ], "metadata": { - "date": 1722488543.56873, + "date": 1722502940.8625245, "filename": "time_series_with_matrices.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/troubleshooting.ipynb b/_notebooks/troubleshooting.ipynb index df4dc880..fd2ecc6a 100644 --- a/_notebooks/troubleshooting.ipynb +++ b/_notebooks/troubleshooting.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "47c0e9e0", + "id": "814786a4", "metadata": {}, "source": [ "\n", @@ -11,7 +11,7 @@ }, { "cell_type": "markdown", - "id": "14f862f4", + "id": "7795e0ac", "metadata": {}, "source": [ "# Troubleshooting\n", @@ -21,7 +21,7 @@ }, { "cell_type": "markdown", - "id": "625245e6", + "id": "0d6537f6", "metadata": {}, "source": [ "## Fixing your local environment\n", @@ -63,7 +63,7 @@ }, { "cell_type": "markdown", - "id": "b3c41d2d", + "id": "d5431122", "metadata": {}, "source": [ "## Reporting an issue\n", @@ -80,7 +80,7 @@ } ], "metadata": { - "date": 1722488543.5749161, + "date": 1722502940.8690894, "filename": "troubleshooting.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/unpleasant.ipynb b/_notebooks/unpleasant.ipynb index 90f4a0af..6c5c5ea7 100644 --- a/_notebooks/unpleasant.ipynb +++ b/_notebooks/unpleasant.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "5a86d736", + "id": "010928df", "metadata": {}, "source": [ "# Some Unpleasant Monetarist Arithmetic" @@ -10,7 +10,7 @@ }, { "cell_type": "markdown", - "id": "1e6d34f5", + "id": "df8cc535", "metadata": {}, "source": [ "## Overview\n", @@ -44,7 +44,7 @@ }, { "cell_type": "markdown", - "id": "c26a8ef6", + "id": "e15e2658", "metadata": {}, "source": [ "## Setup\n", @@ -86,7 +86,7 @@ }, { "cell_type": "markdown", - "id": "a1b14eeb", + "id": "d724bb2b", "metadata": {}, "source": [ "## Monetary-Fiscal Policy\n", @@ -110,7 +110,7 @@ }, { "cell_type": "markdown", - "id": "c6fcfe2b", + "id": "003aeb8f", "metadata": {}, "source": [ "### Open market operations\n", @@ -137,7 +137,7 @@ }, { "cell_type": "markdown", - "id": "f04065f6", + "id": "d2387662", "metadata": {}, "source": [ "## An open market operation at $ t=0 $\n", @@ -188,7 +188,7 @@ }, { "cell_type": "markdown", - "id": "6159cdf4", + "id": "23414626", "metadata": {}, "source": [ "## Algorithm (basic idea)\n", @@ -234,7 +234,7 @@ }, { "cell_type": "markdown", - "id": "3bcce4a7", + "id": "197254fb", "metadata": {}, "source": [ "## Before time $ T $\n", @@ -287,7 +287,7 @@ }, { "cell_type": "markdown", - "id": "7d846881", + "id": "bcac5123", "metadata": {}, "source": [ "## \n", @@ -298,7 +298,7 @@ }, { "cell_type": "markdown", - "id": "ab4b3b19", + "id": "f8d33b5a", "metadata": {}, "source": [ "## Algorithm (pseudo code)\n", @@ -312,7 +312,7 @@ }, { "cell_type": "markdown", - "id": "ede0171b", + "id": "68911eec", "metadata": {}, "source": [ "## \n", @@ -364,7 +364,7 @@ }, { "cell_type": "markdown", - "id": "667b4ea2", + "id": "49b4e55f", "metadata": {}, "source": [ "## Example Calculations\n", @@ -393,7 +393,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cb0246d1", + "id": "28f465c8", "metadata": { "hide-output": false }, @@ -406,7 +406,7 @@ }, { "cell_type": "markdown", - "id": "e7ac9db6", + "id": "e29a382f", "metadata": {}, "source": [ "Now let’s dive in and implement our pseudo code in Python." @@ -415,7 +415,7 @@ { "cell_type": "code", "execution_count": null, - "id": "154cf5d7", + "id": "0ce5303f", "metadata": { "hide-output": false }, @@ -441,7 +441,7 @@ { "cell_type": "code", "execution_count": null, - "id": "473e59eb", + "id": "4ce88883", "metadata": { "hide-output": false }, @@ -453,7 +453,7 @@ { "cell_type": "code", "execution_count": null, - "id": "460dae20", + "id": "8a0e21b4", "metadata": { "hide-output": false }, @@ -489,7 +489,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7b5ac5ac", + "id": "7565ea03", "metadata": { "hide-output": false }, @@ -511,7 +511,7 @@ }, { "cell_type": "markdown", - "id": "e3a9c097", + "id": "c86c03c0", "metadata": {}, "source": [ "Let’s look at how price level $ p_0 $ in the stationary $ R_u $ equilibrium depends on the initial\n", @@ -527,7 +527,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a5d23308", + "id": "e319f7eb", "metadata": { "hide-output": false }, @@ -539,7 +539,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e1a6b7b5", + "id": "c93ac442", "metadata": { "hide-output": false }, @@ -555,7 +555,7 @@ }, { "cell_type": "markdown", - "id": "f859cca2", + "id": "46cca3b8", "metadata": {}, "source": [ "Now let’s write and implement code that lets us experiment with the time $ 0 $ open market operation described earlier." @@ -564,7 +564,7 @@ { "cell_type": "code", "execution_count": null, - "id": "12d954c6", + "id": "cf37667f", "metadata": { "hide-output": false }, @@ -619,7 +619,7 @@ { "cell_type": "code", "execution_count": null, - "id": "38eb995d", + "id": "e93c0711", "metadata": { "hide-output": false }, @@ -644,7 +644,7 @@ { "cell_type": "code", "execution_count": null, - "id": "973b3631", + "id": "be9f7a33", "metadata": { "hide-output": false }, @@ -655,7 +655,7 @@ }, { "cell_type": "markdown", - "id": "9e05ec49", + "id": "538b2bb9", "metadata": {}, "source": [ "Fig. 29.1 summarizes outcomes of two experiments that convey messages of Sargent and Wallace [[Sargent and Wallace, 1981](https://intro.quantecon.org/zreferences.html#id291)].\n", @@ -668,7 +668,7 @@ } ], "metadata": { - "date": 1722488543.903699, + "date": 1722502940.895821, "filename": "unpleasant.md", "kernelspec": { "display_name": "Python", diff --git a/_notebooks/zreferences.ipynb b/_notebooks/zreferences.ipynb index 444e1115..0c229735 100644 --- a/_notebooks/zreferences.ipynb +++ b/_notebooks/zreferences.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "b4ec12b2", + "id": "05757b82", "metadata": {}, "source": [ "\n", @@ -11,7 +11,7 @@ }, { "cell_type": "markdown", - "id": "57fb8fbb", + "id": "aa151b08", "metadata": {}, "source": [ "# References\n", @@ -220,7 +220,7 @@ } ], "metadata": { - "date": 1722488543.9230225, + "date": 1722502940.9149845, "filename": "zreferences.md", "kernelspec": { "display_name": "Python", diff --git a/_pdf/quantecon-python-intro.pdf b/_pdf/quantecon-python-intro.pdf index 94945c3318ddc138b43a63fc0276054fd56dd3ee..beee97b84ed2e81796f44ed9c82b28ba4ce22fed 100644 GIT binary patch delta 74517 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

ti)%-JSxWa+;E?Rdb7|+E9P6CI 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

ln-MZhc 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 diff --git a/_sources/ak2.ipynb b/_sources/ak2.ipynb index 971990f5..25b718d5 100644 --- a/_sources/ak2.ipynb +++ b/_sources/ak2.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "fd070eb7", + "id": "6253995a", "metadata": {}, "source": [ "# Transitions in an Overlapping Generations Model\n", @@ -13,7 +13,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3fc5f6ab", + "id": "318cf0c1", "metadata": { "tags": [ "hide-output" @@ -26,7 +26,7 @@ }, { "cell_type": "markdown", - "id": "63a248c6", + "id": "6eaf24d5", "metadata": {}, "source": [ "## Introduction\n", @@ -418,7 +418,7 @@ { "cell_type": "code", "execution_count": null, - "id": "74610b9d", + "id": "92fd7c33", "metadata": {}, "outputs": [], "source": [ @@ -430,7 +430,7 @@ }, { "cell_type": "markdown", - "id": "253a6d9c", + "id": "46c9d16f", "metadata": {}, "source": [ "For parameters $\\alpha = 0.3$ and $\\beta = 0.5$, let's compute $\\hat{K}$:" @@ -439,7 +439,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f184f202", + "id": "4f4590f8", "metadata": {}, "outputs": [], "source": [ @@ -458,7 +458,7 @@ }, { "cell_type": "markdown", - "id": "4e3a11fe", + "id": "ff3084a4", "metadata": {}, "source": [ "Knowing $\\hat K$, we can calculate other equilibrium objects. \n", @@ -469,7 +469,7 @@ { "cell_type": "code", "execution_count": null, - "id": "00a25411", + "id": "a29dc8f2", "metadata": {}, "outputs": [], "source": [ @@ -504,7 +504,7 @@ }, { "cell_type": "markdown", - "id": "c9403b57", + "id": "dab4fb5c", "metadata": {}, "source": [ "We can use these helper functions to obtain steady state values $\\hat{Y}$, $\\hat{r}$, and $\\hat{W}$ associated with steady state values $\\hat{K}$ and $\\hat{r}$." @@ -513,7 +513,7 @@ { "cell_type": "code", "execution_count": null, - "id": "00cd3e09", + "id": "4e1f7560", "metadata": {}, "outputs": [], "source": [ @@ -523,7 +523,7 @@ }, { "cell_type": "markdown", - "id": "167c9cc2", + "id": "3c43b8a8", "metadata": {}, "source": [ "Since steady state government debt $\\hat{D}$ is $0$, all taxes are used to pay for government expenditures" @@ -532,7 +532,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a9a8dc9d", + "id": "288dccbc", "metadata": {}, "outputs": [], "source": [ @@ -542,7 +542,7 @@ }, { "cell_type": "markdown", - "id": "8f2670df", + "id": "ebddf4cc", "metadata": {}, "source": [ "We use the optimal consumption plans to find steady state consumptions for young and old" @@ -551,7 +551,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e4182d30", + "id": "b724b571", "metadata": {}, "outputs": [], "source": [ @@ -561,7 +561,7 @@ }, { "cell_type": "markdown", - "id": "e46ea14f", + "id": "5a535c3f", "metadata": {}, "source": [ "Let's store the steady state quantities and prices using an array called `init_ss`" @@ -570,7 +570,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1b9e8d55", + "id": "02092c6d", "metadata": {}, "outputs": [], "source": [ @@ -582,7 +582,7 @@ }, { "cell_type": "markdown", - "id": "1b2ffe1f", + "id": "2fc2779e", "metadata": {}, "source": [ "### Transitions\n", @@ -632,7 +632,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d13ff3c9", + "id": "3e5a9620", "metadata": {}, "outputs": [], "source": [ @@ -780,7 +780,7 @@ }, { "cell_type": "markdown", - "id": "d6227883", + "id": "9664e712", "metadata": {}, "source": [ "We can create an instance `closed` for model parameters $\\{\\alpha, \\beta\\}$ and use it for various fiscal policy experiments." @@ -789,7 +789,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f8304865", + "id": "d0d7849c", "metadata": {}, "outputs": [], "source": [ @@ -798,7 +798,7 @@ }, { "cell_type": "markdown", - "id": "95dc182f", + "id": "f1aefb78", "metadata": {}, "source": [ "(exp-tax-cut)=\n", @@ -831,7 +831,7 @@ { "cell_type": "code", "execution_count": null, - "id": "92f25598", + "id": "ff0dde87", "metadata": {}, "outputs": [], "source": [ @@ -851,7 +851,7 @@ }, { "cell_type": "markdown", - "id": "cc6c5561", + "id": "39e4edcb", "metadata": {}, "source": [ "Let's use the `simulate` method of `closed` to compute dynamic transitions. \n", @@ -862,7 +862,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a8a5ecb5", + "id": "9a162a45", "metadata": {}, "outputs": [], "source": [ @@ -874,7 +874,7 @@ }, { "cell_type": "markdown", - "id": "7614fcb6", + "id": "d2e238f9", "metadata": {}, "source": [ "We can also experiment with a lower tax cut rate, such as $0.2$." @@ -883,7 +883,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3748fe71", + "id": "967ed5be", "metadata": {}, "outputs": [], "source": [ @@ -903,7 +903,7 @@ { "cell_type": "code", "execution_count": null, - "id": "18718fe9", + "id": "df344754", "metadata": {}, "outputs": [], "source": [ @@ -939,7 +939,7 @@ }, { "cell_type": "markdown", - "id": "4e2122c6", + "id": "60ec8ec6", "metadata": {}, "source": [ "The economy with lower tax cut rate at $t=0$ has the same transitional pattern, but is less distorted, and it converges to a new steady state with higher physical capital stock.\n", @@ -959,7 +959,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3c8d30d7", + "id": "da15d318", "metadata": {}, "outputs": [], "source": [ @@ -975,7 +975,7 @@ }, { "cell_type": "markdown", - "id": "5f9ee6b6", + "id": "005c3184", "metadata": {}, "source": [ "As the government accumulates the asset and uses it in production, the rental rate on capital falls and private investment falls.\n", @@ -986,7 +986,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c27a3d44", + "id": "796d13d3", "metadata": {}, "outputs": [], "source": [ @@ -997,7 +997,7 @@ }, { "cell_type": "markdown", - "id": "26f4f51f", + "id": "69bb2510", "metadata": {}, "source": [ "We want to know how this policy experiment affects individuals.\n", @@ -1025,7 +1025,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1283b2af", + "id": "4d7114ce", "metadata": {}, "outputs": [], "source": [ @@ -1044,7 +1044,7 @@ }, { "cell_type": "markdown", - "id": "a98a5ca4", + "id": "099112d2", "metadata": {}, "source": [ "The economy quickly converges to a new steady state with higher physical capital stock, lower interest rate, higher wage rate, and higher consumptions for both the young and the old.\n", @@ -1109,7 +1109,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e846dac6", + "id": "d7b2a756", "metadata": {}, "outputs": [], "source": [ @@ -1121,7 +1121,7 @@ }, { "cell_type": "markdown", - "id": "7edbfead", + "id": "5d345e00", "metadata": {}, "source": [ "We use `Cy_val` to compute the lifetime value of an arbitrary consumption plan, $C_y$, given the intertemporal budget constraint.\n", @@ -1132,7 +1132,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9c0c1058", + "id": "64872f23", "metadata": {}, "outputs": [], "source": [ @@ -1147,7 +1147,7 @@ }, { "cell_type": "markdown", - "id": "44f027a1", + "id": "09cf3e87", "metadata": {}, "source": [ "An optimal consumption plan $C_y^*$ can be found by maximizing `Cy_val`.\n", @@ -1158,7 +1158,7 @@ { "cell_type": "code", "execution_count": null, - "id": "639c8081", + "id": "c96bc926", "metadata": {}, "outputs": [], "source": [ @@ -1175,7 +1175,7 @@ }, { "cell_type": "markdown", - "id": "e89d4440", + "id": "8594fcc3", "metadata": {}, "source": [ "Let's define a Python class `AK2` that computes the transition paths with the fixed-point algorithm.\n", @@ -1186,7 +1186,7 @@ { "cell_type": "code", "execution_count": null, - "id": "32f77182", + "id": "74726fb5", "metadata": {}, "outputs": [], "source": [ @@ -1360,7 +1360,7 @@ }, { "cell_type": "markdown", - "id": "1ef27d27", + "id": "31f3b0ed", "metadata": {}, "source": [ "We can initialize an instance of class `AK2` with model parameters $\\{\\alpha, \\beta\\}$ and then use it to conduct fiscal policy experiments." @@ -1369,7 +1369,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4b1e34ef", + "id": "6e40bae1", "metadata": {}, "outputs": [], "source": [ @@ -1378,7 +1378,7 @@ }, { "cell_type": "markdown", - "id": "bffb9ec1", + "id": "670f4c54", "metadata": {}, "source": [ "We first examine that the \"guess and verify\" method leads to the same numerical results as we obtain with the closed form solution when lump sum taxes are muted" @@ -1387,7 +1387,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c8a6eecb", + "id": "f2ab054c", "metadata": {}, "outputs": [], "source": [ @@ -1407,7 +1407,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e01bb855", + "id": "ffa8abe4", "metadata": {}, "outputs": [], "source": [ @@ -1420,7 +1420,7 @@ { "cell_type": "code", "execution_count": null, - "id": "801d19b2", + "id": "9d7e2b8a", "metadata": {}, "outputs": [], "source": [ @@ -1429,7 +1429,7 @@ }, { "cell_type": "markdown", - "id": "071f6de6", + "id": "5c2179ee", "metadata": {}, "source": [ "Next, we activate lump sum taxes. \n", @@ -1440,7 +1440,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1baa566f", + "id": "f6795501", "metadata": {}, "outputs": [], "source": [ @@ -1457,7 +1457,7 @@ }, { "cell_type": "markdown", - "id": "0bc9abb7", + "id": "8dc35ccf", "metadata": {}, "source": [ "Note how \"crowding out\" has been mitigated." @@ -1466,7 +1466,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3f9437d3", + "id": "06954374", "metadata": {}, "outputs": [], "source": [ @@ -1502,7 +1502,7 @@ }, { "cell_type": "markdown", - "id": "dc52c098", + "id": "38ef0f8a", "metadata": {}, "source": [ "Comparing to {ref}`exp-tax-cut`, the government raises lump-sum taxes to finance the increasing debt interest payment, which is less distortionary comparing to raising the capital income tax rate.\n", @@ -1532,7 +1532,7 @@ { "cell_type": "code", "execution_count": null, - "id": "66ac8730", + "id": "c910266e", "metadata": {}, "outputs": [], "source": [ @@ -1549,7 +1549,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8621ba9a", + "id": "9cdfac4a", "metadata": {}, "outputs": [], "source": [ @@ -1585,7 +1585,7 @@ }, { "cell_type": "markdown", - "id": "4de894db", + "id": "2214805c", "metadata": {}, "source": [ "An initial old person benefits especially when the social security system is launched because he receives a transfer but pays nothing for it.\n", diff --git a/_sources/ar1_processes.ipynb b/_sources/ar1_processes.ipynb index b32610cd..b0702bfb 100644 --- a/_sources/ar1_processes.ipynb +++ b/_sources/ar1_processes.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "5d6eb644", + "id": "aa8c0a8d", "metadata": {}, "source": [ "(ar1)=\n", @@ -40,7 +40,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c24e63fa", + "id": "cb449f46", "metadata": {}, "outputs": [], "source": [ @@ -51,7 +51,7 @@ }, { "cell_type": "markdown", - "id": "1df053b5", + "id": "337c358a", "metadata": {}, "source": [ "## The AR(1) model\n", @@ -168,7 +168,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8b3d1370", + "id": "2c255c58", "metadata": {}, "outputs": [], "source": [ @@ -179,7 +179,7 @@ }, { "cell_type": "markdown", - "id": "f4cafb8a", + "id": "7f7a0e2a", "metadata": {}, "source": [ "Here's the sequence of distributions:" @@ -188,7 +188,7 @@ { "cell_type": "code", "execution_count": null, - "id": "92161815", + "id": "b5a49ba6", "metadata": {}, "outputs": [], "source": [ @@ -213,7 +213,7 @@ }, { "cell_type": "markdown", - "id": "5e997bf3", + "id": "53f0bab7", "metadata": {}, "source": [ "## Stationarity and asymptotic stability\n", @@ -236,7 +236,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b889ff38", + "id": "c0d37b34", "metadata": {}, "outputs": [], "source": [ @@ -256,7 +256,7 @@ }, { "cell_type": "markdown", - "id": "7c12603a", + "id": "783715af", "metadata": {}, "source": [ "Moreover, the limit does not depend on the initial condition.\n", @@ -267,7 +267,7 @@ { "cell_type": "code", "execution_count": null, - "id": "50e47ecf", + "id": "f7255ece", "metadata": {}, "outputs": [], "source": [ @@ -278,7 +278,7 @@ }, { "cell_type": "markdown", - "id": "fdb3c4df", + "id": "b6b02999", "metadata": {}, "source": [ "In fact it's easy to show that such convergence will occur, regardless of the initial condition, whenever $|a| < 1$.\n", @@ -314,7 +314,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8d374a49", + "id": "1d7aff2e", "metadata": {}, "outputs": [], "source": [ @@ -332,7 +332,7 @@ }, { "cell_type": "markdown", - "id": "b9d59699", + "id": "756e5b78", "metadata": {}, "source": [ "As claimed, the sequence $\\{ \\psi_t \\}$ converges to $\\psi^*$.\n", @@ -469,7 +469,7 @@ { "cell_type": "code", "execution_count": null, - "id": "76463b74", + "id": "b59e4214", "metadata": {}, "outputs": [], "source": [ @@ -510,7 +510,7 @@ }, { "cell_type": "markdown", - "id": "6730f80a", + "id": "9a4a27cf", "metadata": {}, "source": [ "```{solution-end}\n", @@ -573,7 +573,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2ed881f2", + "id": "51d1015e", "metadata": {}, "outputs": [], "source": [ @@ -603,7 +603,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e3df5d63", + "id": "6a00d002", "metadata": {}, "outputs": [], "source": [ @@ -622,7 +622,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bf12e08f", + "id": "3c06b8a9", "metadata": {}, "outputs": [], "source": [ @@ -636,7 +636,7 @@ }, { "cell_type": "markdown", - "id": "a7a6ee2d", + "id": "bd9f5b53", "metadata": {}, "source": [ "We see that the kernel density estimator is effective when the underlying\n", @@ -698,7 +698,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0684ca2b", + "id": "3b67498d", "metadata": {}, "outputs": [], "source": [ @@ -712,7 +712,7 @@ { "cell_type": "code", "execution_count": null, - "id": "80649add", + "id": "b4abf107", "metadata": {}, "outputs": [], "source": [ @@ -723,7 +723,7 @@ { "cell_type": "code", "execution_count": null, - "id": "355adb42", + "id": "f5e7ac25", "metadata": {}, "outputs": [], "source": [ @@ -734,7 +734,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b8ad6940", + "id": "07bbb4e5", "metadata": {}, "outputs": [], "source": [ @@ -745,7 +745,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5cc6dafa", + "id": "6336f837", "metadata": {}, "outputs": [], "source": [ @@ -767,7 +767,7 @@ }, { "cell_type": "markdown", - "id": "9d1600bc", + "id": "e17b42a0", "metadata": {}, "source": [ "The simulated distribution approximately coincides with the theoretical\n", diff --git a/_sources/business_cycle.ipynb b/_sources/business_cycle.ipynb index ff3b97ed..7ee5bae7 100644 --- a/_sources/business_cycle.ipynb +++ b/_sources/business_cycle.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "621b9f06", + "id": "1564a96a", "metadata": {}, "source": [ "# Business Cycles\n", @@ -23,7 +23,7 @@ { "cell_type": "code", "execution_count": null, - "id": "45b4657f", + "id": "f5e3c9f6", "metadata": { "tags": [ "hide-output" @@ -37,7 +37,7 @@ }, { "cell_type": "markdown", - "id": "2c6e1c81", + "id": "4612e75c", "metadata": {}, "source": [ "We use the following imports" @@ -46,7 +46,7 @@ { "cell_type": "code", "execution_count": null, - "id": "59df1864", + "id": "4800f99d", "metadata": {}, "outputs": [], "source": [ @@ -59,7 +59,7 @@ }, { "cell_type": "markdown", - "id": "859a7110", + "id": "3a14e377", "metadata": {}, "source": [ "Here's some minor code to help with colors in our plots." @@ -68,7 +68,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6c83378e", + "id": "253cb266", "metadata": { "tags": [ "hide-input" @@ -84,7 +84,7 @@ }, { "cell_type": "markdown", - "id": "6b9d8693", + "id": "b5c248ac", "metadata": {}, "source": [ "## Data acquisition\n", @@ -100,7 +100,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ef2e7c75", + "id": "c8ebb110", "metadata": {}, "outputs": [], "source": [ @@ -109,7 +109,7 @@ }, { "cell_type": "markdown", - "id": "1e2bbfb3", + "id": "b29cf7af", "metadata": {}, "source": [ "Now we use this series ID to obtain the data." @@ -118,7 +118,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4e86fb9b", + "id": "a97d83c1", "metadata": {}, "outputs": [], "source": [ @@ -130,7 +130,7 @@ }, { "cell_type": "markdown", - "id": "47fc1e92", + "id": "66f5b6bc", "metadata": {}, "source": [ "We can look at the series' metadata to learn more about the series (click to expand)." @@ -139,7 +139,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3a050251", + "id": "9c6742a1", "metadata": { "tags": [ "hide-output" @@ -152,7 +152,7 @@ }, { "cell_type": "markdown", - "id": "99455a04", + "id": "251d47d8", "metadata": {}, "source": [ "(gdp_growth)=\n", @@ -166,7 +166,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1b3e6193", + "id": "69233ba0", "metadata": {}, "outputs": [], "source": [ @@ -180,7 +180,7 @@ }, { "cell_type": "markdown", - "id": "4cbe42e1", + "id": "c4c664bb", "metadata": {}, "source": [ "Here's a first look at the data" @@ -189,7 +189,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3712df07", + "id": "0498634f", "metadata": {}, "outputs": [], "source": [ @@ -198,7 +198,7 @@ }, { "cell_type": "markdown", - "id": "e384b3a4", + "id": "ac1fb40e", "metadata": {}, "source": [ "We write a function to generate plots for individual countries taking into account the recessions." @@ -207,7 +207,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d4e0fd40", + "id": "2207fafd", "metadata": { "tags": [ "hide-input" @@ -288,7 +288,7 @@ }, { "cell_type": "markdown", - "id": "abc3b338", + "id": "9a386364", "metadata": {}, "source": [ "Let's start with the United States." @@ -297,7 +297,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b5a59a42", + "id": "ae83122b", "metadata": { "mystnb": { "figure": { @@ -320,7 +320,7 @@ }, { "cell_type": "markdown", - "id": "ed5a29a7", + "id": "4f19edf0", "metadata": { "user_expressions": [] }, @@ -334,7 +334,7 @@ }, { "cell_type": "markdown", - "id": "3e368026", + "id": "df73f1d6", "metadata": {}, "source": [ "The United Kingdom (UK) has a similar pattern to the US, with a slow decline\n", @@ -346,7 +346,7 @@ { "cell_type": "code", "execution_count": null, - "id": "367c1802", + "id": "3ace55a2", "metadata": { "mystnb": { "figure": { @@ -368,7 +368,7 @@ }, { "cell_type": "markdown", - "id": "925610d3", + "id": "58ee44fb", "metadata": { "user_expressions": [] }, @@ -383,7 +383,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c166e105", + "id": "17a9c0e0", "metadata": { "mystnb": { "figure": { @@ -405,7 +405,7 @@ }, { "cell_type": "markdown", - "id": "d2b4c252", + "id": "c41f10f6", "metadata": {}, "source": [ "Now let's study Greece." @@ -414,7 +414,7 @@ { "cell_type": "code", "execution_count": null, - "id": "602d977f", + "id": "353787f9", "metadata": { "mystnb": { "figure": { @@ -436,7 +436,7 @@ }, { "cell_type": "markdown", - "id": "cc2c6818", + "id": "9fd35644", "metadata": {}, "source": [ "Greece experienced a very large drop in GDP growth around 2010-2011, during the peak\n", @@ -448,7 +448,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fa0a6799", + "id": "55fe66bc", "metadata": { "mystnb": { "figure": { @@ -470,7 +470,7 @@ }, { "cell_type": "markdown", - "id": "493da549", + "id": "47eb939a", "metadata": {}, "source": [ "Notice that Argentina has experienced far more volatile cycles than\n", @@ -490,7 +490,7 @@ { "cell_type": "code", "execution_count": null, - "id": "34c5b1fd", + "id": "eb5bd53c", "metadata": { "tags": [ "hide-input" @@ -515,7 +515,7 @@ }, { "cell_type": "markdown", - "id": "311fef12", + "id": "4d6365e6", "metadata": {}, "source": [ "Let's plot the unemployment rate in the US from 1929 to 2022 with recessions\n", @@ -525,7 +525,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2e975dfe", + "id": "43acdb65", "metadata": { "mystnb": { "figure": { @@ -583,7 +583,7 @@ }, { "cell_type": "markdown", - "id": "a2ec80ab", + "id": "ddae706b", "metadata": {}, "source": [ "The plot shows that \n", @@ -616,7 +616,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d1e37f4f", + "id": "6f62b571", "metadata": { "tags": [ "hide-input" @@ -698,7 +698,7 @@ }, { "cell_type": "markdown", - "id": "d1d9f16a", + "id": "6f2c2b0c", "metadata": {}, "source": [ "Here we compare the GDP growth rate of developed economies and developing economies." @@ -707,7 +707,7 @@ { "cell_type": "code", "execution_count": null, - "id": "72d072e3", + "id": "dbcf4756", "metadata": { "tags": [ "hide-input" @@ -725,7 +725,7 @@ }, { "cell_type": "markdown", - "id": "23e8c61d", + "id": "57731736", "metadata": {}, "source": [ "We use the United Kingdom, United States, Germany, and Japan as examples of developed economies." @@ -734,7 +734,7 @@ { "cell_type": "code", "execution_count": null, - "id": "80424a00", + "id": "662ee9b5", "metadata": { "mystnb": { "figure": { @@ -760,7 +760,7 @@ }, { "cell_type": "markdown", - "id": "168e5057", + "id": "513fa1ad", "metadata": {}, "source": [ "We choose Brazil, China, Argentina, and Mexico as representative developing economies." @@ -769,7 +769,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2d2e4eaf", + "id": "56005195", "metadata": { "mystnb": { "figure": { @@ -794,7 +794,7 @@ }, { "cell_type": "markdown", - "id": "ad838390", + "id": "aa9c1fa4", "metadata": {}, "source": [ "The comparison of GDP growth rates above suggests that \n", @@ -816,7 +816,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3f1abe2b", + "id": "2c433196", "metadata": { "mystnb": { "figure": { @@ -847,7 +847,7 @@ }, { "cell_type": "markdown", - "id": "2d421a84", + "id": "903e1163", "metadata": {}, "source": [ "We see that France, with its strong labor unions, typically experiences\n", @@ -882,7 +882,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6cbe1c88", + "id": "bc6c1a49", "metadata": { "mystnb": { "figure": { @@ -949,7 +949,7 @@ }, { "cell_type": "markdown", - "id": "49d13df2", + "id": "bcccb366", "metadata": {}, "source": [ "We see that \n", @@ -978,7 +978,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e3747aba", + "id": "69369f72", "metadata": { "mystnb": { "figure": { @@ -1017,7 +1017,7 @@ }, { "cell_type": "markdown", - "id": "a27677fa", + "id": "4058c3b6", "metadata": {}, "source": [ "We observe the delayed contraction in the plot across recessions.\n", @@ -1040,7 +1040,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a38722eb", + "id": "88523b19", "metadata": { "mystnb": { "figure": { @@ -1071,7 +1071,7 @@ }, { "cell_type": "markdown", - "id": "e8d79380", + "id": "a21eff16", "metadata": {}, "source": [ "Note that the credit rises during economic expansions\n", diff --git a/_sources/cagan_adaptive.ipynb b/_sources/cagan_adaptive.ipynb index 52a368ad..38d66d2f 100644 --- a/_sources/cagan_adaptive.ipynb +++ b/_sources/cagan_adaptive.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "7f29fd27", + "id": "de997bee", "metadata": {}, "source": [ "# Monetarist Theory of Price Levels with Adaptive Expectations\n", @@ -283,7 +283,7 @@ { "cell_type": "code", "execution_count": null, - "id": "17bcbdec", + "id": "4503e8af", "metadata": {}, "outputs": [], "source": [ @@ -295,7 +295,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a743c5a0", + "id": "233a9247", "metadata": {}, "outputs": [], "source": [ @@ -310,7 +310,7 @@ }, { "cell_type": "markdown", - "id": "6f83ccf3", + "id": "1808256c", "metadata": { "user_expressions": [] }, @@ -321,7 +321,7 @@ { "cell_type": "code", "execution_count": null, - "id": "004d3662", + "id": "e8fff4a1", "metadata": {}, "outputs": [], "source": [ @@ -356,7 +356,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5a13ff97", + "id": "438e8340", "metadata": {}, "outputs": [], "source": [ @@ -391,7 +391,7 @@ }, { "cell_type": "markdown", - "id": "8c4f4cef", + "id": "864d1d53", "metadata": { "user_expressions": [] }, @@ -420,7 +420,7 @@ { "cell_type": "code", "execution_count": null, - "id": "11a4f02c", + "id": "0e41e2c2", "metadata": {}, "outputs": [], "source": [ @@ -429,7 +429,7 @@ }, { "cell_type": "markdown", - "id": "97051ec5", + "id": "93d1f161", "metadata": {}, "source": [ "## Experiments\n", @@ -460,7 +460,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dab44713", + "id": "8f79a6ea", "metadata": {}, "outputs": [], "source": [ @@ -477,7 +477,7 @@ }, { "cell_type": "markdown", - "id": "0fc17bf3", + "id": "fe15a582", "metadata": {}, "source": [ "We invite the reader to compare outcomes with those under rational expectations studied in {doc}`cagan_ree`.\n", @@ -499,7 +499,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1b48c668", + "id": "8c800592", "metadata": {}, "outputs": [], "source": [ diff --git a/_sources/cagan_ree.ipynb b/_sources/cagan_ree.ipynb index 0ea74727..a9af0340 100644 --- a/_sources/cagan_ree.ipynb +++ b/_sources/cagan_ree.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "4d040c80", + "id": "ed3f036d", "metadata": {}, "source": [ "# A Monetarist Theory of Price Levels\n", @@ -230,7 +230,7 @@ { "cell_type": "code", "execution_count": null, - "id": "333d0c74", + "id": "88e61da6", "metadata": {}, "outputs": [], "source": [ @@ -241,7 +241,7 @@ }, { "cell_type": "markdown", - "id": "c30dcf22", + "id": "9d15f09b", "metadata": {}, "source": [ "First, we store parameters in a `namedtuple`:" @@ -250,7 +250,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f0c696ba", + "id": "eaddcb97", "metadata": {}, "outputs": [], "source": [ @@ -271,7 +271,7 @@ }, { "cell_type": "markdown", - "id": "b7bf39d6", + "id": "ac0227ed", "metadata": {}, "source": [ "Now we can solve the model to compute $\\pi_t$, $m_t$ and $p_t$ for $t =1, \\ldots, T+1$ using the matrix equation above" @@ -280,7 +280,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e5c893ad", + "id": "fa1626c5", "metadata": {}, "outputs": [], "source": [ @@ -308,7 +308,7 @@ }, { "cell_type": "markdown", - "id": "26e56678", + "id": "3e43a921", "metadata": {}, "source": [ "### Some quantitative experiments\n", @@ -354,7 +354,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e019a30a", + "id": "ed72809f", "metadata": {}, "outputs": [], "source": [ @@ -373,7 +373,7 @@ }, { "cell_type": "markdown", - "id": "e2eb8c1b", + "id": "b2caf1b8", "metadata": {}, "source": [ "Now we use the following function to plot the result" @@ -382,7 +382,7 @@ { "cell_type": "code", "execution_count": null, - "id": "08062c38", + "id": "997c7f2d", "metadata": {}, "outputs": [], "source": [ @@ -402,7 +402,7 @@ }, { "cell_type": "markdown", - "id": "214b5944", + "id": "a0c10160", "metadata": {}, "source": [ "The plot of the money growth rate $\\mu_t$ in the top level panel portrays\n", @@ -543,7 +543,7 @@ { "cell_type": "code", "execution_count": null, - "id": "88509fda", + "id": "041f6010", "metadata": {}, "outputs": [], "source": [ @@ -586,7 +586,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1693a90e", + "id": "b35505dd", "metadata": { "tags": [ "hide-input" @@ -632,7 +632,7 @@ }, { "cell_type": "markdown", - "id": "ba82a885", + "id": "94256cff", "metadata": {}, "source": [ "We invite you to compare these graphs with corresponding ones for the foreseen stabilization analyzed in experiment 1 above.\n", @@ -660,7 +660,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8feea28c", + "id": "c6fd1eea", "metadata": { "tags": [ "hide-input" @@ -690,7 +690,7 @@ }, { "cell_type": "markdown", - "id": "8952e1bb", + "id": "d063712d", "metadata": {}, "source": [ "It is instructive to compare the preceding graphs with graphs of log price levels and inflation rates for data from four big inflations described in\n", @@ -725,7 +725,7 @@ { "cell_type": "code", "execution_count": null, - "id": "397e4477", + "id": "091e5e4b", "metadata": {}, "outputs": [], "source": [ @@ -746,7 +746,7 @@ }, { "cell_type": "markdown", - "id": "d813132a", + "id": "2ca9cfad", "metadata": {}, "source": [ "## Sequel\n", diff --git a/_sources/cobweb.ipynb b/_sources/cobweb.ipynb index 5c3b9f7e..aa1d18f5 100644 --- a/_sources/cobweb.ipynb +++ b/_sources/cobweb.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "13f020fb", + "id": "b5a86746", "metadata": {}, "source": [ "(cobweb)=\n", @@ -55,7 +55,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ba8db376", + "id": "4183d54b", "metadata": {}, "outputs": [], "source": [ @@ -65,7 +65,7 @@ }, { "cell_type": "markdown", - "id": "89f57385", + "id": "2934d32f", "metadata": {}, "source": [ "## History\n", @@ -82,7 +82,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a623d299", + "id": "1870850e", "metadata": {}, "outputs": [], "source": [ @@ -101,7 +101,7 @@ }, { "cell_type": "markdown", - "id": "bea0b068", + "id": "ea2b5184", "metadata": {}, "source": [ "## The model\n", @@ -136,7 +136,7 @@ { "cell_type": "code", "execution_count": null, - "id": "204003b6", + "id": "0c73af95", "metadata": {}, "outputs": [], "source": [ @@ -162,7 +162,7 @@ }, { "cell_type": "markdown", - "id": "3c6318a1", + "id": "e786b5a0", "metadata": {}, "source": [ "Now let's plot." @@ -171,7 +171,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9e3181f2", + "id": "52be595e", "metadata": {}, "outputs": [], "source": [ @@ -190,7 +190,7 @@ }, { "cell_type": "markdown", - "id": "12a77934", + "id": "646c0b2f", "metadata": {}, "source": [ "Market equilibrium requires that supply equals demand, or\n", @@ -268,7 +268,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3a993c13", + "id": "e23a725c", "metadata": {}, "outputs": [], "source": [ @@ -284,7 +284,7 @@ }, { "cell_type": "markdown", - "id": "2761f079", + "id": "dd4b49a1", "metadata": {}, "source": [ "Let's try to understand how prices will evolve using a 45-degree diagram, which is a tool for studying one-dimensional dynamics.\n", @@ -295,7 +295,7 @@ { "cell_type": "code", "execution_count": null, - "id": "873ed943", + "id": "a0aded00", "metadata": { "tags": [ "hide-input" @@ -377,7 +377,7 @@ }, { "cell_type": "markdown", - "id": "f49341c5", + "id": "deb6c759", "metadata": {}, "source": [ "Now we can set up a market and plot the 45-degree diagram." @@ -386,7 +386,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ce7707a1", + "id": "5f77252e", "metadata": {}, "outputs": [], "source": [ @@ -396,7 +396,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ca57d233", + "id": "acbe3115", "metadata": {}, "outputs": [], "source": [ @@ -405,7 +405,7 @@ }, { "cell_type": "markdown", - "id": "a2d49ba3", + "id": "8f43bcc4", "metadata": {}, "source": [ "The plot shows the function $g$ defined in {eq}`def_g` and the 45-degree line.\n", @@ -434,7 +434,7 @@ { "cell_type": "code", "execution_count": null, - "id": "242c0dd4", + "id": "43eb751f", "metadata": {}, "outputs": [], "source": [ @@ -468,7 +468,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6859f681", + "id": "113029d8", "metadata": {}, "outputs": [], "source": [ @@ -477,7 +477,7 @@ }, { "cell_type": "markdown", - "id": "93fb584e", + "id": "9bbfaad7", "metadata": {}, "source": [ "We see that a cycle has formed and the cycle is persistent.\n", @@ -492,7 +492,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7aea4d1c", + "id": "0f73bc3e", "metadata": {}, "outputs": [], "source": [ @@ -501,7 +501,7 @@ }, { "cell_type": "markdown", - "id": "0f145e70", + "id": "943a47d0", "metadata": {}, "source": [ "## Adaptive expectations\n", @@ -548,7 +548,7 @@ { "cell_type": "code", "execution_count": null, - "id": "54c30bd4", + "id": "baaa331a", "metadata": {}, "outputs": [], "source": [ @@ -562,7 +562,7 @@ }, { "cell_type": "markdown", - "id": "64d85880", + "id": "a3ca43d1", "metadata": {}, "source": [ "The function below plots price dynamics under adaptive expectations for different values of $\\alpha$." @@ -571,7 +571,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a8d37ccc", + "id": "b4550dba", "metadata": {}, "outputs": [], "source": [ @@ -594,7 +594,7 @@ }, { "cell_type": "markdown", - "id": "910f5159", + "id": "4d3e1edb", "metadata": {}, "source": [ "Let's call the function with prices starting at $p_0 = 5$." @@ -603,7 +603,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e98ab149", + "id": "1219ef1a", "metadata": {}, "outputs": [], "source": [ @@ -612,7 +612,7 @@ }, { "cell_type": "markdown", - "id": "397eed63", + "id": "d39e46b0", "metadata": {}, "source": [ "Note that if $\\alpha=1$, then adaptive expectations are just naive expectation.\n", @@ -642,7 +642,7 @@ { "cell_type": "code", "execution_count": null, - "id": "13835227", + "id": "0a52ecd1", "metadata": {}, "outputs": [], "source": [ @@ -678,7 +678,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2c159831", + "id": "d9401bcd", "metadata": {}, "outputs": [], "source": [ @@ -688,7 +688,7 @@ }, { "cell_type": "markdown", - "id": "3d0e61a6", + "id": "af9b98dc", "metadata": {}, "source": [ "```{solution-end}\n", @@ -724,7 +724,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0b1f9cf0", + "id": "058a72ce", "metadata": {}, "outputs": [], "source": [ @@ -739,7 +739,7 @@ { "cell_type": "code", "execution_count": null, - "id": "556d4be5", + "id": "4b30af16", "metadata": {}, "outputs": [], "source": [ @@ -771,7 +771,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8ab2ff45", + "id": "e6c2e52b", "metadata": {}, "outputs": [], "source": [ @@ -785,7 +785,7 @@ }, { "cell_type": "markdown", - "id": "83169b44", + "id": "b1f74515", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/commod_price.ipynb b/_sources/commod_price.ipynb index 59d13a81..0893a60e 100644 --- a/_sources/commod_price.ipynb +++ b/_sources/commod_price.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "bb3bb574", + "id": "7e20079c", "metadata": {}, "source": [ "# Commodity Prices\n", @@ -33,7 +33,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d3d3722d", + "id": "ee4ca13e", "metadata": { "tags": [ "hide-output" @@ -46,7 +46,7 @@ }, { "cell_type": "markdown", - "id": "ed4c7811", + "id": "dcc67630", "metadata": {}, "source": [ "We will use the following imports" @@ -55,7 +55,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e4f17b59", + "id": "334d67ff", "metadata": {}, "outputs": [], "source": [ @@ -69,7 +69,7 @@ }, { "cell_type": "markdown", - "id": "061edf15", + "id": "8d97fbaf", "metadata": {}, "source": [ "## Data\n", @@ -80,7 +80,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21f45960", + "id": "b842e028", "metadata": { "tags": [ "hide-input", @@ -95,7 +95,7 @@ { "cell_type": "code", "execution_count": null, - "id": "54e21531", + "id": "1340efa2", "metadata": { "tags": [ "hide-input" @@ -114,7 +114,7 @@ }, { "cell_type": "markdown", - "id": "98845eb9", + "id": "efcba5dd", "metadata": {}, "source": [ "The figure shows surprisingly large movements in the price of cotton.\n", @@ -394,7 +394,7 @@ { "cell_type": "code", "execution_count": null, - "id": "517f7d33", + "id": "f7d376dc", "metadata": {}, "outputs": [], "source": [ @@ -450,7 +450,7 @@ }, { "cell_type": "markdown", - "id": "074f2bc9", + "id": "308c5e89", "metadata": {}, "source": [ "The figure above shows the inverse demand curve $P$, which is also $p_0$, as\n", @@ -463,7 +463,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9e24146b", + "id": "09aad5a9", "metadata": {}, "outputs": [], "source": [ diff --git a/_sources/complex_and_trig.ipynb b/_sources/complex_and_trig.ipynb index 06107e80..e3fb67ef 100644 --- a/_sources/complex_and_trig.ipynb +++ b/_sources/complex_and_trig.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "3439bc4b", + "id": "f1a95aae", "metadata": {}, "source": [ "(complex_and_trig)=\n", @@ -93,7 +93,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f3635a7e", + "id": "f3441fc8", "metadata": {}, "outputs": [], "source": [ @@ -106,7 +106,7 @@ }, { "cell_type": "markdown", - "id": "e4f14351", + "id": "464b7981", "metadata": {}, "source": [ "### An Example\n", @@ -125,7 +125,7 @@ { "cell_type": "code", "execution_count": null, - "id": "51e1460f", + "id": "48a20b57", "metadata": {}, "outputs": [], "source": [ @@ -170,7 +170,7 @@ }, { "cell_type": "markdown", - "id": "728be51a", + "id": "25928b0e", "metadata": {}, "source": [ "## De Moivre's Theorem\n", @@ -312,7 +312,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3042cbda", + "id": "738366ee", "metadata": {}, "outputs": [], "source": [ @@ -341,7 +341,7 @@ }, { "cell_type": "markdown", - "id": "08036dba", + "id": "4e8370cf", "metadata": {}, "source": [ "Using the code above, we compute that\n", @@ -354,7 +354,7 @@ { "cell_type": "code", "execution_count": null, - "id": "407382c6", + "id": "c0336fc3", "metadata": {}, "outputs": [], "source": [ @@ -392,7 +392,7 @@ }, { "cell_type": "markdown", - "id": "74fc2594", + "id": "ad990383", "metadata": {}, "source": [ "### Trigonometric Identities\n", @@ -451,7 +451,7 @@ { "cell_type": "code", "execution_count": null, - "id": "85886190", + "id": "9024c033", "metadata": {}, "outputs": [], "source": [ @@ -467,7 +467,7 @@ }, { "cell_type": "markdown", - "id": "1300daf4", + "id": "b3c46030", "metadata": {}, "source": [ "### Trigonometric Integrals\n", @@ -524,7 +524,7 @@ { "cell_type": "code", "execution_count": null, - "id": "39b2dd0d", + "id": "4e2a4888", "metadata": {}, "outputs": [], "source": [ @@ -539,7 +539,7 @@ { "cell_type": "code", "execution_count": null, - "id": "daf78789", + "id": "a5ba4787", "metadata": {}, "outputs": [], "source": [ @@ -550,7 +550,7 @@ }, { "cell_type": "markdown", - "id": "d3e7a0ac", + "id": "6c81b39e", "metadata": {}, "source": [ "### Exercises\n", @@ -579,7 +579,7 @@ { "cell_type": "code", "execution_count": null, - "id": "06f65a2c", + "id": "3cf59a68", "metadata": {}, "outputs": [], "source": [ @@ -590,7 +590,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a94f288f", + "id": "fc4c666c", "metadata": {}, "outputs": [], "source": [ @@ -603,7 +603,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9491cee6", + "id": "91b5f2d5", "metadata": {}, "outputs": [], "source": [ @@ -615,7 +615,7 @@ }, { "cell_type": "markdown", - "id": "7d5fab1f", + "id": "9439059f", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/cons_smooth.ipynb b/_sources/cons_smooth.ipynb index 3a1290ce..315b2256 100644 --- a/_sources/cons_smooth.ipynb +++ b/_sources/cons_smooth.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "8a723049", + "id": "e7fc2880", "metadata": {}, "source": [ "# Consumption Smoothing\n", @@ -38,7 +38,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dd4839b5", + "id": "03ed3d20", "metadata": {}, "outputs": [], "source": [ @@ -49,7 +49,7 @@ }, { "cell_type": "markdown", - "id": "c8979026", + "id": "bd6b5eb4", "metadata": {}, "source": [ "The model describes a consumer who lives from time $t=0, 1, \\ldots, T$, receives a stream $\\{y_t\\}_{t=0}^T$ of non-financial income and chooses a consumption stream $\\{c_t\\}_{t=0}^T$.\n", @@ -144,7 +144,7 @@ { "cell_type": "code", "execution_count": null, - "id": "51f676f5", + "id": "510a5fbc", "metadata": {}, "outputs": [], "source": [ @@ -160,7 +160,7 @@ }, { "cell_type": "markdown", - "id": "0e49cd05", + "id": "06ebc751", "metadata": {}, "source": [ "## Friedman-Hall consumption-smoothing model\n", @@ -280,7 +280,7 @@ { "cell_type": "code", "execution_count": null, - "id": "965f5ae9", + "id": "8059b774", "metadata": {}, "outputs": [], "source": [ @@ -307,7 +307,7 @@ }, { "cell_type": "markdown", - "id": "450dccfd", + "id": "e969df08", "metadata": {}, "source": [ "We use an example where the consumer inherits $a_0<0$.\n", @@ -322,7 +322,7 @@ { "cell_type": "code", "execution_count": null, - "id": "837fff75", + "id": "ed7842fc", "metadata": {}, "outputs": [], "source": [ @@ -341,7 +341,7 @@ }, { "cell_type": "markdown", - "id": "52fa210c", + "id": "a818b535", "metadata": {}, "source": [ "The graphs below show paths of non-financial income, consumption, and financial assets." @@ -350,7 +350,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5c4c5c73", + "id": "d8426132", "metadata": {}, "outputs": [], "source": [ @@ -370,7 +370,7 @@ }, { "cell_type": "markdown", - "id": "8ba062fb", + "id": "5febbc16", "metadata": {}, "source": [ "Note that $a_{T+1} = 0$, as anticipated.\n", @@ -381,7 +381,7 @@ { "cell_type": "code", "execution_count": null, - "id": "09b98d19", + "id": "6b7f75fc", "metadata": {}, "outputs": [], "source": [ @@ -396,7 +396,7 @@ }, { "cell_type": "markdown", - "id": "17bd692f", + "id": "4fdccce2", "metadata": {}, "source": [ "### Experiments\n", @@ -411,7 +411,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d57e3450", + "id": "b7c9f5e9", "metadata": {}, "outputs": [], "source": [ @@ -440,7 +440,7 @@ }, { "cell_type": "markdown", - "id": "b7f5bd74", + "id": "073216b5", "metadata": {}, "source": [ "In the experiments below, please study how consumption and financial asset sequences vary accross different sequences for non-financial income.\n", @@ -455,7 +455,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d4e80ddc", + "id": "e47ea979", "metadata": {}, "outputs": [], "source": [ @@ -468,7 +468,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8fbf0c9c", + "id": "59ecfe0f", "metadata": {}, "outputs": [], "source": [ @@ -480,7 +480,7 @@ }, { "cell_type": "markdown", - "id": "edc61c49", + "id": "f056ad01", "metadata": {}, "source": [ "#### Experiment 2: permanent wage gain/loss\n", @@ -493,7 +493,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f05d3fd8", + "id": "3e952d53", "metadata": {}, "outputs": [], "source": [ @@ -507,7 +507,7 @@ { "cell_type": "code", "execution_count": null, - "id": "536be6a7", + "id": "0c9cb83c", "metadata": {}, "outputs": [], "source": [ @@ -520,7 +520,7 @@ }, { "cell_type": "markdown", - "id": "b10beaf0", + "id": "84752d7c", "metadata": {}, "source": [ "#### Experiment 3: a late starter\n", @@ -531,7 +531,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b049a9fe", + "id": "27942faa", "metadata": {}, "outputs": [], "source": [ @@ -544,7 +544,7 @@ }, { "cell_type": "markdown", - "id": "2ea8bbe6", + "id": "2b2deeda", "metadata": {}, "source": [ "#### Experiment 4: geometric earner\n", @@ -557,7 +557,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a90c5eba", + "id": "d05bb9d0", "metadata": {}, "outputs": [], "source": [ @@ -576,7 +576,7 @@ }, { "cell_type": "markdown", - "id": "0463edfc", + "id": "ec66748d", "metadata": {}, "source": [ "Now we show the behavior when $\\lambda = 0.95$" @@ -585,7 +585,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8e773ed0", + "id": "6a18c46b", "metadata": {}, "outputs": [], "source": [ @@ -600,7 +600,7 @@ }, { "cell_type": "markdown", - "id": "e21ee3e8", + "id": "816d1bae", "metadata": {}, "source": [ "What happens when $\\lambda$ is negative" @@ -609,7 +609,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9e47476d", + "id": "a1c85712", "metadata": {}, "outputs": [], "source": [ @@ -624,7 +624,7 @@ }, { "cell_type": "markdown", - "id": "899fa00e", + "id": "006800af", "metadata": {}, "source": [ "### Feasible consumption variations\n", @@ -700,7 +700,7 @@ { "cell_type": "code", "execution_count": null, - "id": "de0f99d2", + "id": "90a77af6", "metadata": {}, "outputs": [], "source": [ @@ -721,7 +721,7 @@ }, { "cell_type": "markdown", - "id": "85eb4fb3", + "id": "c0cd2c39", "metadata": {}, "source": [ "We visualize variations for $\\xi_1 \\in \\{.01, .05\\}$ and $\\phi \\in \\{.95, 1.02\\}$" @@ -730,7 +730,7 @@ { "cell_type": "code", "execution_count": null, - "id": "785fb80a", + "id": "10337e7c", "metadata": {}, "outputs": [], "source": [ @@ -769,7 +769,7 @@ }, { "cell_type": "markdown", - "id": "eea5fff4", + "id": "709b5adf", "metadata": {}, "source": [ "We can even use the Python `np.gradient` command to compute derivatives of welfare with respect to our two parameters. \n", @@ -782,7 +782,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0a162fa2", + "id": "1edc3c0e", "metadata": {}, "outputs": [], "source": [ @@ -804,7 +804,7 @@ }, { "cell_type": "markdown", - "id": "60ac227e", + "id": "6e849a6a", "metadata": {}, "source": [ "Then we can visualize the relationship between welfare and $\\xi_1$ and compute its derivatives" @@ -813,7 +813,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a9edfb96", + "id": "45e071e9", "metadata": {}, "outputs": [], "source": [ @@ -834,7 +834,7 @@ }, { "cell_type": "markdown", - "id": "3c7d4ff1", + "id": "a45aae01", "metadata": {}, "source": [ "The same can be done on $\\phi$" @@ -843,7 +843,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f7e7a7a7", + "id": "00d67000", "metadata": {}, "outputs": [], "source": [ @@ -864,7 +864,7 @@ }, { "cell_type": "markdown", - "id": "6dc1c216", + "id": "c66a005f", "metadata": {}, "source": [ "## Wrapping up the consumption-smoothing model\n", diff --git a/_sources/eigen_I.ipynb b/_sources/eigen_I.ipynb index 4fed010c..8139d889 100644 --- a/_sources/eigen_I.ipynb +++ b/_sources/eigen_I.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "d8c7576c", + "id": "e7368b53", "metadata": { "user_expressions": [] }, @@ -36,7 +36,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e04c2da3", + "id": "c6dd67a0", "metadata": {}, "outputs": [], "source": [ @@ -50,7 +50,7 @@ }, { "cell_type": "markdown", - "id": "f98c724c", + "id": "1041c4c4", "metadata": {}, "source": [ "(matrices_as_transformation)=\n", @@ -129,7 +129,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1ccb6894", + "id": "bce0ba39", "metadata": {}, "outputs": [], "source": [ @@ -140,7 +140,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8d90ad95", + "id": "6fe10e30", "metadata": {}, "outputs": [], "source": [ @@ -185,7 +185,7 @@ }, { "cell_type": "markdown", - "id": "4962592d", + "id": "2b7df47e", "metadata": { "user_expressions": [] }, @@ -217,7 +217,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c9b97515", + "id": "11b2f42b", "metadata": { "tags": [ "hide-input" @@ -315,7 +315,7 @@ }, { "cell_type": "markdown", - "id": "4e7e5e34", + "id": "0d10c77d", "metadata": { "user_expressions": [] }, @@ -340,7 +340,7 @@ { "cell_type": "code", "execution_count": null, - "id": "60c81c13", + "id": "58d53f84", "metadata": {}, "outputs": [], "source": [ @@ -352,7 +352,7 @@ }, { "cell_type": "markdown", - "id": "c3baef4b", + "id": "3a02a2c4", "metadata": { "user_expressions": [] }, @@ -375,7 +375,7 @@ { "cell_type": "code", "execution_count": null, - "id": "afa90fb3", + "id": "338ce1ab", "metadata": {}, "outputs": [], "source": [ @@ -387,7 +387,7 @@ }, { "cell_type": "markdown", - "id": "dc5b41c7", + "id": "998eb06b", "metadata": { "user_expressions": [] }, @@ -410,7 +410,7 @@ { "cell_type": "code", "execution_count": null, - "id": "254b0643", + "id": "1e8162f1", "metadata": {}, "outputs": [], "source": [ @@ -422,7 +422,7 @@ }, { "cell_type": "markdown", - "id": "12a7e10c", + "id": "41bda0af", "metadata": { "user_expressions": [] }, @@ -443,7 +443,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4ad5800a", + "id": "61242412", "metadata": {}, "outputs": [], "source": [ @@ -453,7 +453,7 @@ }, { "cell_type": "markdown", - "id": "9e4cc06d", + "id": "9c39149f", "metadata": { "user_expressions": [] }, @@ -604,7 +604,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b0731ee5", + "id": "d60e7fd3", "metadata": { "tags": [ "hide-input" @@ -651,7 +651,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e7dc7702", + "id": "8e124ce3", "metadata": {}, "outputs": [], "source": [ @@ -663,7 +663,7 @@ }, { "cell_type": "markdown", - "id": "cac71f65", + "id": "7b4f8974", "metadata": { "user_expressions": [] }, @@ -674,7 +674,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ca923958", + "id": "c3e64682", "metadata": {}, "outputs": [], "source": [ @@ -683,7 +683,7 @@ }, { "cell_type": "markdown", - "id": "39a24e37", + "id": "17fb1bff", "metadata": { "user_expressions": [] }, @@ -694,7 +694,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4cfb2ce5", + "id": "596a658d", "metadata": {}, "outputs": [], "source": [ @@ -703,7 +703,7 @@ }, { "cell_type": "markdown", - "id": "f833be2e", + "id": "80c8e4e7", "metadata": { "user_expressions": [] }, @@ -733,7 +733,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21142bab", + "id": "c9365f7b", "metadata": {}, "outputs": [], "source": [ @@ -784,7 +784,7 @@ { "cell_type": "code", "execution_count": null, - "id": "59b8944c", + "id": "e01eff88", "metadata": {}, "outputs": [], "source": [ @@ -799,7 +799,7 @@ }, { "cell_type": "markdown", - "id": "f9568f32", + "id": "e9b0ab3e", "metadata": { "user_expressions": [] }, @@ -812,7 +812,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0cd8ba9d", + "id": "f3a03b7c", "metadata": {}, "outputs": [], "source": [ @@ -827,7 +827,7 @@ }, { "cell_type": "markdown", - "id": "82958abe", + "id": "b2629d0a", "metadata": { "user_expressions": [] }, @@ -841,7 +841,7 @@ { "cell_type": "code", "execution_count": null, - "id": "482e8cc0", + "id": "334990c4", "metadata": {}, "outputs": [], "source": [ @@ -856,7 +856,7 @@ }, { "cell_type": "markdown", - "id": "0890562f", + "id": "97839023", "metadata": { "user_expressions": [] }, @@ -903,7 +903,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e12c13f5", + "id": "3e8538fa", "metadata": { "tags": [ "output_scroll" @@ -959,7 +959,7 @@ }, { "cell_type": "markdown", - "id": "c51a121f", + "id": "ed02593d", "metadata": { "user_expressions": [] }, @@ -1017,7 +1017,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3b893f3d", + "id": "53307a10", "metadata": {}, "outputs": [], "source": [ @@ -1034,7 +1034,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8d238bff", + "id": "9054de3e", "metadata": {}, "outputs": [], "source": [ @@ -1043,7 +1043,7 @@ }, { "cell_type": "markdown", - "id": "8551263d", + "id": "bbb8d28a", "metadata": { "user_expressions": [] }, @@ -1133,7 +1133,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1058bbc8", + "id": "6909f261", "metadata": {}, "outputs": [], "source": [ @@ -1148,7 +1148,7 @@ }, { "cell_type": "markdown", - "id": "764af272", + "id": "f4334912", "metadata": {}, "source": [ "The spectral radius $r(A)$ obtained is less than 1.\n", @@ -1159,7 +1159,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fca8c590", + "id": "957d0092", "metadata": {}, "outputs": [], "source": [ @@ -1170,7 +1170,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c67ed001", + "id": "bee051f3", "metadata": {}, "outputs": [], "source": [ @@ -1180,7 +1180,7 @@ { "cell_type": "code", "execution_count": null, - "id": "187209d7", + "id": "dc69dd31", "metadata": {}, "outputs": [], "source": [ @@ -1193,7 +1193,7 @@ }, { "cell_type": "markdown", - "id": "5cf0d207", + "id": "c18cb710", "metadata": {}, "source": [ "Let's check equality between the sum and the inverse methods." @@ -1202,7 +1202,7 @@ { "cell_type": "code", "execution_count": null, - "id": "681a28b5", + "id": "0b4c6051", "metadata": {}, "outputs": [], "source": [ @@ -1211,7 +1211,7 @@ }, { "cell_type": "markdown", - "id": "2832669d", + "id": "673bc26e", "metadata": {}, "source": [ "Although we truncate the infinite sum at $k = 50$, both methods give us the same\n", @@ -1250,7 +1250,7 @@ { "cell_type": "code", "execution_count": null, - "id": "aeb9157b", + "id": "e266e204", "metadata": { "mystnb": { "figure": { @@ -1303,7 +1303,7 @@ }, { "cell_type": "markdown", - "id": "5512eb68", + "id": "b982bef6", "metadata": { "user_expressions": [] }, @@ -1314,7 +1314,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e0caa2ee", + "id": "58f288c4", "metadata": { "mystnb": { "figure": { @@ -1357,7 +1357,7 @@ }, { "cell_type": "markdown", - "id": "06f65ba2", + "id": "a3d59a72", "metadata": { "user_expressions": [] }, @@ -1384,7 +1384,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9bd325ea", + "id": "3f805371", "metadata": {}, "outputs": [], "source": [ @@ -1404,7 +1404,7 @@ }, { "cell_type": "markdown", - "id": "b6d2a607", + "id": "a10a81df", "metadata": { "user_expressions": [] }, @@ -1419,7 +1419,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21585e9e", + "id": "dae43eac", "metadata": { "mystnb": { "figure": { @@ -1468,7 +1468,7 @@ }, { "cell_type": "markdown", - "id": "a7ec3036", + "id": "63fc27e9", "metadata": { "user_expressions": [] }, @@ -1504,7 +1504,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9eab66f8", + "id": "a6cd5837", "metadata": { "mystnb": { "figure": { @@ -1578,7 +1578,7 @@ }, { "cell_type": "markdown", - "id": "b4ac8a1f", + "id": "00f34d7c", "metadata": { "user_expressions": [] }, @@ -1593,7 +1593,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a07c633f", + "id": "f9ac8b22", "metadata": { "mystnb": { "figure": { @@ -1662,7 +1662,7 @@ }, { "cell_type": "markdown", - "id": "76b5c29d", + "id": "1203c2a4", "metadata": { "user_expressions": [] }, diff --git a/_sources/eigen_II.ipynb b/_sources/eigen_II.ipynb index 3b70dc45..f1ae3d0d 100644 --- a/_sources/eigen_II.ipynb +++ b/_sources/eigen_II.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "edafb566", + "id": "c0c7949f", "metadata": {}, "source": [ "# The Perron-Frobenius Theorem\n", @@ -16,7 +16,7 @@ { "cell_type": "code", "execution_count": null, - "id": "16754135", + "id": "7599e939", "metadata": { "tags": [ "hide-output" @@ -29,7 +29,7 @@ }, { "cell_type": "markdown", - "id": "17214a32", + "id": "373c8819", "metadata": {}, "source": [ "In this lecture we will begin with the foundational concepts in spectral theory.\n", @@ -42,7 +42,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ee76ad81", + "id": "88e538a3", "metadata": {}, "outputs": [], "source": [ @@ -54,7 +54,7 @@ }, { "cell_type": "markdown", - "id": "cf178a30", + "id": "d0c8607b", "metadata": {}, "source": [ "## Nonnegative matrices\n", @@ -141,7 +141,7 @@ { "cell_type": "code", "execution_count": null, - "id": "67228eb0", + "id": "43635e5f", "metadata": {}, "outputs": [], "source": [ @@ -164,7 +164,7 @@ }, { "cell_type": "markdown", - "id": "0ea59741", + "id": "1b31cb9d", "metadata": {}, "source": [ "We can also use `scipy.linalg.eig` with argument `left=True` to find left eigenvectors directly" @@ -173,7 +173,7 @@ { "cell_type": "code", "execution_count": null, - "id": "492d89b9", + "id": "4a88aa93", "metadata": {}, "outputs": [], "source": [ @@ -186,7 +186,7 @@ }, { "cell_type": "markdown", - "id": "767cad18", + "id": "0303eb05", "metadata": {}, "source": [ "The eigenvalues are the same while the eigenvectors themselves are different.\n", @@ -240,7 +240,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d6cc9000", + "id": "042c0e11", "metadata": {}, "outputs": [], "source": [ @@ -251,7 +251,7 @@ }, { "cell_type": "markdown", - "id": "f1dfbc67", + "id": "32098de4", "metadata": {}, "source": [ "We can compute the dominant eigenvalue and the corresponding eigenvector" @@ -260,7 +260,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ea719f06", + "id": "a13630ef", "metadata": {}, "outputs": [], "source": [ @@ -269,7 +269,7 @@ }, { "cell_type": "markdown", - "id": "2bcf4f7d", + "id": "9d7e1f10", "metadata": {}, "source": [ "Now we can see the claims of the Perron-Frobenius Theorem holds for the irreducible matrix $A$:\n", @@ -335,7 +335,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6467feb3", + "id": "216dbda3", "metadata": {}, "outputs": [], "source": [ @@ -348,7 +348,7 @@ }, { "cell_type": "markdown", - "id": "be98c696", + "id": "2f51cf25", "metadata": {}, "source": [ "We compute the dominant eigenvalue and the corresponding eigenvector" @@ -357,7 +357,7 @@ { "cell_type": "code", "execution_count": null, - "id": "be6ef779", + "id": "99c456d5", "metadata": {}, "outputs": [], "source": [ @@ -366,7 +366,7 @@ }, { "cell_type": "markdown", - "id": "2ffb1367", + "id": "60c2b59d", "metadata": {}, "source": [ "Now let's give some examples to see if the claims of the Perron-Frobenius Theorem hold for the primitive matrix $B$:\n", @@ -384,7 +384,7 @@ { "cell_type": "code", "execution_count": null, - "id": "05608dda", + "id": "b30d58f5", "metadata": {}, "outputs": [], "source": [ @@ -454,7 +454,7 @@ }, { "cell_type": "markdown", - "id": "58d40371", + "id": "71283f23", "metadata": {}, "source": [ "The convergence is not observed in cases of non-primitive matrices.\n", @@ -465,7 +465,7 @@ { "cell_type": "code", "execution_count": null, - "id": "98c6f5b6", + "id": "045abf6c", "metadata": {}, "outputs": [], "source": [ @@ -484,7 +484,7 @@ }, { "cell_type": "markdown", - "id": "2abb2ca2", + "id": "2b82078d", "metadata": {}, "source": [ "The result shows that the matrix is not primitive as it is not everywhere positive.\n", @@ -506,7 +506,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4f769652", + "id": "22cb3b6d", "metadata": {}, "outputs": [], "source": [ @@ -520,7 +520,7 @@ { "cell_type": "code", "execution_count": null, - "id": "65ea5335", + "id": "586987ed", "metadata": {}, "outputs": [], "source": [ @@ -532,7 +532,7 @@ { "cell_type": "code", "execution_count": null, - "id": "92153e16", + "id": "5951d4e0", "metadata": {}, "outputs": [], "source": [ @@ -546,7 +546,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6cc6fdc7", + "id": "d1f4eca0", "metadata": {}, "outputs": [], "source": [ @@ -557,7 +557,7 @@ }, { "cell_type": "markdown", - "id": "8cd200ca", + "id": "3831240f", "metadata": {}, "source": [ "We can also verify other properties hinted by Perron-Frobenius in these stochastic matrices." @@ -565,7 +565,7 @@ }, { "cell_type": "markdown", - "id": "a406d9dd", + "id": "4e3155a5", "metadata": {}, "source": [ "Another example is the relationship between convergence gap and convergence rate.\n", @@ -686,7 +686,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0b4bb235", + "id": "d8f2ddab", "metadata": {}, "outputs": [], "source": [ @@ -702,7 +702,7 @@ }, { "cell_type": "markdown", - "id": "f1ee5409", + "id": "b288fb26", "metadata": {}, "source": [ "Since we have $r(A) < 1$ we can thus find the solution using the Neumann Series Lemma." @@ -711,7 +711,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ce7323c7", + "id": "09d220df", "metadata": {}, "outputs": [], "source": [ @@ -728,7 +728,7 @@ }, { "cell_type": "markdown", - "id": "37a8db65", + "id": "b3009cc0", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/equalizing_difference.ipynb b/_sources/equalizing_difference.ipynb index e2cf85ea..a42e5e95 100644 --- a/_sources/equalizing_difference.ipynb +++ b/_sources/equalizing_difference.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "569056e4", + "id": "b7c422c6", "metadata": {}, "source": [ "# Equalizing Difference Model\n", @@ -45,7 +45,7 @@ { "cell_type": "code", "execution_count": null, - "id": "49535717", + "id": "ddcdffc3", "metadata": {}, "outputs": [], "source": [ @@ -57,7 +57,7 @@ }, { "cell_type": "markdown", - "id": "1d418d95", + "id": "ee3fe662", "metadata": {}, "source": [ "## The indifference condition\n", @@ -187,7 +187,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6a9945ea", + "id": "a846a9bd", "metadata": {}, "outputs": [], "source": [ @@ -216,7 +216,7 @@ }, { "cell_type": "markdown", - "id": "3ab90814", + "id": "d3b6b55d", "metadata": {}, "source": [ "Using vectorization instead of loops,\n", @@ -230,7 +230,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d01d609c", + "id": "51d3de70", "metadata": {}, "outputs": [], "source": [ @@ -242,7 +242,7 @@ }, { "cell_type": "markdown", - "id": "4c5b0973", + "id": "dae9fd08", "metadata": {}, "source": [ "Let's not charge for college and recompute $\\phi$.\n", @@ -253,7 +253,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8b099ddd", + "id": "53e07b1f", "metadata": {}, "outputs": [], "source": [ @@ -265,7 +265,7 @@ }, { "cell_type": "markdown", - "id": "30dfea8e", + "id": "99532f1c", "metadata": {}, "source": [ "Let us construct some graphs that show us how the initial college-high-school wage ratio $\\phi$ would change if one of its determinants were to change. \n", @@ -276,7 +276,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0c672124", + "id": "e4059580", "metadata": {}, "outputs": [], "source": [ @@ -292,7 +292,7 @@ }, { "cell_type": "markdown", - "id": "657339e5", + "id": "d5971d47", "metadata": {}, "source": [ "Evidently, the initial wage ratio $\\phi$ must rise to compensate a prospective high school student for **waiting** to start receiving income -- remember that while she is earning nothing in years $t=0, 1, 2, 3$, the high school worker is earning a salary.\n", @@ -304,7 +304,7 @@ { "cell_type": "code", "execution_count": null, - "id": "46f1d875", + "id": "6d40eefa", "metadata": {}, "outputs": [], "source": [ @@ -320,7 +320,7 @@ }, { "cell_type": "markdown", - "id": "62177bbb", + "id": "4b20601f", "metadata": {}, "source": [ "Notice how the initial wage gap falls when the rate of growth $\\gamma_c$ of college wages rises. \n", @@ -335,7 +335,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8a8b8f31", + "id": "301d9165", "metadata": {}, "outputs": [], "source": [ @@ -351,7 +351,7 @@ }, { "cell_type": "markdown", - "id": "d1525ab8", + "id": "634b2f16", "metadata": {}, "source": [ "## Entrepreneur-worker interpretation\n", @@ -384,7 +384,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3e44ba1d", + "id": "b959e54c", "metadata": {}, "outputs": [], "source": [ @@ -418,7 +418,7 @@ }, { "cell_type": "markdown", - "id": "58394162", + "id": "1349cd72", "metadata": {}, "source": [ "If the probability that a new business succeeds is $0.2$, let's compute the initial wage premium for successful entrepreneurs." @@ -427,7 +427,7 @@ { "cell_type": "code", "execution_count": null, - "id": "54d89e0d", + "id": "a44c21df", "metadata": {}, "outputs": [], "source": [ @@ -439,7 +439,7 @@ }, { "cell_type": "markdown", - "id": "07e477c8", + "id": "59ba3564", "metadata": {}, "source": [ "Now let's study how the initial wage premium for successful entrepreneurs depend on the success probability." @@ -448,7 +448,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cdc08faf", + "id": "5b3e9c12", "metadata": {}, "outputs": [], "source": [ @@ -464,7 +464,7 @@ }, { "cell_type": "markdown", - "id": "f8c84b67", + "id": "f753c114", "metadata": {}, "source": [ "Does the graph make sense to you?\n", @@ -491,7 +491,7 @@ { "cell_type": "code", "execution_count": null, - "id": "db7c790f", + "id": "097464a2", "metadata": {}, "outputs": [], "source": [ @@ -501,7 +501,7 @@ }, { "cell_type": "markdown", - "id": "389014cd", + "id": "a8982626", "metadata": {}, "source": [ "Define function $A_h$" @@ -510,7 +510,7 @@ { "cell_type": "code", "execution_count": null, - "id": "06580905", + "id": "ac80b36d", "metadata": {}, "outputs": [], "source": [ @@ -520,7 +520,7 @@ }, { "cell_type": "markdown", - "id": "f9718384", + "id": "c4e14214", "metadata": {}, "source": [ "Define function $A_c$" @@ -529,7 +529,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a0693da1", + "id": "b522d94f", "metadata": {}, "outputs": [], "source": [ @@ -539,7 +539,7 @@ }, { "cell_type": "markdown", - "id": "7db558b7", + "id": "c0535435", "metadata": {}, "source": [ "Now, define $\\phi$" @@ -548,7 +548,7 @@ { "cell_type": "code", "execution_count": null, - "id": "633ee62f", + "id": "3ede560a", "metadata": {}, "outputs": [], "source": [ @@ -558,7 +558,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8da20e88", + "id": "aa252466", "metadata": {}, "outputs": [], "source": [ @@ -567,7 +567,7 @@ }, { "cell_type": "markdown", - "id": "ae022f76", + "id": "7417d402", "metadata": {}, "source": [ "We begin by setting default parameter values." @@ -576,7 +576,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5e24182e", + "id": "85f23812", "metadata": {}, "outputs": [], "source": [ @@ -589,7 +589,7 @@ }, { "cell_type": "markdown", - "id": "65f268de", + "id": "57f236fa", "metadata": {}, "source": [ "Now let's compute $\\frac{\\partial \\phi}{\\partial D}$ and then evaluate it at the default values" @@ -598,7 +598,7 @@ { "cell_type": "code", "execution_count": null, - "id": "32e140a8", + "id": "778e0673", "metadata": {}, "outputs": [], "source": [ @@ -609,7 +609,7 @@ { "cell_type": "code", "execution_count": null, - "id": "66a25b66", + "id": "89d06237", "metadata": {}, "outputs": [], "source": [ @@ -620,7 +620,7 @@ }, { "cell_type": "markdown", - "id": "d6c133da", + "id": "c121b1e8", "metadata": {}, "source": [ "Thus, as with our earlier graph, we find that raising $R$ increases the initial college wage premium $\\phi$.\n", @@ -631,7 +631,7 @@ { "cell_type": "code", "execution_count": null, - "id": "09c984a7", + "id": "ca219f6f", "metadata": {}, "outputs": [], "source": [ @@ -642,7 +642,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0fc7772f", + "id": "d3b3f46e", "metadata": {}, "outputs": [], "source": [ @@ -653,7 +653,7 @@ }, { "cell_type": "markdown", - "id": "ed1a6ce0", + "id": "793db4f9", "metadata": {}, "source": [ "We find that raising $T$ decreases the initial college wage premium $\\phi$. \n", @@ -666,7 +666,7 @@ { "cell_type": "code", "execution_count": null, - "id": "beb58391", + "id": "59083188", "metadata": {}, "outputs": [], "source": [ @@ -677,7 +677,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ddee529f", + "id": "ab5fc887", "metadata": {}, "outputs": [], "source": [ @@ -688,7 +688,7 @@ }, { "cell_type": "markdown", - "id": "b0122bed", + "id": "985088a5", "metadata": {}, "source": [ "We find that raising $\\gamma_h$ increases the initial college wage premium $\\phi$, in line with our earlier graphical analysis.\n", @@ -699,7 +699,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b63a91d2", + "id": "0abf9b40", "metadata": {}, "outputs": [], "source": [ @@ -710,7 +710,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b5917513", + "id": "7f54e044", "metadata": {}, "outputs": [], "source": [ @@ -721,7 +721,7 @@ }, { "cell_type": "markdown", - "id": "82121cb6", + "id": "017cd510", "metadata": {}, "source": [ "We find that raising $\\gamma_c$ decreases the initial college wage premium $\\phi$, in line with our earlier graphical analysis.\n", @@ -732,7 +732,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5f858f51", + "id": "06d712d6", "metadata": {}, "outputs": [], "source": [ @@ -743,7 +743,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0f59a5a7", + "id": "a4aee881", "metadata": {}, "outputs": [], "source": [ @@ -754,7 +754,7 @@ }, { "cell_type": "markdown", - "id": "c1b53a18", + "id": "b9d234bd", "metadata": {}, "source": [ "We find that raising the gross interest rate $R$ increases the initial college wage premium $\\phi$, in line with our earlier graphical analysis." diff --git a/_sources/french_rev.ipynb b/_sources/french_rev.ipynb index d7843d33..456bc2d3 100644 --- a/_sources/french_rev.ipynb +++ b/_sources/french_rev.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "49083fb2", + "id": "f9c58530", "metadata": {}, "source": [ "# Inflation During French Revolution \n", @@ -65,7 +65,7 @@ { "cell_type": "code", "execution_count": null, - "id": "37c5e665", + "id": "22fbcfa4", "metadata": {}, "outputs": [], "source": [ @@ -84,7 +84,7 @@ }, { "cell_type": "markdown", - "id": "f2dc2704", + "id": "a0740e80", "metadata": {}, "source": [ "## Government Expenditures and Taxes Collected\n", @@ -95,7 +95,7 @@ { "cell_type": "code", "execution_count": null, - "id": "36cd63a5", + "id": "44e55def", "metadata": { "mystnb": { "figure": { @@ -137,7 +137,7 @@ }, { "cell_type": "markdown", - "id": "90ae60dd", + "id": "4f8a87e5", "metadata": {}, "source": [ "During the 18th century, Britain and France fought four large wars.\n", @@ -157,7 +157,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6559a020", + "id": "924a4f52", "metadata": { "mystnb": { "figure": { @@ -199,7 +199,7 @@ }, { "cell_type": "markdown", - "id": "f01a7b41", + "id": "f86fce24", "metadata": {}, "source": [ "Figures {numref}`fr_fig2` and {numref}`fr_fig3` summarize British and French government fiscal policies during the century before the start the French Revolution in 1789.\n", @@ -245,7 +245,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0a197a18", + "id": "f2c2f405", "metadata": { "mystnb": { "figure": { @@ -287,7 +287,7 @@ }, { "cell_type": "markdown", - "id": "12a3ec43", + "id": "d0d383e7", "metadata": {}, "source": [ "Figure {numref}`fr_fig1` shows that interest payments on government debt (i.e., so-called ''debt service'') were high fractions of government tax revenues in both Great Britain and France. \n", @@ -301,7 +301,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bac37dae", + "id": "47dbc5cf", "metadata": {}, "outputs": [], "source": [ @@ -315,7 +315,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f58dc67c", + "id": "e62bd06d", "metadata": { "mystnb": { "figure": { @@ -352,7 +352,7 @@ }, { "cell_type": "markdown", - "id": "1db32569", + "id": "0cb8ec47", "metadata": {}, "source": [ "{numref}`fr_fig3` shows that in 1788 on the eve of the French Revolution government expenditures exceeded tax revenues. \n", @@ -478,7 +478,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3e0884a6", + "id": "525d2002", "metadata": { "mystnb": { "figure": { @@ -510,7 +510,7 @@ }, { "cell_type": "markdown", - "id": "fc909fa4", + "id": "2d2cf7fa", "metadata": {}, "source": [ "According to {numref}`fr_fig5`, tax revenues per capita did not rise to their pre 1789 levels\n", @@ -527,7 +527,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cb7272b0", + "id": "81b5f556", "metadata": { "mystnb": { "figure": { @@ -574,7 +574,7 @@ }, { "cell_type": "markdown", - "id": "4ace2b0c", + "id": "471a26e0", "metadata": {}, "source": [ "To cover the disrepancies between government expenditures and tax revenues revealed in {numref}`fr_fig11`, the French revolutionaries printed paper money and spent it. \n", @@ -586,7 +586,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d95a4d74", + "id": "c93cb6b6", "metadata": { "mystnb": { "figure": { @@ -624,7 +624,7 @@ }, { "cell_type": "markdown", - "id": "fc0f4cbf", + "id": "79895b07", "metadata": {}, "source": [ "{numref}`fr_fig24` compares the revenues raised by printing money from 1789 to 1796 with tax revenues that the Ancient Regime had raised in 1788.\n", @@ -662,7 +662,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ac223a97", + "id": "0b1362fe", "metadata": { "mystnb": { "figure": { @@ -707,7 +707,7 @@ }, { "cell_type": "markdown", - "id": "2907bc38", + "id": "bb1aad2f", "metadata": {}, "source": [ "We have partioned {numref}`fr_fig9` that shows the log of the price level and {numref}`fr_fig8`\n", @@ -743,7 +743,7 @@ { "cell_type": "code", "execution_count": null, - "id": "22dba3b4", + "id": "4883f396", "metadata": { "mystnb": { "figure": { @@ -793,7 +793,7 @@ }, { "cell_type": "markdown", - "id": "d36c68e2", + "id": "2963a96e", "metadata": {}, "source": [ "The three clouds of points in Figure\n", @@ -817,7 +817,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a2f2a7b4", + "id": "15887a82", "metadata": {}, "outputs": [], "source": [ @@ -832,7 +832,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bce34fac", + "id": "9ab2555c", "metadata": {}, "outputs": [], "source": [ @@ -848,7 +848,7 @@ { "cell_type": "code", "execution_count": null, - "id": "da1b2681", + "id": "b8f1b74a", "metadata": {}, "outputs": [], "source": [ @@ -866,7 +866,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4441180f", + "id": "5beed68a", "metadata": { "mystnb": { "figure": { @@ -902,7 +902,7 @@ }, { "cell_type": "markdown", - "id": "26e5844d", + "id": "b0cdf74d", "metadata": {}, "source": [ "The three clouds of points in Figure\n", @@ -923,7 +923,7 @@ { "cell_type": "code", "execution_count": null, - "id": "570af0a5", + "id": "119b8fe8", "metadata": {}, "outputs": [], "source": [ @@ -941,7 +941,7 @@ { "cell_type": "code", "execution_count": null, - "id": "950a7aaf", + "id": "3db3471d", "metadata": { "mystnb": { "figure": { @@ -975,7 +975,7 @@ }, { "cell_type": "markdown", - "id": "2e04cd63", + "id": "c68eb3b4", "metadata": {}, "source": [ "Now let's regress inflation on real balances during the **real bills** period and plot the regression\n", @@ -985,7 +985,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7faf5e30", + "id": "1baa6d9e", "metadata": { "mystnb": { "figure": { @@ -1022,7 +1022,7 @@ }, { "cell_type": "markdown", - "id": "23a9cd6e", + "id": "8e740703", "metadata": {}, "source": [ "The regression line in {numref}`fr_fig104c` shows that large increases in real balances of\n", @@ -1043,7 +1043,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5e911c13", + "id": "092ecf0d", "metadata": { "mystnb": { "figure": { @@ -1080,7 +1080,7 @@ }, { "cell_type": "markdown", - "id": "237720ce", + "id": "731dc818", "metadata": {}, "source": [ "The regression line in {numref}`fr_fig104d` shows that large increases in real balances of\n", @@ -1101,7 +1101,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3df4321c", + "id": "1f9552f9", "metadata": { "mystnb": { "figure": { @@ -1138,7 +1138,7 @@ }, { "cell_type": "markdown", - "id": "0f2c75b4", + "id": "23c17488", "metadata": {}, "source": [ "{numref}`fr_fig104e` shows the results of regressing inflation on real balances during the\n", @@ -1148,7 +1148,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0522691e", + "id": "b1e698b9", "metadata": { "mystnb": { "figure": { @@ -1185,7 +1185,7 @@ }, { "cell_type": "markdown", - "id": "4acbc7d8", + "id": "9dd93a24", "metadata": {}, "source": [ "{numref}`fr_fig104e` shows the results of regressing real balances on inflation during the\n", diff --git a/_sources/geom_series.ipynb b/_sources/geom_series.ipynb index 8ca608a3..b4e6329d 100644 --- a/_sources/geom_series.ipynb +++ b/_sources/geom_series.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "fdf4e4ef", + "id": "794e83da", "metadata": {}, "source": [ "(geom_series)=\n", @@ -44,7 +44,7 @@ { "cell_type": "code", "execution_count": null, - "id": "928ad17a", + "id": "433c9236", "metadata": {}, "outputs": [], "source": [ @@ -58,7 +58,7 @@ }, { "cell_type": "markdown", - "id": "88614ae3", + "id": "33b9cf72", "metadata": {}, "source": [ "## Key formulas\n", @@ -658,7 +658,7 @@ { "cell_type": "code", "execution_count": null, - "id": "27ae7f5a", + "id": "83c16a95", "metadata": {}, "outputs": [], "source": [ @@ -686,7 +686,7 @@ }, { "cell_type": "markdown", - "id": "f97fb451", + "id": "741e220e", "metadata": {}, "source": [ "Now that we have defined our functions, we can plot some outcomes.\n", @@ -697,7 +697,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b705ddbb", + "id": "869e1941", "metadata": { "mystnb": { "figure": { @@ -735,7 +735,7 @@ }, { "cell_type": "markdown", - "id": "df19ddeb", + "id": "e3dddbdb", "metadata": {}, "source": [ "Evidently our approximations perform well for small values of $T$.\n", @@ -749,7 +749,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3a6036f4", + "id": "f6e93c8f", "metadata": { "mystnb": { "figure": { @@ -776,7 +776,7 @@ }, { "cell_type": "markdown", - "id": "86d6d65c", + "id": "85b7858a", "metadata": {}, "source": [ "The graph above shows how as duration $T \\rightarrow +\\infty$,\n", @@ -790,7 +790,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c4c7a561", + "id": "82f6ff5e", "metadata": { "mystnb": { "figure": { @@ -820,7 +820,7 @@ }, { "cell_type": "markdown", - "id": "7d12d7c2", + "id": "78528616", "metadata": {}, "source": [ "This graph gives a big hint for why the condition $r > g$ is\n", @@ -837,7 +837,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7f033436", + "id": "420acef3", "metadata": { "mystnb": { "figure": { @@ -873,7 +873,7 @@ }, { "cell_type": "markdown", - "id": "b281891a", + "id": "f7b977c0", "metadata": {}, "source": [ "We can use a little calculus to study how the present value $p_0$\n", @@ -893,7 +893,7 @@ { "cell_type": "code", "execution_count": null, - "id": "380568d3", + "id": "b86aa5af", "metadata": {}, "outputs": [], "source": [ @@ -910,7 +910,7 @@ { "cell_type": "code", "execution_count": null, - "id": "50b54b8b", + "id": "22db1752", "metadata": {}, "outputs": [], "source": [ @@ -922,7 +922,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ca0f30b2", + "id": "3f1c26e6", "metadata": {}, "outputs": [], "source": [ @@ -933,7 +933,7 @@ }, { "cell_type": "markdown", - "id": "6d1030f2", + "id": "048cd1b4", "metadata": {}, "source": [ "We can see that for $\\frac{\\partial p_0}{\\partial r}<0$ as long as\n", @@ -953,7 +953,7 @@ { "cell_type": "code", "execution_count": null, - "id": "621135bc", + "id": "dac85330", "metadata": { "mystnb": { "figure": { @@ -991,7 +991,7 @@ }, { "cell_type": "markdown", - "id": "d2b97971", + "id": "d06780a0", "metadata": {}, "source": [ "In this model, income grows over time, until it gradually converges to\n", @@ -1005,7 +1005,7 @@ { "cell_type": "code", "execution_count": null, - "id": "453c61c4", + "id": "b3398223", "metadata": { "mystnb": { "figure": { @@ -1031,7 +1031,7 @@ }, { "cell_type": "markdown", - "id": "4fb6ae77", + "id": "259d5062", "metadata": {}, "source": [ "Increasing the marginal propensity to consume $b$ increases the\n", @@ -1043,7 +1043,7 @@ { "cell_type": "code", "execution_count": null, - "id": "27b0e396", + "id": "753cea7a", "metadata": { "mystnb": { "figure": { @@ -1079,7 +1079,7 @@ }, { "cell_type": "markdown", - "id": "d9fb161c", + "id": "ec7c7bdf", "metadata": {}, "source": [ "Notice here, whether government spending increases from 0.3 to 0.4 or\n", diff --git a/_sources/greek_square.ipynb b/_sources/greek_square.ipynb index 103ebd1a..b7a6a410 100644 --- a/_sources/greek_square.ipynb +++ b/_sources/greek_square.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "228ea10c", + "id": "eb32ec5e", "metadata": {}, "source": [ "# Computing Square Roots\n", @@ -324,7 +324,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cac126fb", + "id": "f057f852", "metadata": {}, "outputs": [], "source": [ @@ -335,7 +335,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ff8be683", + "id": "1630832b", "metadata": {}, "outputs": [], "source": [ @@ -393,7 +393,7 @@ }, { "cell_type": "markdown", - "id": "d5bbeccf", + "id": "33d6e5cd", "metadata": {}, "source": [ "Now we consider cases where $(\\eta_1, \\eta_2) = (0, 1)$ and $(\\eta_1, \\eta_2) = (1, 0)$" @@ -402,7 +402,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fc262c51", + "id": "d628eec2", "metadata": {}, "outputs": [], "source": [ @@ -414,7 +414,7 @@ { "cell_type": "code", "execution_count": null, - "id": "785f1c8b", + "id": "18b8fbca", "metadata": {}, "outputs": [], "source": [ @@ -431,7 +431,7 @@ { "cell_type": "code", "execution_count": null, - "id": "966e2c9c", + "id": "98247050", "metadata": {}, "outputs": [], "source": [ @@ -444,7 +444,7 @@ }, { "cell_type": "markdown", - "id": "77ccd718", + "id": "36856299", "metadata": {}, "source": [ "We find that convergence is immediate.\n", @@ -497,7 +497,7 @@ { "cell_type": "code", "execution_count": null, - "id": "60df720e", + "id": "ea4d0971", "metadata": {}, "outputs": [], "source": [ @@ -536,7 +536,7 @@ }, { "cell_type": "markdown", - "id": "49d9844a", + "id": "2255cf88", "metadata": {}, "source": [ "Let's compare the eigenvalues to the roots {eq}`eq:secretweapon` of equation \n", @@ -546,7 +546,7 @@ { "cell_type": "code", "execution_count": null, - "id": "51a8e740", + "id": "d7cf2e56", "metadata": {}, "outputs": [], "source": [ @@ -556,7 +556,7 @@ }, { "cell_type": "markdown", - "id": "fe9371ae", + "id": "450e0c1e", "metadata": {}, "source": [ "Hence we confirmed {eq}`eq:eigen_sqrt`.\n", @@ -580,7 +580,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a8d32fed", + "id": "17882036", "metadata": { "tags": [ "hide-input" @@ -616,7 +616,7 @@ }, { "cell_type": "markdown", - "id": "c2da73ca", + "id": "7dea4c3c", "metadata": {}, "source": [ "## Invariant subspace approach \n", @@ -714,7 +714,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7a7532fc", + "id": "827bb178", "metadata": {}, "outputs": [], "source": [ @@ -728,7 +728,7 @@ }, { "cell_type": "markdown", - "id": "aa077352", + "id": "1f38ab31", "metadata": {}, "source": [ "We find $x_{1,0}^* = 0$.\n", @@ -739,7 +739,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0526c8c5", + "id": "56c75b68", "metadata": {}, "outputs": [], "source": [ @@ -753,7 +753,7 @@ }, { "cell_type": "markdown", - "id": "d6bc8324", + "id": "2573a0d9", "metadata": {}, "source": [ "We find $x_{2,0}^* = 0$." @@ -762,7 +762,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3ec12cfb", + "id": "acfa7d6d", "metadata": {}, "outputs": [], "source": [ @@ -778,7 +778,7 @@ }, { "cell_type": "markdown", - "id": "14785316", + "id": "7cf81e36", "metadata": {}, "source": [ "The following graph shows the ratios $y_t / y_{t-1}$ for the two cases.\n", @@ -789,7 +789,7 @@ { "cell_type": "code", "execution_count": null, - "id": "45498925", + "id": "bf1af4a5", "metadata": { "tags": [ "hide-input" @@ -828,7 +828,7 @@ }, { "cell_type": "markdown", - "id": "221b0b6a", + "id": "c31ee313", "metadata": {}, "source": [ "## Concluding remarks\n", diff --git a/_sources/heavy_tails.ipynb b/_sources/heavy_tails.ipynb index 48200464..021674de 100644 --- a/_sources/heavy_tails.ipynb +++ b/_sources/heavy_tails.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "1dfb2033", + "id": "a8163beb", "metadata": {}, "source": [ "(heavy_tail)=\n", @@ -14,7 +14,7 @@ { "cell_type": "code", "execution_count": null, - "id": "af0a0478", + "id": "c049a21b", "metadata": { "tags": [ "hide-output" @@ -27,7 +27,7 @@ }, { "cell_type": "markdown", - "id": "1ee9143f", + "id": "572a09cf", "metadata": {}, "source": [ "We use the following imports." @@ -36,7 +36,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d6904ce2", + "id": "6cf5c142", "metadata": {}, "outputs": [], "source": [ @@ -54,7 +54,7 @@ }, { "cell_type": "markdown", - "id": "1b006ce4", + "id": "6a5c4dfd", "metadata": {}, "source": [ "## Overview\n", @@ -101,7 +101,7 @@ { "cell_type": "code", "execution_count": null, - "id": "77a00028", + "id": "9663e346", "metadata": { "mystnb": { "figure": { @@ -123,7 +123,7 @@ }, { "cell_type": "markdown", - "id": "4c43da3c", + "id": "225f8b4a", "metadata": {}, "source": [ "Notice how \n", @@ -137,7 +137,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a977146e", + "id": "6610e745", "metadata": {}, "outputs": [], "source": [ @@ -146,7 +146,7 @@ }, { "cell_type": "markdown", - "id": "9aec7875", + "id": "5fd7fbd8", "metadata": {}, "source": [ "Here's another view of draws from the same distribution:" @@ -155,7 +155,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e9481135", + "id": "9871b0eb", "metadata": { "mystnb": { "figure": { @@ -179,7 +179,7 @@ }, { "cell_type": "markdown", - "id": "d08168ec", + "id": "c635b07e", "metadata": {}, "source": [ "We have plotted each individual draw $X_i$ against $i$.\n", @@ -242,7 +242,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2265e205", + "id": "c677a999", "metadata": { "tags": [ "hide-output" @@ -256,7 +256,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cee40ef6", + "id": "d75ec33a", "metadata": { "mystnb": { "figure": { @@ -282,7 +282,7 @@ }, { "cell_type": "markdown", - "id": "c15f7571", + "id": "59e2250a", "metadata": {}, "source": [ "This data looks different to the draws from the normal distribution we saw above.\n", @@ -295,7 +295,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0f972fd7", + "id": "64b88126", "metadata": { "tags": [ "hide-output" @@ -309,7 +309,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c80aba61", + "id": "d305b683", "metadata": { "mystnb": { "figure": { @@ -335,7 +335,7 @@ }, { "cell_type": "markdown", - "id": "57a07db3", + "id": "717329d9", "metadata": {}, "source": [ "The histogram also looks different to the histogram of the normal\n", @@ -345,7 +345,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4698a486", + "id": "6795442e", "metadata": { "mystnb": { "figure": { @@ -374,7 +374,7 @@ }, { "cell_type": "markdown", - "id": "3c4ee5a6", + "id": "a7744c40", "metadata": {}, "source": [ "If we look at higher frequency returns data (e.g., tick-by-tick), we often see \n", @@ -449,7 +449,7 @@ { "cell_type": "code", "execution_count": null, - "id": "20b40877", + "id": "eb24bd9b", "metadata": { "mystnb": { "figure": { @@ -490,7 +490,7 @@ }, { "cell_type": "markdown", - "id": "1d30f330", + "id": "3d2ac719", "metadata": {}, "source": [ "In the top subfigure, the standard deviation of the normal distribution is 2,\n", @@ -521,7 +521,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5976f2eb", + "id": "6cca77eb", "metadata": { "mystnb": { "figure": { @@ -547,7 +547,7 @@ }, { "cell_type": "markdown", - "id": "d4e12020", + "id": "d6905bcc", "metadata": {}, "source": [ "Another nonnegative distribution is the [Pareto distribution](https://en.wikipedia.org/wiki/Pareto_distribution). \n", @@ -591,7 +591,7 @@ { "cell_type": "code", "execution_count": null, - "id": "730b30ca", + "id": "d9da3c69", "metadata": { "mystnb": { "figure": { @@ -617,7 +617,7 @@ }, { "cell_type": "markdown", - "id": "7ea611bf", + "id": "585879c9", "metadata": {}, "source": [ "Notice how extreme outcomes are more common.\n", @@ -685,7 +685,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fb84e2a6", + "id": "8c04da83", "metadata": { "mystnb": { "figure": { @@ -709,7 +709,7 @@ }, { "cell_type": "markdown", - "id": "aedbd81b", + "id": "cc3288f5", "metadata": {}, "source": [ "Here's a log-log plot of the same functions, which makes visual comparison\n", @@ -719,7 +719,7 @@ { "cell_type": "code", "execution_count": null, - "id": "97f0a7f6", + "id": "f463677c", "metadata": { "mystnb": { "figure": { @@ -742,7 +742,7 @@ }, { "cell_type": "markdown", - "id": "8525b3e5", + "id": "69843f97", "metadata": {}, "source": [ "In the log-log plot, the Pareto CCDF is linear, while the exponential one is\n", @@ -768,7 +768,7 @@ { "cell_type": "code", "execution_count": null, - "id": "28886680", + "id": "f28d0fb5", "metadata": {}, "outputs": [], "source": [ @@ -779,7 +779,7 @@ }, { "cell_type": "markdown", - "id": "a478e620", + "id": "bdb729af", "metadata": {}, "source": [ "Here's a figure containing some empirical CCDFs from simulated data." @@ -788,7 +788,7 @@ { "cell_type": "code", "execution_count": null, - "id": "444d7f28", + "id": "1eaee21b", "metadata": { "mystnb": { "figure": { @@ -834,7 +834,7 @@ }, { "cell_type": "markdown", - "id": "073b9873", + "id": "a411eede", "metadata": {}, "source": [ "As with the CCDF, the empirical CCDF from the Pareto distributions is \n", @@ -845,7 +845,7 @@ }, { "cell_type": "markdown", - "id": "dba98207", + "id": "846f767a", "metadata": {}, "source": [ "#### Q-Q Plots\n", @@ -860,7 +860,7 @@ { "cell_type": "code", "execution_count": null, - "id": "09b26700", + "id": "141a1065", "metadata": {}, "outputs": [], "source": [ @@ -871,7 +871,7 @@ }, { "cell_type": "markdown", - "id": "d069d1c2", + "id": "fcfd30a4", "metadata": {}, "source": [ "We can now compare this with the exponential, log-normal, and Pareto distributions" @@ -880,7 +880,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3a3e8037", + "id": "3e4b8c96", "metadata": {}, "outputs": [], "source": [ @@ -897,7 +897,7 @@ }, { "cell_type": "markdown", - "id": "37ee100d", + "id": "b4c54925", "metadata": {}, "source": [ "### Power laws \n", @@ -953,7 +953,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0e35ca1d", + "id": "51bf156f", "metadata": { "tags": [ "hide-input" @@ -1021,7 +1021,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c458ea6b", + "id": "beb17b7f", "metadata": { "tags": [ "hide-input" @@ -1052,7 +1052,7 @@ }, { "cell_type": "markdown", - "id": "d455c69f", + "id": "59ba9cd0", "metadata": {}, "source": [ "### Firm size\n", @@ -1063,7 +1063,7 @@ { "cell_type": "code", "execution_count": null, - "id": "79bae940", + "id": "18777bbf", "metadata": { "mystnb": { "figure": { @@ -1091,7 +1091,7 @@ }, { "cell_type": "markdown", - "id": "267c2b0e", + "id": "4f20955a", "metadata": {}, "source": [ "### City size\n", @@ -1104,7 +1104,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f27f6098", + "id": "c3fd5149", "metadata": { "mystnb": { "figure": { @@ -1132,7 +1132,7 @@ }, { "cell_type": "markdown", - "id": "f680e51b", + "id": "3a9beedd", "metadata": {}, "source": [ "### Wealth\n", @@ -1145,7 +1145,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d5ce4f4a", + "id": "b9d8c0b5", "metadata": { "mystnb": { "figure": { @@ -1186,7 +1186,7 @@ }, { "cell_type": "markdown", - "id": "b8f174d0", + "id": "90bb56e0", "metadata": {}, "source": [ "### GDP\n", @@ -1199,7 +1199,7 @@ { "cell_type": "code", "execution_count": null, - "id": "932ad1fb", + "id": "54046d4b", "metadata": { "tags": [ "hide-input" @@ -1223,7 +1223,7 @@ { "cell_type": "code", "execution_count": null, - "id": "084e5751", + "id": "bf3c042e", "metadata": { "mystnb": { "figure": { @@ -1247,7 +1247,7 @@ }, { "cell_type": "markdown", - "id": "e47e3b25", + "id": "7275c849", "metadata": {}, "source": [ "The plot is concave rather than linear, so the distribution has light tails.\n", @@ -1289,7 +1289,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bcfbf1cb", + "id": "88626490", "metadata": { "mystnb": { "figure": { @@ -1326,7 +1326,7 @@ }, { "cell_type": "markdown", - "id": "a20a276b", + "id": "fb766aa0", "metadata": {}, "source": [ "The sequence shows no sign of converging.\n", @@ -1541,7 +1541,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7a58a776", + "id": "c457fe29", "metadata": {}, "outputs": [], "source": [ @@ -1568,7 +1568,7 @@ }, { "cell_type": "markdown", - "id": "c4f5c2df", + "id": "ca85fa6a", "metadata": {}, "source": [ "```{solution-end}\n", @@ -1668,7 +1668,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2d21c154", + "id": "d72e63e6", "metadata": {}, "outputs": [], "source": [ @@ -1691,7 +1691,7 @@ }, { "cell_type": "markdown", - "id": "dcedefc1", + "id": "4e49aa7b", "metadata": {}, "source": [ "Let's compute the lognormal parameters:" @@ -1700,7 +1700,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21695e65", + "id": "f779e049", "metadata": {}, "outputs": [], "source": [ @@ -1711,7 +1711,7 @@ }, { "cell_type": "markdown", - "id": "344d3e69", + "id": "7848c724", "metadata": {}, "source": [ "Here's a function to compute a single estimate of tax revenue for a particular\n", @@ -1721,7 +1721,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a6b7fe69", + "id": "4b8f7b24", "metadata": {}, "outputs": [], "source": [ @@ -1738,7 +1738,7 @@ }, { "cell_type": "markdown", - "id": "dd27e2c3", + "id": "51b3aa38", "metadata": {}, "source": [ "Now let's generate the violin plot." @@ -1747,7 +1747,7 @@ { "cell_type": "code", "execution_count": null, - "id": "54a7c02f", + "id": "8974feee", "metadata": {}, "outputs": [], "source": [ @@ -1772,7 +1772,7 @@ }, { "cell_type": "markdown", - "id": "f7201dd2", + "id": "ddcaf690", "metadata": {}, "source": [ "Finally, let's print the means and standard deviations." @@ -1781,7 +1781,7 @@ { "cell_type": "code", "execution_count": null, - "id": "36584178", + "id": "3cd9dbb6", "metadata": {}, "outputs": [], "source": [ @@ -1791,7 +1791,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b83b5d83", + "id": "ca4dcb6b", "metadata": {}, "outputs": [], "source": [ @@ -1800,7 +1800,7 @@ }, { "cell_type": "markdown", - "id": "1bce9bdc", + "id": "976c71a2", "metadata": {}, "source": [ "Looking at the output of the code, our main conclusion is that the Pareto\n", diff --git a/_sources/inequality.ipynb b/_sources/inequality.ipynb index 48e37f42..d5ee61da 100644 --- a/_sources/inequality.ipynb +++ b/_sources/inequality.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "51ed370f", + "id": "2ec14bcc", "metadata": {}, "source": [ "# Income and Wealth Inequality\n", @@ -72,7 +72,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dee2a30e", + "id": "2793816e", "metadata": { "tags": [ "hide-output" @@ -85,7 +85,7 @@ }, { "cell_type": "markdown", - "id": "c338e0ce", + "id": "aaa5d376", "metadata": {}, "source": [ "We will also use the following imports." @@ -94,7 +94,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1106da85", + "id": "6e7351c4", "metadata": {}, "outputs": [], "source": [ @@ -108,7 +108,7 @@ }, { "cell_type": "markdown", - "id": "a61b82bb", + "id": "ecd513dc", "metadata": {}, "source": [ "## The Lorenz curve\n", @@ -173,7 +173,7 @@ { "cell_type": "code", "execution_count": null, - "id": "eb507b34", + "id": "d4bfb40e", "metadata": {}, "outputs": [], "source": [ @@ -225,7 +225,7 @@ }, { "cell_type": "markdown", - "id": "9467ab87", + "id": "96c2d4db", "metadata": {}, "source": [ "In the next figure, we generate $n=2000$ draws from a lognormal\n", @@ -243,7 +243,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ea7eb415", + "id": "8dcbccd6", "metadata": { "mystnb": { "figure": { @@ -275,7 +275,7 @@ }, { "cell_type": "markdown", - "id": "b462349b", + "id": "1f7cc162", "metadata": {}, "source": [ "### Lorenz curves for US data\n", @@ -290,7 +290,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b65f9fb8", + "id": "a148498f", "metadata": {}, "outputs": [], "source": [ @@ -302,7 +302,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ce604ce1", + "id": "695ea48a", "metadata": {}, "outputs": [], "source": [ @@ -311,7 +311,7 @@ }, { "cell_type": "markdown", - "id": "9fba7474", + "id": "74b6322a", "metadata": {}, "source": [ "The next code block uses data stored in dataframe `df_income_wealth` to generate the Lorenz curves.\n", @@ -323,7 +323,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f8631759", + "id": "f8cb3953", "metadata": { "tags": [ "hide-input" @@ -371,7 +371,7 @@ }, { "cell_type": "markdown", - "id": "3533c234", + "id": "586a70ea", "metadata": {}, "source": [ "Now we plot Lorenz curves for net wealth, total income and labor income in the\n", @@ -385,7 +385,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e630afca", + "id": "08d17cd9", "metadata": { "mystnb": { "figure": { @@ -412,7 +412,7 @@ }, { "cell_type": "markdown", - "id": "c05eacd8", + "id": "395c838c", "metadata": {}, "source": [ "One key finding from this figure is that wealth inequality is more extreme than income inequality. \n", @@ -459,7 +459,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b5e37e43", + "id": "428411a1", "metadata": { "mystnb": { "figure": { @@ -486,7 +486,7 @@ }, { "cell_type": "markdown", - "id": "16d8680e", + "id": "ba0790fa", "metadata": {}, "source": [ "In fact the Gini coefficient can also be expressed as\n", @@ -502,7 +502,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5a2f1bfe", + "id": "dadb090b", "metadata": { "mystnb": { "figure": { @@ -531,7 +531,7 @@ }, { "cell_type": "markdown", - "id": "d0d38dbb", + "id": "90956a19", "metadata": {}, "source": [ "```{seealso}\n", @@ -550,7 +550,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fd883b7b", + "id": "7885b189", "metadata": {}, "outputs": [], "source": [ @@ -584,7 +584,7 @@ }, { "cell_type": "markdown", - "id": "194a981e", + "id": "4dd1d6f7", "metadata": {}, "source": [ "Now we can compute the Gini coefficients for five different populations.\n", @@ -606,7 +606,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ef137363", + "id": "430673c6", "metadata": {}, "outputs": [], "source": [ @@ -625,7 +625,7 @@ }, { "cell_type": "markdown", - "id": "bc0a0ff6", + "id": "16819c9e", "metadata": {}, "source": [ "Let's build a function that returns a figure (so that we can use it later in the lecture)." @@ -634,7 +634,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7248cc71", + "id": "17a3be1a", "metadata": {}, "outputs": [], "source": [ @@ -650,7 +650,7 @@ { "cell_type": "code", "execution_count": null, - "id": "57672d0c", + "id": "df21e1c6", "metadata": { "mystnb": { "figure": { @@ -671,7 +671,7 @@ }, { "cell_type": "markdown", - "id": "4210a8f4", + "id": "08b03ac9", "metadata": {}, "source": [ "The plots show that inequality rises with $\\sigma$, according to the Gini\n", @@ -689,7 +689,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2c9d107b", + "id": "ffd8b512", "metadata": {}, "outputs": [], "source": [ @@ -698,7 +698,7 @@ }, { "cell_type": "markdown", - "id": "d7f9a2a3", + "id": "11826e44", "metadata": {}, "source": [ "We now know the series ID is `SI.POV.GINI`.\n", @@ -711,7 +711,7 @@ { "cell_type": "code", "execution_count": null, - "id": "44294d95", + "id": "84a90d04", "metadata": { "mystnb": { "figure": { @@ -739,7 +739,7 @@ }, { "cell_type": "markdown", - "id": "f74ee4f8", + "id": "9c5b1a4f", "metadata": {}, "source": [ "We can see in {numref}`gini_histogram` that across 50 years of data and all countries the measure varies between 20 and 65.\n", @@ -750,7 +750,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c6ba57b4", + "id": "29df75a4", "metadata": {}, "outputs": [], "source": [ @@ -762,7 +762,7 @@ }, { "cell_type": "markdown", - "id": "eaf7a424", + "id": "d1827b64", "metadata": {}, "source": [ "(This package often returns data with year information contained in the columns. This is not always convenient for simple plotting with pandas so it can be useful to transpose the results before plotting.)" @@ -771,7 +771,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e92ef5c9", + "id": "2c4a5b87", "metadata": {}, "outputs": [], "source": [ @@ -781,7 +781,7 @@ }, { "cell_type": "markdown", - "id": "c2c47d58", + "id": "476a9016", "metadata": {}, "source": [ "Let us take a look at the data for the US." @@ -790,7 +790,7 @@ { "cell_type": "code", "execution_count": null, - "id": "76a422b6", + "id": "abf24325", "metadata": { "mystnb": { "figure": { @@ -811,7 +811,7 @@ }, { "cell_type": "markdown", - "id": "282d4add", + "id": "9f4c9971", "metadata": {}, "source": [ "As can be seen in {numref}`gini_usa1`, the income Gini\n", @@ -830,7 +830,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9853bbc5", + "id": "38e5fa60", "metadata": {}, "outputs": [], "source": [ @@ -839,7 +839,7 @@ }, { "cell_type": "markdown", - "id": "5febf838", + "id": "81553311", "metadata": {}, "source": [ "[This notebook](https://github.com/QuantEcon/lecture-python-intro/tree/main/lectures/_static/lecture_specific/inequality/data.ipynb) can be used to compute this information over the full dataset." @@ -848,7 +848,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3dca0343", + "id": "f6982a9d", "metadata": {}, "outputs": [], "source": [ @@ -859,7 +859,7 @@ }, { "cell_type": "markdown", - "id": "3fb81def", + "id": "575c0987", "metadata": {}, "source": [ "Let's plot the Gini coefficients for net wealth." @@ -868,7 +868,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c4bc3e8a", + "id": "031c2c1e", "metadata": { "mystnb": { "figure": { @@ -888,7 +888,7 @@ }, { "cell_type": "markdown", - "id": "bafe6c28", + "id": "e8183d83", "metadata": {}, "source": [ "The time series for the wealth Gini exhibits a U-shape, falling until the early\n", @@ -910,7 +910,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1f6ba0a6", + "id": "dc81a29d", "metadata": {}, "outputs": [], "source": [ @@ -920,7 +920,7 @@ }, { "cell_type": "markdown", - "id": "5f1c8a55", + "id": "36819070", "metadata": {}, "source": [ "There are 167 countries represented in this dataset. \n", @@ -931,7 +931,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9f08d2a1", + "id": "ff8cb0d7", "metadata": { "mystnb": { "figure": { @@ -951,7 +951,7 @@ }, { "cell_type": "markdown", - "id": "fdde8728", + "id": "9aaceb7b", "metadata": {}, "source": [ "We see that Norway has a shorter time series.\n", @@ -962,7 +962,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6a0dca0d", + "id": "897774ce", "metadata": {}, "outputs": [], "source": [ @@ -971,7 +971,7 @@ }, { "cell_type": "markdown", - "id": "d9530ec9", + "id": "0d2fa4b2", "metadata": {}, "source": [ "The data for Norway in this dataset goes back to 1979 but there are gaps in the time series and matplotlib is not showing those data points. \n", @@ -982,7 +982,7 @@ { "cell_type": "code", "execution_count": null, - "id": "00730442", + "id": "13a5b13d", "metadata": { "mystnb": { "figure": { @@ -1003,7 +1003,7 @@ }, { "cell_type": "markdown", - "id": "0b949e56", + "id": "f7bf0264", "metadata": {}, "source": [ "From this plot we can observe that the US has a higher Gini coefficient (i.e.\n", @@ -1024,7 +1024,7 @@ { "cell_type": "code", "execution_count": null, - "id": "27cd2387", + "id": "1af51e24", "metadata": {}, "outputs": [], "source": [ @@ -1037,7 +1037,7 @@ }, { "cell_type": "markdown", - "id": "de66541e", + "id": "3ff53a25", "metadata": {}, "source": [ "We can rearrange the data so that we can plot GDP per capita and the Gini coefficient across years" @@ -1046,7 +1046,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0775ca82", + "id": "6244e6ed", "metadata": {}, "outputs": [], "source": [ @@ -1057,7 +1057,7 @@ }, { "cell_type": "markdown", - "id": "ee7f0da5", + "id": "1eceb1fa", "metadata": {}, "source": [ "Now we can get the GDP per capita data into a shape that can be merged with `plot_data`" @@ -1066,7 +1066,7 @@ { "cell_type": "code", "execution_count": null, - "id": "462361a6", + "id": "bb2988e9", "metadata": {}, "outputs": [], "source": [ @@ -1079,7 +1079,7 @@ }, { "cell_type": "markdown", - "id": "3c6112e9", + "id": "184183d5", "metadata": {}, "source": [ "Now we use Plotly to build a plot with GDP per capita on the y-axis and the Gini coefficient on the x-axis." @@ -1088,7 +1088,7 @@ { "cell_type": "code", "execution_count": null, - "id": "150223a9", + "id": "97d97ae9", "metadata": {}, "outputs": [], "source": [ @@ -1098,7 +1098,7 @@ }, { "cell_type": "markdown", - "id": "93640282", + "id": "39439edd", "metadata": {}, "source": [ "The time series for all three countries start and stop in different years. We will add a year mask to the data to\n", @@ -1108,7 +1108,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6780f607", + "id": "7dd34f0d", "metadata": {}, "outputs": [], "source": [ @@ -1119,7 +1119,7 @@ }, { "cell_type": "markdown", - "id": "1b15cc0f", + "id": "f5092ddc", "metadata": {}, "source": [ "(fig:plotly-gini-gdppc-years)=" @@ -1128,7 +1128,7 @@ { "cell_type": "code", "execution_count": null, - "id": "24db7a41", + "id": "9a13b4b2", "metadata": {}, "outputs": [], "source": [ @@ -1146,7 +1146,7 @@ }, { "cell_type": "markdown", - "id": "526ca6c1", + "id": "7649835c", "metadata": {}, "source": [ "```{only} latex\n", @@ -1197,7 +1197,7 @@ { "cell_type": "code", "execution_count": null, - "id": "79ad423f", + "id": "209e96f1", "metadata": { "tags": [ "hide-input" @@ -1247,7 +1247,7 @@ }, { "cell_type": "markdown", - "id": "2f632d83", + "id": "a63e6e7c", "metadata": {}, "source": [ "Then let's plot the top shares." @@ -1256,7 +1256,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c0e62ee2", + "id": "6db88218", "metadata": { "mystnb": { "figure": { @@ -1282,7 +1282,7 @@ }, { "cell_type": "markdown", - "id": "fe8c7d51", + "id": "0f7a8f16", "metadata": {}, "source": [ "## Exercises\n", @@ -1317,7 +1317,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9df4e51e", + "id": "b4ca1d1b", "metadata": {}, "outputs": [], "source": [ @@ -1332,7 +1332,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9c310a46", + "id": "a92d132a", "metadata": {}, "outputs": [], "source": [ @@ -1358,7 +1358,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bc7b9109", + "id": "8ac7f269", "metadata": { "mystnb": { "figure": { @@ -1383,7 +1383,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cd971950", + "id": "43bc2f48", "metadata": { "mystnb": { "figure": { @@ -1408,7 +1408,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f731585b", + "id": "f12edab3", "metadata": { "mystnb": { "figure": { @@ -1432,7 +1432,7 @@ }, { "cell_type": "markdown", - "id": "3d86bdce", + "id": "e45045af", "metadata": {}, "source": [ "```{solution-end}\n", @@ -1460,7 +1460,7 @@ { "cell_type": "code", "execution_count": null, - "id": "37bcf4e2", + "id": "61611c61", "metadata": {}, "outputs": [], "source": [ @@ -1472,7 +1472,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ba7fc76e", + "id": "758f57eb", "metadata": {}, "outputs": [], "source": [ @@ -1484,7 +1484,7 @@ { "cell_type": "code", "execution_count": null, - "id": "61788b57", + "id": "66561ebb", "metadata": { "mystnb": { "figure": { @@ -1512,7 +1512,7 @@ }, { "cell_type": "markdown", - "id": "add6ff13", + "id": "f7582f48", "metadata": {}, "source": [ "```{solution-end}\n", @@ -1542,7 +1542,7 @@ { "cell_type": "code", "execution_count": null, - "id": "49afc208", + "id": "55f05ca7", "metadata": {}, "outputs": [], "source": [ @@ -1552,7 +1552,7 @@ { "cell_type": "code", "execution_count": null, - "id": "06bf4144", + "id": "098d6c92", "metadata": {}, "outputs": [], "source": [ @@ -1561,7 +1561,7 @@ }, { "cell_type": "markdown", - "id": "46bd5a7f", + "id": "686e948b", "metadata": {}, "source": [ "We will focus on wealth variable `n_wealth` to compute a Gini coefficient for the year 2016." @@ -1570,7 +1570,7 @@ { "cell_type": "code", "execution_count": null, - "id": "79a0d6dd", + "id": "d82073e8", "metadata": {}, "outputs": [], "source": [ @@ -1580,7 +1580,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0d2d9377", + "id": "80558967", "metadata": {}, "outputs": [], "source": [ @@ -1589,7 +1589,7 @@ }, { "cell_type": "markdown", - "id": "40de67aa", + "id": "9e6865bc", "metadata": {}, "source": [ "We can first compute the Gini coefficient using the function defined in the lecture above." @@ -1598,7 +1598,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7187b3a2", + "id": "ffeacb8e", "metadata": {}, "outputs": [], "source": [ @@ -1607,7 +1607,7 @@ }, { "cell_type": "markdown", - "id": "dc904da8", + "id": "818f8561", "metadata": {}, "source": [ "Now we can write a vectorized version using `numpy`" @@ -1616,7 +1616,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2110af02", + "id": "868c328f", "metadata": {}, "outputs": [], "source": [ @@ -1631,7 +1631,7 @@ { "cell_type": "code", "execution_count": null, - "id": "25b679dd", + "id": "828a24d0", "metadata": {}, "outputs": [], "source": [ @@ -1640,7 +1640,7 @@ }, { "cell_type": "markdown", - "id": "9ad6518c", + "id": "75b84c58", "metadata": {}, "source": [ "Let's simulate five populations by drawing from a lognormal distribution as before" @@ -1649,7 +1649,7 @@ { "cell_type": "code", "execution_count": null, - "id": "08816684", + "id": "015225d1", "metadata": {}, "outputs": [], "source": [ @@ -1663,7 +1663,7 @@ }, { "cell_type": "markdown", - "id": "431b6a78", + "id": "328fa812", "metadata": {}, "source": [ "We can compute the Gini coefficient for these five populations using the vectorized function, the computation time is shown below:" @@ -1672,7 +1672,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7d1b1bf1", + "id": "c0c84091", "metadata": {}, "outputs": [], "source": [ @@ -1684,7 +1684,7 @@ }, { "cell_type": "markdown", - "id": "c0589638", + "id": "9ac93ec9", "metadata": {}, "source": [ "This shows the vectorized function is much faster.\n", @@ -1694,7 +1694,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5eff1200", + "id": "f57418af", "metadata": {}, "outputs": [], "source": [ @@ -1703,7 +1703,7 @@ }, { "cell_type": "markdown", - "id": "354b81a8", + "id": "342ba1f3", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/inflation_history.ipynb b/_sources/inflation_history.ipynb index f8d1c2d7..2e272d6d 100644 --- a/_sources/inflation_history.ipynb +++ b/_sources/inflation_history.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "202fc1cc", + "id": "51291cc7", "metadata": {}, "source": [ "# Price Level Histories \n", @@ -17,7 +17,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1233ce49", + "id": "3d97dfa8", "metadata": { "tags": [ "hide-output" @@ -30,7 +30,7 @@ }, { "cell_type": "markdown", - "id": "3322ca8b", + "id": "45d1d750", "metadata": {}, "source": [ "" @@ -39,7 +39,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b97fa1e2", + "id": "c92ebcee", "metadata": { "tags": [ "hide-cell" @@ -56,7 +56,7 @@ }, { "cell_type": "markdown", - "id": "35e971c3", + "id": "651c9173", "metadata": {}, "source": [ "We can then import the Python modules we will use." @@ -65,7 +65,7 @@ { "cell_type": "code", "execution_count": null, - "id": "59877dfe", + "id": "681c3971", "metadata": {}, "outputs": [], "source": [ @@ -77,7 +77,7 @@ }, { "cell_type": "markdown", - "id": "5b3965e1", + "id": "966b7455", "metadata": {}, "source": [ "The rate of growth of the price level is called **inflation** in the popular press and in discussions among central bankers and treasury officials.\n", @@ -119,7 +119,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f316c57f", + "id": "cd03f763", "metadata": {}, "outputs": [], "source": [ @@ -134,7 +134,7 @@ }, { "cell_type": "markdown", - "id": "6193e7e3", + "id": "bd2723ab", "metadata": {}, "source": [ "We first plot price levels over the period 1600-1914.\n", @@ -145,7 +145,7 @@ { "cell_type": "code", "execution_count": null, - "id": "292b1bed", + "id": "487ae9c5", "metadata": { "mystnb": { "figure": { @@ -177,7 +177,7 @@ }, { "cell_type": "markdown", - "id": "1816f20f", + "id": "3a161a5a", "metadata": {}, "source": [ "We say \"most years\" because there were temporary lapses from the gold or silver standard.\n", @@ -230,7 +230,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d09e83f6", + "id": "22c0287b", "metadata": { "mystnb": { "figure": { @@ -259,7 +259,7 @@ }, { "cell_type": "markdown", - "id": "57ad112a", + "id": "dc4809ef", "metadata": {}, "source": [ "{numref}`lrpl_lg` shows that paper-money-printing central banks didn't do as well as the gold and standard silver standard in anchoring price levels.\n", @@ -301,7 +301,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e28604ae", + "id": "31754c25", "metadata": { "tags": [ "hide-input" @@ -367,7 +367,7 @@ }, { "cell_type": "markdown", - "id": "56f24c9a", + "id": "9870b03e", "metadata": {}, "source": [ "Now we write plotting functions `pe_plot` and `pr_plot` that will build figures that show the price level, exchange rates, \n", @@ -377,7 +377,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8d5f46b4", + "id": "46aa168d", "metadata": { "tags": [ "hide-input" @@ -444,7 +444,7 @@ }, { "cell_type": "markdown", - "id": "db0bf2d4", + "id": "c6d4e499", "metadata": {}, "source": [ "We prepare the data for each country" @@ -453,7 +453,7 @@ { "cell_type": "code", "execution_count": null, - "id": "07ba80f7", + "id": "00c9feae", "metadata": {}, "outputs": [], "source": [ @@ -494,7 +494,7 @@ }, { "cell_type": "markdown", - "id": "e08066d2", + "id": "959addf5", "metadata": {}, "source": [ "Now let's construct graphs for our four countries.\n", @@ -521,7 +521,7 @@ { "cell_type": "code", "execution_count": null, - "id": "18da28c0", + "id": "2e0b6e9a", "metadata": { "mystnb": { "figure": { @@ -548,7 +548,7 @@ { "cell_type": "code", "execution_count": null, - "id": "49ee88b9", + "id": "6a474f2c", "metadata": { "mystnb": { "figure": { @@ -568,7 +568,7 @@ }, { "cell_type": "markdown", - "id": "95f960f8", + "id": "2360e779", "metadata": {}, "source": [ "Staring at {numref}`pi_xrate_austria` and {numref}`inflationrate_austria` conveys the following impressions to the authors of this lecture at QuantEcon.\n", @@ -589,7 +589,7 @@ { "cell_type": "code", "execution_count": null, - "id": "52b386c8", + "id": "5af3704a", "metadata": { "mystnb": { "figure": { @@ -616,7 +616,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cd44e398", + "id": "4e9b9664", "metadata": { "mystnb": { "figure": { @@ -636,7 +636,7 @@ }, { "cell_type": "markdown", - "id": "c8493595", + "id": "eb74ccaf", "metadata": {}, "source": [ "### Poland\n", @@ -655,7 +655,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a3f03949", + "id": "cb810092", "metadata": { "mystnb": { "figure": { @@ -694,7 +694,7 @@ { "cell_type": "code", "execution_count": null, - "id": "63197ca4", + "id": "97a6a039", "metadata": {}, "outputs": [], "source": [ @@ -711,7 +711,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c053715a", + "id": "09264798", "metadata": { "mystnb": { "figure": { @@ -731,7 +731,7 @@ }, { "cell_type": "markdown", - "id": "dff369ff", + "id": "67939991", "metadata": {}, "source": [ "### Germany\n", @@ -745,7 +745,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cee75629", + "id": "eca3d7f2", "metadata": { "mystnb": { "figure": { @@ -773,7 +773,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e8d63ab8", + "id": "e39d96be", "metadata": { "mystnb": { "figure": { @@ -807,7 +807,7 @@ { "cell_type": "code", "execution_count": null, - "id": "74af67c2", + "id": "836ba474", "metadata": { "mystnb": { "figure": { @@ -827,7 +827,7 @@ }, { "cell_type": "markdown", - "id": "c916d8f9", + "id": "1a0e9861", "metadata": {}, "source": [ "## Starting and stopping big inflations\n", diff --git a/_sources/input_output.ipynb b/_sources/input_output.ipynb index ffa420b3..8f867f51 100644 --- a/_sources/input_output.ipynb +++ b/_sources/input_output.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "41a66f93", + "id": "a95c0bee", "metadata": {}, "source": [ "# Input-Output Models\n", @@ -15,7 +15,7 @@ { "cell_type": "code", "execution_count": null, - "id": "42bf201f", + "id": "541966b0", "metadata": { "tags": [ "hide-output" @@ -31,7 +31,7 @@ { "cell_type": "code", "execution_count": null, - "id": "117f8510", + "id": "e136ff67", "metadata": {}, "outputs": [], "source": [ @@ -51,7 +51,7 @@ }, { "cell_type": "markdown", - "id": "59969e5e", + "id": "7558ba1c", "metadata": {}, "source": [ "The following figure illustrates a network of linkages among 15 sectors\n", @@ -62,7 +62,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ca01a561", + "id": "ae82dede", "metadata": { "tags": [ "hide-cell" @@ -97,7 +97,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7c34eec7", + "id": "ec5d1bc3", "metadata": { "mystnb": { "figure": { @@ -132,7 +132,7 @@ }, { "cell_type": "markdown", - "id": "943bb8eb", + "id": "3b3242f2", "metadata": {}, "source": [ "|Label| Sector |Label| Sector |Label| Sector |\n", @@ -186,7 +186,7 @@ { "cell_type": "code", "execution_count": null, - "id": "450ffecc", + "id": "727ef8dc", "metadata": { "tags": [ "hide-input" @@ -231,7 +231,7 @@ }, { "cell_type": "markdown", - "id": "84999c25", + "id": "9d184d9f", "metadata": {}, "source": [ "**Feasible allocations must satisfy**\n", @@ -250,7 +250,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fe1103ed", + "id": "370a522a", "metadata": { "tags": [ "hide-input" @@ -289,7 +289,7 @@ }, { "cell_type": "markdown", - "id": "aa0ffaa4", + "id": "696f0361", "metadata": { "user_expressions": [] }, @@ -348,7 +348,7 @@ { "cell_type": "code", "execution_count": null, - "id": "290cbd69", + "id": "93b3383b", "metadata": {}, "outputs": [], "source": [ @@ -360,7 +360,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6857274c", + "id": "5f5a1ed9", "metadata": {}, "outputs": [], "source": [ @@ -371,7 +371,7 @@ }, { "cell_type": "markdown", - "id": "17591d49", + "id": "8f335d01", "metadata": {}, "source": [ "Let's check the **Hawkins-Simon conditions**" @@ -380,7 +380,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c140cb92", + "id": "5d2a39e3", "metadata": {}, "outputs": [], "source": [ @@ -389,7 +389,7 @@ }, { "cell_type": "markdown", - "id": "525a7c53", + "id": "d58d0f7e", "metadata": {}, "source": [ "Now, let's compute the **Leontief inverse** matrix" @@ -398,7 +398,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7114da0d", + "id": "8984ac5c", "metadata": {}, "outputs": [], "source": [ @@ -409,7 +409,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b783b2cf", + "id": "5f1d7443", "metadata": {}, "outputs": [], "source": [ @@ -419,7 +419,7 @@ }, { "cell_type": "markdown", - "id": "34449312", + "id": "5c8ff1aa", "metadata": { "user_expressions": [] }, @@ -464,7 +464,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bf08a62a", + "id": "089653fc", "metadata": {}, "outputs": [], "source": [ @@ -475,7 +475,7 @@ }, { "cell_type": "markdown", - "id": "aa1cccdb", + "id": "562515c3", "metadata": { "user_expressions": [] }, @@ -489,7 +489,7 @@ }, { "cell_type": "markdown", - "id": "f3084c26", + "id": "4ee65bc4", "metadata": { "user_expressions": [] }, @@ -580,7 +580,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7667bb09", + "id": "6cd3e826", "metadata": { "tags": [ "hide-input" @@ -618,7 +618,7 @@ }, { "cell_type": "markdown", - "id": "bcc3ff1e", + "id": "b2913ceb", "metadata": { "user_expressions": [] }, @@ -681,7 +681,7 @@ { "cell_type": "code", "execution_count": null, - "id": "224e38d2", + "id": "26df9d00", "metadata": { "tags": [ "hide-input" @@ -697,7 +697,7 @@ }, { "cell_type": "markdown", - "id": "650c2474", + "id": "bfd8241f", "metadata": {}, "source": [ "A higher measure indicates higher importance as a supplier.\n", @@ -742,7 +742,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f48323a1", + "id": "bc7fa2d6", "metadata": { "tags": [ "hide-input" @@ -762,7 +762,7 @@ }, { "cell_type": "markdown", - "id": "3c8d2ab2", + "id": "26648409", "metadata": {}, "source": [ "We observe that manufacturing and agriculture are highest ranking sectors.\n", @@ -839,7 +839,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c258ab7b", + "id": "1412ce61", "metadata": {}, "outputs": [], "source": [ @@ -851,7 +851,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4028b49c", + "id": "7a10ab46", "metadata": {}, "outputs": [], "source": [ @@ -863,7 +863,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c0a77485", + "id": "27f73a8d", "metadata": {}, "outputs": [], "source": [ @@ -873,7 +873,7 @@ }, { "cell_type": "markdown", - "id": "c91fe46a", + "id": "185530b1", "metadata": { "user_expressions": [] }, diff --git a/_sources/intro.ipynb b/_sources/intro.ipynb index 77871e1c..903b0d39 100644 --- a/_sources/intro.ipynb +++ b/_sources/intro.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "d7957ec6", + "id": "5353bbd2", "metadata": {}, "source": [ "# A First Course in Quantitative Economics with Python\n", diff --git a/_sources/intro_supply_demand.ipynb b/_sources/intro_supply_demand.ipynb index e8ccc2cb..9efac065 100644 --- a/_sources/intro_supply_demand.ipynb +++ b/_sources/intro_supply_demand.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "8e25cfab", + "id": "66e54d70", "metadata": {}, "source": [ "# Introduction to Supply and Demand\n", @@ -52,7 +52,7 @@ { "cell_type": "code", "execution_count": null, - "id": "82a5928d", + "id": "62e2ef5a", "metadata": {}, "outputs": [], "source": [ @@ -63,7 +63,7 @@ }, { "cell_type": "markdown", - "id": "79ce5d4d", + "id": "72899cee", "metadata": {}, "source": [ "## Consumer surplus\n", @@ -109,7 +109,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7ba79044", + "id": "6eb080eb", "metadata": { "mystnb": { "figure": { @@ -138,7 +138,7 @@ }, { "cell_type": "markdown", - "id": "725c2edc", + "id": "ca99aabd", "metadata": {}, "source": [ "The total consumer surplus in this market is \n", @@ -182,7 +182,7 @@ { "cell_type": "code", "execution_count": null, - "id": "df17f703", + "id": "af3ce764", "metadata": { "mystnb": { "figure": { @@ -215,7 +215,7 @@ }, { "cell_type": "markdown", - "id": "5adf4a4a", + "id": "a6fc4b7a", "metadata": {}, "source": [ "Reasoning by analogy with the discrete case, the area under the demand curve and above the price is called the **consumer surplus**, and is a measure of total gains from trade on the part of consumers.\n", @@ -226,7 +226,7 @@ { "cell_type": "code", "execution_count": null, - "id": "36fb45c3", + "id": "35a6cf77", "metadata": { "mystnb": { "figure": { @@ -260,7 +260,7 @@ }, { "cell_type": "markdown", - "id": "2ccc60af", + "id": "582a3581", "metadata": {}, "source": [ "The value $q^*$ is where the inverse demand curve meets price.\n", @@ -277,7 +277,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e03b9a8c", + "id": "42d42747", "metadata": { "mystnb": { "figure": { @@ -304,7 +304,7 @@ }, { "cell_type": "markdown", - "id": "c5cd85db", + "id": "a5bda22c", "metadata": {}, "source": [ "Let $v_i$ be the price at which producer $i$ is willing to sell the good.\n", @@ -336,7 +336,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e0517c72", + "id": "d5cb9263", "metadata": { "mystnb": { "figure": { @@ -375,7 +375,7 @@ }, { "cell_type": "markdown", - "id": "e21a981d", + "id": "4c7cac87", "metadata": {}, "source": [ "(integration)=\n", @@ -397,7 +397,7 @@ { "cell_type": "code", "execution_count": null, - "id": "70db6cc9", + "id": "83f8de4f", "metadata": { "mystnb": { "figure": { @@ -426,7 +426,7 @@ }, { "cell_type": "markdown", - "id": "1d8b83d0", + "id": "8eefc08b", "metadata": {}, "source": [ "There are many rules for calculating integrals, with different rules applying to different choices of $f$.\n", @@ -483,7 +483,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f0bff520", + "id": "a47164f3", "metadata": {}, "outputs": [], "source": [ @@ -496,7 +496,7 @@ }, { "cell_type": "markdown", - "id": "b285cb90", + "id": "77f0f30d", "metadata": {}, "source": [ "The function below creates an instance of a Market namedtuple with default values." @@ -505,7 +505,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a2c270c3", + "id": "e2339617", "metadata": {}, "outputs": [], "source": [ @@ -515,7 +515,7 @@ }, { "cell_type": "markdown", - "id": "40c5d0ed", + "id": "6ec72dac", "metadata": {}, "source": [ "This `market` can then be used by our `inverse_demand` and `inverse_supply` functions." @@ -524,7 +524,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e9899eba", + "id": "8c386be9", "metadata": {}, "outputs": [], "source": [ @@ -537,7 +537,7 @@ }, { "cell_type": "markdown", - "id": "05dcaa82", + "id": "b0caea54", "metadata": {}, "source": [ "Here is a plot of these two functions using `market`." @@ -546,7 +546,7 @@ { "cell_type": "code", "execution_count": null, - "id": "75d6c01a", + "id": "62b47d9f", "metadata": { "mystnb": { "figure": { @@ -578,7 +578,7 @@ }, { "cell_type": "markdown", - "id": "96fc900b", + "id": "5fe9d3b6", "metadata": {}, "source": [ "In the above graph, an **equilibrium** price-quantity pair occurs at the intersection of the supply and demand curves. \n", @@ -602,7 +602,7 @@ { "cell_type": "code", "execution_count": null, - "id": "31912329", + "id": "45f6a29b", "metadata": { "mystnb": { "figure": { @@ -644,7 +644,7 @@ }, { "cell_type": "markdown", - "id": "e41c22c6", + "id": "852c4811", "metadata": {}, "source": [ "Consumer surplus provides a measure of total consumer welfare at quantity $q$.\n", @@ -682,7 +682,7 @@ { "cell_type": "code", "execution_count": null, - "id": "be2a9250", + "id": "987ada14", "metadata": { "mystnb": { "figure": { @@ -724,7 +724,7 @@ }, { "cell_type": "markdown", - "id": "4e00b71c", + "id": "ed5fc515", "metadata": {}, "source": [ "Producer surplus measures total producer welfare at quantity $q$ \n", @@ -769,7 +769,7 @@ { "cell_type": "code", "execution_count": null, - "id": "832e655b", + "id": "e60ead07", "metadata": {}, "outputs": [], "source": [ @@ -780,7 +780,7 @@ }, { "cell_type": "markdown", - "id": "33cfdd7a", + "id": "9a4bd4cf", "metadata": {}, "source": [ "The next figure plots welfare as a function of $q$." @@ -789,7 +789,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d969b0f6", + "id": "c7b9a22e", "metadata": { "mystnb": { "figure": { @@ -813,7 +813,7 @@ }, { "cell_type": "markdown", - "id": "c481e943", + "id": "65d8b00d", "metadata": {}, "source": [ "Let's now give a social planner the task of maximizing social welfare.\n", @@ -917,7 +917,7 @@ { "cell_type": "code", "execution_count": null, - "id": "26664c3b", + "id": "bfaf34cd", "metadata": {}, "outputs": [], "source": [ @@ -930,7 +930,7 @@ }, { "cell_type": "markdown", - "id": "b2b07e5f", + "id": "04113496", "metadata": {}, "source": [ "Here is a plot of inverse supply and demand." @@ -939,7 +939,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ba08dbd6", + "id": "a06ba5ab", "metadata": {}, "outputs": [], "source": [ @@ -963,7 +963,7 @@ }, { "cell_type": "markdown", - "id": "769ccece", + "id": "3fa391e2", "metadata": {}, "source": [ "```{solution-end}\n", @@ -1025,7 +1025,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fe6215ec", + "id": "ad3de16d", "metadata": {}, "outputs": [], "source": [ @@ -1038,7 +1038,7 @@ }, { "cell_type": "markdown", - "id": "1526aaf5", + "id": "e9f2c1cc", "metadata": {}, "source": [ "The next figure plots welfare as a function of $q$." @@ -1047,7 +1047,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c2b73703", + "id": "e5cbcb46", "metadata": {}, "outputs": [], "source": [ @@ -1060,7 +1060,7 @@ }, { "cell_type": "markdown", - "id": "5f001668", + "id": "9f96f883", "metadata": {}, "source": [ "```{solution-end}\n", @@ -1092,7 +1092,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7c0ac5d5", + "id": "df01a7d3", "metadata": {}, "outputs": [], "source": [ @@ -1108,7 +1108,7 @@ { "cell_type": "code", "execution_count": null, - "id": "779da70c", + "id": "7b74ac6d", "metadata": {}, "outputs": [], "source": [ @@ -1118,7 +1118,7 @@ }, { "cell_type": "markdown", - "id": "b86039f5", + "id": "674d1ba8", "metadata": {}, "source": [ "```{solution-end}\n", @@ -1163,7 +1163,7 @@ { "cell_type": "code", "execution_count": null, - "id": "73ec22b7", + "id": "280cdefc", "metadata": {}, "outputs": [], "source": [ @@ -1178,7 +1178,7 @@ }, { "cell_type": "markdown", - "id": "2b5bb2a5", + "id": "783ed97d", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/laffer_adaptive.ipynb b/_sources/laffer_adaptive.ipynb index 2f5261af..9384424d 100644 --- a/_sources/laffer_adaptive.ipynb +++ b/_sources/laffer_adaptive.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "ecd28fdf", + "id": "d879ce75", "metadata": {}, "source": [ "# Laffer Curves with Adaptive Expectations \n", @@ -163,7 +163,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2f653ab7", + "id": "dd34e734", "metadata": {}, "outputs": [], "source": [ @@ -179,7 +179,7 @@ }, { "cell_type": "markdown", - "id": "066f3564", + "id": "69981417", "metadata": { "user_expressions": [] }, @@ -190,7 +190,7 @@ { "cell_type": "code", "execution_count": null, - "id": "039c947a", + "id": "9a347ff2", "metadata": {}, "outputs": [], "source": [ @@ -209,7 +209,7 @@ }, { "cell_type": "markdown", - "id": "9a9e86e7", + "id": "e2591a32", "metadata": {}, "source": [ "Now we write code that computes steady-state $\\bar \\pi$s." @@ -218,7 +218,7 @@ { "cell_type": "code", "execution_count": null, - "id": "744f3e59", + "id": "14e001f5", "metadata": {}, "outputs": [], "source": [ @@ -238,7 +238,7 @@ }, { "cell_type": "markdown", - "id": "8d346651", + "id": "8199f064", "metadata": {}, "source": [ "We find two steady state $\\bar \\pi$ values\n", @@ -251,7 +251,7 @@ { "cell_type": "code", "execution_count": null, - "id": "79e176c0", + "id": "285af41b", "metadata": { "mystnb": { "figure": { @@ -297,7 +297,7 @@ }, { "cell_type": "markdown", - "id": "f000719c", + "id": "b9c22519", "metadata": {}, "source": [ "## Associated Initial Price Levels\n", @@ -314,7 +314,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c0b1e8b4", + "id": "40ff486c", "metadata": {}, "outputs": [], "source": [ @@ -330,7 +330,7 @@ }, { "cell_type": "markdown", - "id": "c286487d", + "id": "7982fbf6", "metadata": {}, "source": [ "### Verification \n", @@ -343,7 +343,7 @@ { "cell_type": "code", "execution_count": null, - "id": "96cdcdc9", + "id": "d86190e2", "metadata": {}, "outputs": [], "source": [ @@ -381,7 +381,7 @@ }, { "cell_type": "markdown", - "id": "4dc5ee81", + "id": "b8a16d71", "metadata": {}, "source": [ "Compute limiting values starting from $p_{-1}$ associated with $\\pi_l$" @@ -390,7 +390,7 @@ { "cell_type": "code", "execution_count": null, - "id": "77495304", + "id": "356d4406", "metadata": {}, "outputs": [], "source": [ @@ -408,7 +408,7 @@ }, { "cell_type": "markdown", - "id": "eb1603bd", + "id": "101e33e5", "metadata": {}, "source": [ "Compute limiting values starting from $p_{-1}$ associated with $\\pi_u$" @@ -417,7 +417,7 @@ { "cell_type": "code", "execution_count": null, - "id": "04805625", + "id": "92883f0e", "metadata": {}, "outputs": [], "source": [ @@ -435,7 +435,7 @@ }, { "cell_type": "markdown", - "id": "1bbd6c0e", + "id": "a7b0faf7", "metadata": {}, "source": [ "## Slippery Side of Laffer Curve Dynamics\n", @@ -453,7 +453,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f4060632", + "id": "982e4e51", "metadata": { "tags": [ "hide-cell" @@ -496,7 +496,7 @@ }, { "cell_type": "markdown", - "id": "dc38c4ee", + "id": "4e174b9c", "metadata": {}, "source": [ "Let's simulate the result generated by varying the initial $\\pi_{-1}$ and corresponding $p_{-1}$" @@ -505,7 +505,7 @@ { "cell_type": "code", "execution_count": null, - "id": "703c1d08", + "id": "ca0fa86a", "metadata": { "mystnb": { "figure": { diff --git a/_sources/lake_model.ipynb b/_sources/lake_model.ipynb index 208ef5ab..2a9add45 100644 --- a/_sources/lake_model.ipynb +++ b/_sources/lake_model.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "6315a3e5", + "id": "db3be6c2", "metadata": {}, "source": [ "# A Lake Model of Employment\n", @@ -15,7 +15,7 @@ { "cell_type": "code", "execution_count": null, - "id": "145b6a70", + "id": "0c9f4c3b", "metadata": {}, "outputs": [], "source": [ @@ -25,7 +25,7 @@ }, { "cell_type": "markdown", - "id": "92cf3afb", + "id": "888feb10", "metadata": {}, "source": [ "## The Lake model\n", @@ -109,7 +109,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c3fadc5c", + "id": "a5a9ac6a", "metadata": {}, "outputs": [], "source": [ @@ -173,7 +173,7 @@ { "cell_type": "code", "execution_count": null, - "id": "87e94bee", + "id": "55d7959d", "metadata": {}, "outputs": [], "source": [ @@ -208,7 +208,7 @@ }, { "cell_type": "markdown", - "id": "5ba10236", + "id": "4d0bb094", "metadata": {}, "source": [ "Not surprisingly, we observe that labor force $n_t$ increases at a constant rate.\n", @@ -318,7 +318,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fd559d39", + "id": "c36159a8", "metadata": {}, "outputs": [], "source": [ @@ -397,7 +397,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c11fd5b5", + "id": "f90153fa", "metadata": {}, "outputs": [], "source": [ @@ -408,7 +408,7 @@ }, { "cell_type": "markdown", - "id": "0e8c1e24", + "id": "1032fd72", "metadata": {}, "source": [ "Since $\\bar{x}$ is an eigenvector corresponding to the eigenvalue $r(A)$, all the vectors in the set\n", @@ -437,7 +437,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d1020edb", + "id": "c486245c", "metadata": {}, "outputs": [], "source": [ @@ -447,7 +447,7 @@ }, { "cell_type": "markdown", - "id": "cc741786", + "id": "81aa5678", "metadata": {}, "source": [ "Thus, while the sequence of iterates still moves towards the dominant eigenvector $\\bar{x}$, in this case\n", @@ -514,7 +514,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4b08e431", + "id": "570fcd46", "metadata": {}, "outputs": [], "source": [ @@ -554,7 +554,7 @@ }, { "cell_type": "markdown", - "id": "a7d42cd3", + "id": "1b8fdb55", "metadata": {}, "source": [ "To provide more intuition for convergence, we further explain the convergence below without the Perron-Frobenius theorem.\n", @@ -620,7 +620,7 @@ { "cell_type": "code", "execution_count": null, - "id": "72f0d36a", + "id": "682e7230", "metadata": {}, "outputs": [], "source": [ @@ -641,7 +641,7 @@ }, { "cell_type": "markdown", - "id": "b4bc523b", + "id": "518d3853", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/linear_equations.ipynb b/_sources/linear_equations.ipynb index df9d2022..2ed0a4f7 100644 --- a/_sources/linear_equations.ipynb +++ b/_sources/linear_equations.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "d5a42b1f", + "id": "560b4365", "metadata": {}, "source": [ "# Linear Equations and Matrix Algebra\n", @@ -39,7 +39,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6605106a", + "id": "59c28274", "metadata": {}, "outputs": [], "source": [ @@ -49,7 +49,7 @@ }, { "cell_type": "markdown", - "id": "86168f2f", + "id": "012e05da", "metadata": {}, "source": [ "## A two good example\n", @@ -162,7 +162,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b3d9796a", + "id": "d5c0fdee", "metadata": { "tags": [ "hide-input" @@ -192,7 +192,7 @@ }, { "cell_type": "markdown", - "id": "e0ac69dc", + "id": "f18fdc15", "metadata": {}, "source": [ "### Vector operations\n", @@ -263,7 +263,7 @@ { "cell_type": "code", "execution_count": null, - "id": "642d1188", + "id": "e88b770a", "metadata": { "tags": [ "hide-input" @@ -306,7 +306,7 @@ }, { "cell_type": "markdown", - "id": "3880b93f", + "id": "408d521d", "metadata": {}, "source": [ "Scalar multiplication is an operation that multiplies a vector $x$ with a scalar elementwise.\n", @@ -351,7 +351,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0c439b28", + "id": "2f2f92fe", "metadata": { "tags": [ "hide-input" @@ -391,7 +391,7 @@ }, { "cell_type": "markdown", - "id": "e9423037", + "id": "e9ffba82", "metadata": {}, "source": [ "In Python, a vector can be represented as a list or tuple, \n", @@ -407,7 +407,7 @@ { "cell_type": "code", "execution_count": null, - "id": "44267672", + "id": "db053bca", "metadata": {}, "outputs": [], "source": [ @@ -419,7 +419,7 @@ { "cell_type": "code", "execution_count": null, - "id": "72153f84", + "id": "6ed11bed", "metadata": {}, "outputs": [], "source": [ @@ -428,7 +428,7 @@ }, { "cell_type": "markdown", - "id": "dfaefb33", + "id": "cee69a98", "metadata": {}, "source": [ "### Inner product and norm\n", @@ -471,7 +471,7 @@ { "cell_type": "code", "execution_count": null, - "id": "eb80b55e", + "id": "92b50631", "metadata": {}, "outputs": [], "source": [ @@ -481,7 +481,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3e554d1b", + "id": "f53be10a", "metadata": {}, "outputs": [], "source": [ @@ -491,7 +491,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cdc201ff", + "id": "ccbad3a8", "metadata": {}, "outputs": [], "source": [ @@ -501,7 +501,7 @@ { "cell_type": "code", "execution_count": null, - "id": "121d8a12", + "id": "2b2a9816", "metadata": {}, "outputs": [], "source": [ @@ -510,7 +510,7 @@ }, { "cell_type": "markdown", - "id": "f0f39803", + "id": "2bc678e1", "metadata": {}, "source": [ "## Matrix operations\n", @@ -740,7 +740,7 @@ { "cell_type": "code", "execution_count": null, - "id": "14f979a7", + "id": "124388e3", "metadata": {}, "outputs": [], "source": [ @@ -753,7 +753,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f39ee6b9", + "id": "1523fdd0", "metadata": {}, "outputs": [], "source": [ @@ -765,7 +765,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ce5c2785", + "id": "600d6092", "metadata": {}, "outputs": [], "source": [ @@ -774,7 +774,7 @@ }, { "cell_type": "markdown", - "id": "f8021be5", + "id": "7d0d1ed2", "metadata": {}, "source": [ "The `shape` attribute is a tuple giving the number of rows and columns ---\n", @@ -792,7 +792,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3f8d7bc5", + "id": "87c572ea", "metadata": {}, "outputs": [], "source": [ @@ -804,7 +804,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7a68689d", + "id": "501a4034", "metadata": {}, "outputs": [], "source": [ @@ -813,7 +813,7 @@ }, { "cell_type": "markdown", - "id": "f0db06da", + "id": "f5d37267", "metadata": {}, "source": [ "To multiply matrices we use the `@` symbol.\n", @@ -1052,7 +1052,7 @@ { "cell_type": "code", "execution_count": null, - "id": "448fad0a", + "id": "fa623c75", "metadata": {}, "outputs": [], "source": [ @@ -1066,7 +1066,7 @@ }, { "cell_type": "markdown", - "id": "3a393842", + "id": "43421501", "metadata": { "tags": [] }, @@ -1210,7 +1210,7 @@ { "cell_type": "code", "execution_count": null, - "id": "798bd3e0", + "id": "a8e6fec4", "metadata": {}, "outputs": [], "source": [ @@ -1220,7 +1220,7 @@ }, { "cell_type": "markdown", - "id": "2237169c", + "id": "71046fad", "metadata": {}, "source": [ "Now we change this to a NumPy array." @@ -1229,7 +1229,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e15f3b3f", + "id": "e08721ce", "metadata": {}, "outputs": [], "source": [ @@ -1239,7 +1239,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5989834e", + "id": "139ddfb4", "metadata": {}, "outputs": [], "source": [ @@ -1251,7 +1251,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f7c13f45", + "id": "50dd61a5", "metadata": {}, "outputs": [], "source": [ @@ -1262,7 +1262,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2ed7e035", + "id": "191f738d", "metadata": {}, "outputs": [], "source": [ @@ -1275,7 +1275,7 @@ { "cell_type": "code", "execution_count": null, - "id": "953bf065", + "id": "9e227038", "metadata": {}, "outputs": [], "source": [ @@ -1286,7 +1286,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b851522a", + "id": "3a5e82d3", "metadata": {}, "outputs": [], "source": [ @@ -1297,7 +1297,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f729d047", + "id": "11500cc0", "metadata": {}, "outputs": [], "source": [ @@ -1307,7 +1307,7 @@ }, { "cell_type": "markdown", - "id": "cac6e1a8", + "id": "540957dc", "metadata": {}, "source": [ "Notice that we get the same solutions as the pencil and paper case.\n", @@ -1318,7 +1318,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a2e3aba4", + "id": "fc899d4e", "metadata": {}, "outputs": [], "source": [ @@ -1330,7 +1330,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5bd382ff", + "id": "a73f95c7", "metadata": {}, "outputs": [], "source": [ @@ -1340,7 +1340,7 @@ }, { "cell_type": "markdown", - "id": "ed11ff5f", + "id": "98a101ab", "metadata": {}, "source": [ "Observe how we can solve for $x = A^{-1} y$ by either via `inv(A) @ y`, or using `solve(A, y)`.\n", @@ -1431,7 +1431,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3417a2f2", + "id": "c3b2e1a5", "metadata": {}, "outputs": [], "source": [ @@ -1451,7 +1451,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f135723e", + "id": "2a391852", "metadata": {}, "outputs": [], "source": [ @@ -1467,7 +1467,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a8d89157", + "id": "813b64a9", "metadata": {}, "outputs": [], "source": [ @@ -1479,7 +1479,7 @@ }, { "cell_type": "markdown", - "id": "e5f66510", + "id": "7d29fea3", "metadata": {}, "source": [ "The solution is given by:\n", @@ -1583,7 +1583,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ba802039", + "id": "5e726e6a", "metadata": {}, "outputs": [], "source": [ @@ -1594,7 +1594,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d06eaf73", + "id": "41192871", "metadata": {}, "outputs": [], "source": [ @@ -1615,7 +1615,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1203e81c", + "id": "4ac31489", "metadata": {}, "outputs": [], "source": [ @@ -1626,7 +1626,7 @@ { "cell_type": "code", "execution_count": null, - "id": "982a4271", + "id": "f1f672cd", "metadata": { "tags": [ "hide-input" @@ -1640,7 +1640,7 @@ }, { "cell_type": "markdown", - "id": "f770e200", + "id": "e8b4ed9a", "metadata": {}, "source": [ "Here is a visualization of how the least squares method approximates the equation of a line connecting a set of points.\n", @@ -1651,7 +1651,7 @@ { "cell_type": "code", "execution_count": null, - "id": "579c9ce2", + "id": "4cb07430", "metadata": {}, "outputs": [], "source": [ @@ -1671,7 +1671,7 @@ }, { "cell_type": "markdown", - "id": "f0fcd0a3", + "id": "979b49f1", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/lln_clt.ipynb b/_sources/lln_clt.ipynb index 1f6ca012..9ee1388d 100644 --- a/_sources/lln_clt.ipynb +++ b/_sources/lln_clt.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "67b0f14c", + "id": "4a7f4f5a", "metadata": {}, "source": [ "# LLN and CLT\n", @@ -30,7 +30,7 @@ { "cell_type": "code", "execution_count": null, - "id": "862c5a57", + "id": "9848839f", "metadata": {}, "outputs": [], "source": [ @@ -41,7 +41,7 @@ }, { "cell_type": "markdown", - "id": "e0735f5c", + "id": "d7fb73a7", "metadata": {}, "source": [ "(lln_mr)=\n", @@ -85,7 +85,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d609c3b2", + "id": "510bd53f", "metadata": {}, "outputs": [], "source": [ @@ -96,7 +96,7 @@ }, { "cell_type": "markdown", - "id": "8a0638d8", + "id": "4757efaa", "metadata": {}, "source": [ "In this setting, the LLN tells us if we flip the coin many times, the fraction\n", @@ -110,7 +110,7 @@ { "cell_type": "code", "execution_count": null, - "id": "66aa8ac6", + "id": "f670d01d", "metadata": {}, "outputs": [], "source": [ @@ -121,7 +121,7 @@ }, { "cell_type": "markdown", - "id": "9c45d913", + "id": "04e07b61", "metadata": {}, "source": [ "If we change $p$ the claim still holds:" @@ -130,7 +130,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c24d4078", + "id": "ea2ccd0b", "metadata": {}, "outputs": [], "source": [ @@ -141,7 +141,7 @@ }, { "cell_type": "markdown", - "id": "c7d4fbeb", + "id": "8a949803", "metadata": {}, "source": [ "Let's connect this to the discussion above, where we said the sample average\n", @@ -288,7 +288,7 @@ { "cell_type": "code", "execution_count": null, - "id": "48d7cc38", + "id": "9191a62f", "metadata": {}, "outputs": [], "source": [ @@ -304,7 +304,7 @@ }, { "cell_type": "markdown", - "id": "391911c6", + "id": "68459eb8", "metadata": {}, "source": [ "Now we write a function to generate $m$ sample means and histogram them." @@ -313,7 +313,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e3717d70", + "id": "9d3b43e6", "metadata": {}, "outputs": [], "source": [ @@ -342,7 +342,7 @@ }, { "cell_type": "markdown", - "id": "3cbdc56d", + "id": "e08b104a", "metadata": {}, "source": [ "Now we call the function." @@ -351,7 +351,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4511ee42", + "id": "e655b0ef", "metadata": {}, "outputs": [], "source": [ @@ -363,7 +363,7 @@ }, { "cell_type": "markdown", - "id": "73518fe1", + "id": "ed38ec30", "metadata": {}, "source": [ "We can see that the distribution of $\\bar X$ is clustered around $\\mathbb E X$\n", @@ -379,7 +379,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c80ac887", + "id": "dfd53137", "metadata": {}, "outputs": [], "source": [ @@ -413,7 +413,7 @@ }, { "cell_type": "markdown", - "id": "54b898e6", + "id": "5bf71321", "metadata": {}, "source": [ "Let's try with a normal distribution." @@ -422,7 +422,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fe611dd0", + "id": "0fa8dbd8", "metadata": {}, "outputs": [], "source": [ @@ -431,7 +431,7 @@ }, { "cell_type": "markdown", - "id": "1718772c", + "id": "f42e9417", "metadata": {}, "source": [ "As $n$ gets large, more probability mass clusters around the population mean $\\mu$.\n", @@ -442,7 +442,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b8d3f5e6", + "id": "390632dc", "metadata": {}, "outputs": [], "source": [ @@ -451,7 +451,7 @@ }, { "cell_type": "markdown", - "id": "8e57fef2", + "id": "3c7d3148", "metadata": {}, "source": [ "We get a similar result." @@ -459,7 +459,7 @@ }, { "cell_type": "markdown", - "id": "7db03b89", + "id": "1745eea3", "metadata": {}, "source": [ "## Breaking the LLN\n", @@ -487,7 +487,7 @@ }, { "cell_type": "markdown", - "id": "5cc7575f", + "id": "2b98a947", "metadata": {}, "source": [ "### Failure of the IID condition\n", @@ -533,7 +533,7 @@ }, { "cell_type": "markdown", - "id": "529cac33", + "id": "89ad0ee4", "metadata": {}, "source": [ "## Central limit theorem\n", @@ -599,7 +599,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ba72b0d4", + "id": "0008fdb1", "metadata": {}, "outputs": [], "source": [ @@ -634,7 +634,7 @@ }, { "cell_type": "markdown", - "id": "728a99a0", + "id": "40fdddc4", "metadata": {}, "source": [ "(Notice the absence of for loops --- every operation is vectorized, meaning that the major calculations are all shifted to fast C code.)\n", @@ -662,7 +662,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4b173e2a", + "id": "440aeab9", "metadata": {}, "outputs": [], "source": [ @@ -695,7 +695,7 @@ }, { "cell_type": "markdown", - "id": "66a2314e", + "id": "cbd9fcd8", "metadata": {}, "source": [ "```{solution-end}\n", @@ -826,7 +826,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5bde31d7", + "id": "751bf54c", "metadata": {}, "outputs": [], "source": [ @@ -861,7 +861,7 @@ }, { "cell_type": "markdown", - "id": "ebfbc10f", + "id": "6fe1b068", "metadata": {}, "source": [ "We see the convergence of $\\bar x$ around $\\mu$ even when the independence assumption is violated.\n", diff --git a/_sources/long_run_growth.ipynb b/_sources/long_run_growth.ipynb index c414fe0f..c694d2c3 100644 --- a/_sources/long_run_growth.ipynb +++ b/_sources/long_run_growth.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "13d0559a", + "id": "b8d9e70d", "metadata": {}, "source": [ "# Long-Run Growth\n", @@ -62,7 +62,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c5818a27", + "id": "65bf4061", "metadata": {}, "outputs": [], "source": [ @@ -75,7 +75,7 @@ }, { "cell_type": "markdown", - "id": "2a22b217", + "id": "f9fdeebd", "metadata": {}, "source": [ "## Setting up\n", @@ -95,7 +95,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5bf0cba8", + "id": "49863d71", "metadata": {}, "outputs": [], "source": [ @@ -107,7 +107,7 @@ }, { "cell_type": "markdown", - "id": "6ebc1453", + "id": "2bf4e435", "metadata": {}, "source": [ "We can see that this dataset contains GDP per capita (`gdppc`) and population (pop) for many countries and years.\n", @@ -118,7 +118,7 @@ { "cell_type": "code", "execution_count": null, - "id": "15ada17e", + "id": "b373afac", "metadata": {}, "outputs": [], "source": [ @@ -128,7 +128,7 @@ }, { "cell_type": "markdown", - "id": "0209da0e", + "id": "d95f2f0b", "metadata": {}, "source": [ "We can now explore some of the 169 countries that are available. \n", @@ -139,7 +139,7 @@ { "cell_type": "code", "execution_count": null, - "id": "74125b67", + "id": "02ef1586", "metadata": {}, "outputs": [], "source": [ @@ -155,7 +155,7 @@ }, { "cell_type": "markdown", - "id": "8ad14928", + "id": "06b345c8", "metadata": {}, "source": [ "Let's now reshape the original data into some convenient variables to enable quicker access to countries' time series data.\n", @@ -166,7 +166,7 @@ { "cell_type": "code", "execution_count": null, - "id": "50949a04", + "id": "9d248428", "metadata": {}, "outputs": [], "source": [ @@ -176,7 +176,7 @@ }, { "cell_type": "markdown", - "id": "38456efa", + "id": "ad3ae1cc", "metadata": {}, "source": [ "Now we can focus on GDP per capita (`gdppc`) and generate a wide data format" @@ -185,7 +185,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3f355920", + "id": "fa37da7b", "metadata": {}, "outputs": [], "source": [ @@ -196,7 +196,7 @@ { "cell_type": "code", "execution_count": null, - "id": "afcd9e2b", + "id": "a8bbd04d", "metadata": {}, "outputs": [], "source": [ @@ -205,7 +205,7 @@ }, { "cell_type": "markdown", - "id": "4cc481c7", + "id": "21a227c1", "metadata": {}, "source": [ "We create a variable `color_mapping` to store a map between country codes and colors for consistency" @@ -214,7 +214,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b3086160", + "id": "efe46bac", "metadata": { "tags": [ "hide-input" @@ -234,7 +234,7 @@ }, { "cell_type": "markdown", - "id": "fd7567ab", + "id": "9d0e13b9", "metadata": {}, "source": [ "## GDP per capita\n", @@ -249,7 +249,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b8622152", + "id": "f9339e54", "metadata": { "mystnb": { "figure": { @@ -273,7 +273,7 @@ }, { "cell_type": "markdown", - "id": "61a9ad46", + "id": "da9bf7a0", "metadata": {}, "source": [ ":::{note}\n", @@ -288,7 +288,7 @@ { "cell_type": "code", "execution_count": null, - "id": "283c3d75", + "id": "781276db", "metadata": { "mystnb": { "figure": { @@ -316,7 +316,7 @@ }, { "cell_type": "markdown", - "id": "39cde637", + "id": "856fb431", "metadata": {}, "source": [ "### Comparing the US, UK, and China\n", @@ -329,7 +329,7 @@ { "cell_type": "code", "execution_count": null, - "id": "85a0ed0f", + "id": "9fd15853", "metadata": {}, "outputs": [], "source": [ @@ -374,7 +374,7 @@ }, { "cell_type": "markdown", - "id": "f1f2aeab", + "id": "bf4e45c8", "metadata": {}, "source": [ "As you can see from this chart, economic growth started in earnest in the 18th century and continued for the next two hundred years. \n", @@ -387,7 +387,7 @@ { "cell_type": "code", "execution_count": null, - "id": "352af113", + "id": "6b8ffdf1", "metadata": { "mystnb": { "figure": { @@ -461,7 +461,7 @@ }, { "cell_type": "markdown", - "id": "8a1917de", + "id": "40d8b989", "metadata": {}, "source": [ "The preceding graph of per capita GDP strikingly reveals how the spread of the Industrial Revolution has over time gradually lifted the living standards of substantial\n", @@ -489,7 +489,7 @@ { "cell_type": "code", "execution_count": null, - "id": "106cc341", + "id": "02f05a88", "metadata": { "mystnb": { "figure": { @@ -547,7 +547,7 @@ }, { "cell_type": "markdown", - "id": "3433def6", + "id": "6deac364", "metadata": {}, "source": [ "### Focusing on the US and UK\n", @@ -565,7 +565,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b112413b", + "id": "07d6efb1", "metadata": { "mystnb": { "figure": { @@ -624,7 +624,7 @@ }, { "cell_type": "markdown", - "id": "0348de35", + "id": "4d98478a", "metadata": {}, "source": [ "## GDP growth\n", @@ -637,7 +637,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f09a5b04", + "id": "678681b7", "metadata": {}, "outputs": [], "source": [ @@ -649,7 +649,7 @@ }, { "cell_type": "markdown", - "id": "bf0b0840", + "id": "963647eb", "metadata": {}, "source": [ "### Early industrialization (1820 to 1940)\n", @@ -666,7 +666,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d31cebcd", + "id": "e2e50e04", "metadata": { "mystnb": { "figure": { @@ -688,7 +688,7 @@ }, { "cell_type": "markdown", - "id": "d03295d1", + "id": "a220b002", "metadata": {}, "source": [ "#### Constructing a plot similar to Tooze's\n", @@ -701,7 +701,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3f6d070f", + "id": "07f6045d", "metadata": {}, "outputs": [], "source": [ @@ -712,7 +712,7 @@ }, { "cell_type": "markdown", - "id": "73aad41f", + "id": "7b37d631", "metadata": {}, "source": [ "Now let's assemble our series and get ready to plot them." @@ -721,7 +721,7 @@ { "cell_type": "code", "execution_count": null, - "id": "54096251", + "id": "e4acffa3", "metadata": {}, "outputs": [], "source": [ @@ -736,7 +736,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b0bc8ca6", + "id": "8bedb37a", "metadata": {}, "outputs": [], "source": [ @@ -755,7 +755,7 @@ }, { "cell_type": "markdown", - "id": "8699b834", + "id": "e0819b8c", "metadata": {}, "source": [ "At the start of this lecture, we noted how US GDP came from \"nowhere\" at the start of the 19th century to rival and then overtake the GDP of the British Empire\n", @@ -773,7 +773,7 @@ { "cell_type": "code", "execution_count": null, - "id": "69510131", + "id": "3c73fbc1", "metadata": { "mystnb": { "figure": { @@ -795,7 +795,7 @@ }, { "cell_type": "markdown", - "id": "1ee97de1", + "id": "e173935a", "metadata": {}, "source": [ "It is tempting to compare this graph with figure {numref}`gdp1` that showed the US overtaking the UK near the start of the \"American Century\", a version of the graph featured in chapter 1 of {cite}`Tooze_2014`.\n", @@ -810,7 +810,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0fca1228", + "id": "55499ea8", "metadata": {}, "outputs": [], "source": [ @@ -823,7 +823,7 @@ }, { "cell_type": "markdown", - "id": "8717b03f", + "id": "32c26614", "metadata": {}, "source": [ "We can save the raw data in a more convenient format to build a single table of regional GDP per capita" @@ -832,7 +832,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a23b2ea2", + "id": "403074ec", "metadata": {}, "outputs": [], "source": [ @@ -842,7 +842,7 @@ }, { "cell_type": "markdown", - "id": "2d51829f", + "id": "41cfbd85", "metadata": {}, "source": [ "Let's interpolate based on time to fill in any gaps in the dataset for the purpose of plotting" @@ -851,7 +851,7 @@ { "cell_type": "code", "execution_count": null, - "id": "189b3bf3", + "id": "d1425fa9", "metadata": {}, "outputs": [], "source": [ @@ -860,7 +860,7 @@ }, { "cell_type": "markdown", - "id": "41a92d2f", + "id": "ee016595", "metadata": {}, "source": [ "Looking more closely, let's compare the time series for `Western Offshoots` and `Sub-Saharan Africa` with a number of different regions around the world.\n", @@ -871,7 +871,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f14d4128", + "id": "1ea24c1f", "metadata": { "mystnb": { "figure": { diff --git a/_sources/lp_intro.ipynb b/_sources/lp_intro.ipynb index a7a8b322..67850f0d 100644 --- a/_sources/lp_intro.ipynb +++ b/_sources/lp_intro.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "9e18d109", + "id": "c5bbd11f", "metadata": {}, "source": [ "(lp_intro)=\n", @@ -14,7 +14,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bfc89bbf", + "id": "6d7a9725", "metadata": { "tags": [ "hide-output" @@ -27,7 +27,7 @@ }, { "cell_type": "markdown", - "id": "136819f2", + "id": "c7bafd2a", "metadata": {}, "source": [ "## Overview\n", @@ -60,7 +60,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ed9e5987", + "id": "2e4bffd8", "metadata": {}, "outputs": [], "source": [ @@ -73,7 +73,7 @@ }, { "cell_type": "markdown", - "id": "31cb01aa", + "id": "1cd91168", "metadata": {}, "source": [ "Let's start with some examples of linear programming problem.\n", @@ -123,7 +123,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6d72747e", + "id": "c14028a8", "metadata": { "tags": [ "hide-input" @@ -160,7 +160,7 @@ }, { "cell_type": "markdown", - "id": "98ef5b9b", + "id": "a78ec2b0", "metadata": {}, "source": [ "The blue region is the feasible set within which all constraints are satisfied.\n", @@ -187,7 +187,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e494e6ba", + "id": "6f7d46b4", "metadata": {}, "outputs": [], "source": [ @@ -197,7 +197,7 @@ }, { "cell_type": "markdown", - "id": "f5ffde75", + "id": "7fef58ee", "metadata": {}, "source": [ "Let's create two variables $x_1$ and $x_2$ such that they can only have nonnegative values." @@ -206,7 +206,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a7da3298", + "id": "864019c8", "metadata": {}, "outputs": [], "source": [ @@ -217,7 +217,7 @@ }, { "cell_type": "markdown", - "id": "f1ad77c9", + "id": "cb10cf0e", "metadata": {}, "source": [ "Add the constraints to the problem." @@ -226,7 +226,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b19e6cd2", + "id": "9737573d", "metadata": {}, "outputs": [], "source": [ @@ -239,7 +239,7 @@ }, { "cell_type": "markdown", - "id": "4330d439", + "id": "8f65fb6e", "metadata": {}, "source": [ "Let's specify the objective function. We use `solver.Maximize` method in the case when we want to maximize the objective function and in the case of minimization we can use `solver.Minimize`." @@ -248,7 +248,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4f4e34a0", + "id": "e8104753", "metadata": {}, "outputs": [], "source": [ @@ -258,7 +258,7 @@ }, { "cell_type": "markdown", - "id": "f562de71", + "id": "3191e8a0", "metadata": {}, "source": [ "Once we solve the problem, we can check whether the solver was successful in solving the problem using its status. If it's successful, then the status will be equal to `pywraplp.Solver.OPTIMAL`." @@ -267,7 +267,7 @@ { "cell_type": "code", "execution_count": null, - "id": "68161ebb", + "id": "37947225", "metadata": {}, "outputs": [], "source": [ @@ -283,7 +283,7 @@ }, { "cell_type": "markdown", - "id": "ad5d8142", + "id": "c7cf024d", "metadata": {}, "source": [ "## Example 2: investment problem\n", @@ -378,7 +378,7 @@ { "cell_type": "code", "execution_count": null, - "id": "885091ee", + "id": "c984c74a", "metadata": {}, "outputs": [], "source": [ @@ -388,7 +388,7 @@ }, { "cell_type": "markdown", - "id": "4e4159c0", + "id": "3823876a", "metadata": {}, "source": [ "Let's create five variables $x_1, x_2, x_3, x_4,$ and $x_5$ such that they can only have the values defined in the above constraints." @@ -397,7 +397,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6515a50b", + "id": "19cbb989", "metadata": {}, "outputs": [], "source": [ @@ -411,7 +411,7 @@ }, { "cell_type": "markdown", - "id": "2f246a87", + "id": "da77eb14", "metadata": {}, "source": [ "Add the constraints to the problem." @@ -420,7 +420,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b357781b", + "id": "bdec0f33", "metadata": {}, "outputs": [], "source": [ @@ -436,7 +436,7 @@ }, { "cell_type": "markdown", - "id": "e3d43080", + "id": "a1c9a2f7", "metadata": {}, "source": [ "Let's specify the objective function." @@ -445,7 +445,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bc10be98", + "id": "0447e063", "metadata": {}, "outputs": [], "source": [ @@ -455,7 +455,7 @@ }, { "cell_type": "markdown", - "id": "157a1f29", + "id": "295b3bfc", "metadata": {}, "source": [ "Let's solve the problem and check the status using `pywraplp.Solver.OPTIMAL`." @@ -464,7 +464,7 @@ { "cell_type": "code", "execution_count": null, - "id": "76929a33", + "id": "5f0907b9", "metadata": {}, "outputs": [], "source": [ @@ -485,7 +485,7 @@ }, { "cell_type": "markdown", - "id": "4333ef1a", + "id": "b15531ae", "metadata": {}, "source": [ "OR-Tools tells us that the best investment strategy is:\n", @@ -616,7 +616,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7f23daa0", + "id": "bc5e8ce7", "metadata": {}, "outputs": [], "source": [ @@ -631,7 +631,7 @@ }, { "cell_type": "markdown", - "id": "9ed7aa09", + "id": "24fda8ef", "metadata": {}, "source": [ "Once we solve the problem, we can check whether the solver was successful in solving the problem using the boolean attribute `success`. If it's successful, then the `success` attribute is set to `True`." @@ -640,7 +640,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c166da59", + "id": "f2fefd85", "metadata": {}, "outputs": [], "source": [ @@ -658,7 +658,7 @@ }, { "cell_type": "markdown", - "id": "b0c30ad4", + "id": "8b9b31ee", "metadata": {}, "source": [ "The optimal plan tells the factory to produce $2.5$ units of Product 1 and $5$ units of Product 2; that generates a maximizing value of revenue of $27.5$.\n", @@ -720,7 +720,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ece3df4a", + "id": "cb654617", "metadata": {}, "outputs": [], "source": [ @@ -746,7 +746,7 @@ }, { "cell_type": "markdown", - "id": "585493a6", + "id": "01aa1838", "metadata": {}, "source": [ "Let's solve the problem and check the status using `success` attribute." @@ -755,7 +755,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6c4f0744", + "id": "2b08ef5a", "metadata": {}, "outputs": [], "source": [ @@ -778,7 +778,7 @@ }, { "cell_type": "markdown", - "id": "33244e3b", + "id": "7233513e", "metadata": {}, "source": [ "SciPy tells us that the best investment strategy is:\n", @@ -831,7 +831,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3862ff8f", + "id": "3436a37f", "metadata": {}, "outputs": [], "source": [ @@ -846,7 +846,7 @@ { "cell_type": "code", "execution_count": null, - "id": "602a19ea", + "id": "605cc6a8", "metadata": {}, "outputs": [], "source": [ @@ -863,7 +863,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0cc2e545", + "id": "8a730582", "metadata": {}, "outputs": [], "source": [ @@ -874,7 +874,7 @@ { "cell_type": "code", "execution_count": null, - "id": "11f35946", + "id": "0915bfba", "metadata": {}, "outputs": [], "source": [ @@ -892,7 +892,7 @@ }, { "cell_type": "markdown", - "id": "61733a0e", + "id": "b206a064", "metadata": {}, "source": [ "```{solution-end}\n", @@ -937,7 +937,7 @@ { "cell_type": "code", "execution_count": null, - "id": "586c7ecb", + "id": "d7d2e58d", "metadata": {}, "outputs": [], "source": [ @@ -947,7 +947,7 @@ }, { "cell_type": "markdown", - "id": "68735651", + "id": "f149ecb7", "metadata": {}, "source": [ "Let's create two variables $x_1$ and $x_2$ such that they can only have nonnegative values." @@ -956,7 +956,7 @@ { "cell_type": "code", "execution_count": null, - "id": "27bc1435", + "id": "4d7a62d2", "metadata": {}, "outputs": [], "source": [ @@ -968,7 +968,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bec13232", + "id": "24dbb68d", "metadata": {}, "outputs": [], "source": [ @@ -982,7 +982,7 @@ { "cell_type": "code", "execution_count": null, - "id": "db517cc1", + "id": "bc416998", "metadata": {}, "outputs": [], "source": [ @@ -993,7 +993,7 @@ { "cell_type": "code", "execution_count": null, - "id": "06885142", + "id": "cc6c8da0", "metadata": {}, "outputs": [], "source": [ @@ -1011,7 +1011,7 @@ }, { "cell_type": "markdown", - "id": "70cf3302", + "id": "2cfa1608", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/markov_chains_I.ipynb b/_sources/markov_chains_I.ipynb index c6c1e6bf..bdd8ec92 100644 --- a/_sources/markov_chains_I.ipynb +++ b/_sources/markov_chains_I.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "a6ef4105", + "id": "758f1f70", "metadata": {}, "source": [ "# Markov Chains: Basic Concepts \n", @@ -17,7 +17,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6007402d", + "id": "582e7777", "metadata": { "tags": [ "hide-output" @@ -30,7 +30,7 @@ }, { "cell_type": "markdown", - "id": "c776bed0", + "id": "4bb7bb9f", "metadata": {}, "source": [ "## Overview\n", @@ -63,7 +63,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c5da578a", + "id": "9791924c", "metadata": {}, "outputs": [], "source": [ @@ -82,7 +82,7 @@ }, { "cell_type": "markdown", - "id": "8acd6c0c", + "id": "e485c246", "metadata": {}, "source": [ "## Definitions and examples\n", @@ -270,7 +270,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7d9f7402", + "id": "8b32c344", "metadata": {}, "outputs": [], "source": [ @@ -285,7 +285,7 @@ }, { "cell_type": "markdown", - "id": "68c24e62", + "id": "ce0f9c57", "metadata": {}, "source": [ "Here is a visualization, with darker colors indicating higher probability." @@ -294,7 +294,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f34063b5", + "id": "b3babbff", "metadata": { "tags": [ "hide-input" @@ -330,7 +330,7 @@ }, { "cell_type": "markdown", - "id": "49d45617", + "id": "49000077", "metadata": {}, "source": [ "Looking at the data, we see that democracies tend to have longer-lasting growth\n", @@ -440,7 +440,7 @@ { "cell_type": "code", "execution_count": null, - "id": "28b0f433", + "id": "bd5beed0", "metadata": {}, "outputs": [], "source": [ @@ -451,7 +451,7 @@ }, { "cell_type": "markdown", - "id": "bfea606e", + "id": "f99a201f", "metadata": {}, "source": [ "We'll write our code as a function that accepts the following three arguments\n", @@ -464,7 +464,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9170c524", + "id": "e143f058", "metadata": {}, "outputs": [], "source": [ @@ -493,7 +493,7 @@ }, { "cell_type": "markdown", - "id": "147ea437", + "id": "c69ea0fe", "metadata": {}, "source": [ "Let's see how it works using the small matrix" @@ -502,7 +502,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5d95e079", + "id": "09b32265", "metadata": {}, "outputs": [], "source": [ @@ -512,7 +512,7 @@ }, { "cell_type": "markdown", - "id": "d6dd3888", + "id": "20ff035f", "metadata": {}, "source": [ "Here's a short time series." @@ -521,7 +521,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ceef3ac0", + "id": "e20969c4", "metadata": {}, "outputs": [], "source": [ @@ -530,7 +530,7 @@ }, { "cell_type": "markdown", - "id": "d5f1545a", + "id": "64dd496d", "metadata": {}, "source": [ "It can be shown that for a long series drawn from `P`, the fraction of the\n", @@ -547,7 +547,7 @@ { "cell_type": "code", "execution_count": null, - "id": "281fbfb0", + "id": "5b7d80c4", "metadata": {}, "outputs": [], "source": [ @@ -557,7 +557,7 @@ }, { "cell_type": "markdown", - "id": "2b10814d", + "id": "bc2d33fe", "metadata": {}, "source": [ "You can try changing the initial distribution to confirm that the output is\n", @@ -574,7 +574,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8130f651", + "id": "fccc14cf", "metadata": {}, "outputs": [], "source": [ @@ -585,7 +585,7 @@ }, { "cell_type": "markdown", - "id": "93302d8b", + "id": "1ab6e176", "metadata": {}, "source": [ "The `simulate` routine is faster (because it is [JIT compiled](https://python-programming.quantecon.org/numba.html#numba-link))." @@ -594,7 +594,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8cf0bc9b", + "id": "1699847e", "metadata": {}, "outputs": [], "source": [ @@ -604,7 +604,7 @@ { "cell_type": "code", "execution_count": null, - "id": "000fee4c", + "id": "3eb1c378", "metadata": {}, "outputs": [], "source": [ @@ -613,7 +613,7 @@ }, { "cell_type": "markdown", - "id": "032b67e1", + "id": "ded4e4e2", "metadata": {}, "source": [ "#### Adding state values and initial conditions\n", @@ -628,7 +628,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3bb3970c", + "id": "20ad46ff", "metadata": {}, "outputs": [], "source": [ @@ -639,7 +639,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e7932fde", + "id": "2825c81c", "metadata": {}, "outputs": [], "source": [ @@ -649,7 +649,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2e2e5f93", + "id": "d007aa0a", "metadata": {}, "outputs": [], "source": [ @@ -658,7 +658,7 @@ }, { "cell_type": "markdown", - "id": "191bcde1", + "id": "c35328df", "metadata": {}, "source": [ "If we want to see indices rather than state values as outputs as we can use" @@ -667,7 +667,7 @@ { "cell_type": "code", "execution_count": null, - "id": "94728553", + "id": "f814c589", "metadata": {}, "outputs": [], "source": [ @@ -676,7 +676,7 @@ }, { "cell_type": "markdown", - "id": "7d87ae91", + "id": "5b12a08f", "metadata": {}, "source": [ "(mc_md)=\n", @@ -850,7 +850,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dc5c35ef", + "id": "8e0bfd22", "metadata": {}, "outputs": [], "source": [ @@ -862,7 +862,7 @@ }, { "cell_type": "markdown", - "id": "78d7ace5", + "id": "b9cfee07", "metadata": {}, "source": [ "Notice that `ψ @ P` is the same as `ψ`.\n", @@ -944,7 +944,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e0917cad", + "id": "cbd6c8c1", "metadata": {}, "outputs": [], "source": [ @@ -957,7 +957,7 @@ }, { "cell_type": "markdown", - "id": "1d7f06a5", + "id": "c61d35be", "metadata": {}, "source": [ "### Asymptotic stationarity\n", @@ -1000,7 +1000,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a896e38a", + "id": "ecfdb092", "metadata": {}, "outputs": [], "source": [ @@ -1012,7 +1012,7 @@ }, { "cell_type": "markdown", - "id": "b22e4f56", + "id": "66149b4a", "metadata": {}, "source": [ "Let's pick an initial distribution $\\psi_1, \\psi_2, \\psi_3$ and trace out the sequence of distributions $\\psi_i P^t$ for $t = 0, 1, 2, \\ldots$, for $i=1, 2, 3$.\n", @@ -1023,7 +1023,7 @@ { "cell_type": "code", "execution_count": null, - "id": "963a1f79", + "id": "87f7e862", "metadata": {}, "outputs": [], "source": [ @@ -1038,7 +1038,7 @@ }, { "cell_type": "markdown", - "id": "c1833687", + "id": "0a52b346", "metadata": {}, "source": [ "Now we plot the sequence" @@ -1047,7 +1047,7 @@ { "cell_type": "code", "execution_count": null, - "id": "728457a4", + "id": "aa81d8ba", "metadata": { "tags": [ "hide-input" @@ -1103,7 +1103,7 @@ }, { "cell_type": "markdown", - "id": "22707126", + "id": "085f37c9", "metadata": {}, "source": [ "Here\n", @@ -1151,7 +1151,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b3ee8995", + "id": "8c250dca", "metadata": { "tags": [ "hide-input" @@ -1211,7 +1211,7 @@ }, { "cell_type": "markdown", - "id": "6eb4d8b0", + "id": "db70c0f8", "metadata": {}, "source": [ "This animation demonstrates the behavior of an irreducible and periodic stochastic matrix.\n", @@ -1366,7 +1366,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a0dbf141", + "id": "c6042932", "metadata": {}, "outputs": [], "source": [ @@ -1379,7 +1379,7 @@ }, { "cell_type": "markdown", - "id": "5176dc48", + "id": "52962c60", "metadata": {}, "source": [ "Note that rows of the transition matrix converge to the stationary distribution." @@ -1388,7 +1388,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9f8ce1b4", + "id": "0c4273b3", "metadata": {}, "outputs": [], "source": [ @@ -1399,7 +1399,7 @@ { "cell_type": "code", "execution_count": null, - "id": "723910e1", + "id": "fb61b31e", "metadata": {}, "outputs": [], "source": [ @@ -1410,7 +1410,7 @@ }, { "cell_type": "markdown", - "id": "feecdfce", + "id": "6374a4b5", "metadata": {}, "source": [ "```{solution-end}\n", @@ -1450,7 +1450,7 @@ { "cell_type": "code", "execution_count": null, - "id": "da48c7f3", + "id": "5d956735", "metadata": {}, "outputs": [], "source": [ @@ -1466,7 +1466,7 @@ }, { "cell_type": "markdown", - "id": "5a0b8c23", + "id": "2fb565f3", "metadata": {}, "source": [ "So it satisfies the requirement.\n", @@ -1479,7 +1479,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3bea4e28", + "id": "1047d260", "metadata": {}, "outputs": [], "source": [ @@ -1511,7 +1511,7 @@ }, { "cell_type": "markdown", - "id": "477c69e1", + "id": "1c60a39d", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/markov_chains_II.ipynb b/_sources/markov_chains_II.ipynb index fe7ecabf..b0b75bca 100644 --- a/_sources/markov_chains_II.ipynb +++ b/_sources/markov_chains_II.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "b36f6c3b", + "id": "237cc41d", "metadata": {}, "source": [ "# Markov Chains: Irreducibility and Ergodicity\n", @@ -16,7 +16,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4acb7073", + "id": "91e51523", "metadata": { "tags": [ "hide-output" @@ -29,7 +29,7 @@ }, { "cell_type": "markdown", - "id": "a3635895", + "id": "1593becd", "metadata": {}, "source": [ "## Overview\n", @@ -58,7 +58,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a2d6c311", + "id": "0eb55302", "metadata": {}, "outputs": [], "source": [ @@ -69,7 +69,7 @@ }, { "cell_type": "markdown", - "id": "115d4f1d", + "id": "000e99bc", "metadata": {}, "source": [ "(mc_irreducible)=\n", @@ -122,7 +122,7 @@ { "cell_type": "code", "execution_count": null, - "id": "62045c7b", + "id": "a6b7ad5a", "metadata": {}, "outputs": [], "source": [ @@ -136,7 +136,7 @@ }, { "cell_type": "markdown", - "id": "0bd69618", + "id": "1b13d725", "metadata": {}, "source": [ "Here's a more pessimistic scenario in which poor people remain poor forever\n", @@ -155,7 +155,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c0912e23", + "id": "0e8b3935", "metadata": {}, "outputs": [], "source": [ @@ -169,7 +169,7 @@ }, { "cell_type": "markdown", - "id": "ce64ed12", + "id": "35d207e8", "metadata": {}, "source": [ "It might be clear to you already that irreducibility is going to be important\n", @@ -291,7 +291,7 @@ { "cell_type": "code", "execution_count": null, - "id": "35d676ef", + "id": "27e87534", "metadata": {}, "outputs": [], "source": [ @@ -319,7 +319,7 @@ }, { "cell_type": "markdown", - "id": "4a40e553", + "id": "f223f2c6", "metadata": {}, "source": [ "You might like to try changing $x=1$ to either $x=0$ or $x=2$.\n", @@ -359,7 +359,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21f79318", + "id": "5aca157b", "metadata": {}, "outputs": [], "source": [ @@ -391,7 +391,7 @@ }, { "cell_type": "markdown", - "id": "47852b16", + "id": "384f0f7a", "metadata": {}, "source": [ "This example helps to emphasize that asymptotic stationarity is about the distribution, while ergodicity is about the sample path.\n", @@ -431,7 +431,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3f4f711d", + "id": "65757d56", "metadata": {}, "outputs": [], "source": [ @@ -464,7 +464,7 @@ }, { "cell_type": "markdown", - "id": "34f8c968", + "id": "73e8d062", "metadata": {}, "source": [ "## Exercises\n", @@ -529,7 +529,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5cc96419", + "id": "d9ada4e3", "metadata": {}, "outputs": [], "source": [ @@ -550,7 +550,7 @@ }, { "cell_type": "markdown", - "id": "66a2dc9c", + "id": "639beb04", "metadata": {}, "source": [ "For this model, rows of $P^n$ converge to the stationary distribution as $n \\to\n", @@ -560,7 +560,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1a57ff49", + "id": "00b0ed9f", "metadata": {}, "outputs": [], "source": [ @@ -571,7 +571,7 @@ }, { "cell_type": "markdown", - "id": "f2dd6e12", + "id": "feb1760a", "metadata": {}, "source": [ "Part 2:" @@ -580,7 +580,7 @@ { "cell_type": "code", "execution_count": null, - "id": "039b858f", + "id": "0de6ab60", "metadata": {}, "outputs": [], "source": [ @@ -603,7 +603,7 @@ }, { "cell_type": "markdown", - "id": "04ede8f4", + "id": "883574f3", "metadata": {}, "source": [ "Note that the fraction of time spent at each state converges to the probability\n", @@ -666,7 +666,7 @@ { "cell_type": "code", "execution_count": null, - "id": "30cb5046", + "id": "abbdb442", "metadata": {}, "outputs": [], "source": [ @@ -697,7 +697,7 @@ }, { "cell_type": "markdown", - "id": "e86fe8db", + "id": "bfd5855e", "metadata": {}, "source": [ "```{solution-end}\n", @@ -727,7 +727,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9fa691cf", + "id": "4abd9b9e", "metadata": {}, "outputs": [], "source": [ @@ -741,7 +741,7 @@ }, { "cell_type": "markdown", - "id": "44034663", + "id": "57921e89", "metadata": {}, "source": [ "Let's try it." @@ -750,7 +750,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b796ba2a", + "id": "f25747f0", "metadata": {}, "outputs": [], "source": [ @@ -770,7 +770,7 @@ }, { "cell_type": "markdown", - "id": "69d17f6e", + "id": "8618140b", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/mle.ipynb b/_sources/mle.ipynb index 58d5d868..57c0ad6b 100644 --- a/_sources/mle.ipynb +++ b/_sources/mle.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "9fadb3b7", + "id": "36472cc2", "metadata": {}, "source": [ "# Maximum Likelihood Estimation" @@ -11,7 +11,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7415b743", + "id": "3c926924", "metadata": {}, "outputs": [], "source": [ @@ -25,7 +25,7 @@ }, { "cell_type": "markdown", - "id": "a73278fc", + "id": "86e2eb77", "metadata": {}, "source": [ "## Introduction\n", @@ -59,7 +59,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dcb30957", + "id": "b88439f7", "metadata": {}, "outputs": [], "source": [ @@ -72,7 +72,7 @@ }, { "cell_type": "markdown", - "id": "43e7bc16", + "id": "7d86f4c4", "metadata": {}, "source": [ "For a population of size $N$, where individual $i$ has wealth $w_i$, total revenue raised by \n", @@ -97,7 +97,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4558fdd4", + "id": "49e4ce2b", "metadata": {}, "outputs": [], "source": [ @@ -106,7 +106,7 @@ }, { "cell_type": "markdown", - "id": "ed117268", + "id": "03e51a0c", "metadata": {}, "source": [ "The data is derived from the\n", @@ -119,7 +119,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9b7e275c", + "id": "25791b9e", "metadata": { "tags": [ "hide-input" @@ -139,7 +139,7 @@ }, { "cell_type": "markdown", - "id": "b1344ed6", + "id": "398a6ba6", "metadata": {}, "source": [ "Let's histogram this sample." @@ -148,7 +148,7 @@ { "cell_type": "code", "execution_count": null, - "id": "42163ccb", + "id": "ef246151", "metadata": {}, "outputs": [], "source": [ @@ -165,7 +165,7 @@ }, { "cell_type": "markdown", - "id": "66650c78", + "id": "54e969f5", "metadata": {}, "source": [ "The histogram shows that many people have very low wealth and a few people have\n", @@ -178,7 +178,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8f064b99", + "id": "f21fc698", "metadata": {}, "outputs": [], "source": [ @@ -187,7 +187,7 @@ }, { "cell_type": "markdown", - "id": "e65665f7", + "id": "8db58e12", "metadata": {}, "source": [ "How can we estimate total revenue from the full population using only the sample data?\n", @@ -233,7 +233,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8b74143c", + "id": "2ea72913", "metadata": {}, "outputs": [], "source": [ @@ -245,7 +245,7 @@ }, { "cell_type": "markdown", - "id": "85340c59", + "id": "c9dee8dd", "metadata": {}, "source": [ "Now our job is to obtain the maximum likelihood estimates of $\\mu$ and $\\sigma$, which\n", @@ -315,7 +315,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f7edb134", + "id": "015c1183", "metadata": {}, "outputs": [], "source": [ @@ -326,7 +326,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3f7855f8", + "id": "3b12e3ea", "metadata": {}, "outputs": [], "source": [ @@ -337,7 +337,7 @@ }, { "cell_type": "markdown", - "id": "14c735dd", + "id": "f1c07dae", "metadata": {}, "source": [ "Let's plot the log-normal pdf using the estimated parameters against our sample data." @@ -346,7 +346,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f16094a6", + "id": "5278f202", "metadata": {}, "outputs": [], "source": [ @@ -364,7 +364,7 @@ }, { "cell_type": "markdown", - "id": "8d06f06e", + "id": "bcedf9e0", "metadata": {}, "source": [ "Our estimated lognormal distribution appears to be a reasonable fit for the overall data.\n", @@ -379,7 +379,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c32d9c28", + "id": "5f0b8b11", "metadata": {}, "outputs": [], "source": [ @@ -392,7 +392,7 @@ { "cell_type": "code", "execution_count": null, - "id": "31751ff3", + "id": "485217ba", "metadata": {}, "outputs": [], "source": [ @@ -402,7 +402,7 @@ }, { "cell_type": "markdown", - "id": "de1034e4", + "id": "1f85409b", "metadata": {}, "source": [ "(Our unit was 100,000 dollars, so this means that actual revenue is 100,000\n", @@ -434,7 +434,7 @@ { "cell_type": "code", "execution_count": null, - "id": "86c5f6d0", + "id": "2ef1ea5e", "metadata": {}, "outputs": [], "source": [ @@ -445,7 +445,7 @@ { "cell_type": "code", "execution_count": null, - "id": "edfbb0c4", + "id": "236bc156", "metadata": {}, "outputs": [], "source": [ @@ -456,7 +456,7 @@ }, { "cell_type": "markdown", - "id": "a8228b82", + "id": "3421d282", "metadata": {}, "source": [ "Now let's recompute total revenue." @@ -465,7 +465,7 @@ { "cell_type": "code", "execution_count": null, - "id": "48a1d03f", + "id": "23265ef1", "metadata": {}, "outputs": [], "source": [ @@ -476,7 +476,7 @@ }, { "cell_type": "markdown", - "id": "ed90863d", + "id": "3f4556cc", "metadata": {}, "source": [ "The number is very different!" @@ -485,7 +485,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f50870fb", + "id": "34303566", "metadata": {}, "outputs": [], "source": [ @@ -494,7 +494,7 @@ }, { "cell_type": "markdown", - "id": "843fca79", + "id": "3efc7fa0", "metadata": {}, "source": [ "We see that choosing the right distribution is extremely important.\n", @@ -507,7 +507,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4f87a15b", + "id": "eb2a3b24", "metadata": {}, "outputs": [], "source": [ @@ -524,7 +524,7 @@ }, { "cell_type": "markdown", - "id": "35087a96", + "id": "73b9e9e3", "metadata": {}, "source": [ "We observe that in this case the fit for the Pareto distribution is not very\n", @@ -548,7 +548,7 @@ { "cell_type": "code", "execution_count": null, - "id": "aa067676", + "id": "6ae54f04", "metadata": { "tags": [ "hide-input" @@ -565,7 +565,7 @@ }, { "cell_type": "markdown", - "id": "e20ee38e", + "id": "54b44681", "metadata": {}, "source": [ "Let's plot this data." @@ -574,7 +574,7 @@ { "cell_type": "code", "execution_count": null, - "id": "39bed884", + "id": "25c976f4", "metadata": {}, "outputs": [], "source": [ @@ -586,7 +586,7 @@ }, { "cell_type": "markdown", - "id": "500fb3c7", + "id": "43becd8a", "metadata": {}, "source": [ "Now let's try fitting some distributions to this data.\n", @@ -602,7 +602,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b5b528bd", + "id": "188c891c", "metadata": {}, "outputs": [], "source": [ @@ -622,7 +622,7 @@ }, { "cell_type": "markdown", - "id": "0f054e48", + "id": "34765367", "metadata": {}, "source": [ "While the lognormal distribution was a good fit for the entire dataset,\n", @@ -639,7 +639,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b2fdd1ba", + "id": "bcc7a305", "metadata": {}, "outputs": [], "source": [ @@ -658,7 +658,7 @@ }, { "cell_type": "markdown", - "id": "90f466fc", + "id": "6fa9cbf4", "metadata": {}, "source": [ "The Pareto distribution is a better fit for the right hand tail of our dataset.\n", @@ -705,7 +705,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21afb1a0", + "id": "8eb878f5", "metadata": {}, "outputs": [], "source": [ @@ -716,7 +716,7 @@ { "cell_type": "code", "execution_count": null, - "id": "934261eb", + "id": "e13ae95d", "metadata": {}, "outputs": [], "source": [ @@ -727,7 +727,7 @@ }, { "cell_type": "markdown", - "id": "a6546c40", + "id": "cdd13b26", "metadata": {}, "source": [ "```{solution-end}\n", @@ -750,7 +750,7 @@ { "cell_type": "code", "execution_count": null, - "id": "84216c8b", + "id": "f496716f", "metadata": {}, "outputs": [], "source": [ @@ -766,7 +766,7 @@ }, { "cell_type": "markdown", - "id": "e1b28672", + "id": "c8a8c1bd", "metadata": {}, "source": [ "Clearly, this distribution is not a good fit for our data.\n", diff --git a/_sources/money_inflation.ipynb b/_sources/money_inflation.ipynb index 461366aa..145d049d 100644 --- a/_sources/money_inflation.ipynb +++ b/_sources/money_inflation.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "d12bea96", + "id": "d2f23b7e", "metadata": {}, "source": [ "# Money Financed Government Deficits and Price Levels\n", @@ -253,7 +253,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f228d090", + "id": "60983147", "metadata": {}, "outputs": [], "source": [ @@ -266,7 +266,7 @@ }, { "cell_type": "markdown", - "id": "7b6ed87a", + "id": "1a431c7d", "metadata": {}, "source": [ "Let's set some parameter values and compute possible steady-state rates of return on currency $\\bar R$, the seigniorage maximizing rate of return on currency, and an object that we'll discuss later, namely, an initial price level $p_0$ associated with the maximum steady-state rate of return on currency.\n", @@ -277,7 +277,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c52fb9da", + "id": "c4334995", "metadata": {}, "outputs": [], "source": [ @@ -298,7 +298,7 @@ }, { "cell_type": "markdown", - "id": "3e23215d", + "id": "f9a1445d", "metadata": {}, "source": [ "Now we compute the $\\bar R_{\\rm max}$ and corresponding revenue" @@ -307,7 +307,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0831f575", + "id": "c2be2d4e", "metadata": {}, "outputs": [], "source": [ @@ -329,7 +329,7 @@ }, { "cell_type": "markdown", - "id": "c87b70df", + "id": "4788eae6", "metadata": {}, "source": [ "Now let's plot seigniorage as a function of alternative potential steady-state values of $R$.\n", @@ -344,7 +344,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4cb2f38c", + "id": "942d2cb9", "metadata": { "mystnb": { "figure": { @@ -375,7 +375,7 @@ }, { "cell_type": "markdown", - "id": "ba6248c6", + "id": "3694597c", "metadata": {}, "source": [ "Let's print the two steady-state rates of return $\\bar R$ and the associated seigniorage revenues that the government collects.\n", @@ -388,7 +388,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fab68193", + "id": "adb5595f", "metadata": {}, "outputs": [], "source": [ @@ -401,7 +401,7 @@ }, { "cell_type": "markdown", - "id": "1c89fc18", + "id": "e3ad4757", "metadata": {}, "source": [ "Now let's compute the maximum steady-state amount of seigniorage that could be gathered by printing money and the state state rate of return on money that attains it.\n", @@ -527,7 +527,7 @@ { "cell_type": "code", "execution_count": null, - "id": "afc60a14", + "id": "a2a43aa7", "metadata": {}, "outputs": [], "source": [ @@ -553,7 +553,7 @@ }, { "cell_type": "markdown", - "id": "2575878d", + "id": "5a833951", "metadata": {}, "source": [ "Let's write some code to plot outcomes for several possible initial values $R_0$." @@ -562,7 +562,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8d79af9c", + "id": "c531674e", "metadata": { "tags": [ "hide-cell" @@ -613,7 +613,7 @@ }, { "cell_type": "markdown", - "id": "4579a689", + "id": "340979f5", "metadata": {}, "source": [ "Let's plot distinct outcomes associated with several $R_0 \\in [\\frac{\\gamma_2}{\\gamma_1}, R_u]$.\n", @@ -624,7 +624,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cab6a7a1", + "id": "5355d8b2", "metadata": { "mystnb": { "figure": { @@ -644,7 +644,7 @@ }, { "cell_type": "markdown", - "id": "689084b9", + "id": "93e7b79b", "metadata": {}, "source": [ "Notice how sequences that start from $R_0$ in the half-open interval $[R_\\ell, R_u)$ converge to the steady state associated with to $ R_\\ell$.\n", @@ -688,7 +688,7 @@ { "cell_type": "code", "execution_count": null, - "id": "95f8c560", + "id": "aa0d0edf", "metadata": {}, "outputs": [], "source": [ @@ -700,7 +700,7 @@ }, { "cell_type": "markdown", - "id": "253d1977", + "id": "b759a8ae", "metadata": {}, "source": [ "Define\n", @@ -713,7 +713,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c2886c5e", + "id": "bf4b8635", "metadata": {}, "outputs": [], "source": [ @@ -723,7 +723,7 @@ }, { "cell_type": "markdown", - "id": "67b46ed4", + "id": "3b4a2aef", "metadata": {}, "source": [ "and write the system {eq}`eq:sytem101` as\n", @@ -774,7 +774,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b50f06b8", + "id": "354bf624", "metadata": {}, "outputs": [], "source": [ @@ -786,7 +786,7 @@ { "cell_type": "code", "execution_count": null, - "id": "329451ac", + "id": "55d6bf95", "metadata": {}, "outputs": [], "source": [ @@ -799,7 +799,7 @@ }, { "cell_type": "markdown", - "id": "8bf7d5d1", + "id": "f904fdfe", "metadata": {}, "source": [ "Partition $Q$ as\n", @@ -857,7 +857,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21c4ec12", + "id": "854f27c3", "metadata": {}, "outputs": [], "source": [ @@ -872,7 +872,7 @@ }, { "cell_type": "markdown", - "id": "4c8ff25a", + "id": "5e9f4f9c", "metadata": {}, "source": [ "For almost all initial vectors $y_0$, the gross rate of inflation $\\frac{p_{t+1}}{p_t}$ eventually converges to the larger eigenvalue ${R_\\ell}^{-1}$.\n", @@ -999,7 +999,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c0a6c67a", + "id": "c4482d44", "metadata": {}, "outputs": [], "source": [ @@ -1010,7 +1010,7 @@ }, { "cell_type": "markdown", - "id": "8184ac93", + "id": "1c4fa77d", "metadata": {}, "source": [ "It can be verified that this formula replicates itself over time in the sense that\n", @@ -1029,7 +1029,7 @@ { "cell_type": "code", "execution_count": null, - "id": "50b7b33d", + "id": "f2415526", "metadata": { "tags": [ "hide-cell" @@ -1083,7 +1083,7 @@ { "cell_type": "code", "execution_count": null, - "id": "196026a2", + "id": "aa643e8f", "metadata": { "mystnb": { "figure": { @@ -1102,7 +1102,7 @@ }, { "cell_type": "markdown", - "id": "babb8b18", + "id": "21e17f12", "metadata": {}, "source": [ "Please notice that for $m_t$ and $p_t$, we have used log scales for the coordinate (i.e., vertical) axes. \n", diff --git a/_sources/money_inflation_nonlinear.ipynb b/_sources/money_inflation_nonlinear.ipynb index 3e759162..451e5fa6 100644 --- a/_sources/money_inflation_nonlinear.ipynb +++ b/_sources/money_inflation_nonlinear.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "e5f6dab6", + "id": "cdcb4d84", "metadata": {}, "source": [ "# Inflation Rate Laffer Curves \n", @@ -154,7 +154,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ec8aa92e", + "id": "b63576fb", "metadata": {}, "outputs": [], "source": [ @@ -167,7 +167,7 @@ }, { "cell_type": "markdown", - "id": "5d756c4c", + "id": "8aecb67e", "metadata": { "user_expressions": [] }, @@ -178,7 +178,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3624faad", + "id": "163262f0", "metadata": {}, "outputs": [], "source": [ @@ -197,7 +197,7 @@ }, { "cell_type": "markdown", - "id": "2296e1b0", + "id": "fd262706", "metadata": { "user_expressions": [] }, @@ -208,7 +208,7 @@ { "cell_type": "code", "execution_count": null, - "id": "401a8c36", + "id": "67fb3ba1", "metadata": {}, "outputs": [], "source": [ @@ -228,7 +228,7 @@ }, { "cell_type": "markdown", - "id": "0bb5f87f", + "id": "516463cd", "metadata": {}, "source": [ "We find two steady state $\\overline \\pi$ values.\n", @@ -241,7 +241,7 @@ { "cell_type": "code", "execution_count": null, - "id": "15220cc5", + "id": "ec4af664", "metadata": { "mystnb": { "figure": { @@ -286,7 +286,7 @@ }, { "cell_type": "markdown", - "id": "ac3ebe81", + "id": "09cb2553", "metadata": {}, "source": [ "## Associated initial price levels\n", @@ -297,7 +297,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4139a60d", + "id": "215fa306", "metadata": {}, "outputs": [], "source": [ @@ -323,7 +323,7 @@ }, { "cell_type": "markdown", - "id": "8f47eaa0", + "id": "e0ac6d2e", "metadata": {}, "source": [ "### Verification \n", @@ -337,7 +337,7 @@ { "cell_type": "code", "execution_count": null, - "id": "16242d61", + "id": "4e1fb642", "metadata": {}, "outputs": [], "source": [ @@ -360,7 +360,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1f1795e7", + "id": "f9900452", "metadata": {}, "outputs": [], "source": [ @@ -381,7 +381,7 @@ }, { "cell_type": "markdown", - "id": "c462a4cf", + "id": "0d00c034", "metadata": {}, "source": [ "## Slippery side of Laffer curve dynamics\n", @@ -392,7 +392,7 @@ { "cell_type": "code", "execution_count": null, - "id": "003186d6", + "id": "77c3a504", "metadata": { "tags": [ "hide-cell" @@ -451,7 +451,7 @@ { "cell_type": "code", "execution_count": null, - "id": "99cc7702", + "id": "3c53ad72", "metadata": { "mystnb": { "figure": { @@ -477,7 +477,7 @@ }, { "cell_type": "markdown", - "id": "6e05c762", + "id": "2659c81b", "metadata": {}, "source": [ "Staring at the paths of price levels in {numref}`p0_path_nonlin` reveals that almost all paths converge to the *higher* inflation tax rate displayed in the stationary state Laffer curve. displayed in figure {numref}`laffer_curve_nonlinear`. \n", diff --git a/_sources/monte_carlo.ipynb b/_sources/monte_carlo.ipynb index 29438227..25da9120 100644 --- a/_sources/monte_carlo.ipynb +++ b/_sources/monte_carlo.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "6ffd196d", + "id": "c31f427b", "metadata": {}, "source": [ "(monte-carlo)=\n", @@ -39,7 +39,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d968fd96", + "id": "fc67427d", "metadata": {}, "outputs": [], "source": [ @@ -50,7 +50,7 @@ }, { "cell_type": "markdown", - "id": "bb7ec245", + "id": "fab50842", "metadata": {}, "source": [ "## An introduction to Monte Carlo\n", @@ -152,7 +152,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bb829d9e", + "id": "037c4afa", "metadata": {}, "outputs": [], "source": [ @@ -164,7 +164,7 @@ }, { "cell_type": "markdown", - "id": "3f58000b", + "id": "84317b03", "metadata": {}, "source": [ "#### A routine using loops in python\n", @@ -181,7 +181,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3ee65d33", + "id": "9fbba712", "metadata": {}, "outputs": [], "source": [ @@ -198,7 +198,7 @@ }, { "cell_type": "markdown", - "id": "5d56daed", + "id": "740a85a0", "metadata": {}, "source": [ "We can also construct a function that contains these operations:" @@ -207,7 +207,7 @@ { "cell_type": "code", "execution_count": null, - "id": "df1df28b", + "id": "ba6f7ddc", "metadata": {}, "outputs": [], "source": [ @@ -223,7 +223,7 @@ }, { "cell_type": "markdown", - "id": "9a3b2c71", + "id": "b635e548", "metadata": {}, "source": [ "Now let's call it." @@ -232,7 +232,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e83f576b", + "id": "436f9261", "metadata": {}, "outputs": [], "source": [ @@ -241,7 +241,7 @@ }, { "cell_type": "markdown", - "id": "bdd6f748", + "id": "35f1d131", "metadata": {}, "source": [ "### A vectorized routine\n", @@ -256,7 +256,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ad13839a", + "id": "ce3144b5", "metadata": {}, "outputs": [], "source": [ @@ -271,7 +271,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f3caadc7", + "id": "1af899e8", "metadata": {}, "outputs": [], "source": [ @@ -282,7 +282,7 @@ }, { "cell_type": "markdown", - "id": "6e0b8ef5", + "id": "4115fdac", "metadata": {}, "source": [ "Notice that this routine is much faster.\n", @@ -293,7 +293,7 @@ { "cell_type": "code", "execution_count": null, - "id": "df5c6970", + "id": "26d529a1", "metadata": {}, "outputs": [], "source": [ @@ -304,7 +304,7 @@ }, { "cell_type": "markdown", - "id": "270cd977", + "id": "b17c7e11", "metadata": {}, "source": [ "## Pricing a European call option under risk neutrality\n", @@ -452,7 +452,7 @@ { "cell_type": "code", "execution_count": null, - "id": "79c449f3", + "id": "30aeaf44", "metadata": {}, "outputs": [], "source": [ @@ -465,7 +465,7 @@ }, { "cell_type": "markdown", - "id": "0a166b83", + "id": "59c6fc57", "metadata": {}, "source": [ "We set the simulation size to" @@ -474,7 +474,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f79c7370", + "id": "5cd09d8d", "metadata": {}, "outputs": [], "source": [ @@ -483,7 +483,7 @@ }, { "cell_type": "markdown", - "id": "51d2b93c", + "id": "f9585529", "metadata": {}, "source": [ "Here is our code" @@ -492,7 +492,7 @@ { "cell_type": "code", "execution_count": null, - "id": "aaeeb25b", + "id": "ca33c75e", "metadata": {}, "outputs": [], "source": [ @@ -504,7 +504,7 @@ }, { "cell_type": "markdown", - "id": "703d5255", + "id": "4b675cc3", "metadata": {}, "source": [ "## Pricing via a dynamic model\n", @@ -587,7 +587,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9b2a9352", + "id": "06cc0cfc", "metadata": {}, "outputs": [], "source": [ @@ -600,7 +600,7 @@ }, { "cell_type": "markdown", - "id": "6ea6289d", + "id": "699087ee", "metadata": {}, "source": [ "(Here `default_S0` is $S_0$ and `default_h0` is $h_0$.)\n", @@ -611,7 +611,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ae2e8b5d", + "id": "caab1c86", "metadata": {}, "outputs": [], "source": [ @@ -622,7 +622,7 @@ }, { "cell_type": "markdown", - "id": "e7b9f9ce", + "id": "983769ca", "metadata": {}, "source": [ "### Visualizations\n", @@ -637,7 +637,7 @@ { "cell_type": "code", "execution_count": null, - "id": "41b022a9", + "id": "0b3eb077", "metadata": {}, "outputs": [], "source": [ @@ -655,7 +655,7 @@ }, { "cell_type": "markdown", - "id": "2b9bae9b", + "id": "176964ff", "metadata": {}, "source": [ "Here we plot the paths and the log of the paths." @@ -664,7 +664,7 @@ { "cell_type": "code", "execution_count": null, - "id": "81c51fd0", + "id": "26f4a554", "metadata": {}, "outputs": [], "source": [ @@ -684,7 +684,7 @@ }, { "cell_type": "markdown", - "id": "39919d0d", + "id": "c61e8f16", "metadata": {}, "source": [ "### Computing the price\n", @@ -710,7 +710,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5cddc0f3", + "id": "75844e6d", "metadata": {}, "outputs": [], "source": [ @@ -741,7 +741,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7d005193", + "id": "7607440b", "metadata": {}, "outputs": [], "source": [ @@ -751,7 +751,7 @@ }, { "cell_type": "markdown", - "id": "26ade99e", + "id": "f4a4f2b6", "metadata": {}, "source": [ "## Exercises\n", @@ -775,7 +775,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d9d46687", + "id": "c3a660df", "metadata": {}, "outputs": [], "source": [ @@ -803,7 +803,7 @@ { "cell_type": "code", "execution_count": null, - "id": "72393553", + "id": "efd9117e", "metadata": {}, "outputs": [], "source": [ @@ -813,7 +813,7 @@ }, { "cell_type": "markdown", - "id": "c3cedc27", + "id": "e2e7a637", "metadata": {}, "source": [ "Notice that this version is faster than the one using a Python loop.\n", @@ -824,7 +824,7 @@ { "cell_type": "code", "execution_count": null, - "id": "50109b5f", + "id": "34e9b1d8", "metadata": {}, "outputs": [], "source": [ @@ -834,7 +834,7 @@ }, { "cell_type": "markdown", - "id": "299b6a49", + "id": "a7da0d56", "metadata": {}, "source": [ "```{solution-end}\n", @@ -860,7 +860,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3200bd5d", + "id": "f5195c14", "metadata": {}, "outputs": [], "source": [ @@ -878,7 +878,7 @@ { "cell_type": "code", "execution_count": null, - "id": "78f3e949", + "id": "8d1675f5", "metadata": {}, "outputs": [], "source": [ @@ -919,7 +919,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8df84555", + "id": "5e33b88a", "metadata": {}, "outputs": [], "source": [ @@ -928,7 +928,7 @@ }, { "cell_type": "markdown", - "id": "8dc4d972", + "id": "8e256083", "metadata": {}, "source": [ "Let's look at the vectorized version which is faster than using Python loops." @@ -937,7 +937,7 @@ { "cell_type": "code", "execution_count": null, - "id": "af9101da", + "id": "4d5fcb4c", "metadata": {}, "outputs": [], "source": [ @@ -970,7 +970,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5abaf8eb", + "id": "2e8ecd17", "metadata": {}, "outputs": [], "source": [ @@ -979,7 +979,7 @@ }, { "cell_type": "markdown", - "id": "7adf368f", + "id": "1f0c01c0", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/networks.ipynb b/_sources/networks.ipynb index 2f7564b9..1e56a216 100644 --- a/_sources/networks.ipynb +++ b/_sources/networks.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "e2dca0d6", + "id": "1affc17d", "metadata": {}, "source": [ "# Networks" @@ -11,7 +11,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cfcc0625", + "id": "2a1bffca", "metadata": { "tags": [ "hide-output" @@ -24,7 +24,7 @@ }, { "cell_type": "markdown", - "id": "3f0a3a1d", + "id": "c86e1129", "metadata": {}, "source": [ "## Outline\n", @@ -61,7 +61,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3be67690", + "id": "29d16691", "metadata": {}, "outputs": [], "source": [ @@ -80,7 +80,7 @@ }, { "cell_type": "markdown", - "id": "dcc71b18", + "id": "e5d90159", "metadata": {}, "source": [ "## Economic and financial networks\n", @@ -110,7 +110,7 @@ { "cell_type": "code", "execution_count": null, - "id": "23a577ab", + "id": "357b28da", "metadata": { "mystnb": { "figure": { @@ -176,7 +176,7 @@ }, { "cell_type": "markdown", - "id": "d12e8151", + "id": "9c4547ba", "metadata": {}, "source": [ "The circles in the figure are called **nodes** or **vertices** -- in this case they represent countries.\n", @@ -279,7 +279,7 @@ }, { "cell_type": "markdown", - "id": "ee5fbd47", + "id": "917fcebd", "metadata": {}, "source": [ "We now construct a graph with the same nodes but different edges.\n", @@ -293,7 +293,7 @@ }, { "cell_type": "markdown", - "id": "71977e92", + "id": "d399ca0e", "metadata": {}, "source": [ "For these graphs, the arrows (edges) can be thought of as representing\n", @@ -322,7 +322,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2709a75a", + "id": "f9ea3d4a", "metadata": {}, "outputs": [], "source": [ @@ -331,7 +331,7 @@ }, { "cell_type": "markdown", - "id": "217bd483", + "id": "db06c4a1", "metadata": {}, "source": [ "Next we populate it with nodes and edges.\n", @@ -343,7 +343,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d4653076", + "id": "a5eda3bc", "metadata": {}, "outputs": [], "source": [ @@ -354,7 +354,7 @@ }, { "cell_type": "markdown", - "id": "bc16035c", + "id": "adc17cff", "metadata": {}, "source": [ "Finally, we add the edges to our `DiGraph` object:" @@ -363,7 +363,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7c2ee531", + "id": "4a766f80", "metadata": {}, "outputs": [], "source": [ @@ -374,7 +374,7 @@ }, { "cell_type": "markdown", - "id": "bb9e27fd", + "id": "5dd0fe34", "metadata": {}, "source": [ "Alternatively, we can use the method `add_edges_from`." @@ -383,7 +383,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bbe2061d", + "id": "932d52eb", "metadata": {}, "outputs": [], "source": [ @@ -392,7 +392,7 @@ }, { "cell_type": "markdown", - "id": "ff480307", + "id": "c21a2e2d", "metadata": {}, "source": [ "Adding the edges automatically adds the nodes, so `G_p` is now a\n", @@ -404,7 +404,7 @@ { "cell_type": "code", "execution_count": null, - "id": "16447e06", + "id": "543445bb", "metadata": {}, "outputs": [], "source": [ @@ -417,7 +417,7 @@ }, { "cell_type": "markdown", - "id": "cab1a570", + "id": "24803b85", "metadata": {}, "source": [ "The figure obtained above matches the original directed graph in {numref}`poverty_trap_2`.\n", @@ -432,7 +432,7 @@ { "cell_type": "code", "execution_count": null, - "id": "725fa449", + "id": "5477377c", "metadata": {}, "outputs": [], "source": [ @@ -441,7 +441,7 @@ }, { "cell_type": "markdown", - "id": "88114ac6", + "id": "81afdf4b", "metadata": {}, "source": [ "(strongly_connected)=\n", @@ -477,7 +477,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3ff604db", + "id": "a2f84596", "metadata": {}, "outputs": [], "source": [ @@ -494,7 +494,7 @@ { "cell_type": "code", "execution_count": null, - "id": "02097152", + "id": "89349d09", "metadata": {}, "outputs": [], "source": [ @@ -504,7 +504,7 @@ { "cell_type": "code", "execution_count": null, - "id": "eb4d1112", + "id": "644cb935", "metadata": {}, "outputs": [], "source": [ @@ -521,7 +521,7 @@ { "cell_type": "code", "execution_count": null, - "id": "55af1745", + "id": "7a999259", "metadata": {}, "outputs": [], "source": [ @@ -530,7 +530,7 @@ }, { "cell_type": "markdown", - "id": "8874deda", + "id": "43faf72b", "metadata": {}, "source": [ "## Weighted graphs\n", @@ -548,7 +548,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6553f6c0", + "id": "bfcd84fa", "metadata": { "mystnb": { "figure": { @@ -618,7 +618,7 @@ }, { "cell_type": "markdown", - "id": "a625dd57", + "id": "97259c05", "metadata": {}, "source": [ "The country codes are given in the following table\n", @@ -655,7 +655,7 @@ }, { "cell_type": "markdown", - "id": "6fdbd1aa", + "id": "557b8bdf", "metadata": {}, "source": [ "### Definitions\n", @@ -725,7 +725,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dd3dfa7b", + "id": "b95107be", "metadata": {}, "outputs": [], "source": [ @@ -738,7 +738,7 @@ }, { "cell_type": "markdown", - "id": "24d3a1b6", + "id": "15edd491", "metadata": {}, "source": [ "One of the key points to remember about adjacency matrices is that taking the\n", @@ -753,7 +753,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1275dddc", + "id": "69e8b308", "metadata": {}, "outputs": [], "source": [ @@ -782,7 +782,7 @@ }, { "cell_type": "markdown", - "id": "a794fb69", + "id": "979a433c", "metadata": {}, "source": [ "We see that bank 2 extends a loan of size 200 to bank 3.\n", @@ -821,7 +821,7 @@ { "cell_type": "code", "execution_count": null, - "id": "73a56914", + "id": "df2b9152", "metadata": {}, "outputs": [], "source": [ @@ -849,7 +849,7 @@ }, { "cell_type": "markdown", - "id": "e9e64a4f", + "id": "9b55d663", "metadata": {}, "source": [ "In general, every nonnegative $n \\times n$ matrix $A = (a_{ij})$ can be\n", @@ -887,7 +887,7 @@ }, { "cell_type": "markdown", - "id": "681c8942", + "id": "9ba7daad", "metadata": {}, "source": [ "The above result is obvious when $k=1$ and a proof of the general case can be\n", @@ -912,7 +912,7 @@ }, { "cell_type": "markdown", - "id": "1b980a7a", + "id": "74dcf1f3", "metadata": {}, "source": [ "We illustrate the above theorem with a simple example.\n", @@ -928,7 +928,7 @@ }, { "cell_type": "markdown", - "id": "2f9afcb1", + "id": "4219d2df", "metadata": {}, "source": [ "We first create the above network as a Networkx `DiGraph` object." @@ -937,7 +937,7 @@ { "cell_type": "code", "execution_count": null, - "id": "24f69009", + "id": "36ba69e8", "metadata": {}, "outputs": [], "source": [ @@ -950,7 +950,7 @@ }, { "cell_type": "markdown", - "id": "d1aa3cd2", + "id": "014efe90", "metadata": {}, "source": [ "Then we construct the associated adjacency matrix A." @@ -959,7 +959,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4e8ad1fe", + "id": "a2ad960a", "metadata": {}, "outputs": [], "source": [ @@ -971,7 +971,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fdb58557", + "id": "c1224e19", "metadata": { "tags": [ "hide-input" @@ -990,7 +990,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b8e6ebd4", + "id": "6c85decf", "metadata": {}, "outputs": [], "source": [ @@ -1000,7 +1000,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6d11cbbd", + "id": "be2aa30f", "metadata": {}, "outputs": [], "source": [ @@ -1009,7 +1009,7 @@ }, { "cell_type": "markdown", - "id": "c091beea", + "id": "1423307b", "metadata": {}, "source": [ "## Network centrality\n", @@ -1044,7 +1044,7 @@ { "cell_type": "code", "execution_count": null, - "id": "242871c7", + "id": "3ee8a00d", "metadata": { "mystnb": { "figure": { @@ -1077,7 +1077,7 @@ }, { "cell_type": "markdown", - "id": "812621e7", + "id": "3c36032e", "metadata": {}, "source": [ "The following code displays the in-degree centrality of all nodes." @@ -1086,7 +1086,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3ad38711", + "id": "d709b703", "metadata": {}, "outputs": [], "source": [ @@ -1098,7 +1098,7 @@ }, { "cell_type": "markdown", - "id": "4ac3c909", + "id": "08c32913", "metadata": {}, "source": [ "Consider the international credit network displayed in {numref}`financial_network`.\n", @@ -1109,7 +1109,7 @@ { "cell_type": "code", "execution_count": null, - "id": "703e181b", + "id": "8337c2ec", "metadata": {}, "outputs": [], "source": [ @@ -1120,7 +1120,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4f28ad2d", + "id": "2038f809", "metadata": {}, "outputs": [], "source": [ @@ -1135,7 +1135,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e6f05871", + "id": "8ecd085b", "metadata": {}, "outputs": [], "source": [ @@ -1155,7 +1155,7 @@ }, { "cell_type": "markdown", - "id": "3d195668", + "id": "98d423e4", "metadata": {}, "source": [ "Unfortunately, while in-degree and out-degree centrality are simple to\n", @@ -1249,7 +1249,7 @@ { "cell_type": "code", "execution_count": null, - "id": "533886ef", + "id": "9009bbc2", "metadata": {}, "outputs": [], "source": [ @@ -1268,7 +1268,7 @@ }, { "cell_type": "markdown", - "id": "c31c4610", + "id": "583621cc", "metadata": {}, "source": [ "Let's compute eigenvector centrality for the graph generated in {numref}`sample_gph_1`." @@ -1277,7 +1277,7 @@ { "cell_type": "code", "execution_count": null, - "id": "17d6a1b5", + "id": "e6b38bd9", "metadata": {}, "outputs": [], "source": [ @@ -1287,7 +1287,7 @@ { "cell_type": "code", "execution_count": null, - "id": "384100e5", + "id": "82c08ef2", "metadata": {}, "outputs": [], "source": [ @@ -1300,7 +1300,7 @@ }, { "cell_type": "markdown", - "id": "816d9413", + "id": "d47282c2", "metadata": {}, "source": [ "While nodes $2$ and $4$ had the highest in-degree centrality, we can see that nodes $1$ and $2$ have the\n", @@ -1312,7 +1312,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9d0a54cc", + "id": "21fe51f4", "metadata": {}, "outputs": [], "source": [ @@ -1322,7 +1322,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c18400b2", + "id": "1e5cc9fc", "metadata": { "mystnb": { "figure": { @@ -1347,7 +1347,7 @@ }, { "cell_type": "markdown", - "id": "b3588968", + "id": "9bdda96d", "metadata": {}, "source": [ "Countries that are rated highly according to this rank tend to be important\n", @@ -1467,7 +1467,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5f99a068", + "id": "6e3fa6e1", "metadata": {}, "outputs": [], "source": [ @@ -1477,7 +1477,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f4b976cc", + "id": "dad21981", "metadata": { "mystnb": { "figure": { @@ -1502,7 +1502,7 @@ }, { "cell_type": "markdown", - "id": "623f293d", + "id": "c8d4cd53", "metadata": {}, "source": [ "Highly ranked countries are those that attract large inflows of credit, or\n", @@ -1604,7 +1604,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f35d73e8", + "id": "7182c60b", "metadata": {}, "outputs": [], "source": [ @@ -1631,7 +1631,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a3750433", + "id": "e8caeb0e", "metadata": {}, "outputs": [], "source": [ @@ -1643,7 +1643,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5e3955ff", + "id": "5f182a7d", "metadata": {}, "outputs": [], "source": [ @@ -1656,7 +1656,7 @@ { "cell_type": "code", "execution_count": null, - "id": "56c25f84", + "id": "8d1fd7c6", "metadata": {}, "outputs": [], "source": [ @@ -1669,7 +1669,7 @@ }, { "cell_type": "markdown", - "id": "10f295d5", + "id": "f7cf8feb", "metadata": {}, "source": [ "```{solution-end}\n", @@ -1704,7 +1704,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c666fa4f", + "id": "4a6c1bc1", "metadata": {}, "outputs": [], "source": [ @@ -1723,7 +1723,7 @@ { "cell_type": "code", "execution_count": null, - "id": "19b613e1", + "id": "7942d4c5", "metadata": {}, "outputs": [], "source": [ @@ -1744,7 +1744,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9fb6d467", + "id": "a0904521", "metadata": {}, "outputs": [], "source": [ @@ -1754,7 +1754,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6e5ba016", + "id": "7c190c81", "metadata": {}, "outputs": [], "source": [ @@ -1763,7 +1763,7 @@ }, { "cell_type": "markdown", - "id": "f5c69373", + "id": "42d2eaa9", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/olg.ipynb b/_sources/olg.ipynb index 28ac2240..68c2fb30 100644 --- a/_sources/olg.ipynb +++ b/_sources/olg.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "a096c8b0", + "id": "354d3f3a", "metadata": {}, "source": [ "# The Overlapping Generations Model\n", @@ -59,7 +59,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4e3de3ce", + "id": "73ef6c42", "metadata": {}, "outputs": [], "source": [ @@ -71,7 +71,7 @@ }, { "cell_type": "markdown", - "id": "8db9ff4c", + "id": "0a5de4d9", "metadata": {}, "source": [ "## Environment\n", @@ -298,7 +298,7 @@ { "cell_type": "code", "execution_count": null, - "id": "13a78664", + "id": "ab12dd84", "metadata": {}, "outputs": [], "source": [ @@ -309,7 +309,7 @@ { "cell_type": "code", "execution_count": null, - "id": "81eac5d2", + "id": "3168889b", "metadata": {}, "outputs": [], "source": [ @@ -320,7 +320,7 @@ }, { "cell_type": "markdown", - "id": "fd83e5e9", + "id": "6a891307", "metadata": {}, "source": [ "The next figure plots the supply of capital, as in [](saving_log_2_olg), as well as the demand for capital, as in [](aggregate_demand_capital_olg), as functions of the interest rate $R_{t+1}$.\n", @@ -387,7 +387,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d6924786", + "id": "83042a6d", "metadata": {}, "outputs": [], "source": [ @@ -398,7 +398,7 @@ }, { "cell_type": "markdown", - "id": "a1ca4b5e", + "id": "93c431c0", "metadata": {}, "source": [ "In the case of log utility, since capital supply does not depend on the interest rate, the equilibrium quantity is fixed by supply.\n", @@ -416,7 +416,7 @@ { "cell_type": "code", "execution_count": null, - "id": "623f9052", + "id": "aa52f0d2", "metadata": {}, "outputs": [], "source": [ @@ -444,7 +444,7 @@ }, { "cell_type": "markdown", - "id": "d4ddd507", + "id": "539db0c0", "metadata": {}, "source": [ "## Dynamics \n", @@ -481,7 +481,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a1cb85a2", + "id": "63222ff5", "metadata": {}, "outputs": [], "source": [ @@ -492,7 +492,7 @@ { "cell_type": "code", "execution_count": null, - "id": "04bdbbba", + "id": "8b61cfba", "metadata": {}, "outputs": [], "source": [ @@ -519,7 +519,7 @@ }, { "cell_type": "markdown", - "id": "8ff49ef0", + "id": "b63880fa", "metadata": {}, "source": [ "### Steady state (log case)\n", @@ -554,7 +554,7 @@ { "cell_type": "code", "execution_count": null, - "id": "791b4689", + "id": "c7904388", "metadata": {}, "outputs": [], "source": [ @@ -564,7 +564,7 @@ }, { "cell_type": "markdown", - "id": "3a0b61dc", + "id": "23a32002", "metadata": {}, "source": [ "### Time series\n", @@ -577,7 +577,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3968b004", + "id": "b8a55f2c", "metadata": {}, "outputs": [], "source": [ @@ -599,7 +599,7 @@ }, { "cell_type": "markdown", - "id": "223deee7", + "id": "c841012c", "metadata": {}, "source": [ "If you experiment with different positive initial conditions, you will see that the series always converges to $k^*$." @@ -607,7 +607,7 @@ }, { "cell_type": "markdown", - "id": "6efd3e91", + "id": "fc863d26", "metadata": {}, "source": [ "Below we also plot the gross interest rate over time." @@ -616,7 +616,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7a74fb35", + "id": "9cf4e32e", "metadata": {}, "outputs": [], "source": [ @@ -634,7 +634,7 @@ }, { "cell_type": "markdown", - "id": "4f4a4c20", + "id": "fcbd62bb", "metadata": {}, "source": [ "The interest rate reflects the marginal product of capital, which is high when capital stock is low." @@ -642,7 +642,7 @@ }, { "cell_type": "markdown", - "id": "d068dd76", + "id": "b34c7aa4", "metadata": {}, "source": [ "## CRRA preferences\n", @@ -664,7 +664,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6417c5ca", + "id": "86a5525d", "metadata": {}, "outputs": [], "source": [ @@ -682,7 +682,7 @@ }, { "cell_type": "markdown", - "id": "b2dc55c8", + "id": "b4d11e51", "metadata": {}, "source": [ "Let's also redefine the capital demand function to work with this `namedtuple`." @@ -691,7 +691,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1a0a4eee", + "id": "e56494d0", "metadata": {}, "outputs": [], "source": [ @@ -701,7 +701,7 @@ }, { "cell_type": "markdown", - "id": "a7fa1154", + "id": "b4698a3d", "metadata": {}, "source": [ "### Supply\n", @@ -732,7 +732,7 @@ { "cell_type": "code", "execution_count": null, - "id": "964a8a1b", + "id": "45e0bb70", "metadata": {}, "outputs": [], "source": [ @@ -744,7 +744,7 @@ { "cell_type": "code", "execution_count": null, - "id": "59887897", + "id": "206b475c", "metadata": {}, "outputs": [], "source": [ @@ -766,7 +766,7 @@ }, { "cell_type": "markdown", - "id": "b891d024", + "id": "cf21a262", "metadata": {}, "source": [ "### Equilibrium\n", @@ -801,7 +801,7 @@ }, { "cell_type": "markdown", - "id": "4ffeeab9", + "id": "a9219e54", "metadata": {}, "source": [ "## Exercises\n", @@ -849,7 +849,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dfa16efc", + "id": "d9c03427", "metadata": {}, "outputs": [], "source": [ @@ -864,7 +864,7 @@ }, { "cell_type": "markdown", - "id": "07a7141d", + "id": "852fb640", "metadata": {}, "source": [ "Now let's define a function that finds the value of $k_{t+1}$." @@ -873,7 +873,7 @@ { "cell_type": "code", "execution_count": null, - "id": "740e2e53", + "id": "92f66e9e", "metadata": {}, "outputs": [], "source": [ @@ -883,7 +883,7 @@ }, { "cell_type": "markdown", - "id": "46596c06", + "id": "c825c5bf", "metadata": {}, "source": [ "Finally, here is the 45-degree diagram." @@ -892,7 +892,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f85f55f8", + "id": "d788ed0c", "metadata": {}, "outputs": [], "source": [ @@ -921,7 +921,7 @@ }, { "cell_type": "markdown", - "id": "5ff03941", + "id": "02d0ecbc", "metadata": {}, "source": [ "```{solution-end}\n", @@ -971,7 +971,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1cc7c633", + "id": "5fea58a1", "metadata": {}, "outputs": [], "source": [ @@ -986,7 +986,7 @@ }, { "cell_type": "markdown", - "id": "6f10ccbc", + "id": "9590e574", "metadata": {}, "source": [ "Let's apply Newton's method to find the root:" @@ -995,7 +995,7 @@ { "cell_type": "code", "execution_count": null, - "id": "92f38c6d", + "id": "25ddf9af", "metadata": {}, "outputs": [], "source": [ @@ -1005,7 +1005,7 @@ }, { "cell_type": "markdown", - "id": "4bc6f0e4", + "id": "80a7fdb9", "metadata": {}, "source": [ "```{solution-end}\n", @@ -1036,7 +1036,7 @@ { "cell_type": "code", "execution_count": null, - "id": "87245aac", + "id": "ee194411", "metadata": {}, "outputs": [], "source": [ @@ -1047,7 +1047,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b2aa3389", + "id": "64950252", "metadata": {}, "outputs": [], "source": [ @@ -1077,7 +1077,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d90726e5", + "id": "224e3a5c", "metadata": {}, "outputs": [], "source": [ @@ -1086,7 +1086,7 @@ }, { "cell_type": "markdown", - "id": "ed3b9560", + "id": "56ea13cf", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/prob_dist.ipynb b/_sources/prob_dist.ipynb index d443775c..1eba7ef6 100644 --- a/_sources/prob_dist.ipynb +++ b/_sources/prob_dist.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "42802ff9", + "id": "9c3393ad", "metadata": {}, "source": [ "# Distributions and Probabilities\n", @@ -18,7 +18,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a50d78fa", + "id": "16485fee", "metadata": { "tags": [ "hide-output" @@ -32,7 +32,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2419ec13", + "id": "472053d1", "metadata": {}, "outputs": [], "source": [ @@ -46,7 +46,7 @@ }, { "cell_type": "markdown", - "id": "c38120e9", + "id": "d747cbb7", "metadata": {}, "source": [ "## Common distributions\n", @@ -111,7 +111,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ec329630", + "id": "6837774a", "metadata": {}, "outputs": [], "source": [ @@ -121,7 +121,7 @@ }, { "cell_type": "markdown", - "id": "d2921096", + "id": "d7709bfa", "metadata": {}, "source": [ "Here's the mean and variance:" @@ -130,7 +130,7 @@ { "cell_type": "code", "execution_count": null, - "id": "005137f3", + "id": "1982fe89", "metadata": {}, "outputs": [], "source": [ @@ -139,7 +139,7 @@ }, { "cell_type": "markdown", - "id": "c07d4d92", + "id": "33e28087", "metadata": {}, "source": [ "The formula for the mean is $(n+1)/2$, and the formula for the variance is $(n^2 - 1)/12$.\n", @@ -151,7 +151,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a897310a", + "id": "78ab4b4c", "metadata": {}, "outputs": [], "source": [ @@ -161,7 +161,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f01ff1be", + "id": "869537bb", "metadata": {}, "outputs": [], "source": [ @@ -170,7 +170,7 @@ }, { "cell_type": "markdown", - "id": "3bc7fcac", + "id": "75434c6a", "metadata": {}, "source": [ "Here's a plot of the probability mass function:" @@ -179,7 +179,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fedf278a", + "id": "4e278bb2", "metadata": {}, "outputs": [], "source": [ @@ -195,7 +195,7 @@ }, { "cell_type": "markdown", - "id": "d785e214", + "id": "7a5c2239", "metadata": {}, "source": [ "Here's a plot of the CDF:" @@ -204,7 +204,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e3e656ab", + "id": "953c8176", "metadata": {}, "outputs": [], "source": [ @@ -220,7 +220,7 @@ }, { "cell_type": "markdown", - "id": "078c5a3c", + "id": "c7b6a6d6", "metadata": {}, "source": [ "The CDF jumps up by $p(x_i)$ at $x_i$.\n", @@ -240,7 +240,8 @@ "Another useful distribution is the Bernoulli distribution on $S = \\{0,1\\}$, which has PMF:\n", "\n", "$$\n", - "p(i) = \\theta^{i-1} (1 - \\theta)^i\n", + "p(i) = \\theta^i (1 - \\theta)^{1-i}\n", + "\\qquad (i = 0, 1)\n", "$$\n", "\n", "Here $\\theta \\in [0,1]$ is a parameter.\n", @@ -251,7 +252,7 @@ "* $p(0) = 1 - \\theta$ means that the trial fails (takes value 0) with\n", " probability $1-\\theta$\n", "\n", - "The formula for the mean is $p$, and the formula for the variance is $p(1-p)$.\n", + "The formula for the mean is $\\theta$, and the formula for the variance is $\\theta(1-\\theta)$.\n", "\n", "We can import the Bernoulli distribution on $S = \\{0,1\\}$ from SciPy like so:" ] @@ -259,7 +260,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7733a26e", + "id": "dd23510e", "metadata": {}, "outputs": [], "source": [ @@ -269,7 +270,7 @@ }, { "cell_type": "markdown", - "id": "135255aa", + "id": "5d5e5f97", "metadata": {}, "source": [ "Here's the mean and variance at $\\theta=0.4$" @@ -278,7 +279,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a2b12234", + "id": "ad2d38ef", "metadata": {}, "outputs": [], "source": [ @@ -287,26 +288,25 @@ }, { "cell_type": "markdown", - "id": "aeb460fb", + "id": "8a2d37ae", "metadata": {}, "source": [ - "Now let's evaluate the PMF" + "We can evaluate the PMF as follows" ] }, { "cell_type": "code", "execution_count": null, - "id": "11530a1d", + "id": "8f082a07", "metadata": {}, "outputs": [], "source": [ - "u.pmf(0)\n", - "u.pmf(1)" + "u.pmf(0), u.pmf(1)" ] }, { "cell_type": "markdown", - "id": "6c52673c", + "id": "1e999933", "metadata": {}, "source": [ "#### Binomial distribution\n", @@ -331,7 +331,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9a619d9f", + "id": "8be28ad5", "metadata": {}, "outputs": [], "source": [ @@ -342,7 +342,7 @@ }, { "cell_type": "markdown", - "id": "670b5851", + "id": "63ca2b80", "metadata": {}, "source": [ "According to our formulas, the mean and variance are" @@ -351,7 +351,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1b74960d", + "id": "d5532b0d", "metadata": {}, "outputs": [], "source": [ @@ -360,7 +360,7 @@ }, { "cell_type": "markdown", - "id": "4d7426de", + "id": "0018a56d", "metadata": {}, "source": [ "Let's see if SciPy gives us the same results:" @@ -369,7 +369,7 @@ { "cell_type": "code", "execution_count": null, - "id": "20e41ebe", + "id": "b0695c3f", "metadata": {}, "outputs": [], "source": [ @@ -378,7 +378,7 @@ }, { "cell_type": "markdown", - "id": "515f211b", + "id": "06f5c155", "metadata": {}, "source": [ "Here's the PMF:" @@ -387,7 +387,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e132ed90", + "id": "ef5c3c2f", "metadata": {}, "outputs": [], "source": [ @@ -397,7 +397,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b72a2002", + "id": "63be82d8", "metadata": {}, "outputs": [], "source": [ @@ -413,7 +413,7 @@ }, { "cell_type": "markdown", - "id": "6d1682d0", + "id": "f71eb196", "metadata": {}, "source": [ "Here's the CDF:" @@ -422,7 +422,7 @@ { "cell_type": "code", "execution_count": null, - "id": "430046e8", + "id": "44c2a0ec", "metadata": {}, "outputs": [], "source": [ @@ -438,7 +438,7 @@ }, { "cell_type": "markdown", - "id": "ea280cdc", + "id": "8c24ed62", "metadata": {}, "source": [ "```{exercise}\n", @@ -457,7 +457,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3b715cf3", + "id": "74418bd4", "metadata": {}, "outputs": [], "source": [ @@ -474,7 +474,7 @@ }, { "cell_type": "markdown", - "id": "bae66036", + "id": "c5b99bcb", "metadata": {}, "source": [ "We can see that the output graph is the same as the one above.\n", @@ -506,7 +506,7 @@ { "cell_type": "code", "execution_count": null, - "id": "da10609c", + "id": "e9f02836", "metadata": {}, "outputs": [], "source": [ @@ -517,7 +517,7 @@ }, { "cell_type": "markdown", - "id": "af34e96e", + "id": "19dbe22e", "metadata": {}, "source": [ "Here's part of the PMF:" @@ -526,7 +526,7 @@ { "cell_type": "code", "execution_count": null, - "id": "65cd0669", + "id": "66de1328", "metadata": {}, "outputs": [], "source": [ @@ -543,7 +543,7 @@ }, { "cell_type": "markdown", - "id": "2688959a", + "id": "6ce34806", "metadata": {}, "source": [ "#### Poisson distribution\n", @@ -564,7 +564,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bc25a8b8", + "id": "b4ccafac", "metadata": {}, "outputs": [], "source": [ @@ -575,7 +575,7 @@ }, { "cell_type": "markdown", - "id": "5cd4538e", + "id": "94a4d7d0", "metadata": {}, "source": [ "Here's the PMF:" @@ -584,7 +584,7 @@ { "cell_type": "code", "execution_count": null, - "id": "98d65752", + "id": "a33036dc", "metadata": {}, "outputs": [], "source": [ @@ -594,7 +594,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a69b7fbf", + "id": "5d7953ba", "metadata": {}, "outputs": [], "source": [ @@ -610,7 +610,7 @@ }, { "cell_type": "markdown", - "id": "c54a3489", + "id": "32794ee4", "metadata": {}, "source": [ "### Continuous distributions\n", @@ -665,7 +665,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dd19d649", + "id": "60e68cf7", "metadata": {}, "outputs": [], "source": [ @@ -676,7 +676,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1eec81af", + "id": "b7e8601f", "metadata": {}, "outputs": [], "source": [ @@ -685,7 +685,7 @@ }, { "cell_type": "markdown", - "id": "601986d9", + "id": "8c3dfceb", "metadata": {}, "source": [ "Here's a plot of the density --- the famous \"bell-shaped curve\":" @@ -694,7 +694,7 @@ { "cell_type": "code", "execution_count": null, - "id": "342cb94b", + "id": "e6a104b0", "metadata": {}, "outputs": [], "source": [ @@ -716,7 +716,7 @@ }, { "cell_type": "markdown", - "id": "a58af010", + "id": "18530ed4", "metadata": {}, "source": [ "Here's a plot of the CDF:" @@ -725,7 +725,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c7ecb72c", + "id": "6c28152c", "metadata": {}, "outputs": [], "source": [ @@ -744,7 +744,7 @@ }, { "cell_type": "markdown", - "id": "7d4d09aa", + "id": "3b85580c", "metadata": {}, "source": [ "#### Lognormal distribution\n", @@ -771,7 +771,7 @@ { "cell_type": "code", "execution_count": null, - "id": "116c2d36", + "id": "26a36828", "metadata": {}, "outputs": [], "source": [ @@ -782,7 +782,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b6bcf305", + "id": "645c5c39", "metadata": {}, "outputs": [], "source": [ @@ -792,7 +792,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d640815c", + "id": "39dbc054", "metadata": {}, "outputs": [], "source": [ @@ -815,7 +815,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b4a7bbb1", + "id": "27467f10", "metadata": {}, "outputs": [], "source": [ @@ -836,7 +836,7 @@ }, { "cell_type": "markdown", - "id": "0ffd366c", + "id": "4759463e", "metadata": {}, "source": [ "#### Exponential distribution\n", @@ -860,7 +860,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fbac4e42", + "id": "08a19db1", "metadata": {}, "outputs": [], "source": [ @@ -871,7 +871,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7c6fcd12", + "id": "75a7bab3", "metadata": {}, "outputs": [], "source": [ @@ -881,7 +881,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0c01efa0", + "id": "e02ca5f7", "metadata": {}, "outputs": [], "source": [ @@ -903,7 +903,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d2b0e1cd", + "id": "3075ac88", "metadata": {}, "outputs": [], "source": [ @@ -922,7 +922,7 @@ }, { "cell_type": "markdown", - "id": "93b50747", + "id": "ac1eec6e", "metadata": {}, "source": [ "#### Beta distribution\n", @@ -950,7 +950,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5648759a", + "id": "c6eeaddf", "metadata": {}, "outputs": [], "source": [ @@ -961,7 +961,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d3702e4e", + "id": "5179213f", "metadata": {}, "outputs": [], "source": [ @@ -971,7 +971,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f6816484", + "id": "12f4ca8c", "metadata": {}, "outputs": [], "source": [ @@ -994,7 +994,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6c613e76", + "id": "e66598f7", "metadata": {}, "outputs": [], "source": [ @@ -1013,7 +1013,7 @@ }, { "cell_type": "markdown", - "id": "9a02f4a5", + "id": "23d8af39", "metadata": {}, "source": [ "#### Gamma distribution\n", @@ -1040,7 +1040,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b4a97a25", + "id": "2bffc3c4", "metadata": {}, "outputs": [], "source": [ @@ -1051,7 +1051,7 @@ { "cell_type": "code", "execution_count": null, - "id": "067a18ba", + "id": "b5d2e530", "metadata": {}, "outputs": [], "source": [ @@ -1061,7 +1061,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f4e6b4a4", + "id": "b7092ef8", "metadata": {}, "outputs": [], "source": [ @@ -1084,7 +1084,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3749b64d", + "id": "f8b8d4c9", "metadata": {}, "outputs": [], "source": [ @@ -1103,7 +1103,7 @@ }, { "cell_type": "markdown", - "id": "71315fc4", + "id": "b92c1692", "metadata": {}, "source": [ "## Observed distributions\n", @@ -1117,7 +1117,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fafa3f9f", + "id": "c0a795a6", "metadata": {}, "outputs": [], "source": [ @@ -1138,7 +1138,7 @@ }, { "cell_type": "markdown", - "id": "75346138", + "id": "7e6d56e3", "metadata": {}, "source": [ "In this situation, we might refer to the set of their incomes as the \"income distribution.\"\n", @@ -1174,7 +1174,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8889c8e3", + "id": "204e599d", "metadata": {}, "outputs": [], "source": [ @@ -1184,13 +1184,17 @@ }, { "cell_type": "markdown", - "id": "8ccde198", + "id": "afe33f58", "metadata": {}, "source": [ "```{exercise}\n", ":label: prob_ex4\n", "\n", - "Check that the formulas given above produce the same numbers.\n", + "If you try to check that the formulas given above for the sample mean and sample\n", + "variance produce the same numbers, you will see that the variance isn't quite\n", + "right. This is because SciPy uses $1/(n-1)$ instead of $1/n$ as the term at the\n", + "front of the variance. (Some books define the sample variance this way.)\n", + "Confirm.\n", "```\n", "\n", "\n", @@ -1213,7 +1217,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5a7d294e", + "id": "0d695579", "metadata": {}, "outputs": [], "source": [ @@ -1226,7 +1230,7 @@ }, { "cell_type": "markdown", - "id": "fc3121b6", + "id": "c1ab0375", "metadata": {}, "source": [ "Let's look at a distribution from real data.\n", @@ -1241,7 +1245,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2f7271d7", + "id": "e20da05e", "metadata": { "tags": [ "hide-output" @@ -1257,7 +1261,7 @@ }, { "cell_type": "markdown", - "id": "7d555eb3", + "id": "a652eea8", "metadata": {}, "source": [ "The first observation is the monthly return (percent change) over January 2000, which was" @@ -1266,7 +1270,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bf719785", + "id": "232c4743", "metadata": {}, "outputs": [], "source": [ @@ -1275,7 +1279,7 @@ }, { "cell_type": "markdown", - "id": "2bdf6134", + "id": "28830f88", "metadata": {}, "source": [ "Let's turn the return observations into an array and histogram it." @@ -1284,7 +1288,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2290dacf", + "id": "cd054af0", "metadata": {}, "outputs": [], "source": [ @@ -1297,7 +1301,7 @@ }, { "cell_type": "markdown", - "id": "b02b0c58", + "id": "f0ae1095", "metadata": {}, "source": [ "#### Kernel density estimates\n", @@ -1313,7 +1317,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c393e9ba", + "id": "fde7ded7", "metadata": {}, "outputs": [], "source": [ @@ -1326,7 +1330,7 @@ }, { "cell_type": "markdown", - "id": "97cec8b5", + "id": "9ac4e24e", "metadata": {}, "source": [ "The smoothness of the KDE is dependent on how we choose the bandwidth." @@ -1335,7 +1339,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b328dd22", + "id": "66f68d8f", "metadata": {}, "outputs": [], "source": [ @@ -1351,7 +1355,7 @@ }, { "cell_type": "markdown", - "id": "5c784f85", + "id": "72fe4cf1", "metadata": {}, "source": [ "When we use a larger bandwidth, the KDE is smoother.\n", @@ -1368,7 +1372,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c83c4e4a", + "id": "6877f2d5", "metadata": {}, "outputs": [], "source": [ @@ -1381,7 +1385,7 @@ }, { "cell_type": "markdown", - "id": "efb44360", + "id": "fe5550fb", "metadata": {}, "source": [ "Violin plots are particularly useful when we want to compare different distributions.\n", @@ -1392,7 +1396,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2631a8e6", + "id": "9a43d348", "metadata": { "tags": [ "hide-output" @@ -1408,7 +1412,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4b008e2c", + "id": "4ecaeef8", "metadata": {}, "outputs": [], "source": [ @@ -1421,7 +1425,7 @@ }, { "cell_type": "markdown", - "id": "2b832cf4", + "id": "7d629b06", "metadata": {}, "source": [ "### Connection to probability distributions\n", @@ -1444,7 +1448,7 @@ { "cell_type": "code", "execution_count": null, - "id": "be0540c9", + "id": "5162305b", "metadata": {}, "outputs": [], "source": [ @@ -1457,7 +1461,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b9403738", + "id": "6584a931", "metadata": {}, "outputs": [], "source": [ @@ -1472,7 +1476,7 @@ }, { "cell_type": "markdown", - "id": "a4f32615", + "id": "900415b9", "metadata": {}, "source": [ "The match between the histogram and the density is not bad but also not very good.\n", @@ -1490,7 +1494,7 @@ { "cell_type": "code", "execution_count": null, - "id": "205030cd", + "id": "11b62ec3", "metadata": {}, "outputs": [], "source": [ @@ -1509,7 +1513,7 @@ }, { "cell_type": "markdown", - "id": "21675b36", + "id": "86d0f31b", "metadata": {}, "source": [ "Note that if you keep increasing $N$, which is the number of observations, the fit will get better and better.\n", @@ -1548,11 +1552,11 @@ 131, 135, 144, - 178, - 181, - 185, - 187, - 191, + 179, + 182, + 186, + 188, + 192, 194, 214, 218, @@ -1607,28 +1611,28 @@ 720, 751, 754, - 778, - 784, - 794, - 801, + 782, + 788, + 798, 805, - 807, + 809, 811, - 817, - 828, - 834, + 815, + 821, + 832, 838, - 847, - 859, - 865, - 871, - 879, - 885, - 903, - 910, - 918, - 931, - 943 + 842, + 851, + 863, + 869, + 875, + 883, + 889, + 907, + 914, + 922, + 935, + 947 ] }, "nbformat": 4, diff --git a/_sources/prob_dist.md b/_sources/prob_dist.md index 2b619724..6976b665 100644 --- a/_sources/prob_dist.md +++ b/_sources/prob_dist.md @@ -160,7 +160,8 @@ Check that your answers agree with `u.mean()` and `u.var()`. Another useful distribution is the Bernoulli distribution on $S = \{0,1\}$, which has PMF: $$ -p(i) = \theta^{i-1} (1 - \theta)^i +p(i) = \theta^i (1 - \theta)^{1-i} +\qquad (i = 0, 1) $$ Here $\theta \in [0,1]$ is a parameter. @@ -171,7 +172,7 @@ We can think of this distribution as modeling probabilities for a random trial w * $p(0) = 1 - \theta$ means that the trial fails (takes value 0) with probability $1-\theta$ -The formula for the mean is $p$, and the formula for the variance is $p(1-p)$. +The formula for the mean is $\theta$, and the formula for the variance is $\theta(1-\theta)$. We can import the Bernoulli distribution on $S = \{0,1\}$ from SciPy like so: @@ -186,11 +187,10 @@ Here's the mean and variance at $\theta=0.4$ u.mean(), u.var() ``` -Now let's evaluate the PMF +We can evaluate the PMF as follows ```{code-cell} ipython3 -u.pmf(0) -u.pmf(1) +u.pmf(0), u.pmf(1) ``` #### Binomial distribution @@ -756,7 +756,11 @@ x.mean(), x.var() ```{exercise} :label: prob_ex4 -Check that the formulas given above produce the same numbers. +If you try to check that the formulas given above for the sample mean and sample +variance produce the same numbers, you will see that the variance isn't quite +right. This is because SciPy uses $1/(n-1)$ instead of $1/n$ as the term at the +front of the variance. (Some books define the sample variance this way.) +Confirm. ``` diff --git a/_sources/pv.ipynb b/_sources/pv.ipynb index 20146e44..e4876f74 100644 --- a/_sources/pv.ipynb +++ b/_sources/pv.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "aac5c59c", + "id": "84287fdf", "metadata": {}, "source": [ "# Present Values\n", @@ -86,7 +86,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9e0a116e", + "id": "b3fbbc2f", "metadata": {}, "outputs": [], "source": [ @@ -96,7 +96,7 @@ }, { "cell_type": "markdown", - "id": "0735fc09", + "id": "0a0ccca2", "metadata": {}, "source": [ "## Representing sequences as vectors\n", @@ -135,7 +135,7 @@ }, { "cell_type": "markdown", - "id": "5ebff0e3", + "id": "9c597a8b", "metadata": {}, "source": [ "```{exercise-start} \n", @@ -201,7 +201,7 @@ { "cell_type": "code", "execution_count": null, - "id": "47cd72cd", + "id": "87f5e313", "metadata": {}, "outputs": [], "source": [ @@ -221,7 +221,7 @@ }, { "cell_type": "markdown", - "id": "592106bc", + "id": "975e3fd0", "metadata": {}, "source": [ "Now let's compute and plot the asset price.\n", @@ -232,7 +232,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ce39576c", + "id": "c55326e5", "metadata": {}, "outputs": [], "source": [ @@ -242,7 +242,7 @@ }, { "cell_type": "markdown", - "id": "fa6c1d66", + "id": "9f2dacf5", "metadata": {}, "source": [ "Let's build the matrix $A$" @@ -251,7 +251,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6087ab07", + "id": "917bc56f", "metadata": {}, "outputs": [], "source": [ @@ -266,7 +266,7 @@ }, { "cell_type": "markdown", - "id": "7700b81b", + "id": "8bc8d874", "metadata": {}, "source": [ "Let's inspect $A$" @@ -275,7 +275,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b05c83b4", + "id": "a150188a", "metadata": {}, "outputs": [], "source": [ @@ -284,7 +284,7 @@ }, { "cell_type": "markdown", - "id": "e88ea781", + "id": "965e02dc", "metadata": {}, "source": [ "Now let's solve for prices using {eq}`eq:apdb_sol`." @@ -293,7 +293,7 @@ { "cell_type": "code", "execution_count": null, - "id": "efd22d1d", + "id": "1b4a55d2", "metadata": {}, "outputs": [], "source": [ @@ -309,7 +309,7 @@ }, { "cell_type": "markdown", - "id": "5610b802", + "id": "d6a35cf3", "metadata": {}, "source": [ "Now let's consider a cyclically growing dividend sequence:\n", @@ -322,7 +322,7 @@ { "cell_type": "code", "execution_count": null, - "id": "654c18ec", + "id": "d586abdd", "metadata": {}, "outputs": [], "source": [ @@ -342,7 +342,7 @@ }, { "cell_type": "markdown", - "id": "36f072af", + "id": "8c61b5f3", "metadata": {}, "source": [ "```{exercise-start} \n", @@ -365,7 +365,7 @@ { "cell_type": "code", "execution_count": null, - "id": "895c74e5", + "id": "b887ca7a", "metadata": {}, "outputs": [], "source": [ @@ -391,7 +391,7 @@ }, { "cell_type": "markdown", - "id": "93d91c2a", + "id": "c71d47b8", "metadata": {}, "source": [ "The weighted averaging associated with the present value calculation largely\n", @@ -466,7 +466,7 @@ }, { "cell_type": "markdown", - "id": "d0f43f57", + "id": "2aa8d37f", "metadata": {}, "source": [ "## More about bubbles\n", @@ -485,7 +485,7 @@ }, { "cell_type": "markdown", - "id": "4ef6f818", + "id": "d175ab97", "metadata": {}, "source": [ "In this case system {eq}`eq:Euler1` of our $T+1$ asset pricing equations takes the\n", diff --git a/_sources/scalar_dynam.ipynb b/_sources/scalar_dynam.ipynb index 5f87f81e..42724207 100644 --- a/_sources/scalar_dynam.ipynb +++ b/_sources/scalar_dynam.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "c5e3ed1b", + "id": "6400a6c2", "metadata": {}, "source": [ "```{raw} html\n", @@ -48,7 +48,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bb2368e1", + "id": "d113f68f", "metadata": {}, "outputs": [], "source": [ @@ -58,7 +58,7 @@ }, { "cell_type": "markdown", - "id": "41153a1e", + "id": "37c66d49", "metadata": {}, "source": [ "## Some definitions\n", @@ -336,7 +336,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7ce5e835", + "id": "cef03c93", "metadata": { "tags": [ "hide-input", @@ -433,7 +433,7 @@ }, { "cell_type": "markdown", - "id": "9bb524f7", + "id": "eac3f119", "metadata": {}, "source": [ "Let's create a 45-degree diagram for the Solow-Swan model with a fixed set of\n", @@ -443,7 +443,7 @@ { "cell_type": "code", "execution_count": null, - "id": "036b9096", + "id": "2ddd7d6e", "metadata": {}, "outputs": [], "source": [ @@ -453,7 +453,7 @@ }, { "cell_type": "markdown", - "id": "905e143b", + "id": "109b7b6b", "metadata": {}, "source": [ "Here is the 45-degree plot." @@ -462,7 +462,7 @@ { "cell_type": "code", "execution_count": null, - "id": "239e16f9", + "id": "85cb81c6", "metadata": {}, "outputs": [], "source": [ @@ -473,7 +473,7 @@ }, { "cell_type": "markdown", - "id": "d1e28e4a", + "id": "beb8e786", "metadata": {}, "source": [ "The plot shows the function $g$ and the 45-degree line.\n", @@ -513,7 +513,7 @@ { "cell_type": "code", "execution_count": null, - "id": "484338eb", + "id": "72d6fac8", "metadata": {}, "outputs": [], "source": [ @@ -524,7 +524,7 @@ }, { "cell_type": "markdown", - "id": "6f922f27", + "id": "cb54cc51", "metadata": {}, "source": [ "We can plot the time series of per capita capital corresponding to the figure above as\n", @@ -534,7 +534,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c881670a", + "id": "36956d26", "metadata": {}, "outputs": [], "source": [ @@ -543,7 +543,7 @@ }, { "cell_type": "markdown", - "id": "a014e621", + "id": "430164a1", "metadata": {}, "source": [ "Here's a somewhat longer view:" @@ -552,7 +552,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ac480d9a", + "id": "a4617de7", "metadata": {}, "outputs": [], "source": [ @@ -561,7 +561,7 @@ }, { "cell_type": "markdown", - "id": "cec0cbe5", + "id": "8b14adb1", "metadata": {}, "source": [ "When per capita capital stock is higher than the unique positive steady state, we see that\n", @@ -571,7 +571,7 @@ { "cell_type": "code", "execution_count": null, - "id": "690bc90c", + "id": "e5198d75", "metadata": {}, "outputs": [], "source": [ @@ -582,7 +582,7 @@ }, { "cell_type": "markdown", - "id": "0c6b6709", + "id": "dc551e4a", "metadata": {}, "source": [ "Here is the time series:" @@ -591,7 +591,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d16acdf1", + "id": "f334e5db", "metadata": {}, "outputs": [], "source": [ @@ -600,7 +600,7 @@ }, { "cell_type": "markdown", - "id": "5b3ce01e", + "id": "70c464e3", "metadata": {}, "source": [ "### Complex dynamics\n", @@ -620,7 +620,7 @@ { "cell_type": "code", "execution_count": null, - "id": "911cdcc0", + "id": "ebeb6244", "metadata": {}, "outputs": [], "source": [ @@ -633,7 +633,7 @@ }, { "cell_type": "markdown", - "id": "93118695", + "id": "36f14a80", "metadata": {}, "source": [ "Now let's look at a typical trajectory." @@ -642,7 +642,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6d34ac65", + "id": "5ce26d78", "metadata": {}, "outputs": [], "source": [ @@ -651,7 +651,7 @@ }, { "cell_type": "markdown", - "id": "c119f067", + "id": "dd732910", "metadata": {}, "source": [ "Notice how irregular it is.\n", @@ -662,7 +662,7 @@ { "cell_type": "code", "execution_count": null, - "id": "83aba17a", + "id": "cbe41444", "metadata": {}, "outputs": [], "source": [ @@ -671,7 +671,7 @@ }, { "cell_type": "markdown", - "id": "6fdbccbf", + "id": "a3686a34", "metadata": {}, "source": [ "The irregularity is even clearer over a longer time horizon:" @@ -680,7 +680,7 @@ { "cell_type": "code", "execution_count": null, - "id": "06d2431c", + "id": "676fd961", "metadata": {}, "outputs": [], "source": [ @@ -689,7 +689,7 @@ }, { "cell_type": "markdown", - "id": "afe9e567", + "id": "1b39441d", "metadata": {}, "source": [ "## Exercises\n", @@ -726,7 +726,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6cf472a4", + "id": "1198bebd", "metadata": {}, "outputs": [], "source": [ @@ -737,7 +737,7 @@ }, { "cell_type": "markdown", - "id": "6d441f9d", + "id": "5a38155a", "metadata": {}, "source": [ "Now let's plot a trajectory:" @@ -746,7 +746,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c1775f62", + "id": "66e96571", "metadata": {}, "outputs": [], "source": [ @@ -756,7 +756,7 @@ }, { "cell_type": "markdown", - "id": "21374d1c", + "id": "0da07cb4", "metadata": {}, "source": [ "Here is the corresponding time series, which converges towards the steady\n", @@ -766,7 +766,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a8940213", + "id": "1b09b9a6", "metadata": {}, "outputs": [], "source": [ @@ -775,7 +775,7 @@ }, { "cell_type": "markdown", - "id": "66a17dbe", + "id": "7c1ace7f", "metadata": {}, "source": [ "Now let's try $a=-0.5$ and see what differences we observe.\n", @@ -786,7 +786,7 @@ { "cell_type": "code", "execution_count": null, - "id": "581682db", + "id": "a010575c", "metadata": {}, "outputs": [], "source": [ @@ -797,7 +797,7 @@ }, { "cell_type": "markdown", - "id": "50b4e111", + "id": "f1771744", "metadata": {}, "source": [ "Now let's plot a trajectory:" @@ -806,7 +806,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fcf8f4e6", + "id": "c5ddef3e", "metadata": {}, "outputs": [], "source": [ @@ -816,7 +816,7 @@ }, { "cell_type": "markdown", - "id": "08005624", + "id": "1dd15030", "metadata": {}, "source": [ "Here is the corresponding time series, which converges towards the steady\n", @@ -826,7 +826,7 @@ { "cell_type": "code", "execution_count": null, - "id": "aabba128", + "id": "60995304", "metadata": {}, "outputs": [], "source": [ @@ -835,7 +835,7 @@ }, { "cell_type": "markdown", - "id": "2f65f17d", + "id": "29d33277", "metadata": {}, "source": [ "Once again, we have convergence to the steady state but the nature of\n", diff --git a/_sources/schelling.ipynb b/_sources/schelling.ipynb index ef878705..3fbfe6d3 100644 --- a/_sources/schelling.ipynb +++ b/_sources/schelling.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "1c461bc8", + "id": "70e3d464", "metadata": {}, "source": [ "(schelling)=\n", @@ -63,7 +63,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5484e240", + "id": "23e4f73a", "metadata": {}, "outputs": [], "source": [ @@ -75,7 +75,7 @@ }, { "cell_type": "markdown", - "id": "8923076e", + "id": "d46b6103", "metadata": {}, "source": [ "## The model\n", @@ -103,7 +103,7 @@ }, { "cell_type": "markdown", - "id": "d90e6213", + "id": "f96610d7", "metadata": {}, "source": [ "### Preferences\n", @@ -126,7 +126,7 @@ }, { "cell_type": "markdown", - "id": "440a2b2b", + "id": "11111e21", "metadata": {}, "source": [ "### Behavior\n", @@ -162,7 +162,7 @@ }, { "cell_type": "markdown", - "id": "b56eca6a", + "id": "b556132f", "metadata": {}, "source": [ "## Results\n", @@ -192,7 +192,7 @@ { "cell_type": "code", "execution_count": null, - "id": "eaa6e099", + "id": "f57b8053", "metadata": {}, "outputs": [], "source": [ @@ -247,7 +247,7 @@ }, { "cell_type": "markdown", - "id": "b5566679", + "id": "8e3f7adb", "metadata": {}, "source": [ "Here's some code that takes a list of agents and produces a plot showing their\n", @@ -260,7 +260,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a469ca32", + "id": "2bed36d1", "metadata": {}, "outputs": [], "source": [ @@ -290,7 +290,7 @@ }, { "cell_type": "markdown", - "id": "671546d5", + "id": "bce4a916", "metadata": {}, "source": [ "And here's some pseudocode for the main loop, where we cycle through the\n", @@ -312,7 +312,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2202f807", + "id": "b76d9999", "metadata": {}, "outputs": [], "source": [ @@ -359,7 +359,7 @@ }, { "cell_type": "markdown", - "id": "dbdb7a11", + "id": "d4cba2bc", "metadata": {}, "source": [ "Let's have a look at the results." @@ -368,7 +368,7 @@ { "cell_type": "code", "execution_count": null, - "id": "326539c6", + "id": "3fde8595", "metadata": {}, "outputs": [], "source": [ @@ -377,7 +377,7 @@ }, { "cell_type": "markdown", - "id": "6f0b676f", + "id": "cc93fabe", "metadata": {}, "source": [ "As discussed above, agents are initially mixed randomly together.\n", @@ -437,7 +437,7 @@ { "cell_type": "code", "execution_count": null, - "id": "91fbda57", + "id": "792bb388", "metadata": {}, "outputs": [], "source": [ @@ -544,7 +544,7 @@ }, { "cell_type": "markdown", - "id": "734bbcba", + "id": "77b93d75", "metadata": {}, "source": [ "```{solution-end}\n", @@ -553,7 +553,7 @@ }, { "cell_type": "markdown", - "id": "0160e440", + "id": "a768eedd", "metadata": {}, "source": [ "When we run this we again find that mixed neighborhoods break down and segregation emerges.\n", @@ -564,7 +564,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9c71da41", + "id": "ba50f938", "metadata": {}, "outputs": [], "source": [ @@ -574,7 +574,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9b0f9037", + "id": "4c52d2d0", "metadata": {}, "outputs": [], "source": [] diff --git a/_sources/short_path.ipynb b/_sources/short_path.ipynb index c63de84c..89d05d6e 100644 --- a/_sources/short_path.ipynb +++ b/_sources/short_path.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "548df6e3", + "id": "5ed78548", "metadata": {}, "source": [ "(short_path)=\n", @@ -44,7 +44,7 @@ { "cell_type": "code", "execution_count": null, - "id": "66f20712", + "id": "20891de7", "metadata": {}, "outputs": [], "source": [ @@ -53,7 +53,7 @@ }, { "cell_type": "markdown", - "id": "3753eb75", + "id": "b20569c2", "metadata": {}, "source": [ "## Outline of the problem\n", @@ -207,7 +207,7 @@ { "cell_type": "code", "execution_count": null, - "id": "44eb7df6", + "id": "3a4bff87", "metadata": {}, "outputs": [], "source": [ @@ -224,7 +224,7 @@ }, { "cell_type": "markdown", - "id": "5f038766", + "id": "50e08f3a", "metadata": {}, "source": [ "Notice that the cost of staying still (on the principle diagonal) is set to\n", @@ -240,7 +240,7 @@ { "cell_type": "code", "execution_count": null, - "id": "344305b8", + "id": "fbde8934", "metadata": {}, "outputs": [], "source": [ @@ -267,7 +267,7 @@ }, { "cell_type": "markdown", - "id": "7650a21a", + "id": "35e694e2", "metadata": {}, "source": [ "This matches with the numbers we obtained by inspection above.\n", @@ -304,7 +304,7 @@ { "cell_type": "code", "execution_count": null, - "id": "382a6279", + "id": "1abf7424", "metadata": {}, "outputs": [], "source": [ @@ -413,7 +413,7 @@ }, { "cell_type": "markdown", - "id": "10b2bff7", + "id": "0bcfbe00", "metadata": {}, "source": [ "```{exercise-end}\n", @@ -429,7 +429,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3e948747", + "id": "35641ba8", "metadata": {}, "outputs": [], "source": [ @@ -458,7 +458,7 @@ }, { "cell_type": "markdown", - "id": "ff44a7d3", + "id": "de202dc2", "metadata": {}, "source": [ "In addition, let's write\n", @@ -474,7 +474,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c1621690", + "id": "a7a863e3", "metadata": {}, "outputs": [], "source": [ @@ -501,7 +501,7 @@ }, { "cell_type": "markdown", - "id": "f4885417", + "id": "b6f667e3", "metadata": {}, "source": [ "We used np.allclose() rather than testing exact equality because we are\n", @@ -514,7 +514,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5c68ef31", + "id": "6ebd8ae1", "metadata": {}, "outputs": [], "source": [ @@ -534,7 +534,7 @@ }, { "cell_type": "markdown", - "id": "2bc0de29", + "id": "6946ffc7", "metadata": {}, "source": [ "Okay, now we have the necessary functions, let's call them to do the job we were assigned." @@ -543,7 +543,7 @@ { "cell_type": "code", "execution_count": null, - "id": "322598ca", + "id": "56bff1ba", "metadata": {}, "outputs": [], "source": [ @@ -554,7 +554,7 @@ }, { "cell_type": "markdown", - "id": "cab072dc", + "id": "8ea633fa", "metadata": {}, "source": [ "The total cost of the path should agree with $J[0]$ so let's check this." @@ -563,7 +563,7 @@ { "cell_type": "code", "execution_count": null, - "id": "58d4ef0c", + "id": "98f3c5ac", "metadata": {}, "outputs": [], "source": [ @@ -572,7 +572,7 @@ }, { "cell_type": "markdown", - "id": "63222c02", + "id": "4ac7bf3d", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/simple_linear_regression.ipynb b/_sources/simple_linear_regression.ipynb index 248a275d..611d8dd7 100644 --- a/_sources/simple_linear_regression.ipynb +++ b/_sources/simple_linear_regression.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "8b11bdb2", + "id": "a8d68d33", "metadata": {}, "source": [ "# Simple Linear Regression Model" @@ -11,7 +11,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f7ace984", + "id": "c36916de", "metadata": {}, "outputs": [], "source": [ @@ -22,7 +22,7 @@ }, { "cell_type": "markdown", - "id": "354c2f47", + "id": "76c07b3b", "metadata": {}, "source": [ "The simple regression model estimates the relationship between two variables $x_i$ and $y_i$\n", @@ -56,7 +56,7 @@ { "cell_type": "code", "execution_count": null, - "id": "df4b8313", + "id": "db3c6f36", "metadata": {}, "outputs": [], "source": [ @@ -69,7 +69,7 @@ }, { "cell_type": "markdown", - "id": "c46a5c13", + "id": "8713fbcc", "metadata": {}, "source": [ "We can use a scatter plot of the data to see the relationship between $y_i$ (ice-cream sales in dollars (\\$\\'s)) and $x_i$ (degrees Celsius)." @@ -78,7 +78,7 @@ { "cell_type": "code", "execution_count": null, - "id": "44f803b1", + "id": "58fcbbf7", "metadata": { "mystnb": { "figure": { @@ -100,7 +100,7 @@ }, { "cell_type": "markdown", - "id": "5ca42322", + "id": "8c5bb680", "metadata": {}, "source": [ "as you can see the data suggests that more ice-cream is typically sold on hotter days. \n", @@ -117,7 +117,7 @@ { "cell_type": "code", "execution_count": null, - "id": "43596e29", + "id": "f0a0c96b", "metadata": {}, "outputs": [], "source": [ @@ -129,7 +129,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d37b0442", + "id": "a38e3904", "metadata": { "mystnb": { "figure": { @@ -148,7 +148,7 @@ }, { "cell_type": "markdown", - "id": "dc8a4887", + "id": "186e01b3", "metadata": {}, "source": [ "We can see that this model does a poor job of estimating the relationship.\n", @@ -159,7 +159,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b396a9bc", + "id": "ca40ae28", "metadata": {}, "outputs": [], "source": [ @@ -170,7 +170,7 @@ { "cell_type": "code", "execution_count": null, - "id": "55838291", + "id": "9686a751", "metadata": { "mystnb": { "figure": { @@ -190,7 +190,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9515aa9b", + "id": "6fc27e89", "metadata": {}, "outputs": [], "source": [ @@ -201,7 +201,7 @@ { "cell_type": "code", "execution_count": null, - "id": "044aa539", + "id": "1fddec2e", "metadata": { "mystnb": { "figure": { @@ -220,7 +220,7 @@ }, { "cell_type": "markdown", - "id": "4f7fd3a6", + "id": "2e7a06b8", "metadata": {}, "source": [ "However we need to think about formalizing this guessing process by thinking of this problem as an optimization problem. \n", @@ -238,7 +238,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c8ed1bd9", + "id": "d5a598c8", "metadata": {}, "outputs": [], "source": [ @@ -248,7 +248,7 @@ { "cell_type": "code", "execution_count": null, - "id": "55faea8a", + "id": "5c9d0f82", "metadata": {}, "outputs": [], "source": [ @@ -258,7 +258,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dcd0b9d9", + "id": "ed159e42", "metadata": { "mystnb": { "figure": { @@ -278,7 +278,7 @@ }, { "cell_type": "markdown", - "id": "6e64f467", + "id": "d4257c3f", "metadata": {}, "source": [ "The Ordinary Least Squares (OLS) method chooses $\\alpha$ and $\\beta$ in such a way that **minimizes** the sum of the squared residuals (SSR). \n", @@ -305,7 +305,7 @@ { "cell_type": "code", "execution_count": null, - "id": "73b82ec2", + "id": "4ef402b6", "metadata": {}, "outputs": [], "source": [ @@ -315,7 +315,7 @@ }, { "cell_type": "markdown", - "id": "4ee63cc2", + "id": "b77d6ef1", "metadata": {}, "source": [ "We can then calculate the error for a range of $\\beta$ values" @@ -324,7 +324,7 @@ { "cell_type": "code", "execution_count": null, - "id": "57204e7a", + "id": "bc96ff3b", "metadata": {}, "outputs": [], "source": [ @@ -335,7 +335,7 @@ }, { "cell_type": "markdown", - "id": "194bbed7", + "id": "c184d8df", "metadata": {}, "source": [ "Plotting the error" @@ -344,7 +344,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b3bc47be", + "id": "aef5cc66", "metadata": { "mystnb": { "figure": { @@ -361,7 +361,7 @@ }, { "cell_type": "markdown", - "id": "3c8f0ac7", + "id": "d2d6cc35", "metadata": {}, "source": [ "Now let us vary $\\alpha$ (holding $\\beta$ constant)" @@ -370,7 +370,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9e238a9a", + "id": "c1574a97", "metadata": {}, "outputs": [], "source": [ @@ -381,7 +381,7 @@ }, { "cell_type": "markdown", - "id": "66978ece", + "id": "001b1990", "metadata": {}, "source": [ "Plotting the error" @@ -390,7 +390,7 @@ { "cell_type": "code", "execution_count": null, - "id": "082b44a7", + "id": "0d0584a4", "metadata": { "mystnb": { "figure": { @@ -407,7 +407,7 @@ }, { "cell_type": "markdown", - "id": "45135b53", + "id": "d88429e1", "metadata": {}, "source": [ "(slr:optimal-values)=\n", @@ -513,7 +513,7 @@ { "cell_type": "code", "execution_count": null, - "id": "243fdf6f", + "id": "93da2964", "metadata": {}, "outputs": [], "source": [ @@ -526,7 +526,7 @@ }, { "cell_type": "markdown", - "id": "28081e4d", + "id": "5ba2174a", "metadata": {}, "source": [ "Now computing across the 10 observations and then summing the numerator and denominator" @@ -535,7 +535,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6da27b45", + "id": "6034586b", "metadata": {}, "outputs": [], "source": [ @@ -548,7 +548,7 @@ }, { "cell_type": "markdown", - "id": "01ef392c", + "id": "abe7d832", "metadata": {}, "source": [ "Calculating $\\alpha$" @@ -557,7 +557,7 @@ { "cell_type": "code", "execution_count": null, - "id": "42ef83c5", + "id": "2e652ff7", "metadata": {}, "outputs": [], "source": [ @@ -567,7 +567,7 @@ }, { "cell_type": "markdown", - "id": "b1c82e71", + "id": "5dabb8ce", "metadata": {}, "source": [ "Now we can plot the OLS solution" @@ -576,7 +576,7 @@ { "cell_type": "code", "execution_count": null, - "id": "90da0c32", + "id": "15c565b0", "metadata": { "mystnb": { "figure": { @@ -598,7 +598,7 @@ }, { "cell_type": "markdown", - "id": "5e0e5135", + "id": "893c9ca9", "metadata": {}, "source": [ ":::{exercise}\n", @@ -634,7 +634,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fcf91ad2", + "id": "77b933c3", "metadata": {}, "outputs": [], "source": [ @@ -645,7 +645,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fc7befaa", + "id": "0d622e7d", "metadata": {}, "outputs": [], "source": [ @@ -654,7 +654,7 @@ }, { "cell_type": "markdown", - "id": "fb8b03f8", + "id": "37e36e1b", "metadata": {}, "source": [ "You can see that the data downloaded from Our World in Data has provided a global set of countries with the GDP per capita and Life Expectancy Data.\n", @@ -669,7 +669,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4f9793fb", + "id": "b2043ebd", "metadata": {}, "outputs": [], "source": [ @@ -680,7 +680,7 @@ }, { "cell_type": "markdown", - "id": "70b91975", + "id": "5d6d3b1f", "metadata": {}, "source": [ "Sometimes it can be useful to rename your columns to make it easier to work with in the DataFrame" @@ -689,7 +689,7 @@ { "cell_type": "code", "execution_count": null, - "id": "60686bcf", + "id": "09ee8df6", "metadata": {}, "outputs": [], "source": [ @@ -699,7 +699,7 @@ }, { "cell_type": "markdown", - "id": "0cfa64cb", + "id": "7065aac5", "metadata": {}, "source": [ "We can see there are `NaN` values which represents missing data so let us go ahead and drop those" @@ -708,7 +708,7 @@ { "cell_type": "code", "execution_count": null, - "id": "114b9eb1", + "id": "b7a7e4da", "metadata": {}, "outputs": [], "source": [ @@ -718,7 +718,7 @@ { "cell_type": "code", "execution_count": null, - "id": "13a81512", + "id": "acc28e34", "metadata": {}, "outputs": [], "source": [ @@ -727,7 +727,7 @@ }, { "cell_type": "markdown", - "id": "6adf76ce", + "id": "174fe119", "metadata": {}, "source": [ "We have now dropped the number of rows in our DataFrame from 62156 to 12445 removing a lot of empty data relationships.\n", @@ -744,7 +744,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c3911a1e", + "id": "0298caf4", "metadata": {}, "outputs": [], "source": [ @@ -754,7 +754,7 @@ }, { "cell_type": "markdown", - "id": "16a72be8", + "id": "d4d9cdef", "metadata": {}, "source": [ "As you can see there are a lot of countries where data is not available for the Year 1543!\n", @@ -765,7 +765,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b6446e72", + "id": "367d7311", "metadata": {}, "outputs": [], "source": [ @@ -774,7 +774,7 @@ }, { "cell_type": "markdown", - "id": "a15bd738", + "id": "4856f283", "metadata": {}, "source": [ "You can see that Great Britain (GBR) is the only one available\n", @@ -785,7 +785,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d6fea37a", + "id": "ef62c72e", "metadata": {}, "outputs": [], "source": [ @@ -794,7 +794,7 @@ }, { "cell_type": "markdown", - "id": "4cf7f07e", + "id": "64bd0487", "metadata": {}, "source": [ "In fact we can use pandas to quickly check how many countries are captured in each year" @@ -803,7 +803,7 @@ { "cell_type": "code", "execution_count": null, - "id": "48e17530", + "id": "71b2b8b2", "metadata": {}, "outputs": [], "source": [ @@ -812,7 +812,7 @@ }, { "cell_type": "markdown", - "id": "17db9f44", + "id": "a789150b", "metadata": {}, "source": [ "So it is clear that if you are doing cross-sectional comparisons then more recent data will include a wider set of countries\n", @@ -823,7 +823,7 @@ { "cell_type": "code", "execution_count": null, - "id": "26ba17ff", + "id": "cc1c25bb", "metadata": {}, "outputs": [], "source": [ @@ -833,7 +833,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c14bccc6", + "id": "3de9e96b", "metadata": {}, "outputs": [], "source": [ @@ -842,7 +842,7 @@ }, { "cell_type": "markdown", - "id": "813a5497", + "id": "9b1ba0b8", "metadata": {}, "source": [ "This data shows a couple of interesting relationships.\n", @@ -858,7 +858,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f6d37d73", + "id": "6216c165", "metadata": {}, "outputs": [], "source": [ @@ -867,7 +867,7 @@ }, { "cell_type": "markdown", - "id": "82e16281", + "id": "8fc0be77", "metadata": {}, "source": [ "As you can see from this transformation -- a linear model fits the shape of the data more closely." @@ -876,7 +876,7 @@ { "cell_type": "code", "execution_count": null, - "id": "516e1233", + "id": "920c2a81", "metadata": {}, "outputs": [], "source": [ @@ -886,7 +886,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ab5fb4af", + "id": "b63dd854", "metadata": {}, "outputs": [], "source": [ @@ -895,7 +895,7 @@ }, { "cell_type": "markdown", - "id": "a5e100b2", + "id": "79344d33", "metadata": {}, "source": [ "**Q4:** Use {eq}`eq:optimal-alpha` and {eq}`eq:optimal-beta` to compute optimal values for $\\alpha$ and $\\beta$" @@ -904,7 +904,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cd899b3d", + "id": "cb5af6f0", "metadata": {}, "outputs": [], "source": [ @@ -918,7 +918,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b2411aae", + "id": "2b79cb72", "metadata": {}, "outputs": [], "source": [ @@ -928,7 +928,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ef258c10", + "id": "d9c8517f", "metadata": {}, "outputs": [], "source": [ @@ -942,7 +942,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2812be33", + "id": "867140b8", "metadata": {}, "outputs": [], "source": [ @@ -952,7 +952,7 @@ }, { "cell_type": "markdown", - "id": "24a0a9a1", + "id": "3aa71841", "metadata": {}, "source": [ "**Q5:** Plot the line of best fit found using OLS" @@ -961,7 +961,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f3daedbc", + "id": "98619aeb", "metadata": {}, "outputs": [], "source": [ @@ -976,7 +976,7 @@ }, { "cell_type": "markdown", - "id": "3669a3e7", + "id": "612e50b0", "metadata": {}, "source": [ ":::{solution-end}\n", diff --git a/_sources/solow.ipynb b/_sources/solow.ipynb index 93bdd4ba..3b8a6e87 100644 --- a/_sources/solow.ipynb +++ b/_sources/solow.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "ea78cc36", + "id": "0fd60c26", "metadata": {}, "source": [ "(solow)=\n", @@ -22,7 +22,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e6ce3938", + "id": "cb0c5267", "metadata": {}, "outputs": [], "source": [ @@ -32,7 +32,7 @@ }, { "cell_type": "markdown", - "id": "94770897", + "id": "cd3f21ac", "metadata": {}, "source": [ "## The model\n", @@ -128,7 +128,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0fa34e54", + "id": "91fa87a7", "metadata": {}, "outputs": [], "source": [ @@ -139,7 +139,7 @@ }, { "cell_type": "markdown", - "id": "8c10322d", + "id": "e627b9b6", "metadata": {}, "source": [ "Now, we define the function $g$." @@ -148,7 +148,7 @@ { "cell_type": "code", "execution_count": null, - "id": "adb1aa7a", + "id": "a268b755", "metadata": {}, "outputs": [], "source": [ @@ -158,7 +158,7 @@ }, { "cell_type": "markdown", - "id": "2e1d871e", + "id": "63ccb621", "metadata": {}, "source": [ "Let's plot the 45-degree diagram of $g$." @@ -167,7 +167,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f3cdeacd", + "id": "2c6188ed", "metadata": {}, "outputs": [], "source": [ @@ -214,7 +214,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3b381c1c", + "id": "578805e4", "metadata": {}, "outputs": [], "source": [ @@ -223,7 +223,7 @@ }, { "cell_type": "markdown", - "id": "fd2666a9", + "id": "8d5c74e3", "metadata": {}, "source": [ "Suppose, at some $k_t$, the value $g(k_t)$ lies strictly above the 45-degree line.\n", @@ -255,7 +255,7 @@ { "cell_type": "code", "execution_count": null, - "id": "668d9d81", + "id": "65d12a6a", "metadata": {}, "outputs": [], "source": [ @@ -265,7 +265,7 @@ }, { "cell_type": "markdown", - "id": "adab9ec0", + "id": "3586ba85", "metadata": {}, "source": [ "From our graphical analysis, it appears that $(k_t)$ converges to $k^*$, regardless of initial capital\n", @@ -285,7 +285,7 @@ { "cell_type": "code", "execution_count": null, - "id": "10f1b8c0", + "id": "6481ba6a", "metadata": {}, "outputs": [], "source": [ @@ -300,7 +300,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1ec5de66", + "id": "f26da4bf", "metadata": {}, "outputs": [], "source": [ @@ -333,7 +333,7 @@ { "cell_type": "code", "execution_count": null, - "id": "50c1ef22", + "id": "46e9c176", "metadata": {}, "outputs": [], "source": [ @@ -342,7 +342,7 @@ }, { "cell_type": "markdown", - "id": "f9f434f8", + "id": "87e33f02", "metadata": {}, "source": [ "As expected, the time paths in the figure all converge to $k^*$.\n", @@ -407,7 +407,7 @@ { "cell_type": "code", "execution_count": null, - "id": "246f2da2", + "id": "94735047", "metadata": {}, "outputs": [], "source": [ @@ -416,7 +416,7 @@ }, { "cell_type": "markdown", - "id": "9b8a59bc", + "id": "9acce40b", "metadata": {}, "source": [ "Next we define the function $g$ for growth in continuous time" @@ -425,7 +425,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3bd15b76", + "id": "6c3970a1", "metadata": {}, "outputs": [], "source": [ @@ -436,7 +436,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6fb6de82", + "id": "f04508bf", "metadata": {}, "outputs": [], "source": [ @@ -476,7 +476,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f456afd3", + "id": "9e17c045", "metadata": {}, "outputs": [], "source": [ @@ -486,7 +486,7 @@ }, { "cell_type": "markdown", - "id": "134f2c00", + "id": "d02d993f", "metadata": {}, "source": [ "This shows global stability heuristically for a fixed parameterization, but\n", @@ -573,7 +573,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9f70cadd", + "id": "d850f6cc", "metadata": {}, "outputs": [], "source": [ @@ -585,7 +585,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3707b0d6", + "id": "b185b355", "metadata": {}, "outputs": [], "source": [ @@ -596,7 +596,7 @@ }, { "cell_type": "markdown", - "id": "2a0f13c5", + "id": "dae092cc", "metadata": {}, "source": [ "Let's find the value of $s$ that maximizes $c^*$ using [scipy.optimize.minimize_scalar](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize_scalar.html#scipy.optimize.minimize_scalar).\n", @@ -606,7 +606,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0f419cf4", + "id": "9c25511b", "metadata": {}, "outputs": [], "source": [ @@ -616,7 +616,7 @@ { "cell_type": "code", "execution_count": null, - "id": "440f9b1e", + "id": "b26baa27", "metadata": {}, "outputs": [], "source": [ @@ -628,7 +628,7 @@ { "cell_type": "code", "execution_count": null, - "id": "089412c2", + "id": "fac0e8f3", "metadata": {}, "outputs": [], "source": [ @@ -641,7 +641,7 @@ { "cell_type": "code", "execution_count": null, - "id": "93c87210", + "id": "af9b16bb", "metadata": {}, "outputs": [], "source": [ @@ -673,7 +673,7 @@ }, { "cell_type": "markdown", - "id": "f760d296", + "id": "fd8d5be8", "metadata": {}, "source": [ "One can also try to solve this mathematically by differentiating $c^*(s)$ and solve for $\\frac{d}{ds}c^*(s)=0$ using [sympy](https://www.sympy.org/en/index.html)." @@ -682,7 +682,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8e2b253e", + "id": "e5c245d1", "metadata": {}, "outputs": [], "source": [ @@ -692,7 +692,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9f6ee130", + "id": "10a136e7", "metadata": {}, "outputs": [], "source": [ @@ -703,7 +703,7 @@ }, { "cell_type": "markdown", - "id": "099b99bd", + "id": "098362ca", "metadata": {}, "source": [ "Let's differentiate $c$ and solve using [sympy.solve](https://docs.sympy.org/latest/modules/solvers/solvers.html#sympy.solvers.solvers.solve)" @@ -712,7 +712,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3f8d848a", + "id": "e641b806", "metadata": {}, "outputs": [], "source": [ @@ -723,7 +723,7 @@ }, { "cell_type": "markdown", - "id": "e15ca918", + "id": "45aeb66a", "metadata": {}, "source": [ "Incidentally, the rate of savings which maximizes steady state level of per capita consumption is called the [Golden Rule savings rate](https://en.wikipedia.org/wiki/Golden_Rule_savings_rate).\n", @@ -777,7 +777,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c4b07777", + "id": "311a9df5", "metadata": {}, "outputs": [], "source": [ @@ -793,7 +793,7 @@ }, { "cell_type": "markdown", - "id": "b9c8cf72", + "id": "5516d635", "metadata": {}, "source": [ "Let's define the function *k_next* to find the next value of $k$" @@ -802,7 +802,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0e11d8ba", + "id": "a1582d55", "metadata": {}, "outputs": [], "source": [ @@ -816,7 +816,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d0a69ff9", + "id": "c7290905", "metadata": {}, "outputs": [], "source": [ @@ -844,7 +844,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d65e14d3", + "id": "2fe48ba8", "metadata": {}, "outputs": [], "source": [ @@ -853,7 +853,7 @@ }, { "cell_type": "markdown", - "id": "4894fced", + "id": "6ee8f7ef", "metadata": {}, "source": [ "```{solution-end}\n", diff --git a/_sources/status.ipynb b/_sources/status.ipynb index a7a0586b..8593ed61 100644 --- a/_sources/status.ipynb +++ b/_sources/status.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "8fbb614b", + "id": "14bd9dd3", "metadata": {}, "source": [ "# Execution Statistics\n", @@ -22,7 +22,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c56de135", + "id": "454f978b", "metadata": {}, "outputs": [], "source": [ @@ -31,7 +31,7 @@ }, { "cell_type": "markdown", - "id": "a8545a7e", + "id": "c61df0ab", "metadata": {}, "source": [ "and the following package versions" @@ -40,7 +40,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bc3a0961", + "id": "71293ac1", "metadata": { "tags": [ "hide-output" diff --git a/_sources/supply_demand_heterogeneity.ipynb b/_sources/supply_demand_heterogeneity.ipynb index e31c80b2..dcbbaf55 100644 --- a/_sources/supply_demand_heterogeneity.ipynb +++ b/_sources/supply_demand_heterogeneity.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "de38a141", + "id": "af02aa16", "metadata": {}, "source": [ "(supply_demand_heterogeneity)=\n", @@ -29,7 +29,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ea81d7fd", + "id": "66b8afa7", "metadata": {}, "outputs": [], "source": [ @@ -39,7 +39,7 @@ }, { "cell_type": "markdown", - "id": "3d77468e", + "id": "30f8ae1e", "metadata": {}, "source": [ "## An simple example\n", @@ -175,7 +175,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6e7db085", + "id": "64fd757e", "metadata": {}, "outputs": [], "source": [ @@ -249,7 +249,7 @@ }, { "cell_type": "markdown", - "id": "1f55662e", + "id": "770ad661", "metadata": {}, "source": [ "## Implementation\n", @@ -268,7 +268,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8413da53", + "id": "dc0b57e6", "metadata": {}, "outputs": [], "source": [ @@ -290,7 +290,7 @@ }, { "cell_type": "markdown", - "id": "37641ac9", + "id": "7049d032", "metadata": {}, "source": [ "What happens if the first consumer likes the first good more and the second consumer likes the second good more?" @@ -299,7 +299,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bcae34d7", + "id": "48ae44d8", "metadata": {}, "outputs": [], "source": [ @@ -314,7 +314,7 @@ }, { "cell_type": "markdown", - "id": "2abbd24c", + "id": "bf684288", "metadata": {}, "source": [ "Let the first consumer be poorer." @@ -323,7 +323,7 @@ { "cell_type": "code", "execution_count": null, - "id": "df48260d", + "id": "64b52486", "metadata": {}, "outputs": [], "source": [ @@ -338,7 +338,7 @@ }, { "cell_type": "markdown", - "id": "c8075738", + "id": "ef0bd57f", "metadata": {}, "source": [ "Now let's construct an autarky (i.e., no-trade) equilibrium." @@ -347,7 +347,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c23d48aa", + "id": "d0037940", "metadata": {}, "outputs": [], "source": [ @@ -365,7 +365,7 @@ }, { "cell_type": "markdown", - "id": "5cd94310", + "id": "ec75fa82", "metadata": {}, "source": [ "Now let's redistribute endowments before trade." @@ -374,7 +374,7 @@ { "cell_type": "code", "execution_count": null, - "id": "db096aa5", + "id": "0d7c042b", "metadata": {}, "outputs": [], "source": [ @@ -394,7 +394,7 @@ }, { "cell_type": "markdown", - "id": "bb0497c6", + "id": "3e530b3c", "metadata": {}, "source": [ "### A dynamic economy\n", @@ -405,7 +405,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6f8abcb9", + "id": "2ab9000c", "metadata": {}, "outputs": [], "source": [ @@ -427,7 +427,7 @@ }, { "cell_type": "markdown", - "id": "2a0af42c", + "id": "7dbd858d", "metadata": {}, "source": [ "### Risk economy with arrow securities\n", @@ -438,7 +438,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ec25c4cc", + "id": "6a3a74f5", "metadata": {}, "outputs": [], "source": [ @@ -462,7 +462,7 @@ }, { "cell_type": "markdown", - "id": "3c37c562", + "id": "a4c1f230", "metadata": {}, "source": [ "## Deducing a representative consumer\n", diff --git a/_sources/supply_demand_multiple_goods.ipynb b/_sources/supply_demand_multiple_goods.ipynb index 3528014e..b631a179 100644 --- a/_sources/supply_demand_multiple_goods.ipynb +++ b/_sources/supply_demand_multiple_goods.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "e906d090", + "id": "1f1f30cd", "metadata": {}, "source": [ "(supply_demand_multiple_goods)=\n", @@ -53,7 +53,7 @@ { "cell_type": "code", "execution_count": null, - "id": "193ad217", + "id": "9cb16084", "metadata": {}, "outputs": [], "source": [ @@ -65,7 +65,7 @@ }, { "cell_type": "markdown", - "id": "6c806a62", + "id": "a3646782", "metadata": {}, "source": [ "## Formulas from linear algebra\n", @@ -101,7 +101,7 @@ }, { "cell_type": "markdown", - "id": "1b156cd0", + "id": "32ccdcda", "metadata": {}, "source": [ "We will analyze endogenous objects $c$ and $p$, where\n", @@ -112,7 +112,7 @@ }, { "cell_type": "markdown", - "id": "cc4c6c6e", + "id": "a7d79359", "metadata": {}, "source": [ "The matrix $\\Pi$ describes a consumer's willingness to substitute one good for every other good.\n", @@ -152,7 +152,7 @@ }, { "cell_type": "markdown", - "id": "93ffb711", + "id": "748f8625", "metadata": {}, "source": [ "### Demand curve implied by constrained utility maximization\n", @@ -245,7 +245,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d9798dfe", + "id": "4e14fbc5", "metadata": {}, "outputs": [], "source": [ @@ -297,7 +297,7 @@ }, { "cell_type": "markdown", - "id": "eb76e561", + "id": "837b622d", "metadata": {}, "source": [ "## Digression: Marshallian and Hicksian demand curves\n", @@ -336,7 +336,7 @@ }, { "cell_type": "markdown", - "id": "6d20bfd4", + "id": "22552cd1", "metadata": {}, "source": [ "## Dynamics and risk as special cases\n", @@ -402,7 +402,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0910c673", + "id": "005edb65", "metadata": {}, "outputs": [], "source": [ @@ -424,7 +424,7 @@ }, { "cell_type": "markdown", - "id": "4e43668c", + "id": "cd049792", "metadata": {}, "source": [ "### Risk and state-contingent claims\n", @@ -466,7 +466,7 @@ }, { "cell_type": "markdown", - "id": "af297bc1", + "id": "89d5281e", "metadata": {}, "source": [ "$$\n", @@ -496,7 +496,7 @@ }, { "cell_type": "markdown", - "id": "bb3563e7", + "id": "9a6f75f7", "metadata": {}, "source": [ "We use the tricks described above to interpret $c_1, c_2$ as \"Arrow securities\" that are state-contingent claims to consumption goods." @@ -504,7 +504,7 @@ }, { "cell_type": "markdown", - "id": "9580aa94", + "id": "900c9a70", "metadata": {}, "source": [ "Here is an instance of the risk economy:" @@ -513,7 +513,7 @@ { "cell_type": "code", "execution_count": null, - "id": "33c66267", + "id": "49e31974", "metadata": {}, "outputs": [], "source": [ @@ -535,7 +535,7 @@ }, { "cell_type": "markdown", - "id": "bbc034e6", + "id": "3e81b98e", "metadata": {}, "source": [ "```{exercise}\n", @@ -556,7 +556,7 @@ }, { "cell_type": "markdown", - "id": "c336853e", + "id": "c98b5fcb", "metadata": {}, "source": [ "```{solution-start} sdm_ex3\n", @@ -571,7 +571,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f0aea6ec", + "id": "85c29c85", "metadata": {}, "outputs": [], "source": [ @@ -585,7 +585,7 @@ }, { "cell_type": "markdown", - "id": "be5e10b7", + "id": "624c9654", "metadata": {}, "source": [ "If the consumer likes the first (or second) good more, then we can set a larger bliss value for good 1." @@ -594,7 +594,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a10c3ee6", + "id": "a599b214", "metadata": {}, "outputs": [], "source": [ @@ -607,7 +607,7 @@ }, { "cell_type": "markdown", - "id": "36940e30", + "id": "176752de", "metadata": {}, "source": [ "Increase the probability that state $1$ occurs." @@ -616,7 +616,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5d8c8315", + "id": "704a5e7f", "metadata": {}, "outputs": [], "source": [ @@ -638,7 +638,7 @@ }, { "cell_type": "markdown", - "id": "58b0c744", + "id": "066e38f7", "metadata": {}, "source": [ "```{solution-end}\n", @@ -647,7 +647,7 @@ }, { "cell_type": "markdown", - "id": "20310508", + "id": "a16372a6", "metadata": {}, "source": [ "## Economies with endogenous supplies of goods\n", @@ -752,7 +752,7 @@ }, { "cell_type": "markdown", - "id": "6ed02678", + "id": "63350d52", "metadata": {}, "source": [ "### Implementation\n", @@ -773,7 +773,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9531e59b", + "id": "9f07c12e", "metadata": {}, "outputs": [], "source": [ @@ -842,7 +842,7 @@ }, { "cell_type": "markdown", - "id": "567775f0", + "id": "d7de3168", "metadata": {}, "source": [ "Then define a function that plots demand and supply curves and labels surpluses and equilibrium." @@ -851,7 +851,7 @@ { "cell_type": "code", "execution_count": null, - "id": "28e1d89f", + "id": "64733d77", "metadata": { "tags": [ "hide-input" @@ -906,7 +906,7 @@ }, { "cell_type": "markdown", - "id": "1ac64684", + "id": "5b93e841", "metadata": {}, "source": [ "#### Example: single agent with one good and production\n", @@ -927,7 +927,7 @@ { "cell_type": "code", "execution_count": null, - "id": "241eabb7", + "id": "6ee76b59", "metadata": {}, "outputs": [], "source": [ @@ -950,7 +950,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cc27ab29", + "id": "dfbe2547", "metadata": {}, "outputs": [], "source": [ @@ -962,7 +962,7 @@ }, { "cell_type": "markdown", - "id": "43233aff", + "id": "e7769b5c", "metadata": {}, "source": [ "Let's give the consumer a lower welfare weight by raising $\\mu$." @@ -971,7 +971,7 @@ { "cell_type": "code", "execution_count": null, - "id": "83380176", + "id": "2e7829af", "metadata": {}, "outputs": [], "source": [ @@ -988,7 +988,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8a98391d", + "id": "64b46f92", "metadata": {}, "outputs": [], "source": [ @@ -1000,7 +1000,7 @@ }, { "cell_type": "markdown", - "id": "eba6c893", + "id": "0996515c", "metadata": {}, "source": [ "Now we change the bliss point so that the consumer derives more utility from consumption." @@ -1009,7 +1009,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4121008f", + "id": "693894a4", "metadata": {}, "outputs": [], "source": [ @@ -1026,7 +1026,7 @@ }, { "cell_type": "markdown", - "id": "9b9a57b1", + "id": "333309bf", "metadata": {}, "source": [ "This raises both the equilibrium price and quantity.\n", @@ -1042,7 +1042,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4ea7e2b0", + "id": "791d8e86", "metadata": {}, "outputs": [], "source": [ @@ -1067,7 +1067,7 @@ { "cell_type": "code", "execution_count": null, - "id": "66f80cb7", + "id": "9471bea5", "metadata": {}, "outputs": [], "source": [ @@ -1082,7 +1082,7 @@ { "cell_type": "code", "execution_count": null, - "id": "878010a6", + "id": "a060131a", "metadata": {}, "outputs": [], "source": [ @@ -1100,7 +1100,7 @@ { "cell_type": "code", "execution_count": null, - "id": "69eeb40e", + "id": "6fd938ce", "metadata": {}, "outputs": [], "source": [ @@ -1113,7 +1113,7 @@ }, { "cell_type": "markdown", - "id": "cc6bfadb", + "id": "01dd7139", "metadata": {}, "source": [ "### Digression: a supplier who is a monopolist\n", @@ -1160,7 +1160,7 @@ }, { "cell_type": "markdown", - "id": "0418033c", + "id": "7137d61a", "metadata": {}, "source": [ "### A monopolist\n", @@ -1198,7 +1198,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b2acfa40", + "id": "2ed5e80d", "metadata": {}, "outputs": [], "source": [ @@ -1237,7 +1237,7 @@ }, { "cell_type": "markdown", - "id": "eb928c30", + "id": "d4a8f170", "metadata": {}, "source": [ "Define a function that plots the demand, marginal cost and marginal revenue curves with surpluses and equilibrium labelled." @@ -1246,7 +1246,7 @@ { "cell_type": "code", "execution_count": null, - "id": "71b2c5d6", + "id": "3611733c", "metadata": { "tags": [ "hide-input" @@ -1311,7 +1311,7 @@ }, { "cell_type": "markdown", - "id": "044e93cc", + "id": "ac9289e8", "metadata": {}, "source": [ "#### A multiple good example\n", @@ -1322,7 +1322,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f88507d6", + "id": "9f7676b4", "metadata": {}, "outputs": [], "source": [ @@ -1350,7 +1350,7 @@ }, { "cell_type": "markdown", - "id": "330ead0a", + "id": "deec1ed8", "metadata": {}, "source": [ "#### A single-good example" @@ -1359,7 +1359,7 @@ { "cell_type": "code", "execution_count": null, - "id": "60e8ed2b", + "id": "ebafa6c8", "metadata": {}, "outputs": [], "source": [ @@ -1385,7 +1385,7 @@ }, { "cell_type": "markdown", - "id": "a6118647", + "id": "f11dd644", "metadata": {}, "source": [ "## Multi-good welfare maximization problem\n", diff --git a/_sources/time_series_with_matrices.ipynb b/_sources/time_series_with_matrices.ipynb index e547e96f..c4bceed5 100644 --- a/_sources/time_series_with_matrices.ipynb +++ b/_sources/time_series_with_matrices.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "26091b17", + "id": "5a1e8d27", "metadata": {}, "source": [ "(time_series_with_matrices)=\n", @@ -43,7 +43,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8546befd", + "id": "9f7db766", "metadata": {}, "outputs": [], "source": [ @@ -55,7 +55,7 @@ }, { "cell_type": "markdown", - "id": "0c5c1805", + "id": "047919d1", "metadata": {}, "source": [ "## Samuelson's model\n", @@ -144,7 +144,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5d57c528", + "id": "179430c4", "metadata": {}, "outputs": [], "source": [ @@ -161,7 +161,7 @@ }, { "cell_type": "markdown", - "id": "85d4aef9", + "id": "abb95145", "metadata": {}, "source": [ "Now we construct $A$ and $b$." @@ -170,7 +170,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e106f024", + "id": "c897aeff", "metadata": {}, "outputs": [], "source": [ @@ -191,7 +191,7 @@ }, { "cell_type": "markdown", - "id": "958cd157", + "id": "18334a82", "metadata": {}, "source": [ "Let’s look at the matrix $A$ and the vector $b$ for our\n", @@ -201,7 +201,7 @@ { "cell_type": "code", "execution_count": null, - "id": "53452317", + "id": "25524d79", "metadata": {}, "outputs": [], "source": [ @@ -210,7 +210,7 @@ }, { "cell_type": "markdown", - "id": "62eebf17", + "id": "578fee1c", "metadata": {}, "source": [ "Now let’s solve for the path of $y$.\n", @@ -224,7 +224,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c076c772", + "id": "9296de07", "metadata": {}, "outputs": [], "source": [ @@ -235,7 +235,7 @@ }, { "cell_type": "markdown", - "id": "7cf70d38", + "id": "071472fd", "metadata": {}, "source": [ "or we can use `np.linalg.solve`:" @@ -244,7 +244,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bb1a0d6d", + "id": "4513415d", "metadata": {}, "outputs": [], "source": [ @@ -253,7 +253,7 @@ }, { "cell_type": "markdown", - "id": "5fb7f219", + "id": "93b618d6", "metadata": {}, "source": [ "Here make sure the two methods give the same result, at least up to floating\n", @@ -263,7 +263,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f9e09ded", + "id": "a7ecca3e", "metadata": {}, "outputs": [], "source": [ @@ -272,7 +272,7 @@ }, { "cell_type": "markdown", - "id": "1571282b", + "id": "05a3c35a", "metadata": {}, "source": [ "```{note}\n", @@ -289,7 +289,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2f3bdfe7", + "id": "c93b6eca", "metadata": {}, "outputs": [], "source": [ @@ -302,7 +302,7 @@ }, { "cell_type": "markdown", - "id": "dd9640c7", + "id": "1b0abd3b", "metadata": {}, "source": [ "The {ref}`*steady state*` value $y^*$ of $y_t$ is obtained by setting $y_t = y_{t-1} =\n", @@ -319,7 +319,7 @@ { "cell_type": "code", "execution_count": null, - "id": "25d55a29", + "id": "434d1a6c", "metadata": {}, "outputs": [], "source": [ @@ -335,7 +335,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2b541863", + "id": "e3abdd36", "metadata": {}, "outputs": [], "source": [ @@ -345,7 +345,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9a709881", + "id": "443b9114", "metadata": {}, "outputs": [], "source": [ @@ -358,7 +358,7 @@ }, { "cell_type": "markdown", - "id": "79aa9fbe", + "id": "a5e904fa", "metadata": {}, "source": [ "## Adding a random term\n", @@ -410,7 +410,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a6f81edf", + "id": "cd810b23", "metadata": {}, "outputs": [], "source": [ @@ -422,7 +422,7 @@ { "cell_type": "code", "execution_count": null, - "id": "907b2262", + "id": "3fd4aaa7", "metadata": {}, "outputs": [], "source": [ @@ -435,7 +435,7 @@ }, { "cell_type": "markdown", - "id": "949e30af", + "id": "56742aff", "metadata": {}, "source": [ "The above time series looks a lot like (detrended) GDP series for a\n", @@ -447,7 +447,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a49308f4", + "id": "bf8663dd", "metadata": {}, "outputs": [], "source": [ @@ -467,7 +467,7 @@ }, { "cell_type": "markdown", - "id": "3bc0489d", + "id": "d554fbcb", "metadata": {}, "source": [ "Also consider the case when $y_{0}$ and $y_{-1}$ are at\n", @@ -477,7 +477,7 @@ { "cell_type": "code", "execution_count": null, - "id": "29017ee1", + "id": "a09ab246", "metadata": {}, "outputs": [], "source": [ @@ -497,7 +497,7 @@ }, { "cell_type": "markdown", - "id": "81cf6745", + "id": "69812271", "metadata": {}, "source": [ "## Computing population moments\n", @@ -544,7 +544,7 @@ { "cell_type": "code", "execution_count": null, - "id": "122ee861", + "id": "f07557b7", "metadata": {}, "outputs": [], "source": [ @@ -609,7 +609,7 @@ }, { "cell_type": "markdown", - "id": "94f95004", + "id": "d766f986", "metadata": {}, "source": [ "It is enlightening to study the $\\mu_y, \\Sigma_y$'s implied by various parameter values.\n", @@ -622,7 +622,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0b8e1b01", + "id": "fb3b5c06", "metadata": {}, "outputs": [], "source": [ @@ -643,7 +643,7 @@ }, { "cell_type": "markdown", - "id": "aa9cc57b", + "id": "40fbee04", "metadata": {}, "source": [ "Visually, notice how the variance across realizations of $y_t$ decreases as $t$ increases.\n", @@ -654,7 +654,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7d5b1b2b", + "id": "664b8595", "metadata": {}, "outputs": [], "source": [ @@ -665,7 +665,7 @@ }, { "cell_type": "markdown", - "id": "58ec57bc", + "id": "c6d9c4a0", "metadata": {}, "source": [ "Notice how the population variance increases and asymptotes." @@ -673,7 +673,7 @@ }, { "cell_type": "markdown", - "id": "a23d8dc3", + "id": "c4c93f98", "metadata": {}, "source": [ "Let's print out the covariance matrix $\\Sigma_y$ for a time series $y$." @@ -682,7 +682,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fa4db0fd", + "id": "04f98027", "metadata": {}, "outputs": [], "source": [ @@ -696,7 +696,7 @@ }, { "cell_type": "markdown", - "id": "2d0c690d", + "id": "7a983f69", "metadata": {}, "source": [ "Notice that the covariance between $y_t$ and $y_{t-1}$ -- the elements on the superdiagonal -- are *not* identical.\n", @@ -713,7 +713,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a2b6311a", + "id": "161517d9", "metadata": {}, "outputs": [], "source": [ @@ -725,7 +725,7 @@ }, { "cell_type": "markdown", - "id": "b8fa09a4", + "id": "d951f016", "metadata": {}, "source": [ "Please notice how the subdiagonal and superdiagonal elements seem to have converged.\n", @@ -739,7 +739,7 @@ }, { "cell_type": "markdown", - "id": "07fdb7ff", + "id": "d10908be", "metadata": {}, "source": [ "## Moving average representation\n", @@ -756,7 +756,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1fc5bc61", + "id": "4cdb13a1", "metadata": {}, "outputs": [], "source": [ @@ -766,7 +766,7 @@ }, { "cell_type": "markdown", - "id": "4797023d", + "id": "1584a55a", "metadata": {}, "source": [ "Evidently, $A^{-1}$ is a lower triangular matrix. \n", @@ -778,7 +778,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7fb35412", + "id": "9f921053", "metadata": {}, "outputs": [], "source": [ @@ -788,7 +788,7 @@ }, { "cell_type": "markdown", - "id": "11e54863", + "id": "e40e7404", "metadata": {}, "source": [ "Notice how every row ends with the previous row's pre-diagonal entries.\n", @@ -877,7 +877,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1b4636f1", + "id": "bdf711f5", "metadata": {}, "outputs": [], "source": [ @@ -887,7 +887,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5597a72c", + "id": "0ff9eeb5", "metadata": {}, "outputs": [], "source": [ @@ -901,7 +901,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8f852186", + "id": "fdb3c812", "metadata": {}, "outputs": [], "source": [ @@ -911,7 +911,7 @@ { "cell_type": "code", "execution_count": null, - "id": "528823fd", + "id": "c09ccc09", "metadata": {}, "outputs": [], "source": [ @@ -924,7 +924,7 @@ { "cell_type": "code", "execution_count": null, - "id": "72de662c", + "id": "51a20a15", "metadata": {}, "outputs": [], "source": [ @@ -934,7 +934,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ff9658c7", + "id": "9ba90db2", "metadata": {}, "outputs": [], "source": [ @@ -949,7 +949,7 @@ }, { "cell_type": "markdown", - "id": "b7555d62", + "id": "3fd91f10", "metadata": {}, "source": [ "Can you explain why the trend of the price is downward over time?\n", @@ -961,7 +961,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5403d678", + "id": "44cff0aa", "metadata": {}, "outputs": [], "source": [ diff --git a/_sources/troubleshooting.ipynb b/_sources/troubleshooting.ipynb index fb65fa0b..2f146386 100644 --- a/_sources/troubleshooting.ipynb +++ b/_sources/troubleshooting.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "ed1e5c86", + "id": "7ffe5883", "metadata": {}, "source": [ "(troubleshooting)=\n", diff --git a/_sources/unpleasant.ipynb b/_sources/unpleasant.ipynb index 6d3b1e58..47f29d05 100644 --- a/_sources/unpleasant.ipynb +++ b/_sources/unpleasant.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "e1c89fe7", + "id": "9e6f1f84", "metadata": {}, "source": [ "# Some Unpleasant Monetarist Arithmetic \n", @@ -320,7 +320,7 @@ { "cell_type": "code", "execution_count": null, - "id": "012ad6bd", + "id": "078f60d0", "metadata": {}, "outputs": [], "source": [ @@ -331,7 +331,7 @@ }, { "cell_type": "markdown", - "id": "7553463c", + "id": "983d7291", "metadata": {}, "source": [ "Now let's dive in and implement our pseudo code in Python." @@ -340,7 +340,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d46a70a5", + "id": "ff5f04df", "metadata": {}, "outputs": [], "source": [ @@ -364,7 +364,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f2a40b25", + "id": "b2b4aaa1", "metadata": {}, "outputs": [], "source": [ @@ -374,7 +374,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f2fab23b", + "id": "b7348580", "metadata": {}, "outputs": [], "source": [ @@ -408,7 +408,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d76542e7", + "id": "8824ad72", "metadata": {}, "outputs": [], "source": [ @@ -428,7 +428,7 @@ }, { "cell_type": "markdown", - "id": "aa8315bd", + "id": "8bafdc68", "metadata": {}, "source": [ "Let's look at how price level $p_0$ in the stationary $R_u$ equilibrium depends on the initial\n", @@ -444,7 +444,7 @@ { "cell_type": "code", "execution_count": null, - "id": "99a52a4f", + "id": "0a4d9932", "metadata": {}, "outputs": [], "source": [ @@ -454,7 +454,7 @@ { "cell_type": "code", "execution_count": null, - "id": "01ffe698", + "id": "446b8f69", "metadata": {}, "outputs": [], "source": [ @@ -468,7 +468,7 @@ }, { "cell_type": "markdown", - "id": "97c8773e", + "id": "4bbf42ab", "metadata": {}, "source": [ "Now let's write and implement code that lets us experiment with the time $0$ open market operation described earlier." @@ -477,7 +477,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ea958b0e", + "id": "1503fcc3", "metadata": {}, "outputs": [], "source": [ @@ -530,7 +530,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cd6be279", + "id": "e21f6d1a", "metadata": {}, "outputs": [], "source": [ @@ -553,7 +553,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fe702ddb", + "id": "ba5657d7", "metadata": { "mystnb": { "figure": { @@ -569,7 +569,7 @@ }, { "cell_type": "markdown", - "id": "b163d68c", + "id": "74dab40d", "metadata": {}, "source": [ "{numref}`fig:unpl1` summarizes outcomes of two experiments that convey messages of Sargent and Wallace {cite}`sargent1981`.\n", diff --git a/_sources/zreferences.ipynb b/_sources/zreferences.ipynb index c2c2aa1f..9c6a14b4 100644 --- a/_sources/zreferences.ipynb +++ b/_sources/zreferences.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "bd443e1b", + "id": "6cca6fd9", "metadata": {}, "source": [ "(references)=\n", diff --git a/prob_dist.html b/prob_dist.html index 5d9b2421..2a66b84d 100644 --- a/prob_dist.html +++ b/prob_dist.html @@ -278,20 +278,62 @@

18. Distributions and ProbabilitiesHide code cell output
-
Requirement already satisfied: yfinance in /home/runner/miniconda3/envs/quantecon/lib/python3.11/site-packages (0.2.41)
+
Collecting yfinance
+  Downloading yfinance-0.2.41-py2.py3-none-any.whl.metadata (11 kB)
 
Requirement already satisfied: pandas>=1.3.0 in /home/runner/miniconda3/envs/quantecon/lib/python3.11/site-packages (from yfinance) (2.2.2)
 Requirement already satisfied: numpy>=1.16.5 in /home/runner/miniconda3/envs/quantecon/lib/python3.11/site-packages (from yfinance) (1.26.4)
 Requirement already satisfied: requests>=2.31 in /home/runner/miniconda3/envs/quantecon/lib/python3.11/site-packages (from yfinance) (2.32.2)
-Requirement already satisfied: multitasking>=0.0.7 in /home/runner/miniconda3/envs/quantecon/lib/python3.11/site-packages (from yfinance) (0.0.11)
+Collecting multitasking>=0.0.7 (from yfinance)
+  Downloading multitasking-0.0.11-py3-none-any.whl.metadata (5.5 kB)
 Requirement already satisfied: lxml>=4.9.1 in /home/runner/miniconda3/envs/quantecon/lib/python3.11/site-packages (from yfinance) (5.2.1)
 Requirement already satisfied: platformdirs>=2.0.0 in /home/runner/miniconda3/envs/quantecon/lib/python3.11/site-packages (from yfinance) (3.10.0)
 Requirement already satisfied: pytz>=2022.5 in /home/runner/miniconda3/envs/quantecon/lib/python3.11/site-packages (from yfinance) (2024.1)
-Requirement already satisfied: frozendict>=2.3.4 in /home/runner/miniconda3/envs/quantecon/lib/python3.11/site-packages (from yfinance) (2.4.4)
-Requirement already satisfied: peewee>=3.16.2 in /home/runner/miniconda3/envs/quantecon/lib/python3.11/site-packages (from yfinance) (3.17.6)
-Requirement already satisfied: beautifulsoup4>=4.11.1 in /home/runner/miniconda3/envs/quantecon/lib/python3.11/site-packages (from yfinance) (4.12.3)
-Requirement already satisfied: html5lib>=1.1 in /home/runner/miniconda3/envs/quantecon/lib/python3.11/site-packages (from yfinance) (1.1)
+
+
+
Collecting frozendict>=2.3.4 (from yfinance)
+  Downloading frozendict-2.4.4-py311-none-any.whl.metadata (23 kB)
+Collecting peewee>=3.16.2 (from yfinance)
+
+
+
  Downloading peewee-3.17.6.tar.gz (3.0 MB)
+?25l     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/3.0 MB ? eta -:--:--
+     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 2.9/3.0 MB 101.2 MB/s eta 0:00:01
+     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 73.0 MB/s eta 0:00:00
+?25h
+
+
+
  Installing build dependencies ... ?25l-
+
+
+
 \
+
+
+
 |
+
+
+
 /
+
+
+
 done
+
+
+
?25h  Getting requirements to build wheel ... ?25l-
+
+
+
 done
+
+
+
?25h  Preparing metadata (pyproject.toml) ... ?25l-
+
+
+
 done
+?25hRequirement already satisfied: beautifulsoup4>=4.11.1 in /home/runner/miniconda3/envs/quantecon/lib/python3.11/site-packages (from yfinance) (4.12.3)
+
+
+
+
Downloading yfinance-0.2.41-py2.py3-none-any.whl (73 kB)
+?25l   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/73.5 kB ? eta -:--:--
+   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 73.5/73.5 kB 23.1 MB/s eta 0:00:00
+?25hDownloading frozendict-2.4.4-py311-none-any.whl (16 kB)
+Downloading html5lib-1.1-py2.py3-none-any.whl (112 kB)
+?25l   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/112.2 kB ? eta -:--:--
+   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 112.2/112.2 kB 37.3 MB/s eta 0:00:00
+?25hDownloading multitasking-0.0.11-py3-none-any.whl (8.5 kB)
+
+
+
Building wheels for collected packages: peewee
+
+
+
  Building wheel for peewee (pyproject.toml) ... ?25l-
+
+
+
 \
+
+
+
 |
+
+
+
 done
+?25h  Created wheel for peewee: filename=peewee-3.17.6-cp311-cp311-linux_x86_64.whl size=274781 sha256=82e89f2a55caff5e472d6d71770be1e44f2e5c6e01f6f36739e096827daf6d2a
+  Stored in directory: /home/runner/.cache/pip/wheels/1c/09/7e/9f659fde248ecdc1722a142c1d744271aad3914a0afc191058
+Successfully built peewee
+
+
+
Installing collected packages: peewee, multitasking, html5lib, frozendict, yfinance
+
+
+
Successfully installed frozendict-2.4.4 html5lib-1.1 multitasking-0.0.11 peewee-3.17.6 yfinance-0.2.41
+
+
@@ -462,7 +538,8 @@

18.2.1.2. Bernoulli distributionAnother useful distribution is the Bernoulli distribution on \(S = \{0,1\}\), which has PMF:

\[ -p(i) = \theta^{i-1} (1 - \theta)^i +p(i) = \theta^i (1 - \theta)^{1-i} +\qquad (i = 0, 1) \]

Here \(\theta \in [0,1]\) is a parameter.

We can think of this distribution as modeling probabilities for a random trial with success probability \(\theta\).

@@ -471,7 +548,7 @@

18.2.1.2. Bernoulli distribution

\(p(0) = 1 - \theta\) means that the trial fails (takes value 0) with probability \(1-\theta\)

-

The formula for the mean is \(p\), and the formula for the variance is \(p(1-p)\).

+

The formula for the mean is \(\theta\), and the formula for the variance is \(\theta(1-\theta)\).

We can import the Bernoulli distribution on \(S = \{0,1\}\) from SciPy like so:

-

Now let’s evaluate the PMF

+

We can evaluate the PMF as follows

-_images/2cbc1733feab965e74554d59c2db6a620560a7df01153bb7166c872281b6df70.png +_images/3e7588d04d69e84b68d662349b1e955a84c2a250cfb2b37759f09c73dae9532e.png

Note that if you keep increasing \(N\), which is the number of observations, the fit will get better and better.

diff --git a/searchindex.js b/searchindex.js index 2450262f..ef9a36c5 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["about", "ak2", "ar1_processes", "business_cycle", "cagan_adaptive", "cagan_ree", "cobweb", "commod_price", "complex_and_trig", "cons_smooth", "eigen_I", "eigen_II", "equalizing_difference", "french_rev", "geom_series", "greek_square", "heavy_tails", "inequality", "inflation_history", "input_output", "intro", "intro_supply_demand", "laffer_adaptive", "lake_model", "linear_equations", "lln_clt", "long_run_growth", "lp_intro", "markov_chains_I", "markov_chains_II", "mle", "money_inflation", "money_inflation_nonlinear", "monte_carlo", "networks", "olg", "prob_dist", "pv", "scalar_dynam", "schelling", "short_path", "simple_linear_regression", "solow", "status", "supply_demand_heterogeneity", "supply_demand_multiple_goods", "time_series_with_matrices", "troubleshooting", "unpleasant", "zreferences"], "filenames": ["about.md", "ak2.md", "ar1_processes.md", "business_cycle.md", "cagan_adaptive.md", "cagan_ree.md", "cobweb.md", "commod_price.md", "complex_and_trig.md", "cons_smooth.md", "eigen_I.md", "eigen_II.md", "equalizing_difference.md", "french_rev.md", "geom_series.md", "greek_square.md", "heavy_tails.md", "inequality.md", "inflation_history.md", "input_output.md", "intro.md", "intro_supply_demand.md", "laffer_adaptive.md", "lake_model.md", "linear_equations.md", "lln_clt.md", "long_run_growth.md", "lp_intro.md", "markov_chains_I.md", "markov_chains_II.md", "mle.md", "money_inflation.md", "money_inflation_nonlinear.md", "monte_carlo.md", "networks.md", "olg.md", "prob_dist.md", "pv.md", "scalar_dynam.md", "schelling.md", "short_path.md", "simple_linear_regression.md", "solow.md", "status.md", "supply_demand_heterogeneity.md", "supply_demand_multiple_goods.md", "time_series_with_matrices.md", "troubleshooting.md", "unpleasant.md", "zreferences.md"], "titles": ["1. About These Lectures", "32. Transitions in an Overlapping Generations Model", "33. AR(1) Processes", "3. Business Cycles", "15. Monetarist Theory of Price Levels with Adaptive Expectations", "14. A Monetarist Theory of Price Levels", "25. The Cobweb Model", "27. Commodity Prices", "9. Complex Numbers and Trigonometry", "12. Consumption Smoothing", "16. Eigenvalues and Eigenvectors", "39. The Perron-Frobenius Theorem", "13. Equalizing Difference Model", "5. Inflation During French Revolution", "10. Geometric Series for Elementary Economics", "17. Computing Square Roots", "21. Heavy-Tailed Distributions", "6. Income and Wealth Inequality", "4. Price Level Histories", "40. Input-Output Models", "A First Course in Quantitative Economics with Python", "7. Introduction to Supply and Demand", "31. Laffer Curves with Adaptive Expectations", "41. A Lake Model of Employment", "8. Linear Equations and Matrix Algebra", "19. LLN and CLT", "2. Long-Run Growth", "37. Linear Programming", "34. Markov Chains: Basic Concepts", "35. Markov Chains: Irreducibility and Ergodicity", "46. Maximum Likelihood Estimation", "28. Money Financed Government Deficits and Price Levels", "30. Inflation Rate Laffer Curves", "20. Monte Carlo and Option Pricing", "42. Networks", "26. The Overlapping Generations Model", "18. Distributions and Probabilities", "11. Present Values", "23. Dynamics in One Dimension", "22. Racial Segregation", "38. Shortest Paths", "45. Simple Linear Regression Model", "24. The Solow-Swan Growth Model", "49. Execution Statistics", "44. Market Equilibrium with Heterogeneity", "43. Supply and Demand with Many Goods", "36. Univariate Time Series with Matrix Algebra", "47. Troubleshooting", "29. Some Unpleasant Monetarist Arithmetic", "48. References"], "terms": {"thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48], "seri": [0, 2, 3, 4, 6, 7, 9, 11, 17, 18, 19, 20, 22, 23, 26, 28, 29, 31, 32, 34, 37, 38, 41, 42], "introduc": [0, 1, 8, 10, 11, 16, 19, 27, 28, 29, 33, 34, 35, 37, 39, 44, 46, 48], "quantit": [0, 25, 38, 49], "econom": [0, 2, 3, 10, 11, 13, 15, 17, 19, 21, 24, 25, 26, 28, 32, 33, 37, 38, 39, 40, 41, 44, 49], "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49], "elementari": [0, 8, 9, 20, 21, 28, 34], "mathemat": [0, 4, 5, 7, 8, 12, 14, 16, 21, 25, 28, 31, 34, 37, 40, 42], "statist": [0, 5, 10, 16, 20, 25, 26, 28, 33, 46, 49], "plu": [0, 3, 4, 5, 12, 13, 14, 19, 21, 24, 27, 37], "comput": [0, 3, 5, 8, 9, 11, 14, 16, 17, 18, 19, 20, 21, 23, 24, 25, 29, 30, 34, 35, 37, 39, 40, 41, 44, 45, 48, 49], "code": [0, 1, 2, 3, 5, 8, 9, 12, 15, 16, 17, 18, 19, 22, 24, 25, 26, 30, 32, 33, 34, 35, 37, 38, 39, 41, 47], "written": [0, 2, 17, 19, 21, 33, 35], "python": [0, 1, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 24, 26, 27, 28, 34, 35, 36, 37, 41, 43, 45, 46, 47, 48], "The": [0, 1, 3, 4, 8, 9, 13, 15, 16, 18, 19, 20, 24, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 41, 44, 45, 46, 47, 48, 49], "emphas": [0, 5, 29, 34, 45], "simul": [0, 1, 2, 6, 7, 9, 15, 22, 23, 29, 31, 33, 35, 39, 42, 46, 48], "visual": [0, 9, 10, 14, 17, 24, 26, 28, 29, 31, 34, 35, 46], "through": [0, 2, 3, 5, 10, 11, 14, 19, 23, 24, 26, 31, 32, 34, 38, 39, 41, 42, 43, 47], "wai": [0, 2, 5, 6, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 22, 24, 25, 26, 28, 29, 31, 32, 33, 34, 36, 38, 41, 45, 47, 48], "convei": [0, 18, 48], "idea": [0, 6, 9, 10, 12, 14, 16, 17, 21, 24, 25, 28, 34, 39, 41, 45], "rather": [0, 6, 10, 16, 21, 26, 28, 33, 35, 39, 40], "than": [0, 3, 4, 5, 6, 7, 10, 11, 13, 14, 15, 16, 17, 21, 23, 24, 26, 27, 28, 31, 32, 33, 34, 38, 39, 40, 45, 46], "focus": [0, 17], "detail": [0, 3, 4, 11, 23, 24, 26, 27, 34, 46, 47, 48], "although": [0, 1, 7, 10, 11, 18, 25, 28, 33, 34, 40, 42], "present": [0, 1, 2, 4, 5, 8, 9, 10, 15, 16, 18, 20, 28, 31, 32, 33, 35, 45, 46], "quit": [0, 3, 4, 6, 7, 16, 17, 33, 35, 38], "novel": 0, "ar": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48], "foundat": [0, 8, 11, 17, 29, 37, 38], "we": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48], "deep": 0, "fundament": [0, 6, 10, 21, 25, 34, 37, 45], "import": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48], "theori": [0, 2, 7, 11, 12, 13, 14, 15, 16, 18, 20, 23, 24, 28, 31, 37, 48, 49], "well": [0, 2, 3, 7, 8, 10, 13, 14, 16, 18, 24, 28, 30, 33, 34, 35, 36, 37], "valu": [0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 13, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 27, 29, 30, 31, 33, 34, 35, 36, 38, 42, 44, 45, 46], "analyz": [0, 1, 5, 10, 15, 17, 23, 33, 34, 38, 45, 46, 48, 49], "data": [0, 2, 5, 9, 18, 19, 23, 25, 26, 28, 30, 33, 34, 36, 39, 40, 41, 42, 43], "understand": [0, 2, 3, 5, 6, 8, 9, 10, 14, 16, 17, 25, 26, 29, 31, 33, 34, 35, 36, 38, 41, 42], "styliz": [0, 34], "fact": [0, 2, 5, 9, 11, 14, 15, 16, 17, 19, 21, 23, 25, 26, 28, 29, 33, 34, 35, 39, 41, 44], "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48], "univers": [0, 3, 9, 18, 49], "cours": [0, 2, 6, 16, 31, 36, 49], "self": [0, 1, 2, 6, 10, 19, 23, 26, 38, 39, 44, 45, 46], "studi": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 17, 18, 19, 21, 22, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 42, 44, 45, 46, 48, 49], "read": [0, 8, 12, 13, 18, 21, 26, 30, 38, 40, 41, 46], "group": [0, 3, 17, 26, 34], "workshop": 0, "research": [0, 2, 5, 17, 34, 35, 39, 40, 49], "polici": [0, 1, 3, 5, 9, 13, 18, 26, 35, 49], "profession": [0, 12, 19, 49], "might": [0, 2, 5, 10, 12, 17, 18, 21, 25, 26, 27, 28, 29, 33, 34, 36, 39, 48], "also": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 23, 24, 25, 26, 28, 29, 31, 33, 34, 35, 36, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48], "find": [0, 1, 4, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17, 19, 21, 22, 23, 24, 27, 28, 30, 31, 32, 34, 35, 37, 38, 39, 41, 42, 45, 48], "some": [0, 1, 2, 3, 4, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45, 46, 49], "part": [0, 1, 5, 6, 8, 10, 11, 12, 13, 17, 18, 21, 22, 25, 28, 29, 31, 32, 34, 36, 37, 48], "valuabl": [0, 13, 18, 34], "work": [0, 1, 2, 5, 8, 9, 12, 13, 14, 21, 22, 28, 33, 34, 35, 39, 41, 46, 47, 48, 49], "hope": [0, 31], "interest": [0, 1, 4, 5, 7, 8, 9, 10, 12, 13, 16, 18, 23, 24, 26, 27, 33, 34, 35, 36, 37, 38, 41, 42, 45, 48, 49], "student": [0, 9, 10, 12, 26], "who": [0, 1, 6, 9, 12, 13, 16, 21, 23, 28, 33, 34, 39, 44], "want": [0, 1, 4, 5, 8, 9, 12, 13, 14, 15, 18, 24, 26, 27, 28, 31, 33, 36, 37, 39, 40, 41, 45, 48], "learn": [0, 3, 4, 10, 11, 13, 22, 26, 28, 31, 34, 38, 42, 43, 46, 48, 49], "both": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 16, 17, 21, 24, 25, 26, 27, 29, 30, 31, 34, 35, 37, 41, 42, 45], "from": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49], "field": [0, 3, 6, 10, 17, 34], "scienc": [0, 10, 16, 34, 39, 40, 49], "engin": [0, 34], "curiou": 0, "aim": [0, 16, 28, 35, 42, 45], "undergradu": 0, "vari": [0, 1, 4, 9, 12, 13, 14, 17, 22, 25, 26, 28, 31, 41, 46, 48], "truli": [0, 31], "introductori": [0, 34], "suitabl": [0, 2, 36, 38], "first": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 44, 45, 47, 48, 49], "year": [0, 3, 6, 9, 12, 13, 16, 17, 18, 26, 27, 28, 30, 33, 34, 36, 38, 41], "even": [0, 1, 2, 3, 9, 13, 16, 17, 24, 25, 28, 29, 31, 34, 36, 38, 39, 41], "high": [0, 1, 3, 4, 5, 6, 8, 13, 18, 19, 22, 30, 32, 33, 34, 35, 38, 39, 42, 49], "school": [0, 8], "more": [0, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 29, 30, 32, 34, 36, 38, 39, 41, 43, 44, 45, 46, 48], "intermedi": [0, 3, 10, 19, 28], "requir": [0, 1, 3, 5, 6, 7, 9, 11, 14, 15, 16, 17, 19, 21, 22, 24, 27, 28, 29, 30, 31, 32, 34, 36, 38, 40, 44, 46], "comfort": [0, 10, 21, 39], "linear": [0, 1, 2, 5, 6, 7, 8, 11, 12, 13, 16, 17, 21, 22, 23, 25, 31, 32, 37, 42, 44, 46, 49], "algebra": [0, 1, 5, 10, 12, 14, 20, 21, 22, 28, 31, 32, 35, 37, 38, 44], "matur": [0, 1, 48], "e": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 39, 41, 42, 44, 45, 48, 49], "g": [0, 1, 6, 9, 10, 14, 15, 16, 17, 19, 22, 23, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 48, 49], "calmli": 0, "theorem": [0, 6, 10, 19, 20, 21, 28, 29, 34, 37, 45, 49], "try": [0, 2, 6, 10, 16, 17, 21, 24, 25, 26, 27, 28, 29, 30, 33, 38, 39, 40, 42, 46, 47], "mean": [0, 1, 2, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 40, 41, 42, 45, 46, 48], "In": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48, 49], "gener": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 22, 25, 26, 27, 28, 29, 31, 32, 33, 34, 36, 37, 38, 41, 42, 46], "easier": [0, 16, 28, 35, 41, 42], "occur": [0, 1, 2, 3, 4, 5, 14, 16, 18, 21, 25, 31, 33, 36, 42, 45], "earlier": [0, 1, 3, 12, 13, 16, 17, 18, 19, 22, 24, 28, 29, 31, 38, 48], "harder": [0, 7, 39], "later": [0, 9, 10, 14, 16, 17, 21, 24, 26, 28, 29, 31, 34, 36, 38], "assum": [0, 1, 2, 4, 5, 6, 7, 9, 10, 12, 14, 16, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 34, 35, 37, 38, 39, 42, 44, 45, 46, 47], "reader": [0, 4, 5, 6, 8, 10, 12, 16, 21, 24, 26, 30, 33, 47], "have": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 44, 45, 46, 47], "cover": [0, 5, 13, 19, 21, 24, 28, 34, 36, 38, 39], "quantecon": [0, 1, 3, 5, 7, 9, 11, 13, 16, 17, 18, 19, 26, 27, 29, 30, 34, 36, 41, 43, 47], "program": [0, 1, 5, 20, 39, 40, 49], "particular": [0, 1, 2, 3, 5, 6, 9, 11, 12, 14, 15, 16, 21, 22, 24, 25, 28, 32, 33, 34, 35, 36, 38, 39, 45, 46, 48], "should": [0, 2, 3, 5, 8, 9, 10, 12, 17, 21, 23, 24, 25, 27, 28, 29, 30, 31, 33, 34, 35, 38, 40, 47], "familiar": [0, 10, 13, 21, 36], "basic": [0, 3, 6, 7, 10, 19, 20, 21, 24, 29, 34, 37, 47], "syntax": [0, 24], "includ": [0, 1, 3, 5, 6, 7, 11, 12, 13, 14, 15, 17, 24, 26, 28, 34, 37, 38, 40, 41, 42, 44, 45, 48], "function": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 46, 48, 49], "knowledg": [0, 14, 24, 28, 38], "class": [0, 1, 2, 6, 9, 10, 12, 16, 23, 29, 39, 43, 44, 45, 46], "matplotlib": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 45, 46, 48], "benefici": 0, "essenti": [0, 24, 34, 48], "build": [0, 7, 10, 11, 12, 16, 17, 18, 19, 21, 25, 26, 34, 37, 39, 40, 41, 43, 48], "had": [0, 3, 5, 9, 13, 15, 18, 21, 22, 26, 34, 39], "invalu": 0, "assist": 0, "our": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48], "colleagu": 0, "without": [0, 3, 5, 12, 13, 14, 16, 17, 18, 19, 23, 28, 42, 45, 49], "help": [0, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 15, 16, 21, 23, 24, 26, 28, 29, 31, 34, 36], "would": [0, 5, 9, 12, 13, 15, 16, 18, 21, 23, 24, 33, 41, 42, 44], "been": [0, 1, 3, 5, 12, 13, 16, 17, 18, 26, 28, 33, 34], "possibl": [0, 5, 7, 9, 11, 15, 16, 17, 18, 22, 24, 26, 28, 30, 31, 32, 40, 46, 47], "sincer": 0, "thank": 0, "give": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 14, 17, 21, 24, 28, 29, 30, 31, 34, 35, 36, 37, 39, 41, 42, 44, 45, 46, 47], "aakash": 0, "gupta": 0, "shu": 0, "hu": [0, 27, 49], "jiacheng": 0, "li": [0, 6, 14, 17, 38, 42], "smit": 0, "lunagariya": 0, "matthew": [0, 49], "mckai": 0, "maanase": 0, "sharma": 0, "humphrei": 0, "yang": 0, "noritaka": 0, "kudoh": 0, "encourag": [0, 6, 30], "start": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 19, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 45, 48], "project": [0, 2, 8, 10, 11, 12, 14, 16, 17, 26, 28], "provid": [0, 1, 2, 8, 9, 13, 15, 16, 17, 18, 20, 21, 23, 25, 26, 27, 28, 29, 34, 36, 38, 40, 41, 42, 45, 47, 48], "thought": [0, 13, 22, 24, 34, 36, 40], "suggest": [0, 2, 3, 17, 23, 30, 33, 34, 41], "addit": [1, 3, 6, 7, 8, 11, 13, 16, 18, 21, 23, 26, 27, 28, 29, 33, 40, 48], "what": [1, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 28, 29, 31, 32, 33, 34, 38, 39, 40, 41, 44, 45, 46, 49], "anaconda": [1, 3, 11, 16, 23, 28, 29, 43, 47], "lectur": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48], "need": [1, 2, 4, 6, 7, 8, 11, 15, 16, 17, 21, 23, 24, 25, 26, 27, 28, 29, 33, 34, 35, 40, 41, 42, 47], "follow": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48], "librari": [1, 7, 11, 14, 16, 22, 23, 27, 28, 29, 32, 40, 47], "pip": [1, 3, 7, 11, 16, 17, 18, 19, 27, 28, 29, 34, 36, 43], "instal": [1, 3, 7, 11, 16, 17, 18, 19, 27, 28, 29, 34, 36, 47], "upgrad": [1, 16, 36], "collect": [1, 3, 4, 5, 7, 9, 10, 12, 14, 17, 18, 19, 21, 22, 26, 27, 28, 30, 31, 32, 34, 35, 36, 41, 44, 46, 48], "download": [1, 3, 7, 16, 18, 19, 26, 27, 36, 41], "0": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "7": [1, 2, 3, 4, 5, 6, 7, 10, 11, 13, 14, 15, 16, 17, 18, 19, 24, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48], "py3": [1, 3, 7, 18, 19, 27], "none": [1, 2, 3, 5, 7, 8, 10, 13, 16, 17, 18, 19, 23, 24, 27, 28, 34, 38, 42, 44], "ani": [1, 2, 3, 7, 10, 11, 14, 16, 17, 18, 19, 21, 23, 24, 25, 26, 27, 28, 29, 31, 33, 34, 38, 40, 44, 45], "whl": [1, 3, 7, 18, 19, 27], "metadata": [1, 3, 7, 18, 19, 27, 43], "9": [1, 2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 26, 27, 28, 29, 31, 33, 34, 35, 36, 40, 41, 43, 45, 46, 48], "kb": [1, 3, 7, 18, 19, 27], "alreadi": [1, 3, 7, 11, 16, 17, 19, 21, 25, 27, 28, 29, 34, 35, 36], "satisfi": [1, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 19, 22, 25, 27, 28, 29, 31, 32, 34, 36, 39, 40, 42, 44, 45, 48], "numba": [1, 2, 11, 19, 28, 29, 34, 43], "49": [1, 6, 11, 15, 19, 28, 29, 34, 40, 43], "home": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 43], "runner": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 43], "miniconda3": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 43], "env": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 43], "lib": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36], "python3": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36], "11": [1, 2, 3, 4, 7, 8, 10, 11, 13, 14, 16, 17, 19, 21, 24, 27, 28, 29, 31, 33, 34, 35, 36, 40, 41, 42, 43, 45, 46], "site": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 40], "packag": [1, 3, 7, 8, 11, 16, 17, 18, 19, 24, 26, 27, 28, 29, 34, 36, 43, 45], "59": [1, 11, 19, 28, 29, 34, 40, 41, 43, 49], "numpi": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48], "17": [1, 3, 7, 11, 12, 15, 16, 17, 19, 21, 28, 29, 31, 34, 36, 40, 43, 49], "26": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 40, 43], "request": [1, 3, 7, 11, 16, 17, 19, 28, 29, 34, 36, 43], "32": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 40, 41, 43, 49], "scipi": [1, 2, 7, 11, 16, 19, 21, 22, 25, 28, 29, 30, 32, 34, 35, 36, 42, 43, 44, 45], "5": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49], "13": [1, 3, 9, 11, 12, 13, 15, 16, 19, 24, 26, 27, 28, 29, 31, 34, 40, 43], "sympi": [1, 8, 11, 12, 14, 19, 28, 29, 34, 42, 43], "12": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19, 21, 22, 24, 25, 27, 28, 29, 31, 34, 35, 36, 40, 41, 42, 43, 45, 46], "llvmlite": [1, 11, 19, 28, 29, 34, 43], "43": [1, 11, 17, 18, 19, 28, 29, 34, 40, 43], "42": [1, 11, 13, 18, 19, 28, 29, 40, 41, 43, 49], "0dev0": [1, 11, 19, 28, 29, 34], "charset": [1, 3, 7, 11, 16, 17, 19, 28, 29, 34, 36, 43], "normal": [1, 2, 3, 7, 10, 11, 16, 17, 19, 23, 25, 28, 29, 30, 33, 34, 35, 43, 44, 45, 46], "idna": [1, 3, 7, 11, 16, 17, 19, 28, 29, 34, 36, 43], "urllib3": [1, 3, 7, 11, 16, 17, 19, 28, 29, 34, 36, 43], "21": [1, 3, 7, 9, 11, 17, 18, 19, 21, 24, 26, 27, 28, 29, 31, 34, 35, 36, 40, 41, 43, 46, 49], "certifi": [1, 3, 7, 11, 16, 17, 19, 28, 29, 34, 36, 43], "2017": [1, 3, 7, 11, 16, 17, 19, 26, 28, 29, 34, 36, 41], "2024": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 43], "6": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49], "mpmath": [1, 11, 19, 28, 29, 34, 43], "19": [1, 3, 11, 15, 18, 19, 28, 29, 34, 40, 43], "215": [1, 28, 29], "25l": [1, 3, 7, 18, 19, 27], "90m": [1, 3, 7, 18, 19, 27], "0m": [1, 3, 7, 18, 19, 27], "32m0": [1, 3, 7, 18, 19, 27], "31m": [1, 3, 7, 18, 19, 27], "eta": [1, 3, 7, 11, 18, 19, 27], "36m": [1, 3, 7, 18, 19, 27], "2k": [1, 3, 7, 18, 19, 27], "32m215": 1, "31m8": 1, "mb": [1, 3, 7, 18, 19, 27], "36m0": [1, 3, 7, 18, 19, 27], "00": [1, 3, 7, 10, 11, 17, 18, 19, 27, 28, 29, 40], "25h": [1, 3, 7, 18, 19, 27], "successfulli": [1, 3, 7, 18, 19, 27], "life": [1, 9, 29, 41, 49], "cycl": [1, 6, 16, 20, 26, 28, 29, 34, 37, 39, 49], "consist": [1, 3, 5, 9, 14, 15, 18, 19, 23, 26, 31, 34, 38, 41, 44, 45], "two": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 37, 38, 39, 41, 46, 47, 48], "period": [1, 3, 4, 5, 6, 7, 9, 12, 13, 14, 16, 17, 18, 23, 26, 27, 28, 31, 33, 35, 37, 42, 44, 45, 46, 48], "live": [1, 9, 17, 26, 35, 39], "peopl": [1, 5, 13, 14, 16, 17, 18, 22, 26, 29, 30, 31, 36, 38, 39, 44], "propos": [1, 4, 9, 18, 30], "peter": [1, 49], "diamond": [1, 7, 49], "1965": [1, 3, 49], "ll": [1, 4, 5, 8, 9, 12, 13, 14, 15, 18, 21, 22, 25, 26, 28, 29, 31, 32, 33, 37, 40, 44, 45, 46, 48], "version": [1, 2, 4, 5, 10, 11, 13, 16, 17, 18, 19, 21, 22, 24, 26, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 42, 43, 45, 46, 47, 48], "wa": [1, 5, 7, 9, 13, 14, 17, 18, 21, 22, 24, 26, 27, 30, 33, 34, 35, 36, 39, 45, 46], "chapter": [1, 5, 12, 18, 19, 26, 28, 29], "auerbach": [1, 49], "kotlikoff": [1, 49], "1987": [1, 49], "warm": 1, "up": [1, 5, 6, 10, 15, 16, 17, 18, 24, 28, 30, 31, 33, 35, 36, 38, 41, 44, 45, 46, 47], "analysi": [1, 5, 6, 8, 10, 12, 13, 15, 16, 21, 31, 32, 34, 40, 42, 45, 46, 49], "long": [1, 3, 5, 14, 17, 18, 20, 28, 29, 35, 42], "main": [1, 5, 12, 13, 16, 17, 18, 26, 34, 37, 39, 41, 43, 45], "topic": [1, 3, 8, 10, 17, 24, 30, 32, 34, 35, 37, 38], "book": [1, 13, 34, 43], "Their": [1, 13, 15, 18, 22, 35], "point": [1, 2, 7, 10, 13, 14, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 31, 34, 36, 37, 38, 39, 40, 42, 44, 45, 46, 48], "becaus": [1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 14, 16, 17, 18, 21, 23, 24, 25, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 45, 46, 48], "forth": 1, "structur": [1, 3, 34, 39, 41, 46], "interact": [1, 7, 8, 34, 39, 49], "between": [1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 21, 22, 23, 24, 25, 26, 28, 29, 31, 34, 36, 38, 39, 41, 42, 45, 46, 48, 49], "differ": [1, 2, 3, 4, 5, 6, 8, 10, 11, 13, 14, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 41, 44, 45, 46, 49], "agent": [1, 5, 35, 39, 42, 44], "aliv": 1, "given": [1, 2, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 38, 39, 40, 41, 42, 45, 46, 48], "date": [1, 3, 6, 7, 12, 13, 14, 16, 18, 26, 28, 33, 36, 37, 45, 47, 48], "forc": [1, 4, 5, 13, 18, 23, 26, 31], "tradeoff": 1, "confront": [1, 13, 27, 45], "success": [1, 5, 7, 12, 13, 14, 27, 36, 40], "good": [1, 2, 3, 5, 7, 12, 13, 18, 20, 21, 22, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 38, 40, 41, 44, 48], "laboratori": 1, "connect": [1, 7, 19, 24, 25, 29, 31, 32, 34], "subsidi": [1, 3], "issu": [1, 13, 14, 16, 18, 22, 25, 46, 48], "servic": [1, 3, 5, 11, 13, 18, 19, 34, 43], "debt": [1, 3, 9, 48, 49], "involv": [1, 5, 7, 12, 13, 15, 16, 22, 24, 27, 46], "one": [1, 2, 3, 4, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 48], "anoth": [1, 3, 5, 6, 8, 10, 11, 13, 16, 17, 18, 19, 22, 24, 26, 27, 28, 29, 31, 33, 34, 36, 40, 44, 45, 47], "hand": [1, 2, 5, 16, 22, 23, 24, 32, 37, 38, 46], "illustr": [1, 5, 10, 11, 12, 13, 14, 15, 16, 19, 21, 23, 24, 27, 28, 29, 34, 38, 39, 44, 45], "shoot": 1, "method": [1, 2, 3, 6, 7, 10, 15, 16, 17, 26, 27, 28, 30, 32, 33, 34, 35, 37, 38, 39, 40, 41, 43, 45, 46], "solv": [1, 4, 5, 7, 8, 10, 12, 13, 14, 15, 16, 19, 21, 22, 23, 27, 31, 32, 34, 35, 37, 41, 42, 44, 45, 46, 48], "non": [1, 9, 10, 11, 13, 16, 18, 21, 22, 24, 26, 27, 32, 38, 40, 41, 44, 45, 46, 48], "equat": [1, 2, 5, 6, 7, 8, 10, 11, 12, 14, 16, 19, 20, 21, 22, 23, 28, 30, 31, 32, 33, 35, 37, 38, 40, 41, 42, 45, 46, 48], "termin": [1, 5, 9, 37, 39, 46], "condit": [1, 2, 3, 5, 6, 8, 9, 13, 14, 15, 16, 19, 21, 22, 23, 24, 29, 31, 32, 38, 42, 45, 46, 48], "calcul": [1, 2, 3, 4, 5, 8, 9, 10, 11, 14, 15, 17, 18, 21, 24, 25, 29, 30, 31, 32, 33, 34, 36, 37, 38, 45], "path": [1, 5, 7, 9, 14, 20, 22, 28, 29, 31, 32, 33, 34, 35, 42, 46, 48], "take": [1, 2, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17, 21, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48], "liberti": 1, "extend": [1, 5, 14, 21, 22, 26, 27, 31, 34, 39, 45], "arrang": [1, 9, 13, 14, 23, 37], "redistribut": [1, 16, 44], "resourc": [1, 3, 13, 14, 18, 21, 31, 32], "across": [1, 3, 4, 10, 16, 17, 26, 28, 41, 44, 46], "sequenc": [1, 2, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 23, 24, 25, 28, 29, 34, 35, 38, 40, 42, 48], "ag": [1, 19, 28], "specif": [1, 2, 3, 4, 10, 14, 16, 28, 29, 31, 42, 43, 47], "lump": 1, "sum": [1, 3, 7, 8, 9, 10, 14, 16, 17, 21, 23, 24, 25, 26, 34, 36, 37, 39, 41, 44, 45, 46], "transfer": [1, 17], "how": [1, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 38, 39, 40, 42, 44, 45, 46, 47, 48, 49], "affect": [1, 3, 14, 16, 17, 31, 32, 34, 38, 45], "capit": [1, 3, 9, 13, 14, 17, 26, 27, 38, 42], "time": [1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45], "discret": [1, 14, 25, 28, 35, 38, 42], "index": [1, 3, 11, 13, 14, 16, 17, 18, 26, 28, 31, 37, 46, 48], "t": [1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 44, 45, 46, 47, 49], "ldot": [1, 2, 4, 5, 7, 8, 9, 10, 12, 14, 15, 16, 17, 19, 22, 24, 25, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 44, 46, 48], "economi": [1, 2, 3, 11, 14, 16, 17, 18, 19, 28, 34, 35, 42, 49], "forev": [1, 29, 31], "insid": [1, 26, 27], "do": [1, 2, 4, 5, 7, 8, 9, 10, 12, 13, 14, 18, 21, 23, 24, 25, 26, 27, 28, 30, 31, 33, 34, 35, 38, 40, 41, 42, 45, 46, 47, 49], "At": [1, 3, 5, 10, 25, 26, 27, 28, 33, 35, 42, 48], "each": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48], "geq": [1, 4, 5, 7, 9, 10, 11, 14, 15, 16, 17, 19, 21, 22, 23, 27, 31, 32, 34, 35, 36, 42, 48], "coexist": 1, "becom": [1, 3, 5, 9, 12, 14, 16, 21, 24, 27, 28, 33, 34, 35, 39, 41, 42, 45, 46], "popul": [1, 13, 16, 17, 23, 25, 26, 28, 29, 30, 34, 35, 41, 42, 49], "size": [1, 2, 7, 8, 9, 13, 14, 15, 17, 19, 22, 25, 30, 31, 32, 33, 34, 35, 39, 46, 49], "constant": [1, 3, 5, 6, 9, 12, 14, 15, 16, 18, 21, 22, 23, 24, 25, 31, 32, 33, 35, 36, 37, 38, 41, 42, 45, 46, 48], "over": [1, 2, 3, 6, 7, 9, 13, 14, 16, 18, 21, 23, 25, 26, 27, 29, 31, 32, 33, 34, 35, 36, 38, 39, 40, 42, 46], "save": [1, 14, 17, 26, 38, 42], "consum": [1, 3, 7, 9, 11, 14, 17, 24, 30, 34, 45], "dissav": 1, "doe": [1, 2, 3, 4, 9, 12, 13, 16, 17, 24, 25, 26, 27, 28, 29, 33, 34, 35, 38, 44, 45], "i": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 46, 48], "spend": [1, 4, 5, 13, 14, 27, 29, 41], "borrow": [1, 3, 9, 13, 14, 27], "outsid": [1, 9, 14, 26, 31, 37, 41, 45, 48], "k_0": [1, 35, 38, 42], "stock": [1, 13, 16, 23, 31, 35, 37, 38, 42, 46, 48], "brought": [1, 5, 10, 21, 26, 31], "d_0": [1, 14, 19, 21, 37], "fall": [1, 3, 4, 5, 12, 13, 17, 25, 33, 42], "due": [1, 3, 21, 31, 33, 42, 48], "own": [1, 2, 8, 13, 17, 24, 27, 37, 41, 48], "measur": [1, 3, 13, 16, 18, 19, 21, 25, 28, 31, 33, 34, 36, 45, 46, 48], "unit": [1, 3, 6, 7, 10, 11, 13, 14, 16, 17, 18, 19, 21, 27, 28, 30, 31, 34, 35, 39, 42, 45, 46, 48], "five": [1, 16, 17, 27, 33], "g_t": [1, 14, 48], "d_t": [1, 37], "tau_t": 1, "delta_": 1, "ot": [1, 19], "yt": 1, "_": [1, 4, 5, 7, 8, 9, 10, 11, 12, 15, 18, 19, 23, 24, 25, 30, 31, 34, 35, 37, 38, 42, 46, 48], "infti": [1, 2, 5, 7, 8, 10, 11, 14, 15, 16, 19, 23, 25, 28, 29, 30, 31, 36, 38, 40, 42, 48], "whose": [1, 7, 8, 28, 37, 44, 45], "compon": [1, 3, 4, 13, 14, 15, 19, 29, 31, 37, 41, 45, 48], "flat": [1, 39, 48], "rate": [1, 4, 5, 7, 9, 11, 12, 16, 18, 20, 27, 28, 31, 33, 34, 35, 36, 38, 42, 45, 48], "wage": [1, 3, 12, 19, 35, 38], "earn": [1, 9, 12, 13, 17, 35, 37], "bond": [1, 12, 13, 27, 48], "princip": [1, 4, 10, 11, 14, 24, 26], "per": [1, 13, 14, 16, 18, 19, 27, 31, 38, 41, 42, 45], "capita": [1, 13, 16, 38, 41, 42], "purchas": [1, 3, 7, 13, 18, 21, 26, 37, 45], "alloc": [1, 19, 28, 44, 45], "c_": [1, 35, 44], "k_": [1, 34, 35, 38, 42], "l_t": [1, 42], "y_t": [1, 9, 14, 15, 31, 32, 35, 42, 46], "constitu": [1, 13], "k_t": [1, 35, 38, 42], "physic": 1, "labor": [1, 2, 3, 9, 12, 14, 17, 19, 23, 27, 35, 37, 42], "output": [1, 3, 4, 10, 14, 16, 17, 20, 28, 35, 36, 42, 45, 49], "consumpt": [1, 4, 5, 8, 14, 17, 18, 19, 20, 21, 35, 37, 42, 44, 45, 49], "equiv": [1, 5, 9, 12, 15, 19, 31, 32, 37, 46, 48], "i_t": [1, 7, 14], "invest": [1, 8, 14, 16, 42], "nation": [1, 3, 12, 14, 26, 46, 49], "incom": [1, 2, 3, 9, 12, 13, 14, 16, 20, 34, 35, 36, 42, 45, 46, 49], "account": [1, 3, 7, 14, 16, 19, 26, 27, 28, 37], "equal": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 19, 20, 21, 22, 24, 25, 27, 28, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 45, 46], "quad": [1, 2, 4, 5, 7, 8, 9, 10, 11, 15, 16, 17, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 42, 46, 48], "price": [1, 3, 6, 9, 13, 15, 16, 20, 21, 24, 35, 36, 37, 38, 44, 45, 46, 48, 49], "pair": [1, 8, 9, 15, 19, 21, 22, 24, 27, 31, 34, 37, 39, 44], "w_t": [1, 2, 12, 35], "r_t": [1, 23, 31, 35, 37, 48], "rental": [1, 35], "There": [1, 6, 10, 11, 14, 15, 16, 17, 21, 24, 28, 29, 30, 31, 37, 38, 44, 46], "depreci": [1, 3, 7, 18, 38, 42], "rent": 1, "net": [1, 3, 4, 5, 12, 14, 17, 19, 27, 30, 35, 45, 48], "emerg": [1, 3, 5, 21, 22, 31, 32, 39], "cumul": [1, 17, 28, 36], "past": [1, 3, 4, 5, 6, 26, 28, 38, 46], "sum_": [1, 2, 4, 5, 9, 10, 11, 12, 14, 16, 17, 19, 21, 24, 25, 27, 28, 29, 30, 33, 34, 36, 37, 41, 44, 46, 48], "i_": [1, 7, 21, 46], "cobb": [1, 35, 42], "dougla": [1, 35, 42], "technolog": [1, 17, 19, 26, 35], "convert": [1, 3, 9, 14, 17, 18, 24, 28, 40, 42], "alpha": [1, 2, 3, 4, 5, 6, 7, 10, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 42, 45], "risk": [1, 7, 16], "free": [1, 4, 5, 7, 9, 12, 14, 15, 21, 26, 27, 45], "promis": [1, 9, 13, 14, 18, 31, 33], "pai": [1, 5, 12, 13, 14, 18, 21, 25, 27, 31, 33, 37, 49], "d_": [1, 14, 19, 37], "bear": [1, 48], "befor": [1, 3, 10, 11, 13, 14, 15, 17, 18, 19, 21, 24, 25, 28, 29, 33, 36, 44, 45], "r_": [1, 7, 16, 23, 31, 35, 38, 48], "budget": [1, 9, 13, 21, 31, 44, 45, 48], "constraint": [1, 9, 13, 19, 21, 27, 31, 35, 44, 45, 48], "t_t": 1, "total": [1, 3, 7, 11, 13, 14, 17, 19, 21, 23, 26, 27, 28, 30, 33, 34, 35, 38, 40, 41, 44, 45], "bring": [1, 5, 12, 13, 17, 18, 21, 31, 42, 48], "its": [1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27, 30, 31, 33, 34, 36, 38, 40, 41, 45, 46, 48, 49], "sell": [1, 6, 13, 14, 21, 27, 33, 45, 48], "gover": [1, 5], "acquir": [1, 5, 18], "neg": [1, 3, 9, 11, 14, 27, 38, 44, 45, 48], "a_": [1, 9, 11, 19, 24, 27, 34, 42], "If": [1, 2, 5, 6, 9, 10, 11, 12, 14, 15, 16, 17, 19, 21, 24, 25, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 42, 45, 46, 47], "hire": [1, 12, 13], "competit": [1, 12, 49], "numerair": [1, 44, 45], "so": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48], "profit": [1, 7, 16, 21, 27, 33, 35, 45], "To": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 41, 42, 44, 45, 46, 48], "maxim": [1, 7, 9, 19, 21, 27, 30, 31, 35, 42], "margin": [1, 2, 8, 9, 14, 28, 35, 42, 44, 45], "begin": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 37, 38, 40, 41, 45, 46, 48], "align": [1, 4, 5, 8, 14, 15, 16, 19, 23, 24, 25, 27, 28, 30, 31, 34, 37, 41, 48], "end": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 37, 40, 41, 45, 46, 48, 49], "either": [1, 2, 3, 5, 11, 12, 14, 15, 16, 21, 22, 24, 27, 28, 29, 33, 34, 45, 46, 47, 48], "sold": [1, 13, 21, 41], "augment": 1, "util": [1, 9, 19, 21, 44], "thrown": 1, "ocean": 1, "thu": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 39, 42, 44, 45, 46, 48], "endow": [1, 44], "r_0": [1, 23, 31], "tau_0": 1, "a_0": [1, 9, 19], "It": [1, 3, 4, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 21, 22, 24, 26, 27, 28, 29, 31, 32, 36, 37, 39, 41, 42, 46, 48], "must": [1, 5, 7, 9, 12, 14, 15, 17, 19, 23, 24, 25, 27, 31, 39, 40, 48], "posit": [1, 3, 6, 7, 8, 9, 11, 14, 15, 16, 19, 21, 23, 28, 29, 31, 33, 34, 35, 36, 37, 38, 41, 44, 45, 48], "receiv": [1, 9, 12, 14, 27, 33, 34, 48], "o0": 1, "optim": [1, 7, 9, 19, 21, 22, 24, 27, 30, 32, 35, 39, 40, 42, 45, 49], "plan": [1, 13, 19, 27, 30, 33, 45], "inelast": 1, "suppli": [1, 4, 5, 6, 7, 9, 13, 14, 17, 18, 20, 22, 24, 32, 34, 37, 48], "return": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45, 46, 48], "pre": [1, 13, 17, 18, 19, 24, 31, 32, 46], "post": [1, 3, 13, 18, 29, 48], "choos": [1, 3, 7, 8, 9, 12, 15, 16, 18, 19, 21, 24, 25, 26, 27, 30, 34, 36, 38, 39, 41, 42, 45, 46, 48], "u_t": [1, 23, 35, 46], "beta": [1, 2, 7, 9, 10, 19, 25, 28, 29, 33, 34, 35, 44, 45, 46], "o": [1, 6, 7, 8, 9, 10, 11, 13, 16, 17, 22, 24, 31, 32, 35, 36, 37, 39, 42, 49], "subject": [1, 19, 21, 27, 35, 45, 48], "tau_": 1, "second": [1, 2, 5, 6, 7, 8, 10, 11, 13, 14, 17, 18, 19, 21, 22, 23, 24, 25, 27, 29, 31, 32, 33, 35, 36, 38, 39, 44, 45, 46, 47], "substitut": [1, 14, 27, 35, 37, 41, 42, 44, 45], "impli": [1, 2, 4, 5, 7, 9, 10, 11, 14, 17, 19, 22, 23, 28, 30, 31, 32, 34, 38, 42, 44, 46, 48], "frac": [1, 2, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 25, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 44, 45, 46, 48], "choic": [1, 6, 7, 10, 16, 19, 21, 25, 29, 30, 31, 34, 35, 37, 40, 44], "lagrangian": [1, 45], "mathcal": [1, 15, 46, 48], "l": [1, 13, 17, 19, 27, 30, 38, 42, 45, 49], "lambda": [1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 22, 23, 25, 29, 30, 31, 32, 33, 35, 36, 38, 42, 45, 48], "bigl": [1, 4], "bigr": [1, 4], "where": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48], "lagrang": [1, 45], "multipli": [1, 4, 5, 8, 9, 10, 15, 16, 24, 33, 37, 45, 46, 49], "intertempor": [1, 9, 35], "after": [1, 3, 5, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 26, 33, 34, 36, 37, 39, 40, 44, 45, 48], "sever": [1, 5, 11, 13, 16, 17, 26, 28, 31, 34, 39], "line": [1, 3, 4, 5, 6, 8, 10, 12, 13, 14, 16, 17, 19, 21, 22, 23, 24, 26, 27, 31, 32, 38, 40, 41, 42, 44, 47], "order": [1, 2, 5, 8, 10, 11, 17, 21, 22, 24, 27, 31, 34, 35, 38, 45, 46, 49], "respect": [1, 2, 8, 9, 12, 13, 16, 17, 21, 23, 31, 32, 34, 35, 42, 45], "0t": 1, "minim": [1, 19, 27, 40, 41, 45], "8": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 39, 40, 41, 42, 43, 45, 46, 48, 49], "multipl": [1, 3, 4, 5, 9, 11, 12, 14, 15, 21, 31, 37, 44], "recov": [1, 3, 15, 26, 37], "which": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 44, 45, 46, 48], "definit": [1, 11, 13, 16, 21, 24, 33, 36, 44, 45], "equilibrium": [1, 4, 5, 6, 12, 24, 48], "properti": [1, 2, 10, 11, 12, 13, 17, 24, 25, 28, 29, 31, 36, 38, 42, 45], "all": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "outcom": [1, 4, 5, 8, 9, 12, 13, 14, 16, 21, 22, 26, 28, 29, 32, 33, 35, 39, 41, 45, 48], "special": [1, 2, 11, 12, 15, 24, 28, 31, 34, 35, 37, 44, 46], "case": [1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 23, 24, 25, 27, 28, 29, 30, 34, 36, 37, 38, 40, 42, 46], "began": [1, 13, 26, 45], "shall": [1, 4, 5, 9, 14, 15, 18, 22, 31, 32, 37, 44, 45, 46], "deriv": [1, 9, 12, 14, 16, 17, 19, 21, 30, 35, 41, 45], "pretend": 1, "don": [1, 12, 14, 16, 18, 31, 39, 47], "know": [1, 2, 4, 7, 11, 12, 13, 16, 17, 21, 27, 28, 33, 38, 40, 41, 45, 46], "formul": [1, 12, 19, 27, 31, 45], "fix": [1, 2, 3, 6, 9, 12, 14, 16, 17, 21, 22, 23, 25, 29, 34, 35, 36, 38, 42, 45, 46, 48], "map": [1, 12, 17, 18, 22, 26, 34, 38, 40, 42, 48], "iter": [1, 2, 7, 9, 15, 23, 26, 28, 31, 32, 35, 38, 39, 40, 41, 48], "converg": [1, 2, 6, 7, 10, 11, 14, 15, 16, 22, 23, 25, 26, 29, 31, 32, 35, 36, 38, 39, 40, 42, 46, 48], "get": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 24, 25, 26, 27, 28, 29, 31, 33, 34, 35, 36, 38, 39, 41, 45, 47], "zero": [1, 2, 4, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 21, 23, 24, 25, 28, 29, 31, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 46], "As": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 38, 39, 41, 42, 45, 46, 48], "a_t": [1, 9, 24, 42], "obtain": [1, 2, 3, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 19, 21, 22, 23, 24, 29, 30, 34, 35, 36, 38, 39, 40, 42, 45, 46], "law": [1, 2, 13, 22, 28, 29, 30, 31, 32, 33, 36, 49], "left": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 42, 44, 45, 46, 48], "right": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 28, 31, 32, 33, 35, 36, 37, 38, 42, 44, 45, 46, 48], "invari": [1, 28, 31, 48], "hat": [1, 4, 16, 23, 24, 29, 30, 41], "k": [1, 2, 4, 5, 6, 7, 9, 10, 11, 13, 16, 17, 21, 23, 24, 25, 27, 28, 29, 30, 33, 34, 35, 38, 39, 42, 49], "d": [1, 4, 5, 6, 7, 8, 11, 12, 13, 14, 16, 18, 19, 21, 23, 24, 25, 28, 31, 34, 35, 37, 39, 40, 42, 44, 46, 49], "tau": 1, "r": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 23, 24, 25, 28, 29, 30, 31, 33, 34, 35, 36, 38, 41, 42, 45, 48, 49], "y": [1, 2, 3, 6, 8, 9, 10, 13, 14, 15, 16, 17, 18, 22, 24, 25, 26, 27, 28, 29, 31, 32, 38, 39, 41, 42, 45, 46, 47, 49], "These": [1, 2, 3, 7, 11, 13, 14, 15, 17, 18, 20, 21, 22, 25, 26, 27, 28, 30, 31, 32, 39, 43, 48], "let": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48], "exampl": [1, 2, 3, 4, 6, 7, 9, 12, 13, 15, 16, 17, 18, 19, 23, 25, 30, 33, 36, 37, 39, 40, 41, 46], "15": [1, 3, 4, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27, 28, 29, 34, 35, 40, 43, 48], "formula": [1, 4, 5, 8, 9, 11, 15, 22, 32, 36, 37, 46, 48], "tell": [1, 14, 15, 17, 25, 27, 28, 29, 30, 31, 33, 34, 45, 47], "np": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48], "pyplot": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 48], "plt": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 48], "njit": [1, 2], "brent_max": 1, "For": [1, 2, 3, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 21, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47, 48], "paramet": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 16, 17, 19, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 34, 35, 36, 37, 38, 41, 42, 45, 46, 48], "\u03b1": [1, 2, 4, 5, 6, 7, 16, 22, 23, 25, 29, 32, 35, 36, 41], "\u03b2": [1, 2, 9, 16, 25, 29, 33, 35, 36, 41, 46], "\u03c4": 1, "\u03c4_hat": 1, "d_hat": 1, "k_hat": 1, "17694509514972878": 1, "other": [1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 38, 39, 40, 42, 44, 45, 46, 49], "object": [1, 7, 9, 15, 17, 21, 24, 26, 27, 31, 34, 35, 38, 39, 43, 44, 45], "defin": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 44, 45, 46, 48], "helper": 1, "def": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 42, 44, 45, 46, 48], "k_to_i": 1, "k_to_r": 1, "k_to_w": 1, "k_to_c": 1, "when": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 42, 45, 46, 47, 49], "\u03b4": [1, 5, 22, 37], "co": [1, 8, 10, 19, 21, 28], "w": [1, 9, 11, 12, 19, 21, 30, 34, 35, 40, 44, 45], "cy": 1, "associ": [1, 4, 5, 9, 11, 13, 15, 17, 18, 19, 27, 31, 34, 37, 45, 48], "y_hat": [1, 41], "r_hat": 1, "w_hat": 1, "5947734290747186": 1, "0084033613445376": 1, "41634140035230305": 1, "sinc": [1, 2, 4, 6, 7, 8, 9, 10, 11, 15, 16, 17, 21, 23, 24, 25, 26, 28, 29, 31, 33, 35, 38, 42, 45, 46, 48], "g_hat": 1, "0892160143612078": 1, "cy_hat": 1, "co_hat": 1, "32861231956378195": 1, "store": [1, 5, 6, 7, 9, 13, 15, 17, 21, 22, 26, 28, 31, 32, 34, 35, 39, 40], "quantiti": [1, 3, 4, 6, 7, 14, 17, 19, 22, 24, 27, 30, 31, 32, 35, 42, 45, 48, 49], "arrai": [1, 4, 5, 7, 9, 10, 11, 15, 17, 19, 23, 24, 25, 27, 28, 29, 30, 31, 34, 35, 36, 37, 39, 40, 42, 44, 45, 46], "call": [1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 38, 39, 40, 41, 42, 45, 46, 48], "init_ss": 1, "zejin": 1, "tri": [1, 13], "edit": [1, 3, 49], "describ": [1, 2, 4, 5, 6, 7, 9, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 24, 26, 27, 28, 29, 31, 32, 33, 35, 37, 38, 39, 40, 44, 45, 46, 48], "fiscal": [1, 4, 5, 9, 13, 18, 31, 32, 35, 49], "make": [1, 2, 3, 5, 6, 9, 10, 12, 13, 14, 16, 21, 22, 24, 27, 28, 30, 31, 32, 33, 35, 40, 41, 44, 46], "sens": [1, 6, 7, 9, 12, 13, 17, 24, 28, 31, 32, 46], "treat": [1, 7, 17, 24, 25, 32, 35, 45], "huge": 1, "unanticip": [1, 5, 26], "shock": [1, 2, 3, 5, 7, 34, 42, 46], "disrupt": [1, 13], "origin": [1, 3, 4, 8, 9, 10, 11, 18, 23, 24, 26, 27, 34, 38, 39, 41, 46], "new": [1, 3, 10, 13, 17, 18, 21, 23, 27, 28, 34, 35, 39, 42, 48, 49], "eventu": [1, 4, 9, 12, 17, 21, 25, 29, 31, 32], "sudden": [1, 4, 16, 18], "revel": 1, "everyon": [1, 17], "accordingli": 1, "aggreg": [1, 3, 9, 14, 16, 18, 26, 34, 35, 39, 42, 44, 46], "adjust": [1, 5, 10, 12, 13, 14, 17, 18, 21, 31, 33, 41, 45], "chang": [1, 3, 5, 9, 10, 12, 13, 14, 16, 17, 18, 19, 21, 22, 24, 25, 26, 28, 29, 32, 33, 35, 36, 39, 42, 45, 49], "approach": [1, 9, 14, 16, 26, 31, 38, 40, 42, 48, 49], "emploi": [1, 23, 27, 28], "algorithm": [1, 22, 24, 28, 32, 34, 49], "space": [1, 10, 11, 12, 23, 24, 28, 38, 46], "But": [1, 4, 5, 7, 12, 13, 15, 16, 18, 22, 24, 28, 31, 32, 33, 34, 35, 37, 39, 40, 46, 48], "avail": [1, 3, 18, 19, 26, 27, 28, 37, 41, 47], "simpler": [1, 2], "faster": [1, 15, 16, 17, 23, 28, 33, 40], "here": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48], "closedformtran": 1, "length": [1, 4, 6, 9, 10, 12, 14, 17, 18, 23, 24, 28, 35, 48], "respons": [1, 5, 13, 18, 45], "larg": [1, 2, 3, 7, 8, 9, 13, 15, 16, 18, 19, 21, 23, 24, 26, 28, 29, 30, 33, 34, 36, 37, 40], "enough": [1, 12, 13, 23, 34], "gotten": 1, "veri": [1, 2, 3, 7, 9, 13, 15, 16, 17, 18, 21, 24, 26, 28, 30, 33, 34, 36, 38, 46], "three": [1, 3, 8, 9, 10, 13, 14, 16, 17, 18, 24, 25, 27, 28, 33, 34, 35, 42, 43], "keyword": [1, 34], "argument": [1, 3, 9, 11, 14, 16, 27, 28], "\u03c4_pol": 1, "d_pol": 1, "g_pol": 1, "level": [1, 9, 12, 13, 14, 15, 17, 20, 26, 34, 37, 39, 41, 42, 44, 48, 49], "below": [1, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24, 27, 28, 29, 31, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45], "pass": [1, 16, 19, 24], "out": [1, 2, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 19, 21, 22, 24, 28, 31, 32, 33, 34, 37, 38, 42, 44, 45, 46, 48], "input": [1, 3, 4, 9, 20, 26, 27], "depict": [1, 11, 13, 18], "singl": [1, 3, 5, 7, 9, 12, 15, 16, 18, 19, 21, 25, 26, 28, 29, 37, 38, 39, 44], "remain": [1, 3, 5, 6, 9, 12, 16, 29, 31, 32, 42], "undetermin": 1, "variabl": [1, 2, 4, 5, 12, 15, 16, 17, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 38, 41, 45, 46], "distinguish": 1, "control": [1, 6, 11, 45], "base": [1, 2, 3, 8, 12, 15, 16, 17, 18, 19, 25, 26, 29, 31, 32, 34, 38, 39, 43], "taxat": [1, 16], "absent": 1, "__init__": [1, 2, 6, 10, 23, 39, 44, 45, 46], "unpack": [1, 18, 48], "contain": [1, 15, 16, 17, 23, 24, 25, 26, 31, 33, 34, 41, 42, 43, 48], "quant_seq": 1, "empti": [1, 6, 7, 10, 16, 25, 28, 31, 33, 34, 35, 38, 41, 48], "price_seq": 1, "policy_seq": 1, "k0": [1, 35, 38], "y0": [1, 31], "w0": 1, "r0": [1, 31], "d0": [1, 45], "d1": [1, 45], "g0": 1, "\u03c40": 1, "elif": [1, 10], "cy0": 1, "co0": 1, "rang": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 46, 48], "k_old": 1, "\u03c4_old": 1, "d_next": 1, "plot": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 45, 46, 48], "fig": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 48], "ax": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 48], "subplot": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 48], "figsiz": [1, 2, 4, 5, 6, 8, 10, 14, 15, 16, 18, 19, 22, 23, 25, 26, 31, 32, 34, 35, 42, 46, 48], "14": [1, 4, 5, 6, 10, 13, 15, 18, 24, 26, 28, 35, 38, 40, 41, 42, 43, 46], "10": [1, 2, 3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49], "name": [1, 3, 4, 9, 11, 13, 14, 15, 16, 17, 18, 21, 26, 31, 33, 36, 37, 43, 45], "enumer": [1, 2, 6, 7, 9, 10, 16, 22, 23, 24, 28, 34, 48], "label": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 42, 45, 46], "hline": [1, 3, 14, 17, 19, 21, 23, 45, 48], "color": [1, 2, 3, 6, 8, 9, 10, 13, 15, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 39, 41, 42, 45, 46, 48], "linestyl": [1, 3, 10, 13, 14, 15, 16, 21, 22, 26, 28, 29, 31, 32, 36, 45, 48], "legend": [1, 2, 3, 4, 5, 6, 7, 9, 10, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 42, 45, 46], "set_xlabel": [1, 4, 5, 6, 7, 10, 14, 15, 16, 17, 18, 21, 22, 23, 25, 26, 27, 28, 29, 31, 32, 35, 36, 37, 38, 42], "creat": [1, 5, 7, 9, 10, 13, 14, 17, 18, 21, 22, 24, 26, 27, 31, 32, 34, 38, 39, 45, 48], "instanc": [1, 5, 9, 12, 15, 18, 21, 26, 28, 39, 43, 45], "variou": [1, 3, 5, 12, 15, 24, 26, 45, 46], "power": [1, 10, 11, 13, 17, 18, 21, 23, 26, 28, 29, 34, 37, 40, 45, 46, 49], "unexpectedli": 1, "announc": 1, "bar": [1, 5, 8, 15, 16, 19, 21, 22, 23, 25, 29, 30, 31, 34, 36, 41, 48], "keep": [1, 11, 14, 15, 16, 18, 24, 27, 36, 39, 42, 47], "payment": [1, 13, 14, 33], "complet": [1, 3, 5, 6, 7, 8, 12, 13, 16, 17, 18, 22, 30, 31, 36, 46], "character": [1, 11, 13, 19, 48], "20": [1, 3, 6, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 23, 24, 27, 28, 29, 30, 31, 32, 34, 36, 38, 40, 41, 42, 43], "prepar": [1, 7, 11, 13, 18, 21], "advanc": [1, 7, 10, 17, 24, 25, 30, 45, 46], "them": [1, 2, 3, 5, 6, 7, 8, 9, 11, 13, 16, 17, 18, 21, 24, 25, 26, 27, 28, 30, 34, 35, 36, 38, 39, 40, 45, 46], "solver": [1, 27], "g_seq": 1, "ones": [1, 4, 5, 9, 11, 19, 22, 23, 24, 25, 28, 34, 39, 45], "d_bar": 1, "d_seq": 1, "dynam": [1, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 26, 28, 31, 34, 37, 39, 40, 42, 46, 49], "note": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 23, 24, 26, 28, 29, 31, 33, 34, 36, 39, 40, 48], "leav": [1, 9, 22, 27, 31, 32, 34, 45, 48], "determin": [1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18, 21, 22, 23, 24, 28, 31, 33, 34, 35, 37, 39, 42, 45, 46, 48, 49], "quant_seq1": 1, "price_seq1": 1, "policy_seq1": 1, "lower": [1, 5, 6, 7, 9, 13, 14, 16, 22, 23, 26, 28, 31, 32, 42, 45, 46, 48], "correspond": [1, 2, 5, 7, 10, 11, 13, 15, 16, 17, 19, 21, 22, 23, 24, 26, 28, 29, 31, 32, 34, 37, 38, 45, 46], "quant_seq2": 1, "price_seq2": 1, "policy_seq2": 1, "ha": [1, 2, 3, 5, 6, 8, 9, 10, 12, 13, 14, 16, 17, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 44, 45, 48], "same": [1, 2, 3, 5, 9, 10, 11, 13, 14, 16, 17, 18, 21, 24, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 39, 42, 44, 46, 48], "pattern": [1, 3, 5, 9, 10, 16, 18], "less": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 16, 17, 18, 24, 27, 34, 41, 45, 48], "distort": [1, 3], "higher": [1, 9, 12, 16, 17, 19, 28, 31, 32, 34, 38, 41, 45, 48], "now": [1, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48], "half": [1, 7, 13, 26, 31, 39], "foral": [1, 5, 15, 22, 32], "target": [1, 34], "conduct": 1, "\u03c4_seq": 1, "along": [1, 10, 14, 15, 23, 42, 44, 48], "privat": [1, 3, 5, 18], "result": [1, 2, 3, 5, 6, 8, 10, 11, 13, 15, 16, 17, 19, 21, 22, 23, 24, 25, 28, 29, 31, 34, 36, 44, 45, 46], "ratio": [1, 8, 12, 13, 14, 15, 18, 31, 48], "increas": [1, 5, 6, 9, 12, 13, 14, 16, 17, 23, 24, 25, 33, 34, 35, 36, 38, 42, 45, 46, 48], "xlabel": [1, 8, 9, 10, 12, 13, 16, 17, 22, 24, 26, 30, 31, 32, 41, 45, 46, 48], "titl": [1, 10, 16, 17, 23, 33, 39, 48], "run": [1, 3, 5, 10, 17, 18, 20, 22, 25, 28, 29, 31, 32, 33, 35, 39, 41, 42, 43, 46, 47, 48], "futur": [1, 2, 3, 7, 13, 14, 16, 19, 22, 28, 33, 46, 48], "cohort": 1, "enjoi": 1, "throughout": [1, 2, 3, 14, 15, 21, 31, 38], "thei": [1, 2, 3, 6, 7, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 45], "howev": [1, 3, 6, 11, 12, 14, 15, 16, 17, 24, 25, 29, 30, 31, 33, 34, 36, 38, 39, 41, 46], "short": [1, 14, 18, 21, 23, 28], "suffer": 1, "big": [1, 5, 8, 9, 13, 14, 15, 21, 49], "offset": [1, 23, 42], "loss": 1, "Such": [1, 5, 26, 28, 35], "distinct": [1, 11, 16, 23, 29, 31, 34, 35, 39, 42, 45], "effect": [1, 2, 5, 13, 14, 34, 35, 45, 49], "motiv": [1, 13, 14, 17, 34], "strictli": [1, 11, 14, 23, 25, 28, 29, 33, 35, 42], "cost": [1, 3, 12, 13, 18, 19, 21, 33, 34, 36, 41, 45], "fewer": 1, "public": [1, 3, 4, 5, 12, 13, 22, 31, 48, 49], "investig": [1, 6, 21, 25, 33, 35, 36, 42], "scenario": [1, 6, 29], "onli": [1, 4, 7, 10, 12, 13, 14, 15, 16, 17, 18, 21, 23, 24, 27, 28, 29, 30, 31, 32, 34, 37, 38, 40, 41, 45, 46, 48], "expeditur": 1, "maintain": [1, 7, 17, 18, 30, 42, 48], "d_1": [1, 19, 21, 37], "quickli": [1, 4, 13, 16, 18, 26, 28, 38, 41], "though": [1, 2, 17, 31, 36, 39, 41], "balanc": [1, 4, 5, 13, 14, 27, 31, 48], "gather": [1, 26, 31, 32, 41], "revenu": [1, 13, 16, 22, 27, 30, 31, 32, 45], "dure": [1, 3, 4, 12, 18, 20, 26, 33, 35, 48], "peropl": 1, "earli": [1, 6, 13, 17, 18, 46], "With": [1, 3, 8, 11, 15, 16, 17, 33, 42, 48], "preced": [1, 4, 5, 9, 13, 14, 15, 21, 22, 24, 26, 28, 31, 32, 34, 38, 40, 44, 45, 48], "caluat": 1, "instig": 1, "altern": [1, 2, 4, 5, 9, 13, 31, 34], "assumpt": [1, 2, 5, 6, 11, 16, 21, 22, 24, 25, 30, 33, 35, 44, 47], "were": [1, 3, 6, 12, 13, 14, 17, 18, 21, 22, 24, 36, 40, 44, 45], "section": [1, 7, 9, 10, 11, 12, 17, 21, 24, 26, 29, 33, 35, 36, 38, 39, 41, 42], "depend": [1, 2, 3, 4, 6, 7, 10, 12, 14, 22, 23, 24, 25, 27, 28, 31, 33, 34, 35, 36, 38, 45, 46, 48], "therefor": [1, 8, 13, 14, 23, 25, 28, 31, 45], "pin": [1, 2, 15, 37, 45], "down": [1, 2, 6, 9, 12, 13, 14, 15, 17, 25, 28, 34, 35, 37, 39, 42, 45], "stage": [1, 5, 13, 15, 18, 26, 31, 32, 46], "entri": [1, 12, 18, 23, 27, 28, 37, 46], "seek": [1, 7, 15, 23, 26, 31, 48], "concept": [1, 2, 8, 10, 11, 16, 20, 21, 29, 31, 34, 38, 45, 48], "guess": [1, 6, 7, 12, 15, 18, 21, 26, 28, 30, 31, 33, 40, 41], "verifi": [1, 4, 7, 8, 9, 10, 11, 12, 14, 15, 22, 24, 25, 31, 32, 34, 37, 44, 45, 48], "endogen": [1, 4, 5, 35, 48], "exogen": [1, 4, 5, 7, 9, 14, 19, 37, 42, 45], "known": [1, 2, 5, 8, 14, 17, 26, 28, 30, 31, 36, 40, 45], "everybodi": 1, "true": [1, 2, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 39, 41, 42, 46, 49], "updat": [1, 2, 3, 6, 7, 13, 19, 21, 28, 38, 39, 40, 47], "until": [1, 3, 7, 13, 14, 16, 17, 18, 24, 26, 39], "u": [1, 3, 10, 16, 17, 23, 25, 26, 27, 34, 35, 36, 39, 46], "cy_val": 1, "lifetim": [1, 12, 28], "arbitrari": [1, 11, 15, 25, 30, 31, 38], "c_y": 1, "r_next": 1, "\u03c4_next": 1, "\u03b4y": 1, "\u03b4o_next": 1, "found": [1, 3, 6, 7, 10, 11, 16, 21, 24, 26, 27, 28, 30, 34, 40, 41], "c": [1, 2, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 24, 25, 26, 27, 28, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 49], "_y": 1, "like": [1, 4, 5, 9, 13, 16, 21, 24, 26, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 41, 44, 45, 46, 47], "cy_opt": 1, "u_opt": 1, "maximand": 1, "1e": [1, 7, 9, 22, 32, 48], "bound": [1, 16, 21, 23, 27, 39, 42], "upper": [1, 3, 6, 16, 18, 21, 23, 26, 27, 30, 34, 35, 38, 42, 45, 46], "arg": [1, 3, 10, 14, 22, 26, 32, 35, 41, 44, 45], "241135518231111": 1, "ak2": [1, 43], "handl": [1, 18, 24, 28, 33, 34, 42], "nonzero": [1, 10, 11, 24], "\u03b4y_seq": 1, "\u03b4o_seq": 1, "verbos": [1, 9], "fals": [1, 6, 7, 13, 16, 19, 21, 26, 28, 29, 33, 34, 35, 38, 39, 42], "max_it": [1, 39, 40], "500": [1, 2, 13, 16, 18, 19, 21, 30, 33, 34, 40, 41], "tol": [1, 7, 19, 34, 48], "check": [1, 2, 9, 10, 14, 17, 19, 22, 23, 24, 25, 27, 28, 29, 30, 32, 34, 36, 37, 38, 40, 41, 44, 45, 48], "price_seq_old": 1, "empty_lik": [1, 2, 7, 16, 19, 35, 40], "policy_seq_old": 1, "i_it": 1, "while": [1, 4, 5, 6, 7, 9, 11, 12, 13, 16, 17, 18, 21, 23, 26, 28, 29, 30, 31, 32, 34, 37, 38, 39, 40, 41, 44, 48], "current": [1, 2, 3, 6, 7, 14, 16, 21, 23, 27, 28, 38, 40, 42, 46], "ith": 1, "set_titl": [1, 4, 6, 8, 10, 14, 15, 16, 23, 33, 39, 48], "f": [1, 2, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 35, 36, 38, 39, 40, 42], "th": [1, 2, 10, 11, 14, 15, 19, 21, 24, 27, 28, 34], "bbox_to_anchor": [1, 2, 3, 6, 10, 26, 38], "05": [1, 2, 3, 9, 12, 13, 14, 16, 17, 18, 25, 28, 29, 30, 33, 36, 37, 40, 41, 43], "loc": [1, 2, 3, 6, 10, 14, 16, 18, 21, 23, 25, 26, 30, 34, 35, 38, 39, 41, 42, 45], "last": [1, 4, 5, 6, 9, 10, 12, 14, 16, 17, 18, 23, 25, 26, 28, 35, 38, 49], "g_next": 1, "\u03b4o": 1, "\u03b4y_next": 1, "\u03c4_num": 1, "\u03c4_denom": 1, "a_next": 1, "k_next": [1, 42], "y_next": 1, "w_next": 1, "max": [1, 7, 10, 11, 16, 17, 21, 23, 25, 26, 31, 33, 34, 35, 42, 44, 45, 48], "ab": [1, 4, 7, 9, 10, 11, 15, 17, 24, 25, 34, 41, 48], "print": [1, 4, 5, 8, 9, 10, 11, 13, 14, 15, 16, 18, 21, 22, 24, 25, 27, 29, 31, 32, 33, 34, 35, 39, 40, 41, 42, 44, 45, 46, 48], "break": [1, 3, 33, 39, 40, 42], "fail": [1, 14, 16, 25, 28, 34, 36, 38], "examin": [1, 3, 10, 14, 16, 17, 26, 34, 35, 44], "lead": [1, 5, 7, 10, 13, 14, 16, 17, 18, 21, 23, 24, 25, 28, 31, 33, 34, 35, 38, 39, 42, 44, 45], "numer": [1, 8, 12, 18, 21, 24, 28, 30, 34, 35, 41, 45, 46], "mute": [1, 15], "quant_seq3": 1, "price_seq3": 1, "policy_seq3": 1, "alter": [1, 3, 13, 35, 46], "005": [1, 14], "geq0": [1, 46], "quant_seq4": 1, "price_seq4": 1, "policy_seq4": 1, "crowd": [1, 49], "mitig": [1, 48], "delta": [1, 5, 14, 15, 19, 22, 30, 37, 38, 42], "compar": [1, 3, 4, 5, 10, 12, 13, 14, 15, 16, 17, 21, 22, 24, 25, 28, 30, 31, 32, 36, 45], "rais": [1, 12, 13, 15, 16, 19, 22, 30, 31, 32, 44, 45, 47], "financ": [1, 4, 5, 13, 15, 17, 18, 19, 20, 22, 24, 28, 30, 32, 33, 46, 48, 49], "distortionari": 1, "magnitud": [1, 23], "opposit": [1, 42], "sign": [1, 16, 27], "subsid": 1, "amount": [1, 10, 12, 13, 14, 16, 18, 19, 21, 27, 28, 31, 34, 45], "launch": [1, 47], "ignit": [1, 14], "quant_seq5": 1, "price_seq5": 1, "policy_seq5": 1, "benefit": [1, 33], "especi": [1, 3, 10, 13, 26], "he": [1, 5, 12, 13, 27, 45], "noth": [1, 12, 33], "decreas": [1, 3, 5, 6, 12, 23, 24, 31, 45, 46, 48], "incent": 1, "That": [1, 5, 6, 13, 18, 24, 28, 31, 32, 35, 36, 46, 48], "consequ": [1, 4, 5, 7, 13, 24, 26, 37, 45, 48], "further": [1, 2, 3, 6, 10, 11, 12, 13, 19, 21, 23, 25, 44, 45], "go": [2, 3, 6, 11, 12, 13, 14, 15, 17, 19, 25, 26, 28, 29, 30, 33, 35, 38, 39, 41, 42], "simpl": [2, 6, 10, 11, 16, 17, 20, 21, 24, 25, 28, 34, 35, 36, 38, 39, 40, 42, 45, 49], "stochast": [2, 11, 29, 42, 46, 49], "again": [2, 3, 5, 6, 9, 14, 15, 18, 19, 24, 26, 27, 28, 30, 32, 33, 35, 36, 38, 39, 41, 42], "repres": [2, 3, 5, 6, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 23, 24, 25, 28, 29, 31, 33, 34, 35, 36, 39, 41, 42, 45, 46], "dividend": [2, 5, 9, 16, 37, 46], "product": [2, 10, 11, 13, 14, 16, 26, 28, 34, 35, 38, 42, 46, 49], "etc": [2, 16, 17, 24, 33, 35, 38, 40], "partli": [2, 13, 21], "s": [2, 3, 4, 5, 6, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49], "rcparam": [2, 8, 13, 14, 19, 31, 46], "figur": [2, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 26, 28, 29, 31, 32, 34, 35, 38, 42, 45, 46], "set": [2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48], "default": [2, 3, 6, 8, 9, 12, 13, 14, 16, 21, 24, 27, 28, 34, 44, 46], "autoregress": [2, 46], "form": [2, 3, 6, 8, 9, 10, 13, 14, 15, 16, 17, 19, 21, 22, 23, 28, 29, 31, 34, 35, 36, 37, 38, 42, 44, 45, 46, 48], "x_": [2, 7, 8, 14, 15, 23, 24, 25, 28, 38], "x_t": [2, 7, 14, 15, 23, 25, 28, 29, 38, 42], "b": [2, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 23, 24, 25, 27, 30, 31, 34, 35, 36, 37, 38, 39, 40, 42, 44, 45, 46], "w_": [2, 17, 44], "scalar": [2, 11, 14, 15, 21, 23, 31, 44, 45], "sometim": [2, 5, 14, 15, 19, 21, 23, 24, 25, 28, 29, 31, 33, 35, 36, 37, 38, 41, 45], "log": [2, 4, 12, 13, 16, 17, 18, 21, 22, 26, 30, 31, 32, 33, 36, 41, 42], "household": [2, 3, 17, 29, 30, 34, 35, 39, 44], "monei": [2, 4, 5, 13, 15, 17, 18, 20, 22, 32, 33, 34, 37, 48, 49], "demand": [2, 4, 5, 6, 7, 11, 13, 14, 18, 20, 22, 24, 32, 34, 37, 38, 44, 48], "show": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48], "evolv": [2, 6, 23, 26, 28, 31, 48], "previou": [2, 3, 4, 6, 10, 17, 18, 19, 28, 29, 33, 34, 44, 45, 46], "an": [2, 3, 4, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 49], "iid": [2, 7, 16, 29, 30, 33, 42, 46], "subscript": 2, "random": [2, 10, 16, 17, 25, 28, 29, 30, 33, 36, 39, 42, 45], "observ": [2, 3, 6, 7, 10, 11, 13, 16, 17, 18, 19, 21, 23, 24, 25, 28, 30, 33, 38, 41], "soon": [2, 9, 14, 15, 22, 31, 32, 45], "specifi": [2, 6, 9, 18, 27, 28, 31, 33, 35, 40, 41, 42, 44, 45], "initi": [2, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 21, 23, 26, 27, 29, 30, 31, 35, 38, 39, 40, 42, 44, 45, 46, 48], "x_0": [2, 7, 8, 14, 15, 19, 23, 25, 28, 29, 38], "thing": [2, 12, 18, 21, 24, 33, 34, 42, 46, 47], "standard": [2, 7, 9, 10, 13, 14, 16, 17, 18, 24, 25, 26, 28, 29, 30, 33, 38, 40, 46, 48], "drawn": [2, 16, 28, 30, 34, 39], "n": [2, 3, 7, 8, 10, 11, 15, 16, 17, 19, 21, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 38, 39, 40, 41, 44, 45, 46, 49], "mu_0": [2, 4, 5], "v_0": 2, "independ": [2, 13, 16, 17, 18, 24, 25, 28, 33, 36, 39, 42, 45, 46, 49], "backward": [2, 6, 34, 46, 48], "cdot": [2, 4, 5, 7, 8, 9, 10, 11, 12, 14, 17, 19, 24, 25, 27, 28, 30, 37, 46], "back": [2, 6, 11, 12, 13, 17, 18, 26, 27, 28, 29, 31, 38, 42, 45], "j": [2, 10, 11, 13, 14, 15, 16, 17, 19, 23, 24, 25, 27, 28, 31, 34, 37, 40, 45, 46, 48, 49], "w_1": [2, 17, 30], "symbol": [2, 8, 12, 14, 24, 42], "psi_t": [2, 28], "refer": [2, 3, 6, 11, 17, 20, 24, 28, 33, 36], "densiti": [2, 7, 10, 16, 25, 30], "One": [2, 3, 10, 13, 15, 16, 17, 20, 23, 24, 28, 29, 30, 31, 33, 34, 36, 42, 47], "nice": [2, 10, 11, 21, 40], "about": [2, 3, 4, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 28, 29, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 46, 47, 48, 49], "easi": [2, 4, 21, 24, 28, 33, 38, 39], "trace": [2, 5, 10, 28, 38], "see": [2, 3, 6, 7, 9, 10, 11, 12, 13, 14, 16, 17, 18, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 45], "immedi": [2, 7, 12, 14, 15, 18, 42], "combin": [2, 3, 4, 6, 14, 15, 16, 18, 25, 26, 27, 35, 42, 46], "full": [2, 8, 14, 17, 21, 26, 30, 33, 34, 35, 38, 40, 42, 46], "moment": [2, 5, 16, 28, 31, 36, 37], "mu_t": [2, 4, 5, 22, 32], "v_t": [2, 9], "denot": [2, 4, 6, 11, 12, 14, 19, 23, 24, 25, 27, 29, 30, 31, 33, 34, 35, 39, 40, 44], "varianc": [2, 16, 17, 25, 33, 36, 46], "recurs": [2, 15, 23, 34], "express": [2, 3, 5, 10, 11, 14, 15, 16, 17, 21, 22, 24, 27, 28, 30, 31, 34, 35, 36, 38, 42, 44, 45], "mu_": [2, 4, 5, 44], "text": [2, 3, 7, 8, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 42, 43, 45, 48], "v_": [2, 15], "expect": [2, 3, 5, 7, 10, 16, 18, 20, 23, 25, 29, 31, 32, 33, 36, 41, 42, 45, 49], "side": [2, 4, 5, 9, 14, 15, 16, 18, 21, 23, 24, 30, 31, 35, 37, 41, 45, 48], "henc": [2, 7, 10, 11, 15, 17, 23, 24, 25, 28, 29, 33, 34, 35, 36, 38, 40, 42], "track": [2, 16], "mu": [2, 4, 5, 16, 17, 19, 22, 25, 30, 32, 33, 36, 42, 44], "v": [2, 9, 10, 11, 15, 19, 24, 28, 34, 36, 40, 49], "stat": [2, 7, 16, 25, 30, 36], "norm": [2, 10, 11, 13, 16, 25, 36, 39], "sim_length": 2, "grid": [2, 6, 7, 8, 10, 16, 17, 19, 21, 22, 23, 24, 31], "linspac": [2, 6, 7, 8, 9, 10, 12, 16, 17, 19, 21, 22, 24, 25, 26, 27, 30, 31, 32, 35, 36, 38, 42, 45], "120": [2, 13, 16, 19, 33], "pdf": [2, 16, 25, 30, 36], "scale": [2, 13, 15, 16, 18, 22, 25, 26, 30, 31, 32, 36, 41], "sqrt": [2, 8, 10, 15, 16, 24, 25, 30, 31, 36, 38, 39, 44, 45], "psi_": [2, 28], "borderaxespad": 2, "real": [2, 3, 4, 5, 8, 10, 11, 12, 13, 14, 16, 18, 23, 31, 33, 36, 38, 39, 42, 44, 48, 49], "world": [2, 3, 5, 11, 16, 17, 18, 23, 26, 33, 34, 41, 44, 45], "prefer": [2, 9, 18, 21, 33, 34, 44, 45], "clear": [2, 3, 7, 28, 29, 41, 44], "sharp": [2, 3], "predict": [2, 7, 14, 22, 33, 35, 39, 42], "problem": [2, 3, 5, 10, 13, 16, 19, 21, 24, 28, 30, 34, 41, 47, 49], "relat": [2, 4, 5, 11, 15, 17, 21, 24, 26, 29, 31, 34], "inflat": [2, 3, 4, 5, 20, 28, 31, 33, 38, 48, 49], "alwai": [2, 11, 14, 17, 22, 24, 25, 28, 31, 34, 35, 38, 41], "kind": [2, 6, 7, 16, 17, 21, 38, 41], "steadi": [2, 4, 6, 11, 23, 28, 42, 46, 48], "state": [2, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 16, 18, 19, 21, 25, 26, 27, 29, 33, 34, 39, 42, 44, 46, 48, 49], "wrong": 2, "judg": 2, "qualiti": [2, 3, 6, 14], "notic": [2, 3, 4, 5, 6, 12, 13, 14, 15, 16, 19, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 38, 40, 46, 48], "abov": [2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 19, 21, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 45, 46, 48], "seem": [2, 5, 9, 10, 13, 16, 18, 23, 25, 26, 31, 38, 46], "limit": [2, 3, 6, 9, 15, 18, 31, 42, 49], "clearer": [2, 23, 38, 39], "forward": [2, 5, 17, 26, 28, 33, 41], "plot_density_seq": 2, "40": [2, 12, 13, 16, 17, 21, 29, 34, 36, 40, 41, 42, 43], "moreov": [2, 3, 7, 11, 17, 23, 25, 27, 28, 46], "4": [2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49], "regardless": [2, 3, 16, 28, 29, 38, 42], "whenev": [2, 7, 16, 34, 37, 38, 47], "just": [2, 4, 6, 9, 10, 12, 13, 15, 16, 17, 21, 23, 24, 26, 28, 30, 31, 32, 33, 34, 36, 39, 45, 46, 48], "look": [2, 3, 5, 6, 10, 13, 16, 17, 21, 26, 28, 29, 30, 33, 34, 35, 36, 38, 39, 40, 41, 48], "dimension": [2, 6, 10, 15, 24, 27, 38], "background": [2, 17, 21], "determinist": [2, 42], "psi": [2, 11, 23, 28, 29], "confirm": [2, 6, 9, 15, 17, 28, 29, 31, 37, 42], "valid": [2, 28, 29, 43], "mu_star": 2, "std_star": 2, "squar": [2, 3, 11, 20, 22, 24, 28, 39, 41, 49], "root": [2, 8, 10, 20, 21, 22, 31, 35, 48], "v_star": 2, "psi_star": 2, "lw": [2, 6, 7, 10, 16, 17, 18, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32, 35, 36, 38, 42, 46], "claim": [2, 9, 11, 13, 14, 18, 25, 28, 29, 31, 34, 37, 40, 44], "least": [2, 3, 12, 13, 16, 18, 22, 24, 28, 33, 34, 41, 46, 49], "strong": [2, 3, 19, 23, 25, 44], "better": [2, 3, 16, 30, 34, 36], "A": [2, 3, 4, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 22, 26, 27, 28, 29, 31, 32, 36, 37, 38, 40, 49], "rule": [2, 7, 16, 21, 23, 24, 28, 42, 49], "word": [2, 6, 7, 11, 16, 17, 28, 29, 34, 38, 39], "mathbb": [2, 7, 10, 11, 15, 16, 19, 23, 24, 25, 28, 29, 33, 35, 36, 38], "put": [2, 4, 5, 6, 7, 13, 14, 16, 21, 27, 28, 29, 33, 45, 46], "sim": [2, 17, 25, 28, 33, 34, 46], "Of": [2, 16, 36], "shown": [2, 6, 7, 17, 24, 25, 27, 28, 34, 36, 40], "exactli": [2, 4, 7, 9, 25, 28, 29, 34, 35], "author": [2, 5, 13, 16, 18, 19, 31, 32], "number": [2, 3, 6, 7, 10, 14, 16, 17, 19, 20, 21, 23, 24, 26, 27, 28, 29, 30, 33, 34, 36, 38, 39, 40, 41, 43, 46], "under": [2, 4, 5, 6, 7, 8, 10, 11, 14, 18, 21, 22, 28, 29, 31, 32, 35, 37, 38, 42, 45, 48], "inde": [2, 9, 13, 15, 31], "prove": [2, 8, 14, 16, 25, 28, 36, 40], "m": [2, 4, 6, 10, 11, 13, 15, 16, 22, 24, 25, 28, 29, 31, 32, 33, 34, 44, 45, 48, 49], "h": [2, 7, 12, 13, 24, 28, 29, 30, 31, 33, 35, 45, 49], "int": [2, 3, 8, 16, 17, 18, 23, 28, 40], "x": [2, 6, 7, 8, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 36, 38, 39, 41, 42, 45, 46], "dx": [2, 16, 21, 25, 36, 38], "integr": [2, 7, 25, 30, 36, 39], "finit": [2, 4, 5, 16, 17, 25, 28, 34, 49], "hold": [2, 7, 11, 12, 13, 14, 16, 21, 24, 25, 28, 29, 33, 35, 37, 41, 42, 49], "probabl": [2, 12, 16, 18, 23, 25, 29, 30, 33, 34, 39, 45], "textbook": [2, 34], "meyn": [2, 49], "tweedi": [2, 49], "2009": [2, 3, 22, 41, 49], "classic": [2, 8, 13, 14, 16, 19, 21, 22, 32, 40, 45], "consid": [2, 3, 6, 7, 8, 10, 11, 14, 15, 16, 19, 21, 23, 24, 25, 27, 28, 29, 30, 33, 34, 35, 37, 38, 40, 41, 42, 44, 45, 46], "ident": [2, 5, 10, 11, 14, 19, 23, 24, 25, 28, 37, 44, 46], "sampl": [2, 16, 17, 25, 28, 29, 30, 33, 34, 36, 39, 41, 46], "reason": [2, 13, 14, 16, 17, 21, 25, 26, 30, 33, 34, 36, 38, 48], "test": [2, 24, 29, 30, 39, 40, 44], "evalu": [2, 9, 12, 14, 16, 21, 25, 36], "And": [2, 12, 13, 26, 33, 39, 48], "theoret": [2, 34], "close": [2, 4, 5, 7, 9, 13, 16, 17, 21, 23, 25, 26, 28, 29, 30, 31, 33, 35, 36, 41, 42], "mani": [2, 3, 6, 7, 8, 9, 10, 13, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 28, 30, 31, 33, 34, 35, 37, 38, 39, 40, 41, 44], "incorrect": [2, 16], "revis": [2, 5, 34, 49], "natur": [2, 3, 16, 24, 26, 31, 32, 34, 38, 45, 49], "central": [2, 5, 16, 18, 36, 48], "m_k": 2, "sigma": [2, 15, 16, 17, 25, 30, 33, 36], "odd": [2, 28], "doubl": [2, 3, 45], "factori": [2, 27], "accord": [2, 3, 5, 13, 14, 17, 22, 23, 24, 27, 28, 29, 31, 33, 34, 36, 39, 48], "approx": [2, 9, 14, 16, 17, 23, 29, 30, 33, 42], "factorial2": 2, "sample_moments_ar1": 2, "100_000": [2, 16, 25, 27, 30, 31, 39], "sigma_0": 2, "seed": [2, 16, 28, 39], "1234": [2, 16, 30, 39], "sample_sum": 2, "randn": [2, 16, 17, 33, 42], "true_moments_ar1": 2, "els": [2, 3, 5, 6, 9, 13, 16, 17, 18, 25, 27, 28, 29, 30, 33, 34, 38, 39, 40, 44], "k_val": 2, "arang": [2, 6, 8, 9, 13, 14, 15, 22, 25, 29, 31, 32, 34, 35, 36, 41, 42, 46, 48], "sample_mo": 2, "true_moment": 2, "k_idx": 2, "write": [2, 3, 4, 5, 6, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 22, 24, 25, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 45, 46, 48], "your": [2, 16, 23, 26, 28, 33, 36, 40, 41], "kernel": [2, 43], "estim": [2, 3, 13, 16, 24, 28, 29, 33, 41, 48], "bandwidth": [2, 36], "hn": 2, "x_i": [2, 16, 17, 24, 25, 27, 28, 33, 36, 41], "gaussian": [2, 25], "silverman": 2, "thumb": [2, 16], "discuss": [2, 3, 5, 6, 7, 10, 11, 13, 16, 17, 18, 19, 21, 23, 24, 25, 26, 28, 29, 31, 32, 33, 34, 35, 36, 38, 39, 40, 42, 45], "page": [2, 18, 24, 34, 47, 49], "you": [2, 4, 5, 6, 9, 10, 12, 14, 16, 17, 18, 21, 24, 25, 26, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 46, 47], "step": [2, 4, 7, 10, 11, 13, 14, 17, 22, 24, 25, 26, 27, 30, 31, 32, 36, 39, 40, 42, 44, 48], "x_1": [2, 7, 8, 10, 11, 14, 16, 19, 23, 24, 25, 27, 28, 33, 36, 38], "x_n": [2, 7, 8, 16, 24, 25, 27, 28, 36], "phi": [2, 5, 7, 9, 12, 16, 23], "type": [2, 5, 6, 9, 12, 14, 16, 18, 24, 25, 27, 28, 31, 39, 43], "comment": [2, 43], "think": [2, 6, 9, 10, 12, 14, 16, 17, 18, 24, 25, 28, 30, 31, 33, 34, 36, 38, 39, 40, 41, 42], "kde": [2, 36], "x_data": [2, 13], "std": [2, 16, 17, 25], "len": [2, 5, 6, 10, 13, 16, 17, 21, 25, 26, 28, 29, 34, 44, 45], "06": [2, 13, 17, 18, 26, 27, 36, 40, 41, 43], "isscalar": 2, "x_val": [2, 14], "plot_kd": 2, "\u03d5": [2, 4, 5, 9, 12], "x_min": 2, "x_max": 2, "rv": [2, 7, 16, 25, 30, 36], "x_grid": [2, 16, 21, 36], "100": [2, 3, 7, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 29, 30, 31, 32, 33, 34, 36, 37, 40, 41, 45, 46, 48], "parameter_pair": 2, "underli": [2, 13, 16, 17, 18, 19, 22, 25, 30, 31, 32, 33, 44], "smooth": [2, 4, 5, 13, 20, 36, 37, 42], "otherwis": [2, 25, 29, 34, 36, 38, 39, 40], "approxim": [2, 7, 10, 13, 14, 15, 16, 17, 24, 29, 30, 33, 40, 42], "draw": [2, 3, 6, 10, 13, 16, 17, 19, 25, 26, 27, 28, 30, 31, 32, 33, 34, 36, 39, 45], "produc": [2, 3, 6, 11, 13, 16, 17, 19, 24, 25, 26, 27, 36, 38, 39, 42, 45], "via": [2, 5, 7, 16, 17, 19, 22, 24, 25, 28, 29, 30, 34, 35, 36], "2000": [2, 3, 16, 17, 18, 26, 36, 41], "\u03bc": [2, 16, 17, 25, 32, 33, 36, 45], "\u03bc_next": 2, "s_next": 2, "\u03c8": [2, 28], "\u03c8_next": 2, "x_draw": [2, 25, 36], "x_draws_next": 2, "coincid": [2, 3, 5, 13, 19, 23, 29], "review": [3, 16, 24, 28, 42, 49], "empir": [3, 9, 13, 17, 26, 49], "aspect": [3, 10, 13, 14, 29], "fluctuat": [3, 17, 18, 42, 49], "activ": [3, 9, 13, 19, 34, 37, 46], "expans": [3, 15], "boom": 3, "contract": [3, 33], "recess": [3, 26, 34], "bank": [3, 5, 17, 18, 27, 33, 34, 48, 49], "fred": 3, "wbgapi": [3, 17, 43], "panda": [3, 7, 13, 16, 17, 18, 19, 26, 27, 30, 34, 36, 41, 43], "dataread": [3, 19, 34, 43], "1": [3, 7, 12, 13, 14, 15, 18, 20, 22, 26, 32, 36, 37, 43, 44, 46, 48, 49], "2": [3, 7, 12, 13, 14, 15, 18, 22, 23, 26, 32, 38, 39, 40, 41, 43, 44, 45, 46, 48, 49], "pyyaml": [3, 17, 43], "tabul": [3, 17, 43], "3": [3, 4, 6, 7, 11, 12, 13, 14, 15, 18, 19, 22, 23, 24, 26, 27, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 48, 49], "36": [3, 10, 11, 15, 28, 29, 40, 41, 46, 49], "pandas_dataread": [3, 16], "lxml": [3, 7, 16, 19, 34, 36, 43], "23": [3, 7, 17, 19, 26, 27, 34, 40, 43, 49], "dateutil": [3, 7, 16, 19, 27, 34, 36, 43], "post0": [3, 7, 16, 19, 27, 34, 36], "pytz": [3, 7, 16, 19, 27, 34, 36, 43], "2020": [3, 16, 17, 19, 27, 34, 49], "tzdata": [3, 7, 16, 19, 27, 34, 36, 43], "2022": [3, 7, 16, 17, 19, 26, 27, 34, 36, 43, 49], "2023": [3, 5, 7, 11, 12, 16, 19, 27, 28, 29, 34, 36, 42, 43, 49], "six": [3, 7, 16, 19, 27, 28, 29, 34, 36, 43], "16": [3, 6, 7, 11, 14, 15, 16, 18, 19, 24, 27, 28, 31, 34, 36, 40, 43], "109": [3, 49], "32m109": 3, "31m5": 3, "pd": [3, 13, 16, 17, 18, 26, 30, 34, 36, 41], "datetim": [3, 18], "wb": [3, 16, 17, 19], "web": [3, 34], "minor": 3, "graphic": [3, 12, 17, 19, 29], "cycler": [3, 19, 34, 43], "377eb8": 3, "ff7f00": 3, "4daf4a": 3, "ff334f": 3, "rc": 3, "prop_cycl": 3, "api": [3, 16], "retriev": [3, 10], "info": 3, "q": [3, 7, 13, 21, 24, 31, 40, 45], "queri": 3, "id": [3, 17], "ny": [3, 16, 17], "mktp": [3, 16], "kd": [3, 17], "zggdp": 3, "annual": [3, 49], "element": [3, 4, 5, 8, 10, 11, 19, 24, 28, 34, 40, 46], "gdp_growth": 3, "datafram": [3, 17, 18, 26, 34, 36, 41], "zg": 3, "usa": [3, 17, 26], "gbr": [3, 17, 26, 41], "grc": 3, "jpn": [3, 26], "countri": [3, 7, 13, 16, 18, 19, 21, 26, 30, 41, 46], "yr1960": 3, "yr1961": 3, "yr1962": 3, "yr1963": 3, "yr1964": 3, "yr1965": 3, "yr1966": 3, "yr1967": 3, "yr1968": 3, "yr2014": 3, "yr2015": 3, "yr2016": 3, "yr2017": 3, "yr2018": 3, "yr2019": 3, "yr2020": 3, "yr2021": 3, "yr2022": 3, "yr2023": 3, "japan": [3, 16, 26, 34], "nan": [3, 13, 14, 18, 22, 26, 31, 41], "043536": 3, "908973": 3, "473642": 3, "676708": 3, "819708": 3, "638562": 3, "082142": 3, "882468": 3, "296206": 3, "560627": 3, "753827": 3, "675332": 3, "643391": 3, "402169": 3, "147119": 3, "559320": 3, "954737": 3, "923056": 3, "greec": 3, "203841": 3, "364811": 3, "844867": 3, "409678": 3, "768010": 3, "494501": 3, "669486": 3, "203719": 3, "475696": 3, "196088": 3, "487173": 3, "092149": 3, "668429": 3, "879490": 3, "316436": 3, "379944": 3, "557287": 3, "011521": 3, "kingdom": [3, 17, 18, 34], "701314": 3, "098696": 3, "859545": 3, "594811": 3, "130333": 3, "567450": 3, "775738": 3, "472693": 3, "195782": 3, "220258": 3, "921063": 3, "655070": 3, "403792": 3, "641611": 3, "359901": 3, "674904": 3, "345229": 3, "104018": 3, "argentina": [3, 26], "427843": 3, "852022": 3, "308197": 3, "130298": 3, "569433": 3, "659726": 3, "191997": 3, "822501": 3, "512615": 3, "731160": 3, "080328": 3, "818503": 3, "617396": 3, "000861": 3, "900485": 3, "718010": 3, "956370": 3, "550502": 3, "300000": 3, "100000": 3, "400000": 3, "800000": 3, "500000": 3, "523820": 3, "945550": 3, "819451": 3, "457622": 3, "966505": 3, "467038": 3, "213469": 3, "800206": 3, "935496": 3, "542700": 3, "row": [3, 11, 17, 18, 23, 24, 25, 26, 28, 29, 31, 41, 46], "65": [3, 6, 9, 17, 30, 36, 40, 41], "column": [3, 10, 15, 16, 17, 18, 23, 24, 26, 28, 31, 34, 36, 41, 45], "click": [3, 26, 43, 47], "expand": [3, 14, 48], "aggregationmethod": 3, "weight": [3, 4, 6, 16, 17, 18, 19, 28, 37, 40, 41, 45, 46], "averag": [3, 6, 16, 17, 18, 25, 28, 29, 33, 37], "developmentrelev": [3, 17], "x27": 3, "volum": [3, 49], "resid": 3, "2008": 3, "system": [3, 4, 5, 7, 9, 10, 11, 13, 14, 15, 18, 22, 23, 27, 29, 31, 32, 34, 37, 42, 46], "sna": 3, "offer": [3, 18, 39], "plausibl": [3, 16, 22, 31, 32, 42, 48], "gross": [3, 9, 12, 14, 19, 26, 31, 35, 45, 46, 48], "domest": [3, 18, 21, 26, 42, 46], "ad": [3, 15, 18, 21, 24, 25, 34], "govern": [3, 4, 5, 9, 11, 12, 14, 15, 18, 19, 20, 22, 26, 32, 45, 46, 48], "industri": [3, 11, 19, 34], "oper": [3, 4, 6, 13, 18, 19, 25, 33, 34, 40, 49], "whether": [3, 12, 14, 16, 23, 24, 27, 29, 33, 39, 45], "accru": 3, "foreign": [3, 34, 35], "institut": [3, 13, 28, 49], "indicatornam": [3, 17], "license_typ": 3, "cc": 3, "BY": 3, "license_url": 3, "http": [3, 13, 16, 17, 18, 26, 30, 34, 41, 43, 49], "datacatalog": 3, "worldbank": 3, "org": [3, 17, 34, 47, 49], "licens": 3, "limitationsandexcept": [3, 17], "contribut": [3, 8, 13], "principl": [3, 34, 35, 40, 49], "agre": [3, 21, 28, 36, 40], "subtract": [3, 5, 24], "deflat": 3, "inform": [3, 5, 8, 15, 17, 19, 26, 28, 31, 34, 44], "extrapol": 3, "commonli": [3, 16], "particularli": [3, 34, 36, 39], "most": [3, 6, 10, 12, 15, 16, 18, 19, 21, 23, 24, 25, 26, 30, 33, 34, 36, 38, 41, 47], "often": [3, 7, 9, 10, 11, 14, 16, 17, 18, 21, 24, 26, 28, 31, 34, 39, 40, 41, 45], "imput": 3, "employe": 3, "absenc": [3, 13, 25, 34], "difficult": [3, 13, 34], "technic": [3, 18, 46, 49], "progress": [3, 13], "improv": [3, 9, 17, 25, 33], "process": [3, 5, 7, 9, 14, 20, 23, 25, 28, 29, 34, 41, 42, 46], "properli": [3, 18], "nonmarket": 3, "unmeasur": 3, "underestim": 3, "similarli": [3, 14, 24, 27, 38], "overestim": 3, "pose": [3, 27], "develop": [3, 7, 11, 26, 28, 35, 39, 49], "much": [3, 9, 13, 14, 16, 17, 18, 27, 30, 31, 33, 35, 37, 39, 45, 47], "unrecord": 3, "pictur": [3, 16, 30, 39], "sale": [3, 13, 16, 33, 41], "market": [3, 6, 7, 12, 13, 16, 21, 23, 24, 33, 34, 45, 49], "barter": 3, "exchang": [3, 13, 14, 18, 21, 45, 48], "illicit": 3, "deliber": [3, 18], "unreport": 3, "skill": 3, "compil": [3, 28], "statistician": [3, 16], "rebas": 3, "assign": [3, 9, 19, 24, 29, 34, 36, 40, 42], "reflect": [3, 9, 12, 13, 26, 28, 35], "major": [3, 7, 10, 13, 16, 17, 25, 34], "old": [3, 16, 18, 22, 35], "mislead": 3, "implicit": 3, "relev": [3, 18, 34], "rescal": 3, "common": [3, 7, 10, 11, 16, 22, 24, 25, 32, 34, 43, 45, 47], "region": [3, 16, 17, 19, 27, 38, 39], "those": [3, 4, 5, 13, 16, 17, 18, 21, 22, 23, 26, 31, 32, 34, 35, 41, 44, 45], "mai": [3, 13, 18, 23, 24, 30, 33, 41, 49], "discrep": 3, "avoid": [3, 9, 11, 13, 31], "unalloc": 3, "longdefinit": [3, 17], "percentag": 3, "local": [3, 34, 39], "currenc": [3, 13, 18, 26, 31, 48], "2015": [3, 16, 26, 41], "dollar": [3, 6, 14, 16, 18, 19, 26, 30, 31, 33, 41, 45, 48], "tax": [3, 4, 5, 16, 17, 18, 22, 30, 31, 32, 35, 48], "minu": [3, 13, 21, 27, 45], "deduct": [3, 4], "fabric": 3, "asset": [3, 7, 9, 13, 33, 37], "deplet": 3, "degrad": 3, "sourc": [3, 4, 5, 17, 18, 23, 27, 28, 31, 34, 37, 45, 47, 48], "oecd": 3, "file": [3, 13, 18, 40, 43], "statisticalconceptandmethodologygross": 3, "exclud": [3, 17], "paid": [3, 12, 18, 35, 37, 42], "valuat": 3, "transport": [3, 19, 27, 34, 40], "charg": [3, 12], "invoic": 3, "separ": [3, 13, 16, 23, 34, 44], "amp": 3, "clean": [3, 18], "set_index": [3, 18, 26, 41], "str": [3, 6, 18, 24, 38], "replac": [3, 4, 13, 16, 17, 18, 22, 25, 27, 31, 32, 34, 36, 39, 40, 42, 46], "yr": [3, 17], "astyp": [3, 16, 18], "1960": [3, 6, 49], "1961": 3, "1962": [3, 17, 26], "1963": [3, 16, 49], "1964": [3, 6, 49], "1966": 3, "1967": 3, "1968": 3, "1969": [3, 39, 49], "2014": [3, 26, 41, 49], "2016": [3, 7, 16, 17, 26, 30, 41, 49], "2018": [3, 16, 26, 27, 34, 41, 49], "2019": [3, 16, 17, 29, 34, 49], "2021": [3, 16, 17, 19, 34, 43, 49], "477895": 3, "563668": 3, "939138": 3, "679526": 3, "64": [3, 9, 15, 33, 40, 41, 43, 46], "individu": [3, 16, 17, 30, 34, 35, 44], "plot_seri": [3, 10], "ylabel": [3, 5, 8, 9, 10, 12, 13, 17, 22, 24, 26, 30, 31, 32, 41, 45, 46, 48], "txt_po": 3, "g_param": 3, "b_param": [3, 26], "t_param": [3, 26], "ylim": [3, 8, 10, 13, 15, 24, 26, 45], "baselin": 3, "highlight": [3, 42], "axi": [3, 5, 6, 8, 10, 13, 16, 17, 18, 19, 21, 25, 26, 28, 31, 32, 34, 38, 39, 40, 41], "float": [3, 8, 17, 18, 28, 39, 40, 44, 45, 46], "y_lim": 3, "_subplot": 3, "axessubplot": 3, "dict": [3, 6, 10, 16, 19, 23, 24, 34, 38, 42], "option": [3, 16, 20, 24, 27, 29, 41, 47], "dash": [3, 17, 21, 22, 23, 26, 28, 29, 32, 45], "axvspan": [3, 26], "1973": 3, "1975": 3, "1990": [3, 22, 31, 32, 49], "1992": [3, 7, 49], "2007": 3, "set_ylim": [3, 6, 16, 17, 18, 21, 23, 27, 28, 30, 34, 35, 36, 38, 42], "get_ylim": [3, 22, 25, 26, 32], "1974": 3, "oil": [3, 24], "crisi": [3, 13, 34], "1991": [3, 17], "gfc": [3, 33], "covid": [3, 17, 34], "add": [3, 6, 12, 13, 14, 17, 18, 24, 26, 27, 31, 33, 34, 35, 48], "axhlin": [3, 13, 15, 22, 25, 28, 29, 31, 32], "black": [3, 10, 19, 21, 25, 27, 28, 29, 34, 43, 45], "set_ylabel": [3, 4, 5, 6, 7, 10, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 29, 31, 32, 35, 36, 38, 42], "grei": [3, 15, 22, 26, 31, 32, 34], "fontsiz": [3, 6, 7, 8, 10, 13, 15, 16, 19, 24, 26, 34, 35, 38, 42], "va": [3, 8, 26], "center": [3, 8, 10, 18, 21, 22, 25, 26, 29, 31, 32], "trend": [3, 17, 18, 26, 34, 46], "slightli": [3, 26, 35], "downward": [3, 5, 23, 46, 48], "few": [3, 12, 16, 21, 22, 30, 32, 37, 41, 44], "basi": [3, 18], "comparison": [3, 14, 41], "uk": [3, 14, 17, 18], "similar": [3, 13, 15, 16, 17, 18, 21, 23, 24, 25, 28, 29, 32, 34, 35, 39, 40, 41, 46], "slow": [3, 33], "declin": [3, 4, 5, 13, 17, 26, 38], "signific": [3, 6, 26, 34], "dip": [3, 26], "pandem": [3, 17], "experienc": [3, 13, 17, 18, 26, 47], "rapid": [3, 26, 34], "1970": [3, 26], "decad": [3, 13, 46], "global": [3, 16, 17, 28, 41, 42, 49], "financi": [3, 7, 9, 13, 14, 16, 33, 35], "drop": [3, 4, 5, 6, 9, 13, 16, 17, 18, 21, 22, 26, 34, 41], "around": [3, 7, 10, 13, 16, 17, 25, 26, 28, 39], "2010": [3, 12, 13, 34, 41, 49], "2011": [3, 16, 41, 49], "peak": 3, "greek": 3, "next": [3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 16, 17, 18, 21, 23, 24, 25, 26, 28, 29, 33, 34, 35, 38, 40, 41, 42, 44, 45, 48], "far": [3, 10, 12, 26, 28, 33, 34], "volatil": [3, 17, 33], "did": [3, 5, 9, 13, 15, 18, 30, 38, 49], "span": [3, 18], "1929": [3, 26, 49], "1942": 3, "1948": [3, 26, 41], "censu": 3, "bureau": [3, 19, 49], "start_dat": 3, "end_dat": 3, "unrate_histori": 3, "m0892ausm156snbr": 3, "renam": [3, 41], "unrat": 3, "inplac": [3, 13, 16, 17, 26, 41], "31": [3, 7, 8, 12, 13, 16, 17, 22, 36, 40, 41, 43], "nber": [3, 49], "unrate_censu": 3, "usrec": 3, "linewidth": [3, 10, 13, 15, 16, 22, 27, 28, 32, 34], "grai": [3, 24, 34], "box": [3, 10, 27], "fill_between": [3, 17, 21, 45], "edgecolor": [3, 10, 19, 28, 34], "transform": [3, 8, 11, 15, 24, 31, 33, 41], "get_xaxis_transform": 3, "ncol": [3, 6, 26, 28, 29, 38], "fancybox": 3, "shadow": [3, 18, 28], "highli": [3, 7, 24, 34], "asymmetr": [3, 34], "rise": [3, 12, 13, 16, 17, 18, 23, 26, 42], "recoveri": 3, "uniqu": [3, 10, 17, 22, 23, 24, 26, 28, 29, 31, 32, 34, 35, 38, 42], "unpreced": [3, 18], "rel": [3, 7, 9, 10, 11, 12, 13, 14, 16, 17, 19, 33, 34, 39, 42, 44, 45, 48], "appear": [3, 4, 9, 18, 19, 28, 30, 41, 42, 48], "slight": 3, "modif": 3, "plot_comparison": 3, "graph": [3, 5, 6, 9, 12, 13, 14, 15, 18, 21, 23, 26, 27, 29, 36, 38, 40, 45], "list": [3, 10, 11, 16, 17, 19, 24, 26, 34, 35, 39, 41, 42, 43, 44, 45], "allow": [3, 5, 9, 10, 13, 24, 31, 34, 35, 39, 44, 45], "xmin": [3, 10, 14, 16, 18, 21, 25, 38, 42], "get_xlim": 3, "xmax": [3, 10, 14, 16, 21, 25, 38, 42], "chn": [3, 26], "deu": [3, 26], "bra": 3, "mex": 3, "germani": [3, 34], "brazil": [3, 16], "china": 3, "mexico": 3, "21st": [3, 26], "centuri": [3, 13, 21, 26], "experi": [3, 6, 13, 18, 25, 26, 28, 35, 45, 48], "despit": [3, 13, 18, 39], "franc": [3, 13, 14, 18, 34], "unempl_r": 3, "sl": 3, "uem": 3, "totl": 3, "ne": 3, "zs": [3, 10], "fra": [3, 17, 26], "union": [3, 26], "typic": [3, 4, 14, 16, 19, 22, 31, 32, 34, 37, 38, 40, 41, 45], "histori": [3, 5, 20, 26], "low": [3, 4, 6, 16, 22, 30, 32, 33, 35, 42, 48], "stabl": [3, 6, 13, 17, 23, 24, 28, 38, 46], "policymak": [3, 30], "caus": [3, 4, 6, 7, 19, 22, 31, 48, 49], "potenti": [3, 28, 31], "perspect": [3, 17, 25, 49], "confid": [3, 12], "toward": [3, 10, 13, 14, 23, 38, 41], "overal": [3, 23, 30], "perform": [3, 5, 10, 13, 14, 15, 18, 24, 25, 37, 49], "wide": [3, 14, 18, 19, 24, 26, 34, 41, 46], "cite": [3, 13], "sentiment": [3, 34], "publish": [3, 9], "michigan": 3, "core": [3, 9, 21, 34, 43], "cpi": 3, "1978": [3, 9, 26, 49], "start_date_graph": 3, "1977": 3, "end_date_graph": 3, "consumer_confid": 3, "umcsent": 3, "ax_t": [3, 23], "twinx": [3, 18], "cpilfesl": 3, "pct_chang": [3, 16, 36], "yoi": 3, "set_xlim": [3, 6, 13, 17, 18, 21, 23, 25, 27, 28, 30, 36, 38, 42], "commod": [3, 11, 18, 20, 24, 45, 49], "diminish": [3, 9, 17, 48], "stagflat": 3, "delai": 3, "1919": [3, 18], "industrial_output": 3, "indpro": 3, "lender": 3, "cautiou": 3, "hesit": [3, 18, 47], "gloomi": 3, "sector": [3, 11, 19, 34], "private_credit": 3, "fs": 3, "ast": 3, "prvt": 3, "gd": 3, "stagnat": [3, 26, 28], "sequel": [4, 15], "prequel": 4, "assert": [4, 5, 12, 14, 31, 32, 37, 46], "persist": [4, 5, 6, 17, 18, 48], "shortfal": [4, 5], "upward": [4, 5, 13, 17], "pressur": [4, 5, 13], "instead": [4, 5, 7, 10, 12, 13, 15, 16, 18, 19, 21, 22, 28, 30, 31, 32, 33, 34, 35, 45, 46, 47], "perfect": [4, 5, 17, 22, 25, 31, 46], "foresight": [4, 5, 22, 46], "ration": [4, 5, 22, 31, 32, 49], "cagan": [4, 5, 13, 22, 31, 32, 49], "1956": [4, 5, 9, 13, 17, 22, 32, 41, 49], "monetari": [4, 5, 12, 13, 18, 31, 32, 35, 49], "hyperinfl": [4, 5, 13, 18, 49], "logarithm": [4, 18, 22, 32], "invers": [4, 5, 7, 9, 10, 12, 13, 15, 21, 24, 27, 31, 37, 45, 46], "anticip": [4, 5, 9, 28, 48], "respond": [4, 9, 44], "actual": [4, 5, 7, 10, 15, 18, 21, 24, 30, 31, 39, 41, 46], "growth": [4, 5, 12, 16, 17, 18, 20, 22, 28, 31, 32, 34, 35, 37, 38, 49], "stai": [4, 18, 28, 39, 40], "facilit": [4, 5], "tool": [4, 5, 6, 8, 9, 12, 14, 15, 21, 26, 31, 33, 37, 43, 46], "horizon": [4, 5, 6, 9, 12, 26, 27, 38], "m_t": [4, 5, 13, 22, 31, 32, 48], "nomin": [4, 5, 14, 31, 48], "m_": [4, 13, 22, 31, 32, 48], "p_t": [4, 5, 6, 7, 13, 18, 22, 31, 32, 37, 46, 48], "pi_t": [4, 5, 22, 32, 38], "p_": [4, 5, 6, 7, 18, 22, 28, 31, 32, 37, 46, 48], "pi_0": [4, 5, 22], "exp": [4, 5, 16, 17, 18, 21, 22, 30, 32, 33, 36, 42], "sensit": [4, 5, 22, 32], "pi_": [4, 5, 22, 38], "scheme": [4, 13, 22, 48], "friedman": [4, 5, 12, 22, 49], "m_0": [4, 5, 22, 31, 32, 48], "pi": [4, 5, 8, 10, 12, 16, 22, 30, 32, 36, 44, 45], "p": [4, 6, 7, 8, 11, 13, 14, 16, 17, 18, 19, 21, 22, 23, 24, 25, 28, 29, 31, 32, 33, 34, 35, 36, 37, 44, 45, 46, 49], "mental": [4, 5, 45], "bmatrix": [4, 5, 9, 10, 11, 15, 19, 23, 24, 27, 28, 29, 31, 37, 45, 46], "cr": [4, 5, 9, 15, 19, 31, 37, 45, 46, 48], "vdot": [4, 5, 9, 24, 27, 28, 37, 46, 48], "pi_1": [4, 5], "pi_2": [4, 5], "vector": [4, 7, 8, 9, 11, 12, 16, 17, 19, 23, 25, 27, 28, 31, 32, 34, 40, 44, 45, 46], "implicitli": 4, "notat": [4, 5, 10, 15, 37], "mu_1": [4, 5, 44], "mu_2": [4, 5, 44], "term": [4, 5, 6, 13, 14, 18, 23, 24, 26, 28, 29, 31, 33, 34, 36, 38, 39, 41], "matric": [4, 19, 23, 45, 46], "ingredi": [4, 32], "fill": [4, 5, 17, 26, 30], "m_1": [4, 5, 22, 32], "m_2": [4, 5], "m_3": [4, 5], "accumul": [4, 5, 13], "compact": 4, "neq": [4, 35], "hypothesi": [4, 22, 49], "dive": [4, 8, 9, 37, 48], "usual": [4, 5, 9, 10, 12, 19, 31, 34, 40, 45], "modul": [4, 5, 9, 12, 18, 43, 45], "namedtupl": [4, 5, 9, 12, 21, 22, 26, 31, 32, 35, 48], "cagan_adapt": [4, 43], "m0": [4, 5, 22, 31, 32, 48], "e\u03c00": 4, "\u03bb": [4, 6, 9, 10, 11, 15, 23, 25, 31, 32, 36, 48], "create_cagan_adaptive_model": 4, "80": [4, 5, 6, 10, 13, 16, 17, 22, 29, 40, 41, 46, 48], "md": 4, "solve_cagan_adapt": 4, "\u03bc_seq": [4, 5, 22, 32], "ey": [4, 5, 9, 31], "e\u03c00_seq": 4, "append": [4, 5, 6, 10, 16, 17, 18, 25, 26, 31, 32, 34, 37, 38, 39, 44], "e\u03c0_seq": 4, "linalg": [4, 5, 9, 10, 11, 15, 19, 24, 28, 29, 31, 34, 37, 39, 44, 45, 46], "\u03c0_seq": [4, 5, 22, 32], "coeffici": [4, 8, 19, 24, 41, 45, 46], "m0_seq": 4, "m_seq": [4, 5, 22, 32], "p_seq": [4, 5, 18, 22, 32], "solve_and_plot": 4, "t_seq": [4, 5], "dpi": [4, 5, 18, 26, 31], "200": [4, 5, 6, 13, 16, 18, 19, 21, 25, 30, 34, 36, 38], "y_lab": 4, "subplot_titl": 4, "tight_layout": [4, 5, 13, 15, 16, 18, 22, 23, 29, 31, 32, 33], "construct": [4, 5, 12, 13, 15, 17, 18, 19, 22, 25, 27, 28, 31, 33, 34, 35, 36, 44, 45, 46], "string": [4, 28], "By": [4, 5, 9, 15, 16, 18, 19, 26, 27, 28, 31, 34, 37, 38, 41, 45, 48], "assur": [4, 19, 31, 45], "absolut": [4, 10, 11, 17, 23, 41, 44], "violat": [4, 25, 44], "turn": [4, 5, 7, 9, 10, 13, 15, 16, 22, 25, 28, 31, 32, 34, 36, 42, 44, 46], "situat": [4, 5, 11, 13, 23, 24, 25, 27, 28, 30, 31, 32, 36, 38, 45, 48], "t_1": 4, "perman": [4, 5, 13, 14, 18, 49], "t1": [4, 5], "60": [4, 5, 6, 8, 10, 16, 19, 21, 24, 25, 28, 29, 40, 41, 42], "\u03bc0": [4, 5], "\u03bc_star": [4, 5], "\u03bc_seq_1": [4, 5], "\u03c0_seq_1": [4, 5], "e\u03c0_seq_1": 4, "m_seq_1": [4, 5], "p_seq_1": [4, 5], "invit": [4, 5, 8], "pleas": [4, 9, 10, 11, 13, 19, 24, 25, 26, 31, 32, 45, 46, 47, 48], "overshoot": 4, "ultim": [4, 14, 31, 45], "reduct": [4, 5, 31, 32], "explain": [4, 5, 6, 10, 11, 13, 16, 23, 25, 26, 28, 29, 46], "yourself": [4, 24], "why": [4, 6, 9, 10, 11, 14, 24, 25, 28, 33, 34, 35, 46, 49], "gradual": [4, 5, 14, 26], "smoothli": [4, 5], "slowli": [4, 33], "drive": [4, 6, 17, 39], "sluggish": 4, "exce": [4, 5, 9, 13, 16], "transit": [4, 10, 11, 15, 20, 23, 29, 34, 48], "\u03bc_seq_2": [4, 5], "\u03c0_seq_2": [4, 5], "e\u03c0_seq_2": 4, "m_seq_2": 4, "p_seq_2": 4, "economist": [5, 14, 18, 21, 33, 45, 46], "decis": [5, 13, 27, 31, 34, 35, 37, 40], "expenditur": [5, 9, 14, 18, 22, 31, 32, 48], "instruct": [5, 9, 18, 25, 31, 47, 48], "thoma": [5, 39, 49], "sargent": [5, 11, 13, 18, 22, 28, 29, 34, 48, 49], "neil": [5, 49], "wallac": [5, 13, 48, 49], "2013": [5, 18, 41, 49], "reprint": 5, "1981": [5, 48, 49], "feder": [5, 49], "reserv": [5, 18, 49], "minneapoli": [5, 49], "articl": [5, 46, 47], "entitl": [5, 13, 14], "unpleas": [5, 13, 20, 31, 32, 43, 49], "arithmet": [5, 13, 20, 31, 32, 49], "fisal": 5, "deficit": [5, 13, 15, 20, 22, 32, 48], "shape": [5, 8, 10, 11, 13, 15, 16, 17, 18, 19, 24, 30, 31, 36, 40, 41, 42, 44], "critic": [5, 18, 48], "appli": [5, 8, 9, 10, 12, 14, 15, 17, 18, 21, 22, 24, 27, 31, 33, 34, 35, 40, 41, 45, 46], "john": [5, 13, 14, 18, 49], "cochran": [5, 49], "european": [5, 21, 26, 49], "wake": [5, 18], "war": [5, 13, 18, 26, 49], "episod": [5, 13, 18, 22], "beings": 5, "stop": [5, 13, 17, 26, 40], "philip": [5, 13, 49], "didn": [5, 18], "1982": [5, 7, 17, 49], "four": [5, 12, 13, 16, 49], "europ": 5, "adapt": [5, 18, 20, 31, 32], "impos": [5, 9, 12, 24, 31, 32, 45], "hi": [5, 8, 9, 13, 14, 21, 22, 26, 27, 32, 39, 45], "teacher": 5, "milton": [5, 9, 12, 49], "complic": [5, 10, 26, 33, 34], "design": [5, 13, 34, 40, 43], "abrupt": [5, 13, 18], "encount": [5, 9, 15, 21, 23, 31, 45], "veloc": 5, "accompani": [5, 13], "matrix": [5, 9, 12, 15, 19, 20, 21, 23, 27, 28, 29, 31, 34, 37, 40, 44, 45], "grow": [5, 6, 13, 14, 23, 26, 31, 37], "formal": [5, 9, 10, 16, 28, 41, 42], "somehow": [5, 12, 13, 31, 44], "forecast": [5, 16, 28, 31], "rewrit": [5, 6, 9, 15, 24, 28, 31, 32, 37], "proce": [5, 13, 14, 19, 27, 31, 37, 44, 45], "infinit": [5, 10, 15, 16, 24, 28, 31, 36], "beyond": [5, 17, 45], "gamma": [5, 10, 24, 35], "plug": [5, 8, 35, 37], "rearrang": [5, 11, 17, 24, 35, 41, 42, 48], "deduc": [5, 8, 15, 31, 32, 45], "vert": 5, "implement": [5, 7, 9, 10, 13, 17, 18, 22, 24, 25, 27, 28, 31, 32, 33, 34, 39, 48], "caganre": 5, "\u03c0_end": 5, "create_cagan_model": 5, "represent": [5, 17, 34], "a1": [5, 11, 13], "a2": [5, 11, 13], "b1": [5, 13], "concaten": [5, 9, 10, 13], "b2": [5, 13], "devis": [5, 13, 34], "execut": [5, 9, 16, 20, 47], "creation": [5, 14], "cm": [5, 10, 14, 22, 26, 28, 34, 46], "plot_sequ": 5, "seq": 5, "zip": [5, 6, 10, 14, 16, 17, 18, 19, 22, 26, 32, 33, 34, 36, 39, 44], "top": [5, 8, 10, 11, 13, 16, 19, 22, 23, 24, 28, 31, 32, 34, 38, 44, 45], "panel": [5, 22, 31, 32, 43], "portrai": [5, 13, 26], "unlik": [5, 22, 24, 28, 29, 35], "suddenli": 5, "bottom": [5, 8, 10, 16, 17, 22, 23, 24, 25, 31, 32, 38, 46], "kink": 5, "onc": [5, 7, 9, 18, 27, 28, 30, 34, 38, 42], "littl": [5, 13, 14], "discov": [5, 15, 22, 31, 32], "surpris": [5, 18, 39], "beforehand": 5, "question": [5, 9, 16, 21, 24, 28], "Is": [5, 23], "insist": [5, 34], "lock": 5, "inherit": [5, 9, 13, 45], "reset": 5, "could": [5, 6, 9, 12, 13, 14, 15, 18, 24, 26, 31, 33, 35, 41, 45, 48], "prevent": [5, 13], "arriv": [5, 14], "paper": [5, 6, 8, 13, 14, 18, 21, 22, 28, 31, 32, 33, 35, 49], "reap": [5, 8], "regim": [5, 13, 28], "sustain": [5, 13, 42], "simpli": [5, 10, 14, 23, 24, 38, 47], "glue": [5, 18], "leq": [5, 6, 7, 11, 17, 19, 22, 23, 24, 25, 28, 30, 32, 33, 34, 36, 42], "Then": [5, 6, 7, 8, 9, 10, 11, 17, 19, 21, 23, 24, 28, 31, 33, 34, 35, 36, 39, 42, 44, 45], "equip": [5, 22, 32], "deviat": [5, 11, 15, 16, 17, 25, 30, 45], "bit": [5, 28, 29, 41], "pure": [5, 8, 12, 18, 37, 45], "popularli": 5, "mit": [5, 49], "switch": [5, 21], "captur": [5, 39, 41, 45, 46], "mostli": [5, 13, 26], "move": [5, 10, 14, 18, 23, 26, 28, 29, 33, 34, 39, 40], "\u03bc_seq_2_path1": 5, "cm1": 5, "\u03c0_seq_2_path1": 5, "m_seq_2_path1": 5, "p_seq_2_path1": 5, "\u03bc_seq_2_cont": 5, "cm2": 5, "\u03c0_seq_2_cont": 5, "m_seq_2_cont1": 5, "p_seq_2_cont1": 5, "m_seq_2_regime1": 5, "p_seq_2_regime1": 5, "m_t1": 5, "cm3": 5, "\u03c0_seq_2_cont2": 5, "m_seq_2_cont2": 5, "p_seq_2_cont2": 5, "m_seq_2_regime2": 5, "p_seq_2_regime2": 5, "configur": 5, "plot_config": 5, "jumpi": 5, "experiment_plot": 5, "loop": [5, 10, 12, 17, 19, 25, 26, 28, 39], "config": [5, 19], "third": [5, 9, 13, 14, 22, 27, 32], "orang": [5, 6, 9, 13, 18, 21, 26, 39], "sure": [5, 33, 44, 46], "blue": [5, 9, 10, 13, 18, 24, 26, 27, 28, 31], "interpret": [5, 9, 13, 14, 17, 25, 29, 31, 34, 36, 40, 41, 44, 45], "place": [5, 13, 15, 22, 32, 38], "multi": [5, 17], "assess": [5, 13], "fulli": [5, 12, 28], "vs": [5, 16, 17, 41], "abruptli": 5, "team": 5, "resembl": [5, 9, 16], "fair": [5, 33, 36], "sai": [5, 6, 9, 10, 12, 16, 18, 19, 24, 25, 26, 31, 33, 34, 36, 37, 39, 48], "recognit": [5, 39], "exercis": [5, 9, 43], "supplement": 5, "suppos": [5, 6, 7, 10, 12, 16, 17, 19, 21, 23, 24, 25, 27, 28, 30, 33, 34, 35, 36, 37, 39, 40, 42, 45, 46], "perfectli": [5, 39, 46], "\u03bc_seq_stab": 5, "cm4": 5, "\u03c0_seq_4": 5, "m_seq_4": 5, "p_seq_4": 5, "nowadai": 5, "popular": [5, 17, 18], "among": [5, 9, 13, 14, 18, 19, 21, 28, 31, 37, 42, 45, 46], "banker": [5, 18], "advis": [5, 13], "1930": [6, 26], "matter": [6, 10, 17, 45, 49], "imagin": [6, 16, 17, 25, 34, 36, 39], "soybean": 6, "trade": [6, 7, 14, 21, 26, 34, 44, 45], "buyer": [6, 19, 21], "seller": [6, 21], "curv": [6, 7, 16, 20, 21, 24, 25, 30, 31, 36, 44, 48, 49], "bui": [6, 7, 21, 27, 33, 48], "wish": [6, 28, 30, 39, 40], "farmer": [6, 13], "crop": 6, "perhap": [6, 16, 26, 28, 31, 33, 36, 38, 46], "plant": 6, "flood": 6, "shift": [6, 7, 14, 19, 23, 25, 28, 42, 45], "restrict": [6, 9, 10, 13, 14, 27, 31, 40, 48], "climb": 6, "quantifi": [6, 17, 26, 34], "disappear": 6, "regard": [6, 7, 9, 21, 25, 39, 45], "car": 6, "homm": 6, "waugh": [6, 49], "harlow": [6, 49], "hog": [6, 49], "1920": 6, "1950": [6, 17, 41], "replic": [6, 13, 16, 26, 31, 45], "yearli": [6, 17], "frequenc": [6, 16, 17, 28], "cyclic": [6, 37], "match": [6, 16, 21, 26, 34, 36, 40, 43], "hog_pric": 6, "55": [6, 17, 19, 24, 28, 29, 40, 41, 43, 49], "57": [6, 21, 40, 41, 43], "70": [6, 26, 28, 29, 40], "72": [6, 21, 33, 40, 41, 46], "51": [6, 19, 34, 40, 43, 49], "45": [6, 9, 10, 16, 17, 18, 28, 35, 38, 40, 42, 43], "85": [6, 19, 40, 41, 43], "78": [6, 17, 21, 40, 41, 42, 43, 49], "68": [6, 11, 28, 40, 43, 49], "52": [6, 13, 18, 28, 29, 33, 40, 46, 49], "83": [6, 19, 27, 33, 40, 43], "62": [6, 13, 17, 19, 40, 41, 43], "87": [6, 40, 43, 49], "81": [6, 15, 40, 41], "69": [6, 19, 43], "63": [6, 13, 40, 41], "75": [6, 13, 16, 17, 19, 21, 24, 25, 27, 28, 30, 36, 40, 41, 44, 45, 49], "1924": [6, 18], "ms": [6, 7, 16, 17, 23, 28, 33, 35, 36, 37, 42], "hypothet": [6, 17, 19, 26, 45], "nonneg": [6, 7, 14, 23, 27, 28, 31, 34, 42], "spot": [6, 31, 33], "thousand": 6, "ton": 6, "e_t": [6, 23], "nonlinear": [6, 31, 40], "tanh": 6, "hyperbol": 6, "p_grid": 6, "final": [6, 7, 9, 14, 16, 18, 19, 25, 34, 35, 39, 40, 42, 44, 47], "lag": [6, 14, 38, 46], "whatev": [6, 13], "current_pric": 6, "next_pric": 6, "degre": [6, 10, 17, 35, 38, 39, 41, 42], "diagram": [6, 35, 38, 42], "plot45": [6, 38, 42], "pmin": 6, "pmax": 6, "p0": [6, 14, 22, 31, 32, 48], "num_arrow": [6, 38], "pgrid": 6, "hw": [6, 38], "01": [6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 19, 23, 27, 28, 29, 36, 37, 38, 39, 40, 43, 48], "hl": [6, 38], "arrow_arg": [6, 38], "fc": [6, 38], "ec": [6, 38], "head_width": [6, 38], "length_includes_head": [6, 38], "head_length": [6, 38], "xtick": [6, 13, 38], "xtick_label": [6, 38], "arrow": [6, 10, 19, 24, 28, 34, 38, 40, 43, 45], "ls": [6, 9, 17, 21, 25, 38, 42], "dot": [6, 10, 14, 27, 28, 31, 38, 39, 42], "format": [6, 18, 22, 26, 38, 41], "set_xtick": [6, 10, 21, 23, 25, 36, 38, 42], "set_ytick": [6, 10, 21, 23, 38, 42], "set_xticklabel": [6, 21, 38], "set_yticklabel": [6, 21, 38], "bbox": [6, 38], "04": [6, 17, 19, 23, 26, 28, 29, 33, 36, 38, 40, 43, 49], "104": [6, 38, 40, 49], "legend_arg": [6, 38], "frameon": [6, 21, 26, 34, 35, 38, 42], "horizont": [6, 21, 24, 38], "vertic": [6, 13, 21, 24, 26, 28, 31, 34, 38], "clearli": [6, 16, 24, 30, 34, 38], "hit": [6, 26, 38, 39, 42], "p_0": [6, 7, 14, 22, 24, 31, 32, 37, 48], "p_1": [6, 7, 19, 24, 37, 45, 48], "p_2": [6, 7, 19, 24, 37, 45], "continu": [6, 7, 13, 14, 25, 26, 28, 29, 33, 37, 38, 39, 41, 48], "ts_plot_pric": 6, "y_a": 6, "y_b": 6, "ts_length": [6, 28, 29, 35, 38, 42], "bo": [6, 38], "best": [6, 23, 24, 27, 38, 40, 41, 42], "longer": [6, 10, 12, 26, 28, 32, 38], "e_": [6, 23, 44], "qquad": [6, 7, 16, 17, 25, 28, 29, 34, 36, 38, 42], "find_next_price_adapt": 6, "curr_price_exp": 6, "ts_price_plot_adapt": 6, "i_plot": 6, "pe_last": 6, "p_valu": 6, "30": [6, 8, 13, 19, 25, 27, 28, 31, 32, 40, 41, 43, 49], "stabil": [6, 18, 28, 42, 46, 48, 49], "seen": [6, 11, 16, 17, 28, 34], "ts_plot_suppli": 6, "s_valu": 6, "find_next_price_bla": 6, "ts_plot_price_bla": 6, "p1": [6, 29], "flatten": [6, 16, 18], "pe": [6, 8, 45], "globe": 7, "export": [7, 21], "copper": 7, "iron": 7, "ore": 7, "lithium": 7, "cotton": 7, "coffe": 7, "bean": 7, "introduct": [7, 36, 40, 49], "unknown": [7, 10, 24, 28, 30, 35], "yfinanc": [7, 16, 36, 43], "41": [7, 13, 16, 21, 24, 27, 36, 40, 41, 43, 49], "py2": [7, 18, 19], "multitask": [7, 16, 36, 43], "platformdir": [7, 16, 36, 43], "frozendict": [7, 16, 36, 43], "py311": 7, "peewe": [7, 16, 36, 43], "tar": 7, "gz": 7, "91m": [7, 27], "31m26": 7, "32m3": 7, "31m53": 7, "done": [7, 9, 17, 18, 28, 33], "wheel": [7, 43], "pyproject": 7, "toml": [7, 43], "25hrequir": 7, "beautifulsoup4": [7, 16, 36, 43], "html5lib": [7, 16, 36, 43], "soupsiev": [7, 16, 36, 43], "webencod": [7, 16, 36, 43], "73": [7, 40, 41, 43], "32m73": 7, "25hdownload": [7, 27], "112": 7, "32m112": 7, "31m43": 7, "filenam": 7, "cp311": [7, 19, 27], "linux_x86_64": 7, "274781": 7, "sha256": 7, "df613d38e4e572fc0734b68fd1e46884bf927922906eb5ae49c32ad6738b690": 7, "directori": 7, "cach": [7, 43], "1c": 7, "09": [7, 13, 17, 28, 29, 40], "7e": 7, "9f659fde248ecdc1722a142c1d744271aad3914a0afc191058": 7, "built": [7, 9, 41, 43, 48], "yf": [7, 16, 36], "interpol": [7, 17, 26], "interp1d": 7, "brentq": 7, "usd": [7, 16], "ct": 7, "adj": [7, 16, 36], "marker": [7, 8, 10, 16, 17, 18, 22, 31, 32, 36, 42], "surprisingli": [7, 23, 28, 29], "movement": [7, 26, 40], "action": [7, 10, 11, 36, 43, 48], "supplier": [7, 19, 34, 40], "specul": [7, 49], "focu": [7, 16, 17, 18, 21, 25, 26, 34, 35, 37], "parti": 7, "togeth": [7, 13, 15, 17, 18, 21, 22, 24, 27, 29, 31, 32, 35, 39, 46], "samuelson": [7, 8, 15, 35, 37, 45, 49], "1971": [7, 49], "wright": [7, 49], "william": [7, 49], "scheinkman": [7, 49], "schechtman": [7, 49], "1983": [7, 17, 49], "deaton": [7, 49], "laroqu": [7, 49], "1996": [7, 49], "chamber": [7, 49], "bailei": [7, 49], "intrins": 7, "harvest": 7, "dai": [7, 33, 40, 41], "chip": 7, "circuit": 7, "being": [7, 9, 10, 12, 14, 17, 18, 28, 31, 37, 45, 48], "appropri": [7, 8, 9, 22, 45], "nonetheless": [7, 29, 33], "simplic": [7, 25, 34], "z_t": [7, 23], "yield": [7, 21, 22, 24, 28, 31, 32, 35, 37, 41, 42, 45, 46], "taken": [7, 15, 16, 17, 28, 45], "_t": [7, 31, 35, 38, 42], "neutral": 7, "arbitrag": 7, "room": [7, 12], "carryov": 7, "attack": 7, "solut": [7, 9, 15, 31, 46, 48], "ansatz": 7, "educ": [7, 19, 37], "everi": [7, 11, 16, 17, 24, 25, 27, 28, 30, 31, 33, 34, 38, 39, 40, 45, 46], "z_": [7, 19, 23], "precis": [7, 11, 29, 35, 46], "27": [7, 17, 27, 33, 40, 41, 43], "int_0": [7, 16, 21], "z": [7, 8, 10, 14, 16, 17, 19, 27, 33, 34, 35, 38], "dz": 7, "suffic": [7, 19], "inequ": [7, 11, 20, 27, 43, 49], "mild": [7, 28, 34, 39], "p_k": 7, "q_1": [7, 24], "q_n": 7, "repeat": [7, 10, 16, 17, 25, 28, 36], "distribut": [7, 11, 13, 14, 17, 25, 29, 39, 42, 43, 44, 45, 46, 47, 49], "mont": [7, 20], "carlo": [7, 20], "beta_a": 7, "beta_b": 7, "mc_draw_siz": 7, "250": [7, 19, 25, 26, 30, 31, 34, 41], "gridsiz": 7, "150": [7, 10, 19, 26, 32, 34, 43], "grid_max": [7, 21], "35": [7, 18, 21, 22, 24, 28, 32, 40, 41, 43], "beta_dist": 7, "p_arrai": 7, "new_p": 7, "fill_valu": 7, "bounds_error": 7, "error": [7, 10, 11, 15, 16, 19, 47, 48], "new_pric": 7, "p_star": [7, 37], "carry_ov": 7, "generate_cp_t": 7, "init": [7, 28, 29], "50": [7, 10, 11, 12, 13, 14, 16, 17, 19, 22, 24, 27, 28, 29, 30, 31, 33, 34, 36, 40, 41, 42, 43, 48, 49], "substanti": [8, 13, 14, 26, 35], "reward": [8, 12], "differenti": [8, 21, 42, 45], "kei": [8, 9, 12, 13, 17, 21, 25, 26, 28, 31, 32, 38, 45, 46], "attain": [8, 31], "paul": [8, 35, 45, 46, 49], "1939": [8, 9, 12, 26, 46, 49], "acceler": [8, 15, 37, 46, 49], "keynesian": [8, 9, 46], "extens": [8, 43, 45], "stand": 8, "alon": 8, "quick": [8, 15, 17, 21, 36, 40, 48], "remind": [8, 48], "imaginari": [8, 10], "euclidean": [8, 11, 39], "polar": 8, "iy": 8, "re": [8, 10, 14, 17, 19, 24, 40], "theta": [8, 10, 36, 48], "sin": [8, 10, 37], "euler": [8, 35], "too": [8, 16, 21, 30, 31, 34, 36], "conjug": [8, 19], "modulu": [8, 10, 11], "distanc": [8, 10, 24, 39, 40], "angl": [8, 10, 15], "evid": [8, 9, 10, 12, 13, 14, 15, 18, 31, 37, 46, 49], "tangent": 8, "tan": 8, "2i": 8, "eq": [8, 23, 27], "nsolv": 8, "simplifi": [8, 16, 21, 35, 42, 44], "init_print": [8, 14], "abbrevi": 8, "\u03c0": [8, 12, 16, 22, 32, 44, 45], "\u03b8": [8, 10, 36, 48], "x_rang": 8, "1000": [8, 11, 13, 14, 16, 21, 22, 23, 25, 29, 32, 35, 39, 41, 42], "\u03b8_rang": 8, "111": [8, 10, 40], "set_rmax": 8, "set_rtick": 8, "radial": 8, "tick": [8, 13, 16], "set_rlabel_posit": 8, "88": [8, 21, 40, 43], "awai": [8, 22, 44, 45], "25": [8, 9, 10, 11, 15, 16, 17, 19, 21, 24, 25, 27, 28, 29, 34, 35, 36, 38, 40, 42, 43, 44, 45, 49], "recogn": [8, 16, 34], "pythagora": 8, "omega": 8, "integ": [8, 9, 12, 14, 15, 17, 22, 25, 28, 29, 31, 32, 34, 35, 36, 38, 39, 40, 42], "az": [8, 26], "pr": [8, 19], "machineri": [8, 13, 46], "heard": [8, 16], "model": [8, 10, 13, 16, 25, 28, 29, 31, 34, 36, 37, 45, 48, 49], "c_1": [8, 14, 23, 27, 44, 45], "c_2": [8, 14, 23, 27, 44, 45], "characterist": [8, 15, 16], "polynomi": [8, 10], "z_1": 8, "z_2": 8, "circumst": [8, 14], "recal": [8, 11, 14, 16, 19, 23, 24, 28, 29, 34, 36, 38, 42, 45, 48], "encod": [8, 15], "abl": [8, 13, 18, 46], "x0": [8, 14, 22, 23, 29, 32, 38, 42], "x1": [8, 10, 24, 27], "\u03c9": 8, "eq1": 8, "3f": [8, 33], "eq2": 8, "000": [8, 11, 16, 17, 27, 28, 29, 30, 33], "max_n": 8, "xlim": [8, 10, 13, 15, 16, 24], "middl": [8, 16, 29, 31, 34, 41], "spine": [8, 10, 13, 23, 24, 38], "set_posit": [8, 10, 23, 24, 38], "set_color": [8, 10, 23, 24, 38], "xaxi": [8, 18, 22, 31, 32], "set_ticks_posit": 8, "yaxi": 8, "ticklab": 8, "get_ticklabel": 8, "tran": 8, "get_transform": 8, "set_label_coord": 8, "suit": 8, "manipul": [8, 36], "implic": [8, 16, 25, 34, 35, 49], "sine": 8, "cosin": 8, "int_": [8, 16, 25, 30, 36], "4i": 8, "bigg": 8, "analyt": [8, 35, 38], "use_latex": [8, 14], "mathjax": [8, 14, 43], "displaystyl": [8, 12, 14], "famou": [9, 10, 14, 35, 36, 42], "robert": [9, 13, 39, 42, 49], "fit": [9, 13, 16, 18, 24, 25, 30, 36, 41], "miss": [9, 41], "human": [9, 12, 16, 17, 34], "wealth": [9, 12, 13, 20, 27, 29, 30, 44, 45, 49], "inspir": 9, "person": [9, 12, 17, 29, 45], "her": [9, 16, 21, 28, 39, 45], "view": [9, 10, 13, 14, 15, 16, 18, 21, 28, 29, 30, 34, 38, 39], "stream": [9, 13, 14, 37, 43], "phd": 9, "thesi": 9, "columbia": 9, "kuznet": [9, 12, 49], "1945": [9, 12, 26, 49], "explicilti": 9, "actor": 9, "c_t": [9, 14, 35], "come": [9, 13, 14, 22, 27, 28, 29, 32, 33], "salari": [9, 12], "face": [9, 23, 24, 28, 30, 35, 45, 48], "she": [9, 12, 39], "lend": [9, 14, 34], "constitut": [9, 13, 46, 48], "discount": [9, 16, 35, 37, 45, 46], "factor": [9, 10, 14, 15, 16, 17, 26, 35, 37, 38, 45, 46], "boundari": [9, 27, 46], "won": [9, 13, 15, 41], "die": 9, "affair": 9, "constrain": [9, 27], "logic": [9, 16, 18, 32, 39, 40], "flow": [9, 17, 21, 23, 35], "candid": [9, 31], "declar": 9, "greedi": 9, "procedur": [9, 18, 28, 39], "sensibl": 9, "answer": [9, 16, 21, 23, 26, 28, 36], "welfar": [9, 17], "criterion": [9, 21, 45], "g_1": 9, "g_2": 9, "impart": 9, "smoother": [9, 36], "consumptionsmooth": 9, "g1": [9, 31, 34], "g2": [9, 31, 34], "\u03b2_seq": 9, "create_consumption_smoothing_model": 9, "h_0": [9, 12, 33], "y_0": [9, 14, 15, 31, 46], "y_1": [9, 14, 17, 24, 46], "finan": 9, "c_0": [9, 12, 14], "nutshel": [9, 18, 26, 31], "readili": [9, 28], "plai": [9, 11, 12, 13, 15, 16, 17, 23], "translat": [9, 17, 29, 35], "a_1": [9, 10, 15], "a_2": [9, 15], "a_3": 9, "y_2": [9, 14, 17, 24, 46], "y_": [9, 14, 15, 31, 46], "bare": 9, "compute_optim": 9, "a0": [9, 19], "y_seq": 9, "h0": [9, 33], "c0": [9, 15], "c_seq": 9, "diag": [9, 23, 31], "a_seq": 9, "inv": [9, 10, 11, 15, 19, 24, 31, 44, 45, 46], "afterward": [9, 48], "retir": [9, 13], "46": [9, 11, 17, 19, 21, 28, 40, 43, 49], "cs_model": 9, "u_seq": 9, "285050962183433": 9, "decrib": 9, "plot_c": 9, "accross": 9, "windfal": 9, "w_0": [9, 12], "indic": [9, 11, 12, 13, 15, 16, 17, 18, 19, 22, 23, 25, 26, 28, 29, 31, 32, 33, 34, 37, 39, 40, 45, 46, 48], "disast": 9, "y_seq_po": 9, "24": [9, 11, 17, 26, 27, 28, 33, 36, 40, 41, 43, 46], "y_seq_neg": 9, "y_seq_lat": 9, "t_max": [9, 14, 15], "geo_seq": 9, "y_seq_geo": 9, "behavior": [9, 10, 11, 16, 23, 28, 29, 35, 49], "95": [9, 11, 26, 29, 33, 38, 40, 44, 45], "happen": [9, 12, 13, 14, 18, 26, 28, 39, 44, 45], "justifi": [9, 31, 32, 48], "calculu": [9, 14, 21, 36, 41], "explor": [9, 11, 16, 17, 26, 31, 32, 36, 41, 44], "admiss": 9, "ourselv": [9, 28], "xi_1": [9, 33], "xi_0": 9, "guarante": [9, 10, 29], "phi_t": 9, "compute_vari": 9, "\u03be1": 9, "\u03be0": 9, "v_seq": 9, "isclos": [9, 22, 32], "c_opt": 9, "cvar_seq": 9, "02": [9, 13, 14, 19, 23, 27, 28, 29, 31, 32, 35, 36, 40, 49], "\u03d5s": 9, "tab": [9, 18, 26], "green": [9, 15, 21, 24, 28, 38, 39], "param": [9, 14, 16, 43], "meshgrid": [9, 10, 14], "reshap": [9, 10, 11, 17, 19, 26], "fr": [9, 15, 25, 28, 29, 34, 36], "vec": [9, 10, 24], "285009346064836": 9, "28491163101544": 9, "284010559218512": 9, "28156768298361": 9, "gradient": 9, "command": [9, 47], "teach": [9, 25], "beneath": 9, "welfare_rel": 9, "welfare_vec": 9, "relationship": [9, 11, 13, 17, 21, 24, 28, 34, 37, 38, 41], "\u03be1_arr": 9, "welfare_grad": 9, "\u03d5_arr": 9, "cornerston": 9, "modern": [9, 13], "macro": [9, 18, 49], "ramif": 9, "briefli": [9, 16], "open": [9, 13, 26, 31, 40], "door": [9, 26], "enlighen": 9, "literatur": [9, 49], "todai": [9, 13, 14, 26, 31, 42], "conclud": [9, 10, 19, 23, 25, 31, 34], "coupl": [9, 41], "cast": [9, 28, 31, 46], "y_3": 9, "lambda_1": [9, 10, 15], "lambda_2": [9, 15], "ask": [9, 13, 14, 23, 24, 27, 28, 29, 35], "extrem": [10, 16, 17, 30, 39, 40], "machin": [10, 47], "matrix_pow": [10, 11, 28, 29, 34], "line2d": 10, "patch": [10, 19, 27, 28, 34, 43], "fancyarrowpatch": 10, "mpl_toolkit": [10, 28], "mplot3d": [10, 28], "proj3d": 10, "concern": [10, 33, 35], "rectangular": 10, "colon": 10, "rightarrow": [10, 11, 14, 15, 31, 32, 34], "argu": [10, 17, 19], "convent": [10, 24], "itself": [10, 11, 16, 25, 31, 38], "math": [10, 14, 30, 39], "annot": [10, 13, 15, 23, 24, 26, 31, 41, 42], "xy": [10, 15, 23, 24, 42], "xytext": [10, 23, 24, 42], "arrowprop": [10, 23, 24, 42], "shrink": [10, 14, 24], "width": [10, 19, 24, 26, 28, 34], "29": [10, 21, 33, 40, 41, 48], "purpl": [10, 13], "arrowstyl": [10, 23, 34, 42], "connectionstyl": [10, 19, 28, 34], "arc3": [10, 19, 28, 34], "rad": [10, 19, 28, 34], "horizontalalign": [10, 22, 32], "imag": [10, 43], "locat": [10, 23, 34, 39], "circl": [10, 11, 13, 34], "grid_transform": 10, "circle_transform": 10, "min": [10, 16, 17, 21, 26, 30, 35, 40, 42, 44, 45], "xval": 10, "yval": 10, "xygrid": 10, "column_stack": 10, "uvgrid": 10, "scatter": [10, 16, 23, 25, 28, 41, 45], "x_2": [10, 11, 14, 19, 23, 24, 25, 27, 33, 38], "x_k": [10, 24], "ax_1": [10, 23], "ax_2": 10, "ax_k": 10, "\u03b8_1": 10, "b_1": [10, 24, 27, 44, 45], "zorder": [10, 45], "y1": [10, 24], "transformed_ab": 10, "transformed_circle_input": 10, "transformed_circl": 10, "direct": [10, 16, 19, 21, 31, 34, 40, 47], "stretch": 10, "proport": [10, 18, 19, 29, 34], "coordin": [10, 31, 39], "clockwis": [10, 23], "interchang": 10, "act": [10, 26, 39], "abx": 10, "red": [10, 13, 15, 22, 24, 26, 28, 31, 32, 35, 42, 46], "underbrac": [10, 46], "textstyl": 10, "overbrac": 10, "bx": 10, "ba": 10, "compos": 10, "90": [10, 17, 24, 29, 36, 40], "circ": [10, 35, 38, 42], "grid_composition_transform": 10, "abgrid": 10, "bx_1": 10, "bx_2": 10, "bx_k": 10, "abx_1": 10, "abx_2": 10, "abx_k": 10, "repeatedli": [10, 16, 21, 24, 46], "av": [10, 11], "aav": 10, "2v": 10, "ellips": 10, "holder": [10, 13, 31], "trajectori": [10, 26], "rainbow": 10, "v1": 10, "v2": 10, "shorter": [10, 17], "closer": [10, 17, 41, 42], "spiral": 10, "tend": [10, 16, 28, 34, 39, 41], "farther": 10, "kv": 10, "behav": [10, 33], "notion": [10, 21], "mere": 10, "eig": [10, 11, 15, 31], "eval": [10, 11], "evec": [10, 11], "ymin": [10, 26, 35, 42], "ymax": [10, 26, 35, 42], "facecolor": [10, 24], "straightforward": 10, "haven": [10, 28, 47], "mention": [10, 16, 24, 25, 30], "yet": [10, 29], "skip": [10, 14], "equival": [10, 14, 16, 27, 31, 34, 42, 48], "linearli": [10, 24, 45], "exist": [10, 11, 19, 22, 23, 24, 27, 28, 29, 31, 32, 34, 38, 44, 45], "plane": [10, 24, 28], "diagon": [10, 11, 24, 31, 40, 45, 46], "symmetr": [10, 15, 34], "invert": [10, 24, 46], "lambda_n": [10, 11], "corollari": 10, "statement": [10, 11, 13, 17, 23, 28, 29, 31, 32, 33, 34, 36], "70710678": 10, "routin": [10, 24, 34], "applic": [10, 11, 15, 24, 28, 31, 33, 34, 40, 49], "multivari": [10, 25, 46], "spectral": [10, 11, 19, 23, 34], "radiu": [10, 11, 19, 23, 34], "max_i": 10, "lambda_i": [10, 11, 15], "_i": [10, 41], "5828427124746189": 10, "b_invers": 10, "a_sum": 10, "a_pow": 10, "allclos": [10, 40, 46], "truncat": [10, 30], "greatest": 10, "diagonaliz": [10, 23], "b_0": [10, 31], "b_": [10, 24, 27, 31, 44, 46, 48], "b_k": 10, "thorough": 10, "num_it": 10, "rand": [10, 25, 46], "err": 10, "greatest_eigenvalu": 10, "2f": [10, 14, 16], "3d": [10, 14, 28], "add_subplot": [10, 28], "set_zlabel": [10, 14], "tick_param": [10, 13], "labels": [10, 13], "set_box_aspect": 10, "zoom": 10, "41421356": [10, 15], "81649658": 10, "57735027": 10, "largest": [10, 11, 16, 17, 34, 39], "ahead": [10, 14, 26, 30, 41], "vec_field": 10, "stack": [10, 15, 16, 31, 41, 46], "tensordot": 10, "streamplot": 10, "a23bec": 10, "set_alpha": 10, "scale_unit": [10, 15], "quiver": [10, 15], "eigenspac": 10, "gca": [10, 13, 22, 28, 32], "set_aspect": 10, "diverg": [10, 26], "smallest": [10, 11, 17, 31, 39], "intrigu": 10, "previous": [10, 11, 30, 35], "demonstr": [10, 25, 28], "eigenvalues_r": 10, "eigenvectors_r": 10, "61237244": 10, "35355339j": 10, "40824829": 10, "40824829j": 10, "8660254": 10, "5j": 10, "22474487": 10, "70710678j": 10, "arrow3d": 10, "stackoverflow": 10, "xs": [10, 15, 45], "ys": [10, 13, 46], "kwarg": [10, 16], "super": [10, 45], "_verts3d": 10, "do_3d_project": 10, "xs3d": 10, "ys3d": 10, "zs3d": 10, "proj_transform": 10, "u_real": 10, "v_real": 10, "u_imag": 10, "zeros_lik": [10, 17, 40], "v_imag": 10, "vlength": 10, "arrow_length_ratio": 10, "arrow_prop_dict": 10, "mutation_scal": 10, "shrinka": 10, "shrinkb": 10, "add_artist": 10, "im": 10, "network": [11, 19, 20, 40, 43, 49], "sp": 11, "qe": [11, 28, 29, 34], "deal": [11, 38, 40], "eigenvalu": [11, 15, 20, 23, 31, 34], "ij": [11, 19, 27, 28, 31, 34], "gg": [11, 14, 44], "confus": [11, 36], "role": [11, 12, 15, 16, 17, 23, 36, 49], "hint": [11, 14, 26, 45], "decim": [11, 15, 46], "set_printopt": 11, "89443": 11, "44721": 11, "70711": 11, "directli": [11, 36, 38, 40, 46], "eigenv": 11, "\u03b5": 11, "themselv": [11, 34], "domin": [11, 19, 34], "automat": [11, 18, 34, 43], "transpos": [11, 16, 17, 19, 24, 34], "certain": [11, 17, 49], "complex": [11, 16, 17, 20, 33, 35, 49], "except": [11, 16, 19, 33, 34, 44, 45], "intuit": [11, 16, 22, 23, 28, 34, 38], "eigresult": 11, "00000e": 11, "90566e": 11, "77350e": 11, "07107e": 11, "36592e": 11, "hard": [11, 12, 18, 30, 33, 42], "everywher": [11, 16, 22, 23, 28, 29, 40], "still": [11, 16, 23, 25, 33, 38, 39, 40, 47], "looser": 11, "secondari": 11, "vice": 11, "versa": 11, "strict": 11, "inner": [11, 45], "8165": 11, "57735": 11, "22646": 11, "40825": 11, "79259": 11, "56614": 11, "furthermor": 11, "compute_perron_project": 11, "eigval": [11, 34], "argmax": 11, "v_p": 11, "w_p": 11, "norm_factor": 11, "v_norm": 11, "check_converg": 11, "n_list": 11, "10000": [11, 30, 34, 42], "m_n": 11, "diff": [11, 12, 14, 18, 30, 42, 43], "diff_norm": 11, "fro": 11, "10f": 11, "a3": [11, 13], "971": [11, 28, 29, 49], "029": [11, 28, 29], "145": [11, 28, 29, 40], "778": [11, 28, 29], "077": [11, 28, 29], "508": [11, 28, 29], "492": [11, 28, 29], "71": [11, 40], "1362": 11, "48507": 11, "24254": 11, "8638": 11, "0989045731": 11, "0000000001": 11, "0000000000": 11, "33333": 11, "7071067812": 11, "0013810679": 11, "12506": 11, "31949": 11, "20233": 11, "43341": 11, "07714": 11, "19707": 11, "1248": 11, "26735": 11, "12158": 11, "31058": 11, "19669": 11, "42133": 11, "13885": 11, "3547": 11, "22463": 11, "48118": 11, "5361031549": 11, "0000434043": 11, "100th": 11, "1125899906842624": 11, "562949953421312": 11, "35355": 11, "bridg": 11, "languag": 11, "spoken": 11, "aperiod": 11, "imam": [11, 28, 49], "templ": [11, 28, 49], "hamilton": [11, 49], "stationari": [11, 22, 29, 32, 33, 46, 48], "18": [11, 15, 18, 19, 24, 26, 28, 31, 40, 43, 49], "56146": 11, "15565": 11, "28289": 11, "mc": [11, 28, 29], "markovchain": [11, 28, 29], "\u03c8_star": [11, 28, 29], "stationary_distribut": [11, 28, 29], "p_hamilton": 11, "8128": 11, "16256": 11, "02464": 11, "gap": [11, 12, 13, 17, 26], "proven": 11, "v_i": [11, 21, 34], "w_i": [11, 17, 21, 30, 44], "stachurski": [11, 28, 29, 34, 49], "premultipli": 11, "mathscr": 11, "gershgorin": 11, "scope": 11, "lambda_": 11, "wassili": 11, "interdepend": 11, "intern": [11, 21, 26], "rest": [11, 26], "extern": [11, 43, 47], "agricultur": [11, 19, 49], "tabl": [11, 18, 26, 27, 34, 43], "within": [11, 19, 24, 26, 27, 34, 47], "x_3": [11, 24, 27, 33], "3x_1": [11, 27], "2x_2": [11, 27], "3x_3": 11, "2x_1": [11, 27], "4x_2": [11, 27], "5x_2": [11, 27], "1x_3": 11, "neumann": [11, 19, 28, 34], "lemma": [11, 19, 28], "8444086477164554": 11, "b_inv": 11, "x_star": 11, "38": [11, 17, 19, 21, 41, 43, 49], "30189": 11, "44": [11, 13, 18, 40, 43], "33962": 11, "47799": 11, "invent": [12, 15], "dentist": 12, "doctor": 12, "barrier": [12, 33], "conjunct": 12, "organ": [12, 26, 34], "jennif": [12, 49], "burn": [12, 49], "joint": [12, 30, 39], "simon": [12, 19, 49], "led": [12, 13, 18], "incomplet": [12, 26, 31], "articul": 12, "job": [12, 23, 28, 30, 31, 40, 41], "adam": [12, 13, 21, 26, 49], "smith": [12, 13, 21, 49], "partial": [12, 14, 30, 41, 45], "concis": [12, 27], "certainli": 12, "premium": 12, "attend": 12, "gamma_h": 12, "gamma_c": 12, "upfront": 12, "goe": [12, 14, 16, 17, 24, 29], "someon": [12, 14, 16, 33], "a_h": 12, "a_c": 12, "tuition": 12, "board": 12, "heart": [12, 14], "forgon": 12, "fun": [12, 22, 27, 42], "tweak": 12, "promin": 12, "eqdiffmodel": 12, "\u03b3_h": 12, "\u03b3_c": 12, "w_h0": 12, "create_edm": 12, "compute_gap": 12, "static": [12, 45], "recomput": [12, 30], "ex1": 12, "gap1": 12, "8041412724969135": 12, "ex2": 12, "gap2": 12, "2204649517903732": 12, "r_arr": 12, "compens": [12, 38, 45], "prospect": [12, 22, 32, 37], "wait": [12, 37], "rememb": [12, 14, 21, 25, 31, 34], "Not": [12, 23, 28, 29], "\u03b3c_arr": 12, "career": 12, "\u03b3h_arr": 12, "reinterpret": 12, "versu": [12, 45], "succe": [12, 36], "firm": [12, 17, 27, 34, 44, 49], "offic": 12, "lawyer": 12, "riskier": 12, "adopt": [12, 13, 18, 22, 33], "create_edm_\u03c0": 12, "chanc": [12, 33, 34, 39], "busi": [12, 13, 16, 20, 26, 34, 49], "incorpr": 12, "ex3": 12, "gap3": 12, "020706362484567": 12, "\u03c0_arr": 12, "doesn": [12, 16, 25, 28], "feel": [12, 14, 39], "taught": 12, "gamma_": 12, "mapsto": 12, "r_valu": [12, 31], "t_valu": 12, "\u03b3_h_valu": 12, "\u03b3_c_valu": 12, "w_h0_valu": 12, "d_valu": 12, "\u03d5_d": 12, "\u03d5_d_func": 12, "058367632070654": 12, "\u03d5_t": 12, "\u03d5_t_func": 12, "00973478032996598": 12, "off": [12, 13, 16, 18, 19, 34, 46], "\u03d5_\u03b3_h": 12, "\u03d5_\u03b3_h_func": 12, "8590485545256": 12, "\u03d5_\u03b3_c": 12, "\u03d5_\u03b3_c_func": 12, "6486401973376": 12, "\u03d5_r": 12, "\u03d5_r_func": 12, "2642738659429": 12, "featur": [13, 18, 26, 33, 34, 35, 49], "1789": 13, "1799": 13, "veld": [13, 18, 49], "1995": [13, 17, 49], "revolutionari": 13, "legisl": 13, "guid": 13, "decid": [13, 27, 33, 35], "recommend": [13, 31, 32], "believ": [13, 18, 38], "contact": [13, 47], "barro": [13, 49], "1979": [13, 17, 26, 49], "prescript": 13, "mode": 13, "temporari": [13, 18], "surg": 13, "roll": [13, 18, 31], "monetarist": [13, 18, 20, 31, 32, 37, 49], "historian": [13, 17, 26], "bill": [13, 18], "1776": [13, 18], "contemporari": 13, "assignat": 13, "1791": [13, 18, 26], "gold": [13, 14, 18, 21], "silver": [13, 14, 18], "napoleon": 13, "becam": [13, 46], "head": [13, 17, 25, 26, 30, 33, 34, 36], "1794": 13, "1797": [13, 18], "legal": 13, "repress": 13, "twelv": 13, "member": [13, 17], "compris": 13, "committe": 13, "safeti": 13, "adminst": 13, "terror": 13, "june": [13, 18], "1793": 13, "juli": [13, 16, 18], "spreadsheet": [13, 18], "dataset": [13, 17, 18, 26, 30, 41], "fig_3": 13, "xlsx": [13, 18, 26], "dett": 13, "font": 13, "base_url": 13, "github": [13, 17, 18, 26, 41, 43], "com": [13, 16, 17, 18, 26, 30, 41, 49], "intro": [13, 17, 18, 26, 41, 43], "raw": [13, 17, 18, 26, 41], "fig_3_url": 13, "dette_url": 13, "assignat_url": 13, "histor": [13, 18, 26, 41], "context": [13, 18, 22, 38, 40, 45, 48], "excel": [13, 18, 34], "data2": 13, "read_excel": [13, 18, 26], "sheet_nam": [13, 18, 26], "militsp": 13, "usecol": [13, 41], "skiprow": 13, "nrow": [13, 29, 41], "102": [13, 40], "header": [13, 18, 26], "militari": [13, 26], "1685": 13, "1726": 13, "livr": 13, "data4": 13, "105": [13, 19, 48, 49], "squeez": 13, "1790": [13, 18], "1689": 13, "iloc": [13, 18, 36], "set_vis": 13, "million": [13, 17, 18, 40], "475": [13, 40], "britain": [13, 18, 26, 34, 41], "18th": [13, 21, 26], "fought": 13, "lost": 13, "fourth": 13, "great": [13, 16, 18, 26, 34, 38, 41, 46, 49], "remark": [13, 14, 18, 25, 31, 32], "expens": 13, "testifi": 13, "markerfacecolor": [13, 39], "custom": [13, 14, 38], "pound": [13, 14, 18], "1765": [13, 26], "civil": [13, 18, 26], "1760": [13, 26, 41], "1708": 13, "govt": [13, 19], "1759": 13, "summar": [13, 27, 28, 32, 48], "british": [13, 26], "admir": 13, "advoc": [13, 18], "reform": [13, 18, 26], "yellow": [13, 28], "against": [13, 16, 30, 31, 46], "king": 13, "loui": [13, 49], "xiv": 13, "spanish": 13, "1740": 13, "indian": 13, "1750": 13, "american": [13, 26, 49], "1775": 13, "1783": 13, "peac": 13, "neither": [13, 45], "nor": [13, 17, 45], "eighteenth": 13, "strike": [13, 18, 25, 26, 31, 33, 39], "nick": 13, "graviti": 13, "attract": [13, 18, 34], "temporarili": [13, 18, 31], "fraction": [13, 16, 23, 25, 28, 29, 41, 42], "data1": 13, "99": [13, 14, 21, 29, 37, 40, 43], "data1a": 13, "89": [13, 40, 43], "1690": 13, "1774": 13, "set_facecolor": [13, 39], "white": [13, 19, 28], "1688": 13, "1788": 13, "manag": [13, 18, 48], "ev": 13, "sheet1": 13, "610": 13, "1773": 13, "325": [13, 19], "220": [13, 32, 41], "1785": 13, "700": 13, "exceed": 13, "unfold": [13, 22, 39], "ancient": [13, 49], "made": [13, 14, 18, 38], "contend": 13, "reschedul": 13, "prevail": [13, 14, 31, 32, 44, 46, 48], "empow": 13, "block": [13, 17, 19], "care": [13, 17, 29, 34, 35, 38], "payer": 13, "beneficiari": 13, "creditor": [13, 14], "owner": [13, 14, 18, 27, 33, 42], "1720": 13, "sacrif": 13, "reduc": [13, 16, 22, 29, 31, 32, 48], "xvi": 13, "conven": 13, "estat": 13, "redesign": 13, "therebi": [13, 18], "him": 13, "honor": 13, "effort": [13, 27], "promot": 13, "accomplish": [13, 21], "reorgan": [13, 18], "assembl": [13, 26], "piec": [13, 14], "address": [13, 28, 29, 39, 48], "convenc": 13, "socialist": 13, "communist": 13, "contrari": 13, "knew": [13, 18], "art": [13, 19, 31], "cathol": 13, "church": 13, "vast": 13, "land": 13, "entir": [13, 14, 18, 30, 42], "foster": 13, "sequest": 13, "confisc": 13, "inventori": 13, "together": 13, "ingeni": 13, "motion": [13, 22, 31, 32], "bishop": 13, "talleyrand": 13, "atheist": 13, "intend": [13, 14], "bearer": 13, "coin": [13, 14, 18, 25, 33, 36], "accept": [13, 28, 31, 32], "formerli": 13, "minist": 13, "necker": 13, "simultan": [13, 15, 21, 31, 46], "auction": 13, "withdraw": [13, 48], "secur": [13, 45], "propel": 13, "domain": 13, "record": [13, 14, 16, 25, 26, 28, 29, 34, 41], "debat": 13, "marshal": 13, "innov": [13, 34], "natioanl": 13, "quot": 13, "david": [13, 21, 49], "hume": 13, "fifteen": 13, "awri": 13, "pitfal": 13, "succeed": [13, 18], "enter": [13, 23, 34, 38, 39], "charact": 13, "abolish": 13, "sort": [13, 15, 16, 17, 39], "farm": [13, 17, 49], "meant": 13, "citiz": 13, "retain": 13, "chemist": 13, "lavoisi": 13, "sent": 13, "guillotin": 13, "data5": 13, "1846": 13, "1845": 13, "1815": 13, "bonapart": 13, "exil": 13, "st": [13, 24, 25, 49], "helena": 13, "xviii": 13, "restor": 13, "crown": [13, 18], "1814": 13, "booti": 13, "repar": 13, "provinc": 13, "defeat": [13, 17], "data11": 13, "22": [13, 17, 19, 21, 24, 26, 27, 29, 31, 34, 35, 40, 41, 43], "1795": 13, "remov": [13, 14, 17, 18, 19, 41, 47], "data11_clean": 13, "dropna": [13, 16, 17, 30, 41], "1796": 13, "ytick": 13, "201": [13, 29], "disrep": 13, "reveal": [13, 14, 18, 26, 32, 48], "spent": [13, 29], "soldier": 13, "data12": 13, "seignor": 13, "date_rang": 13, "freq": 13, "472": 13, "AS": 13, "timestamp": 13, "dateoffset": 13, "month": [13, 18, 24, 28, 34, 36], "39": [13, 21, 24, 40, 41, 43], "verticalalign": [13, 22, 31, 32], "tmp": [13, 16], "ipykernel_6183": 13, "529726724": 13, "py": [13, 16, 19, 27, 28, 29, 43, 47], "futurewarn": [13, 16, 19], "deprec": [13, 16, 19], "me": [13, 14], "extraordinari": 13, "citizen": [13, 17], "press": [13, 18, 49], "practic": [13, 35, 49], "rose": [13, 18, 26], "data7": 13, "data7a": 13, "yscale": 13, "axvlin": [13, 15, 22, 25, 26, 32, 41], "partion": 13, "late": [13, 26], "summer": 13, "moder": 13, "mark": [13, 18, 33, 49], "roughli": [13, 18, 26, 28], "robespierr": 13, "rapidli": [13, 17, 18, 26, 39], "keyn": [13, 14, 18, 49], "1940": [13, 49], "bryant": [13, 49], "1984": [13, 49], "percent": [13, 14, 17, 36], "decemb": 13, "competitor": 13, "nearli": 13, "met": 13, "setp": 13, "vline": [13, 16, 17, 19, 21, 36, 41, 45], "07": [13, 17, 22, 26, 40, 43], "3000": [13, 17, 29, 34], "750": [13, 49], "2500": [13, 29, 41], "4102237171": 13, "cloud": 13, "twentieth": [13, 18, 26], "subperiod": 13, "januari": [13, 16, 36], "august": 13, "march": 13, "cov": 13, "var": [13, 17, 25, 33, 36, 38], "load": 13, "caron": 13, "npy": 13, "nom_bal": 13, "infl": 13, "bal": 13, "77": [13, 40, 41], "regress": [13, 20, 22], "b3": 13, "a1_rev": 13, "b1_rev": 13, "a2_rev": 13, "b2_rev": 13, "a3_rev": 13, "b3_rev": 13, "subsampl": 13, "straight": [13, 17, 41], "compress": [13, 43], "sub": [13, 26], "34": [13, 17, 31, 40, 43], "modest": [13, 16], "unleash": 13, "transact": 13, "prounc": 13, "hallmark": 13, "payout": [14, 27, 37], "truth": 14, "wise": 14, "crack": 14, "sym": 14, "greater": [14, 15, 16, 17, 27], "belong": 14, "cash": 14, "behind": [14, 17, 18, 25, 26, 34], "deposit": [14, 27], "receipt": 14, "recent": [14, 34, 41, 46], "1914": [14, 18, 26], "loan": [14, 27, 34, 49], "celebr": 14, "l_i": 14, "d_i": 14, "r_i": 14, "sheet": [14, 18], "outstand": 14, "liabil": [14, 34], "held": [14, 21, 29, 31, 34, 48], "depositor": 14, "iou": 14, "redeem": 14, "chosen": [14, 15, 28, 31, 32, 48], "precautionari": 14, "debtor": 14, "inject": 14, "maynard": [14, 18, 49], "unemploi": [14, 23, 28, 29], "excess": [14, 21, 30], "frozen": 14, "propens": 14, "modifi": [14, 21, 24, 31, 32, 37, 40, 43], "textrm": [14, 36], "tomorrow": [14, 28, 31, 37, 42], "reinvest": 14, "xr": 14, "worth": [14, 30, 34, 37], "leas": 14, "small": [14, 16, 28, 34, 39, 46, 48, 49], "03": [14, 17, 28, 29, 34, 36, 40, 43, 49], "taylor": 14, "rg": 14, "gordon": [14, 37], "split": [14, 40, 41], "gr": 14, "x_0rg": 14, "rgx_0": 14, "finite_lease_pv_tru": 14, "finite_lease_pv_approx_1": 14, "finite_lease_pv_approx_2": 14, "infinite_leas": 14, "plot_funct": 14, "func": [14, 45], "__name__": 14, "our_arg": 14, "deterior": 14, "durat": [14, 28], "f_1": 14, "f_2": 14, "pv": [14, 43], "perpetu": 14, "covari": [14, 46], "rs": 14, "gs": 14, "4001": 14, "comp": 14, "necessari": [14, 16, 18, 40, 45], "fan": 14, "aren": 14, "enamor": 14, "011": [14, 29], "991": [14, 17], "rr": 14, "undefin": 14, "surf": 14, "plot_surfac": 14, "cmap": [14, 28], "coolwarm": 14, "antialias": 14, "clim": 14, "colorbar": [14, 28], "view_init": [14, 28], "enabl": [14, 21, 26], "dp0": 14, "dg": [14, 28, 34], "dp_dg": 14, "dr": 14, "dp_dr": 14, "calculate_i": 14, "y_init": 14, "i_0": 14, "g_0": 14, "101": [14, 40, 49], "tver": 14, "bs": [14, 44], "ax1": [14, 18], "ax2": 14, "subplots_adjust": [14, 16, 25, 28], "hspace": [14, 16], "param_label": 14, "eigenvector": [15, 20, 31], "isol": [15, 31], "mathematician": [15, 40], "121": [15, 29, 40], "144": 15, "169": [15, 26], "196": 15, "225": 15, "cannot": [15, 33, 35], "indefinit": 15, "lim_": [15, 16, 31], "desir": [15, 16, 33], "variat": [15, 18, 39, 40, 49], "countabl": 15, "qualif": 15, "pursu": [15, 21], "implli": 15, "quadrat": [15, 31, 38, 45, 48], "pm": [15, 45, 46], "eta_1": 15, "delta_1": 15, "eta_2": 15, "delta_2": 15, "eigen": 15, "decomposit": [15, 31], "conveni": [15, 16, 17, 21, 24, 26, 27, 33, 34, 37], "said": [15, 16, 18, 25, 29, 30, 34, 38], "deploi": [15, 22, 26, 27, 31, 32, 48], "techniqu": [15, 38, 40], "indirect": [15, 31], "exploit": 15, "prescrib": 15, "remaind": 15, "almost": [15, 17, 22, 25, 31, 32, 34, 40, 46], "bf": 15, "solve_\u03bb": 15, "coef": 15, "\u03bbs": 15, "revers": [15, 22, 31, 32, 34, 42], "solve_\u03b7": 15, "\u03bb_1": 15, "\u03bb_2": 15, "y_neg1": [15, 46], "y_neg2": 15, "\u03b7s": 15, "solve_sqrt": 15, "\u03c3": [15, 16, 17, 25, 33, 36], "ensur": [15, 23, 34], "valueerror": 15, "\u03b7_1": 15, "\u03b7_2": 15, "sqrt_\u03c3_estim": 15, "sqrt_\u03c3": 15, "dev": 15, "5f": [15, 21], "41421": 15, "00000": 15, "eigendecomposit": 15, "iterate_m": 15, "num_step": [15, 22, 31, 32], "dtype": [15, 16, 17, 28, 36, 40], "float64": [15, 16, 17, 36], "v_inv": 15, "92387953": 15, "38268343": 15, "round": [15, 17, 27, 39, 42], "c1": 15, "slope": [15, 16, 21, 45, 48], "deactiv": 15, "achiev": [15, 18, 26], "xd_1": 15, "22625186": 15, "xd_2": 15, "1647844": 15, "\u03bb1": 15, "\u03bb2": 15, "xs_\u03bb1": 15, "xs_\u03bb2": 15, "ratios_\u03bb1": 15, "ratios_\u03bb2": 15, "statsmodel": [16, 43], "sm": 16, "cauchi": [16, 25], "register_matplotlib_convert": 16, "tradit": 16, "exot": 16, "crucial": 16, "histogram": [16, 17, 25, 30], "1_000_000": [16, 25, 28, 33], "hist": [16, 17, 25, 30, 36], "bin": [16, 17, 25, 30, 36, 43], "400": [16, 18, 19, 21], "849036230996034": 16, "3899568520143255": 16, "rotat": 16, "rare": 16, "econometrician": 16, "safe": 16, "ignor": [16, 19, 33, 35, 38, 42], "height": [16, 17, 21], "ye": [16, 31], "tall": 16, "basketbal": 16, "sun": [16, 26], "mingm": 16, "meter": 16, "ever": [16, 33], "Or": 16, "wonder": 16, "billion": [16, 18], "essenc": [16, 25], "obei": [16, 29], "bell": [16, 30, 36], "daili": 16, "amazon": [16, 33, 36], "amzn": [16, 36], "1st": 16, "asid": 16, "yahoo": 16, "saw": [16, 17, 29, 38], "bitcoin": 16, "btc": 16, "standard_t": 16, "df": [16, 17, 18, 30, 34, 36, 41], "mandelbrot": [16, 49], "rachev": [16, 49], "2003": [16, 22, 49], "frequent": 16, "importantli": [16, 29, 40], "rich": [16, 17, 29, 34, 43], "enorm": 16, "town": 16, "affirm": 16, "carefulli": [16, 18, 25, 33], "pareto": [16, 17, 45, 49], "aid": [16, 17], "subfigur": 16, "s_val": 16, "cluster": [16, 25], "dispers": [16, 17], "tight": [16, 25, 26], "exponenti": [16, 25, 30], "minimum": [16, 30, 34, 42], "aris": [16, 24, 39], "exponential_data": 16, "pareto_data": 16, "surviv": 16, "fast": [16, 24, 25], "g_e": 16, "g_p": [16, 34], "slower": 16, "ln": [16, 30, 33], "loglog": 16, "prob": [16, 30, 44, 45], "concav": 16, "visualis": [16, 24], "counterpart": [16, 26, 45, 48], "eccdf": 16, "sample_s": 16, "data_exp": 16, "data_logn": 16, "data_pareto": 16, "data_list": 16, "lognorm": [16, 17, 33, 42], "markers": [16, 22, 24, 31, 32, 39], "qq": 16, "qqplot": 16, "quintil": 16, "data_norm": 16, "social": [16, 29, 34, 40, 45, 49], "phenomena": [16, 28], "pervas": 16, "hide": 16, "somewhat": [16, 17, 38], "welcom": 16, "empirical_ccdf": 16, "aw": [16, 43], "add_reg_lin": 16, "y_val": [16, 17], "p_val": 16, "fw": 16, "interp": [16, 17], "ol": [16, 41], "add_const": 16, "extract_wb": 16, "varlist": [16, 17, 19], "cd": 16, "all_countri": 16, "1900": 16, "varnam": 16, "get_countri": 16, "countries_nam": 16, "unstack": [16, 17, 26, 41], "reset_index": [16, 17, 26, 41], "level_1": 16, "df1": [16, 17], "isin": 16, "forb": 16, "df_f": 16, "read_csv": [16, 17, 30, 41], "media": [16, 17, 30], "githubusercont": [16, 30], "high_dim_data": [16, 17, 30], "cross_sect": 16, "global2000": 16, "csv": [16, 17, 30, 41], "cut": 16, "sort_valu": [16, 34], "ascend": 16, "asarrai": [16, 17, 28], "df_cs_u": 16, "cities_u": 16, "df_cs_br": 16, "cities_brazil": 16, "pop2023": 16, "billionair": 16, "df_w": 16, "realtimeworth": 16, "realtimerank": 16, "copi": [16, 17, 18, 25, 26, 40, 41], "india": 16, "itali": [16, 34], "df_w_c": 16, "richest": [16, 17, 30], "variable_cod": 16, "pcap": [16, 17], "variable_nam": 16, "df_gdp1": 16, "ipykernel_6253": 16, "3215967216": 16, "to_numer": [16, 19], "catch": [16, 19], "explicitli": [16, 19, 27], "elimin": [16, 22, 37, 42], "impact": [16, 19, 26, 48], "poor": [16, 29, 34, 41], "1_000": [16, 25, 28], "sample_mean": [16, 25], "_n": 16, "egg": 16, "basket": 16, "investor": 16, "payoff": [16, 27, 33], "portfolio": [16, 48], "share": [16, 23, 29, 36, 38, 44, 45], "y_n": [16, 24, 25], "unchang": [16, 22, 24, 31, 32, 42], "fallen": 16, "hidden": 16, "rectifi": [16, 17], "attent": [16, 18, 25, 31], "omit": [16, 30, 40], "exposit": [16, 21], "tx": 16, "heavier": 16, "support": [16, 36, 45], "convers": [16, 38], "latter": [16, 23, 24, 25], "vilfredo": [16, 45, 49], "1896": [16, 49], "benhabib": [16, 29, 49], "bisin": [16, 49], "axtel": [16, 49], "2001": [16, 49], "gabaix": [16, 49], "rozenfeld": [16, 49], "et": [16, 19, 22, 29, 34], "al": [16, 19, 22, 29, 34], "polit": [16, 17, 28, 49], "acemoglu": [16, 49], "robinson": [16, 49], "2002": [16, 18, 29, 49], "glaeser": [16, 49], "bhandari": [16, 49], "ahn": [16, 49], "ongo": 16, "fujiwara": [16, 49], "2004": [16, 17, 49], "kondo": [16, 49], "schluter": [16, 49], "trede": [16, 49], "sound": 16, "esoter": 16, "varieti": [16, 26, 34], "corpor": [16, 27], "task": [16, 21, 28, 33, 34, 40, 47], "median": 16, "violin": [16, 25], "num_firm": 16, "num_year": 16, "tax_rat": 16, "x_bar": [16, 29, 41], "pareto_rv": 16, "uniform": [16, 25, 28, 39], "\u03c3_sq": 16, "dist": [16, 30], "tax_rev": 16, "tax_rais": 16, "num_rep": 16, "tax_rev_lognorm": 16, "tax_rev_pareto": 16, "violinplot": [16, 25, 36], "1458729": 16, "0546623734": 16, "406089": 16, "3613661567": 16, "2556174": 16, "8615230713": 16, "25586": 16, "44456513965": 16, "conclus": 16, "itx": 16, "never": [16, 24, 37], "x_j": [16, 19, 27, 28], "prod_": [16, 30], "stori": [17, 18, 48], "societi": 17, "man": 17, "starv": 17, "fabul": 17, "roman": 17, "republ": 17, "levitt": [17, 49], "carthag": 17, "invas": 17, "spain": [17, 18, 34], "rome": 17, "greatli": 17, "enrich": 17, "meanwhil": [17, 26], "ordinari": [17, 41, 42], "fight": 17, "turmoil": 17, "shook": 17, "gave": 17, "dictatorship": 17, "octavian": 17, "augustu": 17, "bce": 17, "event": [17, 26, 36, 43], "loos": 17, "scientif": [17, 40, 49], "plotli": [17, 43], "tenac": [17, 43], "rd": 17, "px": 17, "w_n": [17, 30], "poorest": 17, "y_i": [17, 24, 41], "w_j": 17, "lowest": 17, "lorenz_curv": 17, "array_lik": 17, "ndim": 17, "unord": 17, "fine": 17, "cum_peopl": 17, "cum_incom": 17, "en": 17, "wikipedia": [17, 24, 33], "wiki": 17, "a_val": 17, "10_000": [17, 25, 29, 30, 33, 39], "f_val": 17, "l_val": 17, "cumsum": [17, 28, 29, 36], "subset": [17, 31, 38], "scf_plu": [17, 30], "survei": [17, 30], "scf": [17, 30], "url": [17, 30, 49], "scf_plus_mini": 17, "df_income_wealth": 17, "n_wealth": [17, 30], "t_incom": 17, "l_incom": 17, "nw_group": 17, "ti_group": 17, "266933": 17, "55483": 17, "027": 17, "998732": 17, "87434": 17, "795034": 17, "94": [17, 31, 40, 41, 43], "94531": 17, "166081": 17, "count": [17, 25, 39, 41], "shuffl": 17, "f_vals_nw": 17, "f_vals_ti": 17, "f_vals_li": 17, "l_vals_nw": 17, "l_vals_ti": 17, "l_vals_li": 17, "gain": [17, 21, 35], "2n": [17, 27], "twice": [17, 34], "area": [17, 21, 39, 45, 49], "shade": [17, 21], "gini_coeffici": 17, "i_sum": 17, "\u03c3_val": [17, 36], "2_000": 17, "cpu": [17, 28, 33], "user": [17, 28, 33, 34], "sy": [17, 28, 33], "ns": [17, 25, 28, 33], "wall": [17, 28, 33], "plot_inequality_measur": 17, "search": [17, 34], "si": 17, "pov": 17, "cent": [17, 18], "prosper": 17, "extent": [17, 21], "shortdefinit": 17, "statisticalconceptandmethodolog": 17, "portal": 17, "fetch": 17, "gini_al": 17, "data_usa": 17, "1980": 17, "509455": 17, "000000": 17, "122062": 17, "607350": 17, "1959": 17, "notebook": [17, 43, 47], "data_url": [17, 18, 26, 41], "_static": [17, 26, 41], "lecture_specif": [17, 26, 41], "nwealth": 17, "tincom": 17, "lincom": 17, "index_col": [17, 18, 26], "825733": 17, "442487": 17, "534295": 17, "1953": [17, 41], "805949": 17, "426454": 17, "515898": 17, "812179": 17, "444269": 17, "534929": 17, "795207": 17, "437493": 17, "521399": 17, "808695": 17, "443584": 17, "534513": 17, "exhibit": [17, 18, 38, 46], "mainli": [17, 18], "driven": [17, 48], "evolut": [17, 42], "swe": 17, "ind": [17, 18, 26], "ita": 17, "isr": 17, "pan": 17, "nru": 17, "srb": 17, "syc": 17, "lca": 17, "mmr": 17, "tur": 17, "grd": 17, "mhl": 17, "sur": 17, "168": 17, "167": 17, "norwai": 17, "1986": 17, "ffill": 17, "gdppc": [17, 26, 41], "plot_data": 17, "merg": [17, 43], "pgdppc": 17, "left_index": 17, "right_index": 17, "min_year": [17, 26], "max_year": [17, 26], "mask": [17, 18], "clariti": [17, 34], "chart": [17, 26], "800": [17, 19], "update_trac": 17, "textposit": 17, "western": [17, 18, 26], "grown": [17, 26], "interestingli": 17, "lfloor": 17, "rfloor": 17, "floor": 17, "df_topshar": 17, "df2": 17, "groupbi": 17, "numeric_onli": 17, "df3": 17, "r_weight": 17, "df4": 17, "nw": 17, "ti": [17, 31], "weighted_n_wealth": 17, "weighted_t_incom": 17, "weighted_l_incom": 17, "extract": [17, 39], "df6": 17, "df7": 17, "df5": 17, "df8": 17, "df9": 17, "weighted_n_wealth_top10": 17, "weighted_t_income_top10": 17, "weighted_l_income_top10": 17, "topshare_n_wealth": 17, "topshare_t_incom": 17, "topshare_l_incom": 17, "calculate_top_shar": 17, "topshar": 17, "percentil": [17, 29], "lorenz2top": 17, "top_shares_nw": 17, "effici": [17, 18, 24], "speed": [17, 33], "094550e": 17, "512145e": 17, "255242e": 17, "525005e": 17, "294007": 17, "477071e": 17, "160138e": 17, "316296e": 17, "671516": 17, "340803e": 17, "08": [17, 26, 40, 43], "001954e": 17, "000000e": 17, "357817e": 17, "614322e": 17, "207430": 17, "484058e": 17, "812237e": 17, "247179e": 17, "380133": 17, "622574e": 17, "077778e": 17, "582137e": 17, "017505": 17, "928346e": 17, "056805e": 17, "115575e": 17, "052229": 17, "random_st": [17, 29, 30], "479748": 17, "9214": 17, "546196": 17, "495754": 17, "6007000": 17, "36454": 17, "914": 17, "925190": 17, "9300769449032591": 17, "g_sum": 17, "9300769449032564": 17, "\u03bc_val": [17, 36], "10985947318218192": 17, "5762245640787435": 17, "8627819977275067": 17, "9681981903986449": 17, "9921858284379697": 17, "xlrd": [18, 43], "96": [18, 40, 46], "32m96": 18, "31m4": 18, "googl": [18, 27, 34, 40], "collab": 18, "compat": [18, 23, 31], "importlib": [18, 43], "mdate": 18, "treasuri": 18, "offici": [18, 27], "bundl": [18, 19, 45], "20th": [18, 26], "explan": [18, 24], "abandon": 18, "subsequ": [18, 21, 27, 28, 37], "displai": [18, 19, 26, 28, 31, 32, 34, 36], "1600": [18, 26], "castil": 18, "phrase": 18, "circul": [18, 48], "content": [18, 34, 40], "warehous": 18, "certif": [18, 43], "host": [18, 34], "longpric": 18, "xl": 18, "df_fig5": 18, "interv": [18, 21, 31, 36], "df_fig5_befe1914": 18, "col": [18, 41, 46], "1913": [18, 26], "laps": 18, "stare": [18, 31, 32, 46], "markedli": 18, "french": [18, 20, 49], "revolut": [18, 20, 26, 49], "1861": [18, 26], "1865": [18, 26], "irv": 18, "fisher": 18, "yale": 18, "cambridg": [18, 49], "anchor": 18, "consider": 18, "opportun": [18, 39], "jewelri": 18, "durabl": 18, "firmli": 18, "refus": 18, "prompt": [18, 43], "barbar": 18, "relic": 18, "fiat": 18, "dispos": 18, "adher": 18, "mechan": [18, 31, 49], "deter": 18, "counterfeit": 18, "outbreak": 18, "abil": [18, 29], "set_yscal": [18, 22, 26, 31, 32], "1e6": 18, "disappoint": 18, "statesmen": 18, "propon": 18, "trust": 18, "willing": [18, 21, 45], "light": 18, "moni": 18, "breadth": 18, "inflationari": 18, "novemb": 18, "1918": [18, 26, 42], "struggl": 18, "retail": [18, 19], "1921": 18, "wholesal": [18, 19], "vi": 18, "\u00e0": 18, "appendix": 18, "transcrib": 18, "chapter_3": 18, "cell": [18, 27, 34], "process_entri": 18, "trail": 18, "whitespac": 18, "strip": 18, "comma": 18, "html": [18, 28], "item_to_remov": 18, "1e9": 18, "item": [18, 45], "process_df": 18, "to_datetim": [18, 26], "duplic": 18, "attribut": [18, 24, 27, 44], "1925": [18, 42], "pe_plot": 18, "pr_plot": 18, "e_seq": 18, "lab": 18, "p_lab": 18, "e_lab": 18, "set_major_loc": [18, 22, 31, 32], "monthloc": 18, "set_major_formatt": 18, "dateformatt": 18, "get_xticklabel": 18, "set_rot": 18, "log_diff_p": 18, "diff_smooth": 18, "excelfil": 18, "select": [18, 22, 28, 30, 32, 39, 48], "sheet_index": 18, "redund": 18, "remove_row": 18, "df_list": 18, "sheet_list": 18, "table3": 18, "concat": [18, 26], "df_au": 18, "df_hun": 18, "df_pol": 18, "df_deu": 18, "pertain": 18, "austrian": 18, "krone": 18, "monthli": [18, 36], "impress": 18, "hungarian": 18, "york": [18, 49], "korona": 18, "splice": 18, "On": [18, 31, 38, 49], "zloti": 18, "glu": 18, "p_seq1": 18, "p_seq2": 18, "p_seq3": 18, "mask_1": 18, "isna": [18, 41], "mask_2": 18, "adj_ratio12": 18, "adj_ratio23": 18, "polish": 18, "reichsmark": 18, "1e12": 18, "1923": 18, "pariti": [18, 26], "dime": 18, "stood": [18, 46], "readi": [18, 26], "unback": 18, "credibl": 18, "levi": [18, 48], "spectacular": 18, "german": 18, "trillion": 18, "prewar": 18, "austro": 18, "told": 18, "ground": [18, 31, 32], "belief": 18, "quantecon_book_network": [19, 34], "networkx": [19, 28, 43], "pot": [19, 34, 43], "manylinux_2_17_x86_64": [19, 27], "manylinux2014_x86_64": [19, 27], "contourpi": [19, 34, 43], "fonttool": [19, 34, 43], "kiwisolv": [19, 34, 43], "pillow": [19, 34, 43], "pypars": [19, 34, 43], "364": 19, "32m364": 19, "31m15": 19, "867": [19, 33], "32m867": 19, "31m65": 19, "nx": [19, 28, 34], "input_output": [19, 34, 43], "qbn_io": [19, 34], "qbn_plt": 19, "qbn_data": [19, 34], "mpl": [19, 28], "polygon": [19, 27, 28], "rcparamsdefault": 19, "linkag": 19, "build_coefficient_matric": 19, "ch2_data": 19, "us_sectors_15": 19, "adjacency_matrix": [19, 34], "total_industry_sal": 19, "434": 19, "gdp_df": 19, "eigenvector_centr": [19, 34], "color_list": 19, "colorise_weight": [19, 34], "plot_graph": 19, "layout_typ": 19, "spring": 19, "layout_se": 19, "5432167": 19, "node_color_list": 19, "wh": 19, "mi": [19, 49], "mine": 19, "ed": 19, "health": 19, "ut": 19, "tr": [19, 34], "entertain": [19, 34], "exc": 19, "ma": [19, 49], "manufactur": [19, 27], "fi": 19, "serv": [19, 31], "characteris": [19, 23], "link": [19, 34, 49], "framework": 19, "d_j": 19, "0j": 19, "denomin": [19, 41], "min_": [19, 27, 30, 40, 41], "digraph": 19, "node": [19, 28, 29, 34, 40], "edg": [19, 28, 29, 30, 34, 40], "edges1": 19, "edges2": 19, "add_nodes_from": [19, 34], "add_edges_from": [19, 34], "pos_list": 19, "po": [19, 28, 34], "draw_networkx_nod": [19, 28, 34], "node_s": [19, 28, 34], "node_color": [19, 28, 34], "draw_networkx_label": [19, 28, 34], "draw_networkx_edg": [19, 28, 34], "edgelist": 19, "300": [19, 26, 31, 34], "arrows": [19, 34], "min_target_margin": 19, "055": 19, "125": [19, 29, 40], "825": [19, 27], "955": 19, "feasibl": [19, 22, 27, 32], "d_2": [19, 37], "380": 19, "395": [19, 40], "33": [19, 24, 27, 28, 29, 40, 41, 43], "130": [19, 27, 41], "feasible_set": [19, 27], "301": 19, "151": 19, "368": 19, "143": [19, 29], "cyan": 19, "add_patch": [19, 27], "260": [19, 40], "115": [19, 41], "0n": 19, "hawkin": 19, "det": [19, 24], "0e": 19, "8e": 19, "sweep": 19, "10d_1": 19, "500d_2": 19, "dorfman": [19, 49], "1958": [19, 26, 35, 41, 49], "surfac": 19, "dual": [19, 27], "primal": [19, 27], "max_": [19, 22, 27, 32, 35], "deliv": 19, "dualiti": 19, "175": [19, 29], "ld_0": 19, "ld_1": 19, "l_": 19, "induc": [19, 34, 45], "adjac": 19, "rank": [19, 34], "e_i": [19, 34, 44], "e_j": [19, 34], "hub": 19, "significantli": [19, 26], "mu_j": 19, "disuss": 19, "whole": 19, "omult": 19, "katz_centr": 19, "omult_color_list": 19, "highest": [19, 27, 34], "infer": 19, "z_0": [19, 23], "16751071": 19, "69224776": 19, "trigonometri": 20, "geometr": [20, 38], "lln": [20, 33], "clt": [20, 33], "heavi": [20, 34, 36, 49], "tail": [20, 25, 26, 33, 34, 36, 49], "racial": 20, "segreg": [20, 49], "solow": [20, 35, 38, 43, 49], "swan": [20, 35, 38], "cobweb": [20, 43, 49], "overlap": 20, "laffer": [20, 31, 48], "markov": [20, 49], "chain": [20, 49], "irreduc": [20, 23, 28, 34], "ergod": 20, "univari": [20, 25], "shortest": [20, 34], "perron": [20, 34], "frobeniu": [20, 34], "lake": 20, "employ": [20, 28, 29], "heterogen": 20, "maximum": [20, 27, 31, 33, 35, 39, 42], "likelihood": 20, "troubleshoot": [20, 43], "microeconom": 21, "15th": 21, "16th": 21, "17th": 21, "mercantilist": 21, "swai": 21, "ruler": 21, "bullion": 21, "bad": [21, 36], "overturn": 21, "ricado": 21, "enhanc": 21, "simplest": 21, "surplus": [21, 45], "optimum": 21, "jump": [21, 26, 31, 32, 36, 38], "98": [21, 37, 40, 49], "descend": 21, "indiffer": 21, "arbitrarili": 21, "58": [21, 33, 40, 41], "portion": 21, "wtp": 21, "darkorang": 21, "inverse_demand": 21, "q_min": 21, "q_max": 21, "q_grid": 21, "110": [21, 48], "analog": [21, 22, 24, 26, 36], "meet": 21, "q_star": 21, "small_grid": 21, "wt": 21, "91": [21, 40, 49], "inverse_suppli": 21, "int_a": [21, 25, 36], "mathrm": [21, 25, 33, 42], "ab_grid": 21, "beauti": [21, 25, 28], "geometri": 21, "onto": 21, "equilibria": [21, 31, 32, 44, 45, 48], "affin": 21, "s_0": [21, 33], "s_1": [21, 27, 33], "intercept": [21, 41], "create_market": 21, "grid_min": 21, "grid_siz": 21, "supply_curv": [21, 45], "demand_curv": [21, 45], "intersect": [21, 24, 27], "s_c": 21, "ps": [21, 45], "ones_lik": [21, 35], "increment": [21, 40, 43], "s_p": 21, "pq": 21, "q_val": 21, "brown": [21, 22, 32], "planner": [21, 45], "strategi": [21, 27], "taker": [21, 45], "i_d": [21, 34], "pencil": [21, 33, 35], "minimize_scalar": [21, 42], "messag": [21, 48], "maximizing_q": 21, "90564": 21, "e_d": 21, "newton": [21, 35], "somewher": 21, "excess_demand": 21, "equilibrium_q": 21, "report": [22, 41, 49], "intact": 22, "pervers": [22, 31, 32], "religion": 22, "bruno": [22, 31, 32, 49], "fischer": [22, 31, 32, 49], "purpos": [22, 26, 27], "counter": [22, 39], "marcet": [22, 49], "1989": [22, 42, 49], "nicolini": [22, 49], "recurr": [22, 49], "latin": 22, "america": [22, 49], "promid": 22, "pseudo": [22, 32], "overlin": [22, 31, 32, 48], "ticker": [22, 31, 32], "maxnloc": [22, 31, 32], "get_cmap": 22, "to_rgba": 22, "fsolv": [22, 32], "lafferadapt": 22, "create_model": [22, 31, 32, 48], "\u03c0_bar": [22, 32], "solve_\u03c0": [22, 32], "solve_\u03c0_bar": [22, 32], "xtol": [22, 32], "\u03c0_l": [22, 32], "\u03c0_u": [22, 32], "6737147075333032": [22, 32], "6930797322614812": [22, 32], "compute_seign": [22, 32], "plot_laff": [22, 32], "\u03c0s": [22, 32], "x_valu": [22, 32, 42], "seigniorag": [22, 31, 32, 49], "y_valu": [22, 32], "pi_l": [22, 32], "pi_u": [22, 32], "solve_p_init": 22, "\u03c0_star": 22, "p_l": [22, 32], "p_u": [22, 32], "9420275397547435": 22, "451710052118832": 22, "solve_laffer_adapt": 22, "p_init": 22, "\u03c0_init": 22, "pt": [22, 34, 48], "\u03c0_t": [22, 32], "\u03bc_t": [22, 32], "\u03b1x": [22, 32], "eq_g": [22, 32], "6737147075332999": 22, "6737147075332928": 22, "69307973225105": 22, "6930797322506947": 22, "perturb": 22, "draw_iter": [22, 31, 32], "\u03c00": 22, "line_param": [22, 31, 32], "sharex": [22, 31, 32], "timestep": [22, 31, 32], "pool": 23, "worker": [23, 28, 29, 42], "exit": 23, "n_t": 23, "u_": [23, 46], "bn_t": 23, "u_0": 23, "e_0": 23, "ax_0": 23, "2x_0": 23, "tx_0": 23, "e_o": 23, "lakemodel": 23, "dismiss": 23, "013": 23, "0124": 23, "00822": 23, "simulate_path": 23, "u0": 23, "e0": 23, "atleast_1d": 23, "recast": 23, "lm": 23, "92": [23, 40, 43, 49], "n_0": 23, "x_path": 23, "inflow": [23, 34], "entrant": 23, "outflow": 23, "n_": 23, "appeal": [23, 33], "stem": 23, "firstli": 23, "secondli": 23, "smaller": 23, "min_j": 23, "colsum": 23, "_j": 23, "max_j": 23, "plot_time_path": 23, "atleast_2d": 23, "workforc": 23, "ko": 23, "xycoord": [23, 42], "textcoord": [23, 42], "025": 23, "rate_path": 23, "\u016b": 23, "\u0113": 23, "v_1": [23, 34], "v_2": 23, "gamma_1": [23, 31, 48], "gamma_2": [23, 31, 48], "sum_j": 23, "propan": 24, "ethanol": 24, "rice": 24, "wheat": 24, "q_0": 24, "insert": [24, 28, 31, 35], "82": [24, 40, 41, 43], "tupl": 24, "tag": 24, "x2": [24, 27], "y2": 24, "headwidth": 24, "headlength": 24, "elementwis": 24, "advantag": [24, 31, 34], "7320508075688772": 24, "1k": 24, "n1": 24, "nk": 24, "i1": 24, "i2": 24, "n2": 24, "ik": 24, "tutori": 24, "elsewher": [24, 28], "ddot": 24, "ai": 24, "ia": 24, "manual": 24, "ndarrai": [24, 45], "wherea": 24, "revisit": [24, 34], "extra": [24, 39], "someth": [24, 28, 30, 31, 33, 48], "energi": 24, "crude": 24, "gasolin": 24, "coal": 24, "ga": 24, "uranium": 24, "fortun": [24, 33], "dp": 24, "cp": 24, "1n": [24, 27], "nn": 24, "b_n": 24, "overdetermin": 24, "underdetermin": 24, "defer": 24, "3y": 24, "2x": [24, 27], "6y": 24, "parallel": [24, 27], "nd": 24, "2y": 24, "4y": 24, "bc": 24, "singular": 24, "summari": [24, 41], "possess": 24, "submodul": 24, "front": [24, 27], "fortran": 24, "340": 24, "0000000000001": 24, "a_inv": [24, 46], "05882353": 24, "02941176": 24, "01764706": 24, "41176471": 24, "17647059": 24, "82352941": 24, "15p_0": 24, "5p_1": 24, "5p_2": 24, "5p_0": 24, "10p_1": 24, "10p_2": 24, "q_2": 24, "20p_0": 24, "15p_1": 24, "35p_0": 24, "25p_1": 24, "15p_2": 24, "ap": 24, "9999": 24, "99999999999": 24, "9625": 24, "0625": 24, "675": 24, "6925": 24, "inconsist": 24, "nq": 24, "9n": 24, "7n": 24, "3n": 24, "lstsq": 24, "46428571": 24, "17857143": 24, "rcond": 24, "u0302": 24, "u2016ax": 24, "u2016": 24, "u00b2": 24, "\u00b2": 24, "07142857142857066": 24, "document": [24, 27, 43], "lie": [25, 29], "econometr": [25, 46, 49], "bernoulli": 25, "toss": 25, "bias": 25, "flip": [25, 33, 36, 39], "divid": [25, 39, 41, 48], "800645": 25, "300874": 25, "trial": [25, 36], "mass": [25, 28, 36], "kolmogorov": [25, 30], "isn": [25, 31], "pick": [25, 28, 30, 31], "larger": [25, 31, 33, 36, 45, 48], "tightli": 25, "draw_mean": 25, "x_distribut": 25, "x_sampl": 25, "generate_histogram": 25, "means_violin_plot": 25, "wspace": [25, 28], "concentr": 25, "contradict": 25, "collaps": [25, 28, 39, 49], "No": [25, 39, 40], "correct": [25, 34], "stackrel": 25, "magic": 25, "conform": 25, "expon": [25, 30, 36], "xgrid": [25, 38, 42], "chose": 25, "mathbf": [25, 28, 34], "epsilon": [25, 38, 39], "epsilon_1": 25, "epsilon_2": 25, "q1": 25, "proof": [25, 28, 29, 34, 40, 43], "epsilon_0": 25, "q2": [25, 41], "\u03f5": 25, "yabs_max": 25, "geopolit": 26, "anteced": 26, "timelin": 26, "19th": 26, "nineteenth": 26, "caught": 26, "surpass": 26, "underpin": 26, "tempt": 26, "impati": 26, "xxx": 26, "migrat": 26, "hundr": 26, "angu": [26, 49], "maddison": 26, "latest": [26, 29, 43, 47], "releas": 26, "repositori": 26, "mpd2020": 26, "countrycod": 26, "pop": [26, 40], "afg": [26, 41], "afghanistan": [26, 41], "3280": 26, "1870": 26, "4207": 26, "5730": 26, "1156": [26, 41], "8150": 26, "1951": [26, 41], "1170": [26, 41], "8284": 26, "country_year": 26, "cy_data": 26, "angola": 26, "albania": 26, "arab": 26, "emir": 26, "1800": [26, 41], "quicker": 26, "access": [26, 29, 34, 43], "code_to_nam": 26, "drop_dupl": 26, "gdp_pc": 26, "ago": [26, 41], "alb": [26, 41], "arm": 26, "au": [26, 34], "aut": 26, "bdi": 26, "uri": [26, 43], "uzb": 26, "ven": 26, "vnm": [26, 41], "yem": [26, 41], "yug": 26, "zaf": [26, 41], "zmb": [26, 41], "zwe": [26, 41], "0000": [26, 31, 41], "8673": 26, "9808": 26, "72601": 26, "19183": 26, "9735": 26, "47867": 26, "41338": 26, "17439": 26, "748": 26, "19160": 26, "51664": 26, "9085": 26, "20317": 26, "5455": 26, "4054": 26, "14627": 26, "12242": 26, "3478": 26, "1594": [26, 41], "1928": 26, "8689": 26, "10032": 26, "74746": 26, "19502": 26, "10042": 26, "48357": 26, "41294": 26, "17460": 26, "694": 26, "19244": 26, "52591": 26, "9720": 26, "18802": 26, "5763": 26, "2844": 26, "14971": 26, "12246": 26, "1560": [26, 41], "8453": 26, "10342": 26, "75876": 26, "18875": 26, "10080": 26, "48845": 26, "41445": 26, "16645": 26, "665": 26, "19468": 26, "53015": 26, "10381": 26, "15219": 26, "6062": 26, "2506": 26, "15416": 26, "12139": 26, "3479": 26, "1534": [26, 41], "7453": 26, "8146": 26, "4354": 26, "10702": 26, "1201": 26, "76643": 26, "4984": 26, "19200": 26, "9061": 26, "10859": 26, "3783": 26, "49265": 26, "6135": 26, "42177": 26, "3706": [26, 40], "16522": 26, "3072": 26, "671": 26, "3169": 26, "19918": 26, "1361": 26, "54007": 26, "7698": 26, "10743": 26, "8666": 26, "12879": 26, "1350": 26, "6422": 26, "0865": 26, "2321": 26, "9239": 26, "15960": 26, "8432": 26, "12189": 26, "3579": 26, "3497": 26, "5818": 26, "1582": [26, 41], "3662": [26, 41], "1934": [26, 41], "5550": [26, 41], "7771": [26, 41], "4418": 26, "11104": [26, 41], "1665": 26, "76397": 26, "8181": 26, "18556": [26, 41], "3831": 26, "11454": 26, "4251": 26, "49830": 26, "7993": 26, "42988": 26, "0709": 26, "16628": 26, "0553": 26, "651": 26, "3589": 26, "20185": 26, "8360": 26, "55334": 26, "7394": 26, "11220": 26, "3702": 26, "10709": 26, "9506": 26, "6814": [26, 41], "1423": 26, "2284": [26, 41], "8899": 26, "16558": 26, "3123": 26, "12165": 26, "7948": 26, "3534": [26, 41], "0337": [26, 41], "1611": [26, 41], "4052": [26, 41], "color_map": 26, "country_nam": 26, "colormap": 26, "tab20": 26, "dictionari": 26, "geari": 26, "khami": 26, "gk": 26, "millennium": 26, "draw_interp_plot": 26, "logscal": 26, "matplolib": 26, "df_interpol": 26, "limit_area": 26, "interpolated_data": 26, "isnul": 26, "solid": [26, 31], "earnest": 26, "year_rang": 26, "y_text": 26, "1500": [26, 41], "1650": 26, "1652": 26, "navig": 26, "1651": 26, "1655": 26, "1684": 26, "1848": 26, "1850": 26, "repeal": 26, "1849": 26, "1840": 26, "depress": 26, "draw_ev": 26, "event_mid": 26, "clip_on": 26, "strikingli": 26, "spread": 26, "lift": 26, "fascin": 26, "1700": 26, "downturn": 26, "qing": 26, "onset": 26, "strengthen": 26, "stun": 26, "chines": 26, "prc": 26, "culmin": 26, "liber": 26, "1839": 26, "1842": 26, "opium": 26, "1895": 26, "ww": 26, "1949": [26, 41], "leap": 26, "watch": [26, 45], "interrupt": 26, "scar": 26, "proxi": [26, 27, 43], "former": 26, "soviet": 26, "notabl": 26, "1860": 26, "1880": 26, "russia": 26, "setback": 26, "februari": 26, "start_year": 26, "end_year": 26, "bem": 26, "nzl": 26, "colour": 26, "1821": 26, "savefig": 26, "long_run_growth": [26, 43], "tooze_ch1_graph": 26, "png": 26, "bbox_inch": 26, "came": 26, "nowher": 26, "rival": 26, "overtak": 26, "ii": 26, "spirit": [26, 46], "realiti": 26, "club": 26, "droplevel": 26, "regionalgdp_pc": 26, "gdppc_2011": 26, "offshoot": 26, "saharan": 26, "africa": 26, "west": 26, "ortool": [27, 43], "4067": [27, 43], "absl": [27, 43], "absl_pi": 27, "protobuf": [27, 43], "cp38": 27, "abi3": 27, "592": 27, "byte": 27, "immutabledict": [27, 43], "31m18": 27, "32m5": 27, "31m82": 27, "32m10": 27, "31m146": 27, "32m15": 27, "31m100": 27, "32m22": 27, "31m187": 27, "32m26": 27, "31m192": 27, "31m89": 27, "133": [27, 40], "32m133": 27, "31m44": 27, "309": 27, "32m309": 27, "31m77": 27, "attempt": 27, "uninstal": 27, "31merror": 27, "resolv": [27, 41], "behaviour": 27, "conflict": 27, "streamlit": [27, 43], "incompat": 27, "0msuccessfulli": 27, "linear_solv": 27, "pywraplp": 27, "linprog": 27, "bertsima": [27, 49], "1997": [27, 49], "materi": 27, "mbox": 27, "le": [27, 31, 35], "ge": [27, 28, 29], "iso": 27, "4x_1": 27, "875": [27, 40], "375": 27, "delin": 27, "instanti": 27, "glop": 27, "createsolv": 27, "numvar": 27, "infin": [27, 29], "swig": 27, "operations_research": 27, "mpconstraint": 27, "0x7f5882e9b000": 27, "statu": [27, 43], "solution_valu": 27, "mutual": 27, "fund": [27, 34, 48], "annuiti": 27, "permit": 27, "x_4": 27, "x_5": 27, "protocol": 27, "unrestrict": 27, "20_000": 27, "x3": 27, "x4": 27, "x5": 27, "50_000": [27, 33, 39], "0x7f5882e9a010": 27, "x1_sol": 27, "x2_sol": 27, "x3_sol": 27, "x4_sol": 27, "x5_sol": 27, "141018": 27, "24349792692": 27, "24927": 27, "755": 27, "75072": 27, "245": 27, "927": 27, "Its": [27, 31], "072": 27, "repai": 27, "141": [27, 29, 40], "018": 27, "unifi": 27, "superfici": 27, "softwar": 27, "devot": 27, "c_n": 27, "b_2": [27, 44, 45], "m1": 27, "m2": 27, "mn": 27, "b_m": 27, "s_i": [27, 33], "slack": 27, "s_2": 27, "ub": 27, "unless": [27, 31, 33], "c_ex1": 27, "a_ex1": 27, "b_ex1": 27, "boolean": 27, "res_ex1": 27, "a_ub": 27, "b_ub": 27, "s_3": 27, "s_4": 27, "s_j": 27, "c_ex2": 27, "a_ex2": 27, "b_ex2": 27, "bounds_ex2": 27, "res_ex2": 27, "a_eq": 27, "b_eq": 27, "24349792697": 27, "4648": 27, "20000": 27, "50000": 27, "648": 27, "reformul": 27, "0x7f5882e9a850": 27, "333333333333336": 27, "carpent": 27, "hour": [27, 35], "week": 27, "maximis": [27, 30], "8y": 27, "0x7f5882e9afa0": 27, "23x": 27, "10y": 27, "x_sol": 27, "y_sol": 27, "297": 27, "unemploy": 28, "workhors": [28, 46], "insight": [28, 49], "axes3d": 28, "anim": 28, "funcanim": 28, "ipython": [28, 43], "art3d": 28, "poly3dcollect": 28, "rigor": [28, 30, 35], "2005": [28, 39, 49], "ng": [28, 34, 43], "mr": [28, 34, 45], "sr": [28, 34], "97": [28, 40], "lose": 28, "herself": 28, "categor": 28, "democraci": 28, "autocraci": 28, "anocraci": 28, "dc": 28, "nc": 28, "ac": 28, "86": [28, 29, 40, 49], "darker": 28, "multidigraph": 28, "start_idx": 28, "node_start": 28, "end_idx": 28, "node_end": 28, "add_edg": [28, 34], "spring_layout": 28, "600": [28, 39], "arc_rad": 28, "edge_cmap": 28, "edge_color": [28, 34], "pc": 28, "patchcollect": 28, "set_axis_off": 28, "democrat": 28, "ve": [28, 34], "psi_0": [28, 29], "realiz": [28, 33, 45, 46], "\u03c8_0": 28, "cdf": [28, 36], "mc_sample_path": 28, "p_dist": 28, "250093": 28, "249411": 28, "jit": 28, "homemad": 28, "\u03bcs": 28, "state_valu": 28, "u10": 28, "randomli": [28, 30, 39], "simulate_indic": 28, "postmultipli": 28, "x_m": [28, 29, 30], "postmultipl": 28, "mix": [28, 39], "stuck": [28, 41], "947046": 28, "050721": 28, "002233": 28, "253605": 28, "648605": 28, "09779": 28, "07366": 28, "64516": 28, "28118": 28, "psi_1": 28, "psi_2": 28, "psi_3": 28, "psi_i": 28, "iterate_\u03c8": 28, "\u03c8_t": 28, "\u03c8_1": 28, "\u03c8_2": 28, "\u03c8_3": 28, "simplex": 28, "set_zlim": 28, "add_collection3d": 28, "idx": [28, 39], "frame": 28, "blit": 28, "to_jshtml": 28, "transpar": 28, "strict_stationari": 28, "psi_m": 28, "dimens": [28, 44], "\u03c8_4": 28, "mid": 28, "uncondit": 28, "sum_t": 28, "ph": 28, "p_power": 28, "56145769": 28, "15565164": 28, "28289067": 28, "\u03c8_star_p": 28, "764927": 28, "133481": 28, "085949": 28, "011481": 28, "002956": 28, "001206": 28, "658861": 28, "131559": 28, "161367": 28, "031703": 28, "011296": 28, "005214": 28, "291394": 28, "057788": 28, "439702": 28, "113408": 28, "062707": 28, "035001": 28, "272459": 28, "051361": 28, "365075": 28, "132207": 28, "108152": 28, "070746": 28, "064129": 28, "012533": 28, "232875": 28, "154385": 28, "299243": 28, "236835": 28, "072865": 28, "014081": 28, "244139": 28, "160905": 28, "265846": 28, "242164": 28, "num_distribut": 28, "induct": 28, "reachabl": 29, "commun": [29, 49], "reach": [29, 39, 40], "fictiti": 29, "is_irreduc": [29, 34], "pessimist": 29, "poverti": [29, 34], "sentenc": [29, 41], "suffici": [29, 39], "\u00e4": [29, 49], "ggstr": [29, 49], "\u00f6": [29, 49], "cross": [29, 41, 45], "p_n": 29, "p_hat": 29, "regular": [29, 38], "asymptot": [29, 46], "el": 29, "mobil": [29, 49], "222": [29, 49], "187": 29, "081": 29, "038": 29, "006": 29, "221": 29, "188": 29, "082": 29, "039": 29, "207": 29, "209": 29, "194": 29, "046": 29, "036": 29, "008": 29, "198": 29, "095": 29, "052": 29, "009": 29, "178": 29, "197": [29, 40, 49], "067": 29, "054": 29, "012": 29, "182": 29, "184": [29, 46], "205": 29, "106": 29, "062": 29, "123": [29, 40], "166": [29, 40, 41], "216": [29, 49], "114": [29, 40], "094": 29, "021": 29, "084": 29, "142": 29, "228": 29, "028": 29, "codes_b": 29, "20254451": 29, "20379879": 29, "20742102": 29, "19505842": 29, "09287832": 29, "0503871": 29, "03932382": 29, "00858802": 29, "strongli": [29, 34, 39], "zhao": [29, 49], "2012": [29, 41, 49], "stackexchang": 29, "p2": 29, "p3": 29, "w_bar": 30, "accur": [30, 33, 35], "w_2": 30, "update_scf_noweight": 30, "scf_plus_mini_no_weight": 30, "restrct": 30, "to_numpi": 30, "5000": 30, "stair": 30, "100_000_000": 30, "dw": 30, "unreason": 30, "ln_sampl": 30, "histtyp": [30, 36], "stepfil": 30, "ell": [30, 31, 34], "wrt": 30, "mle": [30, 43], "\u03bc_hat": 30, "0634375526654064": 30, "num": [30, 41], "\u03c3_hat": 30, "1507346258433424": 30, "dist_lognorm": 30, "5_000": 30, "total_revenu": 30, "tr_lognorm": 30, "101105326": 30, "82814859": 30, "prior": 30, "_m": 30, "xm_hat": 30, "0001": [30, 33], "den": [30, 41], "b_hat": 30, "10783091940803055": 30, "dist_pareto": 30, "tr_pareto": 30, "12933168365": 30, "762571": 30, "127": 30, "91777418162567": 30, "reject": 30, "inspect": [30, 37, 40], "threshold": [30, 44, 45], "sample_tail": 30, "df_tail": 30, "500_000": 30, "rv_tail": 30, "4321": 30, "ln_sample_tail": 30, "\u03bc_hat_tail": 30, "num_tail": 30, "\u03c3_hat_tail": 30, "dist_lognorm_tail": 30, "xm_hat_tail": 30, "den_tail": 30, "b_hat_tail": 30, "dist_pareto_tail": 30, "smirnov": 30, "\u03bb_hat": 30, "15234120963403971": 30, "dist_exp": 30, "tr_expo": 30, "55246978": 30, "53427645": 30, "sleev": 31, "macroeconom": [31, 46, 49], "electron": [31, 32], "qualit": [31, 32], "perves": [31, 32], "theses": 31, "suppl": 31, "plural": [31, 37], "b_t": [31, 48], "28": [31, 40, 41, 43, 46], "simulatan": 31, "underlin": 31, "rm": 31, "reus": 31, "moneysupplymodel": [31, 48], "\u03b31": [31, 48], "\u03b32": [31, 48], "r_u": [31, 48], "r_l": [31, 48], "r_steadi": 31, "seign": 31, "msm": [31, 48], "p0_guess": [31, 48], "4f": 31, "r_max": 31, "g_max": 31, "93556171": 31, "53443829": 31, "2959": 31, "7071": 31, "5786": 31, "affili": 31, "seign_valu": 31, "g_u": 31, "g_l": 31, "9356": 31, "5344": 31, "necessarili": [31, 33], "sequenti": [31, 40, 48], "continuum": [31, 42], "intim": 31, "gamma_0": 31, "presenc": 31, "arthur": [31, 49], "hump": 31, "countervail": 31, "exposur": 31, "simulate_system": 31, "b_valu": 31, "annotate_graph": 31, "draw_path": 31, "r0_valu": 31, "time_step": [31, 32], "subgraph": 31, "h_1": 31, "h_2": 31, "h1": 31, "h2": 31, "listen": 31, "talk": [31, 36], "faith": 31, "06887658": 31, "87112342": 31, "99973655": 31, "96033288": 31, "02295281": 31, "27885616": 31, "partit": 31, "q_": 31, "iterate_h": 31, "q_inv": 31, "_0": [31, 48], "p0_bar": [31, 32], "y_seri": 31, "enforc": [31, 32], "integar": [31, 32], "counterintuit": [31, 32], "macroeconomist": 31, "nevertheless": 32, "peculiar": 32, "caganlaff": 32, "solve_p0": 32, "solve_p0_bar": 32, "p0_l": 32, "p0_u": 32, "615742247288047": 32, "144789784380314": 32, "simulate_seq": 32, "\u03bc_bar": 32, "693079732261424": 32, "reconfirm": 32, "easili": 33, "compani": 33, "riski": 33, "refrain": 33, "mathop": 33, "mu_i": [33, 44, 46], "sigma_i": [33, 46], "\u03bc_1": 33, "\u03bc_2": 33, "\u03bc_3": 33, "\u03c3_1": 33, "\u03c3_2": 33, "\u03c3_3": 33, "nativ": 33, "2296032886044137": 33, "compute_mean": 33, "2297951589875753": 33, "compute_mean_vector": 33, "84": [33, 40], "229713576809033": 33, "accuraci": 33, "10_000_000": 33, "772": 33, "836": 33, "229717076077654": 33, "anyon": 33, "ambigu": 33, "benchmark": [33, 46], "particip": 33, "expiri": 33, "s_n": 33, "return_draw": 33, "037003": 33, "s_t": [33, 35], "s_": [33, 34], "xi_": 33, "xi_t": 33, "counterfactu": 33, "sigma_t": 33, "h_t": 33, "h_": 33, "rho": [33, 42], "nu": 33, "eta_": 33, "eta_t": 33, "default_\u03bc": 33, "default_\u03c1": 33, "default_\u03bd": 33, "001": [33, 35], "default_s0": 33, "default_h0": 33, "default_k": 33, "default_n": 33, "default_\u03b2": 33, "simulate_asset_price_path": 33, "s0": [33, 45], "\u03c1": 33, "\u03bd": 33, "compute_call_pric": 33, "current_sum": 33, "180": [33, 41], "510": 33, "339493179762": 33, "problemat": 33, "compute_call_price_vector": 33, "442": 33, "31495596097386": 33, "2min": 33, "1033752183821": 33, "knockout": 33, "vanilla": [33, 37], "knock": 33, "null": 33, "void": 33, "reactiv": 33, "default_bp": 33, "compute_call_price_with_barri": 33, "bp": 33, "option_is_nul": 33, "039306179823817844": 33, "compute_call_price_with_barrier_vector": 33, "0367494824819124": 33, "hyperlink": [34, 43], "brain": 34, "nerv": 34, "neuron": 34, "artifici": [34, 40], "neural": 34, "intric": 34, "epidemiologist": 34, "transmiss": 34, "diseas": 34, "travel": [34, 40], "salesman": 34, "mpatch": 34, "fragil": 34, "propag": 34, "depth": 34, "commerci": 34, "sitc": 34, "ch1_data": 34, "export_figur": 34, "aircraft_network": 34, "aircraft_network_po": 34, "node_total_export": 34, "edge_weight": 34, "node_pos_dict": 34, "normalise_weight": 34, "edge_width": 34, "color_palett": 34, "viridi": [34, 46], "node_to_color": 34, "src": 34, "weigh": [34, 45], "000kg": 34, "cid": 34, "datavers": 34, "branch": 34, "undirect": 34, "understood": [34, 35, 40], "neat": [34, 39, 42], "trap": [34, 49], "predecessor": 34, "successor": 34, "o_d": 34, "recreat": 34, "edge_list": 34, "draw_spr": 34, "with_label": 34, "font_weight": 34, "bold": 34, "in_degre": 34, "connected": 34, "upstream": 34, "is_strongly_connect": 34, "draw_networkx": 34, "attach": 34, "z_visual": 34, "adjacency_matrix_to_graph": 34, "circular_layout": 34, "font_siz": 34, "australia": 34, "de": 34, "cl": 34, "chile": 34, "es": [34, 44], "portug": 34, "turkei": 34, "gb": 34, "ie": 34, "ireland": 34, "AT": 34, "austria": 34, "IT": 34, "BE": 34, "belgium": 34, "jp": 34, "sw": 34, "switzerland": 34, "se": 34, "sweden": 34, "japanes": 34, "regist": 34, "settlement": 34, "bi": 34, "v_n": 34, "v_j": 34, "pmatrix": 34, "g4": 34, "edge_label": 34, "draw_networkx_edge_label": 34, "grant": 34, "g5": 34, "obviou": 34, "g6": 34, "recur": 34, "rescu": 34, "m_i": 34, "g7": 34, "planar_layout": 34, "ig7": 34, "build_unweighted_matrix": 34, "indegre": 34, "centrality_plot_data": 34, "centrality_measur": 34, "tolist": 34, "visibl": 34, "handlelength": 34, "unfortun": 34, "inbound": 34, "deserv": 34, "traffic": 34, "visitor": 34, "concret": 34, "primit": [34, 45], "a_temp": 34, "to_numpy_arrai": 34, "18580570704268037": 34, "11483424225608219": 34, "14194292957319637": 34, "eig_centr": 34, "player": 34, "neighbour": 34, "variant": 34, "pagerank": 34, "unimport": 34, "kappa": 34, "kappa_i": 34, "kappa_j": 34, "confer": 34, "websit": 34, "terminolog": [34, 36], "wrote": 34, "figurenshow": 34, "ecentral_author": 34, "interbank": 34, "jackson": [34, 49], "easlei": [34, 49], "borgatti": [34, 49], "goyal": [34, 49], "realm": 34, "newman": [34, 49], "menczer": [34, 49], "coscia": [34, 49], "reflex": 34, "trivial": [34, 40, 45], "symmetri": 34, "og": 34, "out_degre": 34, "1458980838002507": 34, "09016989800748738": 34, "055728056024793506": 34, "14589810100962303": 34, "09016994824024988": 34, "1803397955498566": 34, "2016262193602515": 34, "is_access": 34, "olg": [35, 43], "maker": 35, "challeng": 35, "clarifi": 35, "born": 35, "young": 35, "ell_t": 35, "elast": [35, 42], "capital_demand": 35, "capital_suppli": 35, "equilibrium_r_log_util": 35, "redo": 35, "r_val": 35, "r_e": 35, "k_e": 35, "k_updat": 35, "kmin": 35, "kmax": 35, "k_grid": [35, 42], "k_grid_next": 35, "k_star": [35, 42], "r_star": 35, "k_seri": 35, "r_seri": 35, "\u03b3": 35, "create_olg_model": 35, "redefin": 35, "savings_crra": 35, "k_prime": 35, "r1": 35, "r2": 35, "25788950250843484": 35, "parameter": [35, 36, 42], "intit": 35, "simulate_t": [35, 42], "k0_valu": 35, "ts": [35, 42], "k_init": 35, "seaborn": [36, 43], "sn": 36, "pmf": 36, "randint": [36, 39], "binom": 36, "009765625000000002": 36, "u_sum": 36, "failur": 36, "geom": 36, "2706705664732254": 36, "6487212707001282": 36, "670774270471604": 36, "\u03bb_val": 36, "0375": 36, "\u03b1_val": 36, "\u03b2_val": 36, "hiroshi": 36, "1200": 36, "ako": 36, "1210": 36, "emi": 36, "1400": 36, "daiki": 36, "990": 36, "chiyo": 36, "1530": 36, "taka": 36, "katsuhiko": 36, "1240": [36, 41], "daisuk": 36, "1124": 36, "yoshi": [36, 49], "1330": 36, "rie": 36, "1340": 36, "1257": 36, "22680": 36, "933333333334": 36, "1mo": 36, "x_amazon": 36, "679568": 36, "722323": 36, "630592": 36, "457531": 36, "838297": 36, "6795679502808625": 36, "kdeplot": 36, "bw_adjust": 36, "bw": 36, "underfit": 36, "wiggli": 36, "overfit": 36, "costco": 36, "x_costco": 36, "\u03c3_squar": 36, "realli": 36, "boil": 37, "carri": 37, "current_d": 37, "sole": 37, "plain": 37, "worthless": 37, "t_": 37, "feed": 38, "send": 38, "exact": [38, 40, 49], "messi": 38, "obvious": 38, "nontrivi": 38, "tackl": [38, 40], "throught": 38, "dy": 38, "ts_plot": [38, 42], "sz": 38, "irregular": 38, "damp": 38, "oscil": 38, "schell": [39, 43, 49], "neighborhood": 39, "neighbor": 39, "race": 39, "uncomfort": 39, "surround": 39, "unstabl": 39, "citi": [39, 49], "reinforc": 39, "award": 39, "nobel": 39, "prize": 39, "aumann": 39, "happi": 39, "nearest": 39, "unhappi": 39, "avers": 39, "bivari": 39, "draw_loc": 39, "get_dist": 39, "num_neighbor": 39, "require_same_typ": 39, "num_same_typ": 39, "plot_distribut": 39, "cycle_num": 39, "x_values_0": 39, "y_values_0": 39, "x_values_1": 39, "y_values_1": 39, "plot_arg": 39, "azur": 39, "pseudocod": 39, "run_simul": 39, "num_of_type_0": 39, "num_of_type_1": 39, "set_se": 39, "reproduc": 39, "no_one_mov": 39, "old_loc": 39, "mind": 39, "orient": 39, "style": 39, "2d": 39, "initialize_st": 39, "compute_distances_from_loc": 39, "get_neighbor": 39, "all_dist": 39, "argsort": 39, "closest": 39, "is_happi": 39, "agent_loc": 39, "agent_typ": 39, "neighbor_typ": 39, "count_happi": 39, "happy_sum": 39, "update_ag": 39, "savepdf": 39, "sim_random_select": 39, "flip_prob": 39, "test_freq": 39, "current_it": 39, "current_typ": 39, "50001": 39, "robot": 40, "intellig": 40, "telecommun": 40, "rout": 40, "packet": 40, "internet": 40, "travers": 40, "vertex": 40, "destin": 40, "scan": 40, "systemat": 40, "f_v": 40, "convinc": 40, "bellman": 40, "richard": 40, "j_0": 40, "j_": 40, "j_n": 40, "inf": 40, "next_j": 40, "array_equ": 40, "methodolog": 40, "node0": 40, "node1": 40, "node8": 40, "node14": 40, "txt": 40, "node46": 40, "1247": 40, "node6": 40, "node13": 40, "node2": 40, "node66": 40, "54": [40, 43], "node31": 40, "node45": 40, "1561": 40, "node3": 40, "node20": 40, "node11": 40, "node4": 40, "node75": 40, "67": [40, 41], "node5": 40, "node7": 40, "1382": 40, "node9": 40, "node10": 40, "node50": 40, "478": 40, "node69": 40, "577": 40, "node12": 40, "node70": 40, "2454": 40, "53": [40, 41, 46], "node89": 40, "5352": 40, "79": [40, 41, 43], "node16": 40, "node94": 40, "4961": 40, "node18": 40, "37": [40, 41, 43], "node84": 40, "3914": 40, "node24": 40, "node28": 40, "170": 40, "node60": 40, "2135": 40, "node38": 40, "236": 40, "node40": 40, "node67": 40, "1878": 40, "node15": 40, "node91": 40, "3597": 40, "node17": 40, "node36": 40, "392": 40, "node19": 40, "278": 40, "node76": 40, "783": 40, "node22": 40, "node23": 40, "3363": 40, "node26": 40, "node98": 40, "3523": 40, "node33": 40, "node21": 40, "node56": 40, "626": 40, "node72": 40, "1447": 40, "node39": 40, "136": 40, "124": 40, "node52": 40, "336": 40, "66": [40, 41, 43, 49], "node25": 40, "1343": 40, "node32": 40, "node35": 40, "node47": 40, "135": [40, 41], "node27": 40, "node42": 40, "122": 40, "node65": 40, "480": 40, "48": [40, 41, 43], "node43": 40, "246": 40, "node82": 40, "2538": 40, "node34": 40, "node29": 40, "node64": 40, "635": 40, "61": [40, 41], "node30": 40, "2616": 40, "3350": 40, "node44": 40, "node97": 40, "2613": 40, "node81": 40, "1854": 40, "node41": 40, "node73": 40, "1075": 40, "node48": 40, "129": 40, "node71": 40, "1171": 40, "node54": 40, "node57": 40, "node37": 40, "269": 40, "node93": 40, "2767": 40, "548": 40, "node53": 40, "162": [40, 41], "node59": 40, "437": 40, "2984": 40, "116": 40, "807": 40, "56": [40, 41, 49], "node58": 40, "93": [40, 43, 49], "node49": 40, "node61": 40, "172": 40, "node99": 40, "2564": 40, "node78": 40, "node85": 40, "251": 40, "76": [40, 41], "node55": 40, "node51": 40, "2110": 40, "1471": 40, "node88": 40, "967": 40, "238": 40, "node86": 40, "701": 40, "node83": 40, "556": 40, "node90": 40, "820": 40, "1057": 40, "node63": 40, "node62": 40, "132": 40, "node80": 40, "47": 40, "594": 40, "node68": 40, "153": 40, "232": 40, "247": 40, "node74": 40, "284": 40, "node92": 40, "243": 40, "node77": 40, "355": 40, "node79": 40, "264": 40, "node87": 40, "node96": 40, "node95": 40, "overwrit": 40, "num_nod": 40, "destination_nod": 40, "map_graph_to_distance_matrix": 40, "in_fil": 40, "infil": 40, "descript": [40, 48], "compute_cost_to_go": 40, "print_best_path": 40, "sum_cost": 40, "current_nod": 40, "next_nod": 40, "argmin": 40, "okai": 40, "160": 40, "55000000000007": 40, "epsilon_i": 41, "goal": 41, "900": 41, "1100": 41, "ic": 41, "cream": 41, "cart": 41, "temperatur": 41, "celsiu": 41, "celciu": 41, "hotter": 41, "residu": 41, "2085": 41, "1370": 41, "370": 41, "1565": 41, "2280": 41, "655": 41, "155": 41, "720": 41, "1435": 41, "335": [41, 49], "ssr": 41, "\u03b2_optim": 41, "\u03b1_optim": 41, "summat": 41, "y_bar": 41, "pow": 41, "37665782493369": 41, "72148541114052": 41, "gdp": [41, 46], "q3": 41, "simple_linear_regress": [41, 43], "entiti": 41, "birth": 41, "417485": 41, "contin": 41, "abkhazia": 41, "owid_abk": 41, "asia": 41, "7480464": 41, "7571542": 41, "1952": 41, "1189": 41, "7667534": 41, "7764549": 41, "1954": 41, "1245": 41, "7864289": 41, "1955": 41, "1246": 41, "7971933": 41, "1278": 41, "8087730": 41, "1957": 41, "1253": 41, "8210207": 41, "1298": 41, "8333827": 41, "bunch": 41, "62151": 41, "1946": 41, "62152": 41, "1947": 41, "62153": 41, "62154": 41, "62155": 41, "ala": 41, "62156": 41, "cntry": 41, "life_expect": 41, "61960": 41, "61961": 41, "61962": 41, "61963": 41, "61964": 41, "12445": 41, "lot": [41, 46], "le_year": 41, "1543": 41, "1548": 41, "1553": 41, "1558": 41, "1563": 41, "1568": 41, "1573": 41, "1578": 41, "1583": 41, "1588": 41, "74": [41, 43], "310": 41, "wider": 41, "logx": 41, "log_gdppc": 41, "log10": 41, "286581": 41, "1660": 41, "045486": 41, "dza": 41, "14228": 41, "0250": 41, "153145": 41, "4420": 41, "890502": 41, "3830": 41, "268493": 41, "161": 41, "1420": 41, "833411": 41, "owid_wrl": 41, "15212": 41, "4150": 41, "182198": 41, "163": 41, "8900": 41, "358865": 41, "164": 41, "548271": 41, "165": 41, "207205": 41, "q4": 41, "643730292819708": 41, "70209670138904": 41, "q5": 41, "life_expectancy_hat": 41, "linecollect": 41, "0x7f87ce220750": 41, "outlier": 41, "trevor": 42, "lesson": 42, "homogen": 42, "ce": 42, "replenish": 42, "kstar": 42, "12000": 42, "g_valu": 42, "lb": 42, "sak": 42, "fp": 42, "sa": 42, "ak": 42, "x0_valu": 42, "x_init": 42, "dt": 42, "g_con": 42, "plot_gcon": 42, "heurist": 42, "sak_t": 42, "s_grid": 42, "c_star": 42, "calc_c_star": 42, "return_valu": 42, "s_star_max": 42, "c_star_max": 42, "x_s_max": 42, "y_s_max": 42, "ds": 42, "s_symbol": 42, "s_star": 42, "300000000000000": 42, "incident": 42, "golden": 42, "unrealist": 42, "alpha_t": 42, "sig": 42, "lgnorm": 42, "ar1_process": 43, "business_cycl": 43, "cagan_re": 43, "commod_pric": 43, "complex_and_trig": 43, "cons_smooth": 43, "eigen_i": 43, "eigen_ii": 43, "equalizing_differ": 43, "french_rev": 43, "geom_seri": 43, "greek_squar": 43, "heavy_tail": 43, "inflation_histori": 43, "intro_supply_demand": 43, "laffer_adapt": 43, "lake_model": 43, "linear_equ": 43, "lln_clt": 43, "lp_intro": 43, "markov_chains_i": 43, "markov_chains_ii": 43, "money_infl": 43, "money_inflation_nonlinear": 43, "monte_carlo": 43, "189": 43, "prob_dist": 43, "scalar_dynam": 43, "short_path": 43, "supply_demand_heterogen": 43, "supply_demand_multiple_good": 43, "time_series_with_matric": 43, "zrefer": 43, "linux": 43, "conda": [43, 47], "environ": [43, 44, 45], "channel": 43, "_libgcc_mutex": 43, "forg": 43, "_openmp_mutex": 43, "1_gnu": 43, "abseil": 43, "cpp": 43, "20211102": 43, "hd4dd3e8_0": 43, "pypi_0": 43, "pypi": 43, "pygment": 43, "aiobotocor": 43, "py311h06a4308_0": 43, "aiohttp": 43, "py311h5eee18b_0": 43, "aioitertool": 43, "pyhd3eb1b0_0": 43, "aiosign": 43, "alabast": 43, "altair": 43, "py311_mkl_2": 43, "anyio": 43, "aom": 43, "h6a678d5_0": 43, "appdir": 43, "argon2": 43, "cffi": 43, "bind": 43, "py311h06a4308_1": 43, "h374c478_1": 43, "astroid": 43, "astropi": 43, "py311hf4808d0_0": 43, "ier": 43, "asttoken": 43, "async": 43, "lru": 43, "atomicwrit": 43, "py_0": 43, "attr": 43, "autopep8": 43, "auth": 43, "h5eee18b_0": 43, "cal": 43, "hdbd6064_0": 43, "io": 43, "mqtt": 43, "s3": 43, "sdkutil": 43, "checksum": 43, "crt": 43, "sdk": 43, "h721c034_0": 43, "babel": 43, "bcrypt": 43, "py311h5eee18b_1": 43, "binaryornot": 43, "pyhd3eb1b0_1": 43, "bla": 43, "mkl": 43, "bleach": 43, "blinker": 43, "blosc": 43, "bokeh": 43, "py311h92b7b1e_0": 43, "boost": 43, "hdb19cb5_2": 43, "botocor": 43, "bottleneck": 43, "brotli": 43, "h5eee18b_8": 43, "py311h6a678d5_8": 43, "brunsli": 43, "h2531618_0": 43, "bzip2": 43, "h5eee18b_6": 43, "blosc2": 43, "h80c7b02_0": 43, "ca": 43, "h06a4308_0": 43, "cachetool": 43, "cfitsio": 43, "470": 43, "h5893167_7": 43, "chardet": 43, "py311h06a4308_1003": 43, "charl": 43, "cloudpickl": 43, "colorama": 43, "colorcet": 43, "comm": 43, "constantli": 43, "py311hdb19cb5_0": 43, "cookiecutt": 43, "cryptographi": 43, "py311hdda0065_1": 43, "cssselect": 43, "curl": 43, "cyru": 43, "sasl": 43, "h52b45da_1": 43, "cytoolz": 43, "dask": 43, "expr": 43, "datashad": 43, "dav1d": 43, "dbu": 43, "hb2f20db_0": 43, "debugpi": 43, "py311h6a678d5_0": 43, "decor": 43, "defusedxml": 43, "20200713": 43, "dill": 43, "docstr": 43, "markdown": 43, "docutil": 43, "entrypoint": 43, "et_xmlfil": 43, "expat": 43, "filelock": 43, "flake8": 43, "flask": 43, "fontconfig": 43, "h4c34cd2_2": 43, "fqdn": 43, "freetyp": 43, "h4a9f257_0": 43, "frozenlist": 43, "fsspec": 43, "gensim": 43, "py311ha02d727_0": 43, "gflag": 43, "h6a678d5_1": 43, "ghp": 43, "giflib": 43, "h5eee18b_3": 43, "gitdb": 43, "gitpython": 43, "glib": 43, "glog": 43, "gmp": 43, "h295c915_3": 43, "gmpy2": 43, "py311hc9b5ff0_0": 43, "greenlet": 43, "grpc": 43, "he1ff14a_1": 43, "gst": 43, "plugin": 43, "gstreamer": 43, "h5eee18b_1": 43, "h5py": 43, "py311h865a13c_0": 43, "hdf5": 43, "h2b7332f_3": 43, "heapdict": 43, "holoview": 43, "hvplot": 43, "icu": 43, "imagecodec": 43, "py311h8105a5c_0": 43, "imageio": 43, "images": 43, "imbalanc": 43, "importlib_metadata": 43, "hd3eb1b0_0": 43, "inflect": 43, "iniconfig": 43, "intak": 43, "intel": 43, "openmp": 43, "hdb19cb5_46306": 43, "intervaltre": 43, "ipykernel": 43, "ipython_genutil": 43, "ipywidget": 43, "isodur": 43, "isort": 43, "itemadapt": 43, "itemload": 43, "itsdanger": 43, "jaraco": 43, "jedi": 43, "jeepnei": 43, "jellyfish": 43, "py311hb02cf49_0": 43, "jinja2": 43, "jmespath": 43, "joblib": 43, "jpeg": 43, "9e": 43, "jq": 43, "h27cfd23_1000": 43, "json5": 43, "jsonpoint": 43, "jsonschema": 43, "jupyt": [43, 47], "py311h06a4308_9": 43, "lsp": 43, "server": 43, "jupyter_cli": 43, "jupyter_consol": 43, "jupyter_cor": 43, "jupyter_ev": 43, "jupyter_serv": 43, "jupyter_server_termin": 43, "jupyterlab": 43, "variableinspector": 43, "jupyterlab_pyg": 43, "jupyterlab_serv": 43, "jupyterlab_widget": 43, "jxrlib": 43, "h7b6447c_2": 43, "keyr": 43, "krb5": 43, "h143b758_1": 43, "latexcodec": 43, "lazi": 43, "lazy_load": 43, "lcms2": 43, "h3be6417_0": 43, "ld_impl_linux": 43, "h1181459_1": 43, "lerc": 43, "h295c915_0": 43, "libaec": 43, "he6710b0_1": 43, "libavif": 43, "libboost": 43, "h109eef0_2": 43, "libbrotlicommon": 43, "libbrotlidec": 43, "libbrotlienc": 43, "libclang": 43, "default_hc6dbbc7_1": 43, "libclang13": 43, "default_he11475f_1": 43, "libcup": 43, "h2d74bed_1": 43, "libcurl": 43, "h251f7ec_0": 43, "libdefl": 43, "libedit": 43, "20230828": 43, "libev": 43, "h7f8727e_1": 43, "hdbd6064_1": 43, "libffi": 43, "libgcc": 43, "h1234567_1": 43, "libgfortran": 43, "h00389a5_1": 43, "libgfortran5": 43, "libglib": 43, "hdc74915_0": 43, "libgomp": 43, "libiconv": 43, "libllvm14": 43, "hdb19cb5_3": 43, "libnghttp2": 43, "h2d74bed_0": 43, "libpng": 43, "libpq": 43, "libprotobuf": 43, "he621ea3_0": 43, "libsass": 43, "libsodium": 43, "h7b6447c_0": 43, "libspatialindex": 43, "libssh2": 43, "libstdcxx": 43, "libthrift": 43, "h1795dd8_2": 43, "libtiff": 43, "libuuid": 43, "libwebp": 43, "libxcb": 43, "h7f8727e_0": 43, "libxkbcommon": 43, "libxml2": 43, "hfdd30dd_2": 43, "libxslt": 43, "libzopfli": 43, "he6710b0_0": 43, "linkifi": 43, "locket": 43, "py311hdbbb534_0": 43, "lz4": 43, "lzo": 43, "markupsaf": 43, "inlin": 43, "mccabe": 43, "mdit": 43, "mdurl": 43, "mistun": 43, "h213fc3f_46344": 43, "mkl_fft": 43, "mkl_random": 43, "itertool": 43, "mpc": 43, "h10f8cd9_1": 43, "mpfr": 43, "hb69a4c5_1": 43, "msgpack": 43, "multidict": 43, "multipledispatch": 43, "mypi": 43, "mypy_extens": 43, "mysql": 43, "h721c034_2": 43, "myst": 43, "nb": 43, "parser": 43, "nbclient": 43, "nbconvert": 43, "nbdime": 43, "nbformat": 43, "ncurs": 43, "nest": 43, "asyncio": 43, "nltk": 43, "shim": 43, "nspr": 43, "nss": 43, "numexpr": 43, "py311h65dcdc2_0": 43, "py311h08b1b3b_0": 43, "py311hf175353_0": 43, "numpydoc": 43, "oniguruma": 43, "h27cfd23_0": 43, "openjpeg": 43, "h3ad879b_0": 43, "openpyxl": 43, "openssl": 43, "orc": 43, "hb3bc3d3_1": 43, "overrid": 43, "pandocfilt": 43, "parsel": 43, "parso": 43, "partd": 43, "pathspec": 43, "patsi": 43, "pcre2": 43, "hebb0a14_1": 43, "pexpect": 43, "pyhd3eb1b0_3": 43, "pickleshar": 43, "pyhd3eb1b0_1003": 43, "pluggi": 43, "ply": 43, "prometheus_cli": 43, "toolkit": 43, "prompt_toolkit": 43, "protego": 43, "psutil": 43, "ptyprocess": 43, "pyhd3eb1b0_2": 43, "pure_ev": 43, "cpuinfo": 43, "pyarrow": 43, "py311hb6e97c4_0": 43, "pyasn1": 43, "pybind11": 43, "abi": 43, "hd3eb1b0_1": 43, "pybtex": 43, "pycodestyl": 43, "pycpars": 43, "pyct": 43, "pycurl": 43, "py311hdbd6064_1": 43, "pydata": 43, "sphinx": 43, "theme": 43, "pydeck": 43, "py311h06a4308_2": 43, "pydispatch": 43, "pydocstyl": 43, "pyerfa": 43, "pyflak": 43, "pylint": 43, "venv": 43, "pyl": 43, "spyder": 43, "pyodbc": 43, "pyopenssl": 43, "pyqt": 43, "pyqt5": 43, "sip": 43, "pyqtwebengin": 43, "pysock": 43, "pytabl": 43, "py311h9d13977_0": 43, "pytest": 43, "h955ad1f_0": 43, "0post0": 43, "fastjsonschema": 43, "json": 43, "logger": 43, "lmdb": 43, "jsonrpc": 43, "slugifi": 43, "snappi": 43, "pytoolconfig": 43, "pyviz_comm": 43, "pywavelet": 43, "pyxdg": 43, "pyzmq": 43, "qdarkstyl": 43, "qstyliz": 43, "qt": 43, "h53bd1ea_10": 43, "webengin": 43, "h9ab4d14_7": 43, "qtawesom": 43, "qtconsol": 43, "qtpy": 43, "queuelib": 43, "re2": 43, "readlin": 43, "referenc": 43, "regex": 43, "rfc3339": 43, "rfc3986": 43, "rope": 43, "rpd": 43, "rtree": 43, "s2n": 43, "s3f": 43, "scikit": 43, "py311ha02d727_1": 43, "scrapi": 43, "secretstorag": 43, "send2trash": 43, "service_ident": 43, "setuptool": 43, "smart_open": 43, "smmap": 43, "sniffio": 43, "snowballstemm": 43, "sortedcontain": 43, "copybutton": 43, "toc": 43, "jupyterbook": 43, "latex": 43, "multitoc": 43, "thebe": 43, "togglebutton": 43, "tojupyt": 43, "sphinxcontrib": 43, "applehelp": 43, "bibtex": 43, "devhelp": 43, "htmlhelp": 43, "jsmath": 43, "qthelp": 43, "serializinghtml": 43, "youtub": 43, "sphinxext": 43, "rediraff": 43, "sqlalchemi": 43, "sqlite": 43, "stack_data": 43, "tbb": 43, "hdb19cb5_0": 43, "tblib": 43, "terminado": 43, "unidecod": 43, "textdist": 43, "threadpoolctl": 43, "pyh0d69192_0": 43, "tifffil": 43, "tinycss2": 43, "tk": 43, "h39e8969_0": 43, "tldextract": 43, "tomli": 43, "tomlkit": 43, "toolz": 43, "tornado": 43, "tqdm": 43, "traitlet": 43, "twist": 43, "typing_extens": 43, "2024a": 43, "h04d1e81_0": 43, "uc": 43, "micro": 43, "ujson": 43, "unicodedata2": 43, "unixodbc": 43, "templat": 43, "utf8proc": 43, "w3lib": 43, "watchdog": 43, "wcwidth": 43, "webcolor": 43, "websocket": 43, "client": 43, "werkzeug": 43, "whatthepatch": 43, "widgetsnbextens": 43, "wrapt": 43, "wurlitz": 43, "xarrai": 43, "xyzservic": 43, "xz": 43, "yaml": 43, "yapf": 43, "yarl": 43, "zeromq": 43, "zfp": 43, "zict": 43, "zipp": 43, "zlib": 43, "zope": 43, "interfac": 43, "zstd": 43, "hc292b87_2": 43, "bliss": [44, 45], "b_i": 44, "e_1": [44, 45], "e_2": [44, 45], "c_i": 44, "sum_i": 44, "renorm": 44, "c_m": 44, "exchangeeconomi": [44, 45], "ws": 44, "thre": [44, 45], "satiat": [44, 45], "invalid": [44, 45], "competitive_equilibrium": [44, 45], "slope_dc": [44, 45], "\u03c0_inv": [44, 45], "\u03bc_": 44, "\u03bc_i": 44, "ee": 44, "poorer": [44, 45], "autarki": 44, "ee_new": 44, "trick": [44, 45], "ee_d": 44, "conting": 44, "ee_a": 44, "42857143": 44, "tild": [44, 46, 48], "infrastructur": 45, "surplu": 45, "leon": 45, "walra": 45, "franci": 45, "ysidro": 45, "edgeworth": 45, "abba": 45, "lerner": 45, "harold": 45, "hotel": 45, "kenneth": 45, "gerard": 45, "debreu": 45, "p_i": 45, "contempl": 45, "unalt": 45, "freez": 45, "disarm": 45, "deliveri": 45, "insur": 45, "productioneconomi": 45, "compute_surplu": 45, "s1": 45, "c_surplu": 45, "p_surplu": 45, "plot_competitive_equilibrium": 45, "singleton": 45, "supply_inv": 45, "demand_inv": 45, "020060": 45, "600001": 45, "eed1cf": 45, "e6e6f5": 45, "28125": 45, "todo": 45, "13333333": 45, "46666667": 45, "86666667": 45, "53333333": 45, "23333333": 45, "56666667": 45, "93333333": 45, "influenc": 45, "monopoli": 45, "hq": 45, "equilibrium_with_monopoli": 45, "plot_monopoli": 45, "marg_cost": 45, "marg_rev": 45, "marg_cost_curv": 45, "marg_rev_curv": 45, "e55b13": 45, "23542117": 45, "32397408": 45, "76457883": 45, "94168467": 45, "26865672": 45, "23880597": 45, "73134328": 45, "6119403": 45, "833333333333334": 45, "1666666666666665": 45, "alpha_": 46, "underset": 46, "cccccccc": 46, "flavor": 46, "\u03b1_0": 46, "\u03b1_1": 46, "\u03b1_2": 46, "gnp": 46, "y_second_method": 46, "y_star": 46, "y_neg1_steadi": 46, "y_0_steadi": 46, "b_steadi": 46, "y_steadi": 46, "excit": 46, "eugen": 46, "slutski": 46, "ragnar": 46, "frisch": 46, "sigma_": 46, "\u03c3_u": 46, "detrend": 46, "sigma_u": 46, "population_mo": 46, "\u03bc_y": 46, "\u03c3_y": 46, "sample_i": 46, "vstack": 46, "get_moment": 46, "series_process": 46, "enlighten": 46, "stationar": 46, "512": 46, "4096": 46, "32768": 46, "312": 46, "0496": 46, "83968": 46, "671744": 46, "63968": 46, "311744": 46, "0493952": 46, "8493952": 46, "47951616": 46, "98361293": 46, "58689034": 46, "superdiagon": 46, "jointli": 46, "corner": 46, "96526785": 46, "05113208": 46, "96949102": 46, "24269762": 46, "43386927": 46, "51539213": 46, "12806761": 46, "60209053": 46, "96538003": 46, "05101258": 46, "96920722": 46, "24302428": 46, "43411364": 46, "51547202": 46, "12796991": 46, "96550733": 46, "0513149": 46, "96955519": 46, "24276396": 46, "43402853": 46, "51557609": 46, "9662253": 46, "0521413": 46, "97017342": 46, "24256184": 46, "43427569": 46, "96717651": 46, "05285289": 46, "97040607": 46, "24284632": 46, "96770885": 46, "05302694": 46, "97019325": 46, "96776576": 46, "05295736": 46, "96785084": 46, "subdiagon": 46, "resist": 46, "temptat": 46, "triangular": 46, "printopt": 46, "suppress": 46, "441": [46, 49], "828": 46, "031": 46, "792": 46, "099": 46, "incorpor": 46, "foreseen": 46, "ccccc": 46, "9216": 46, "04314048": 46, "04141486": 46, "03975826": 46, "044938": 46, "04681041": 46, "p_steadi": 46, "reinstal": 47, "remot": 47, "icon": 47, "feedback": 47, "touch": 47, "tracker": 47, "discours": 47, "forum": 47, "consult": 48, "widetild": 48, "deleg": 48, "newli": 48, "coder": 48, "widehat": 48, "relax": 48, "r_tild": 48, "m0_check": 48, "bm1_check": 48, "bm1": 48, "btm1": 48, "g_bar": 48, "ru": 48, "p0_new": 48, "compute_fixed_point": 48, "p0_next": 48, "purposefulli": 48, "adject": 48, "m0_arr": 48, "mt": 48, "bt": 48, "rt": 48, "plot_path": 48, "ar02": 49, "daron": 49, "jame": 49, "uznet": 49, "183": 49, "203": 49, "akm": 49, "sehyoun": 49, "greg": 49, "kaplan": 49, "benjamin": 49, "moll": 49, "winberri": 49, "christian": 49, "wolf": 49, "ak87": 49, "alan": 49, "laurenc": 49, "axt01": 49, "zipf": 49, "293": 49, "5536": 49, "1818": 49, "1820": 49, "bar79": 49, "journal": 49, "940": 49, "bb18": 49, "jess": 49, "alberto": 49, "skew": 49, "1261": 49, "bbl19": 49, "luo": 49, "1623": 49, "1647": 49, "ber97": 49, "tsitsikli": 49, "athena": 49, "begs18": 49, "anmol": 49, "evan": 49, "mikhail": 49, "golosov": 49, "bej18": 49, "stephen": 49, "martin": 49, "everett": 49, "jeffrei": 49, "johnson": 49, "sage": 49, "bf90": 49, "michael": 49, "stanlei": 49, "quarterli": 49, "353": 49, "374": 49, "bw84": 49, "discrimin": 49, "279": 49, "288": 49, "bur23": 49, "conserv": 49, "farrar": 49, "strau": 49, "giroux": 49, "cag56": 49, "editor": 49, "117": 49, "chicago": 49, "cb96": 49, "marcu": 49, "roi": 49, "924": 49, "957": 49, "coc23": 49, "princeton": 49, "jersei": 49, "cos21": 49, "michel": 49, "atla": 49, "aspir": 49, "scientist": 49, "arxiv": 49, "preprint": 49, "2101": 49, "00863": 49, "dl92": 49, "gui": 49, "dl96": 49, "storag": 49, "896": 49, "923": 49, "dia65": 49, "neoclass": 49, "1126": 49, "1150": 49, "dss58": 49, "mcgraw": 49, "hill": 49, "ek": 49, "jon": 49, "kleinberg": 49, "fri56": 49, "fk45": 49, "fdga": 49, "corrado": 49, "di": 49, "guilmi": 49, "hideaki": 49, "aoyama": 49, "mauro": 49, "gallegati": 49, "wataru": 49, "souma": 49, "gibrat": 49, "physica": 49, "gab16": 49, "xavier": 49, "185": 49, "206": 49, "gss03": 49, "edward": 49, "jose": 49, "andrei": 49, "shleifer": 49, "injustic": 49, "199": 49, "goy23": 49, "sanjeev": 49, "hal78": 49, "hall": 49, "987": 49, "ham05": 49, "435": 49, "452": 49, "har60": 49, "842": 49, "853": 49, "doi": 49, "2307": 49, "1235116": 49, "hu18": 49, "guo": 49, "tsinghua": 49, "5th": 49, "haggstrom02": 49, "oll": 49, "it23": 49, "patrick": 49, "jonathan": 49, "rw": 49, "imf": 49, "jac10": 49, "key40": 49, "essai": 49, "persuas": 49, "367": 49, "439": 49, "springer": 49, "kls18": 49, "illenin": 49, "logan": 49, "lewi": 49, "andrea": 49, "stella": 49, "establish": 49, "ssrn": 49, "kf39": 49, "1936": 49, "bulletin": 49, "lev19": 49, "malcolm": 49, "dysfunct": 49, "man63": 49, "benoit": 49, "394": 49, "419": 49, "mn03": 49, "albert": 49, "juan": 49, "1476": 49, "1498": 49, "ms89": 49, "barnett": 49, "gewek": 49, "karl": 49, "shell": 49, "sunspot": 49, "chao": 49, "mfd20": 49, "filippo": 49, "santo": 49, "fortunato": 49, "clayton": 49, "davi": 49, "mt09": 49, "new18": 49, "oxford": 49, "rac03": 49, "svetlozar": 49, "todorov": 49, "handbook": 49, "elsevi": 49, "rrgm11": 49, "hern": 49, "\u00e1": 49, "diego": 49, "rybski": 49, "maks": 49, "2205": 49, "sam58": 49, "contriv": 49, "467": 49, "482": 49, "sam71": 49, "proceed": 49, "academi": 49, "337": 49, "sam39": 49, "swz09": 49, "noah": 49, "tao": 49, "zha": 49, "conquest": 49, "south": 49, "211": 49, "256": 49, "sar82": 49, "sar13": 49, "ss22": 49, "2203": 49, "11972": 49, "ss23": 49, "sv95": 49, "francoi": 49, "103": 49, "474": 49, "518": 49, "sv02": 49, "fran": 49, "\u00e7": 49, "oi": 49, "sw81": 49, "ss83": 49, "jack": 49, "427": 49, "sch69": 49, "488": 49, "493": 49, "st19": 49, "reconsid": 49, "695": 49, "710": 49, "smi10": 49, "inquiri": 49, "harriman": 49, "hous": 49, "too14": 49, "tooz": 49, "delug": 49, "remak": 49, "1916": 49, "1931": 49, "vil96": 49, "cour": 49, "\u00e9": 49, "conomi": 49, "politiqu": 49, "roug": 49, "lausann": 49, "wau64": 49, "frederick": 49, "732": 49, "ww82": 49, "brian": 49, "596": 49, "614": 49, "zha12": 49, "dongmei": 49, "wireless": 49, "springerbrief": 49, "boston": 49, "isbn": 49, "978": 49, "4614": 49, "3283": 49, "3284": 49, "1007": 49, "visit": 49}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"about": [0, 5, 37], "These": 0, "lectur": 0, "level": [0, 3, 4, 5, 18, 22, 31, 32], "credit": [0, 3, 34], "transit": [1, 28], "an": [1, 5, 7, 8, 12, 22, 32, 33, 34, 44, 47, 48], "overlap": [1, 35], "gener": [1, 21, 24, 35, 45], "model": [1, 2, 4, 5, 6, 7, 9, 11, 12, 14, 19, 20, 21, 22, 23, 24, 32, 33, 35, 38, 39, 41, 42, 46], "introduct": [1, 15, 16, 20, 21, 30, 33, 34], "set": [1, 26, 39], "product": [1, 3, 19, 24, 27, 44, 45], "govern": [1, 13, 31], "activ": 1, "factor": [1, 3], "market": [1, 20, 44, 48], "repres": [1, 4, 37, 44], "firm": [1, 16, 35, 45], "s": [1, 8, 11, 26, 28, 35, 46], "problem": [1, 27, 33, 35, 40, 45], "individu": 1, "initi": [1, 22, 28, 32], "old": 1, "person": [1, 44], "young": 1, "equilbrium": 1, "next": 1, "step": [1, 9, 28], "close": 1, "form": [1, 24, 27], "solut": [1, 2, 6, 8, 10, 11, 16, 17, 19, 21, 23, 24, 25, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45], "steadi": [1, 22, 31, 32, 35, 38], "state": [1, 22, 28, 31, 32, 35, 38, 45], "implement": [1, 15, 40, 44, 45], "experi": [1, 4, 5, 9], "1": [1, 2, 4, 5, 6, 8, 9, 10, 11, 16, 17, 19, 21, 23, 24, 25, 27, 28, 29, 30, 31, 33, 34, 35, 38, 39, 40, 41, 42, 45], "tax": [1, 13], "cut": 1, "2": [1, 2, 4, 5, 6, 8, 9, 10, 11, 16, 17, 19, 21, 24, 25, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 42], "asset": [1, 14, 16], "accumul": [1, 14], "3": [1, 2, 5, 8, 9, 10, 16, 17, 21, 25, 28, 29, 34, 35, 45], "temporari": 1, "expenditur": [1, 13], "A": [1, 5, 14, 20, 21, 23, 24, 33, 34, 42, 44, 45, 46], "comput": [1, 4, 7, 10, 12, 15, 22, 27, 28, 31, 32, 33, 46], "strategi": [1, 31], "4": [1, 9, 16, 21, 37], "unfund": 1, "social": [1, 21], "secur": [1, 44], "system": [1, 24, 38], "ar": [2, 16], "process": 2, "overview": [2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 37, 38, 40, 44, 45, 46, 48], "The": [2, 5, 6, 7, 10, 11, 12, 14, 17, 21, 22, 23, 25, 26, 32, 35, 39, 40, 42], "move": [2, 46], "averag": [2, 46], "represent": [2, 46], "distribut": [2, 16, 20, 28, 30, 33, 36], "dynam": [2, 14, 20, 22, 23, 29, 32, 33, 35, 38, 44, 45], "stationar": [2, 28, 29], "asymptot": [2, 28], "stabil": [2, 4, 5, 38], "stationari": [2, 28, 31], "ergod": [2, 29], "exercis": [2, 6, 8, 10, 11, 16, 17, 19, 21, 23, 24, 25, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45], "33": 2, "busi": 3, "cycl": 3, "data": [3, 7, 13, 16, 17, 20], "acquisit": 3, "gdp": [3, 16, 17, 26], "growth": [3, 23, 26, 42], "rate": [3, 14, 22, 23, 32, 37], "unemploy": [3, 23, 29], "synchron": 3, "lead": 3, "indic": 3, "correl": 3, "consumpt": [3, 9], "monetarist": [4, 5, 48], "theori": [4, 5, 19, 34], "price": [4, 5, 7, 14, 18, 19, 22, 31, 32, 33], "adapt": [4, 6, 22], "expect": [4, 6, 22, 28], "structur": [4, 5], "kei": [4, 14, 34], "equat": [4, 9, 15, 24], "linear": [4, 9, 10, 15, 19, 20, 24, 27, 38, 41, 45], "algebra": [4, 9, 24, 45, 46], "harvest": 4, "insight": 4, "from": [4, 45], "our": [4, 28], "matrix": [4, 10, 11, 24, 46], "formul": 4, "forecast": 4, "error": [4, 41], "technic": [4, 5], "condit": [4, 7, 12, 25, 28, 35], "continu": [5, 21, 36, 42], "valu": [5, 10, 12, 14, 22, 28, 32, 37, 41], "some": [5, 10, 17, 31, 38, 44, 48], "quantit": [5, 20], "foreseen": 5, "sudden": 5, "log": [5, 35], "what": [5, 30], "jump": [5, 39], "detail": [5, 10], "whether": 5, "p": 5, "m": 5, "t_1": 5, "m_": 5, "t_": 5, "doe": [5, 21, 41], "unforeseen": 5, "sequel": 5, "cobweb": 6, "histori": [6, 17, 18], "naiv": 6, "25": 6, "commod": 7, "outlin": [7, 23, 34, 36, 39, 40], "competit": [7, 20, 21, 44, 45], "storag": 7, "equilibrium": [7, 20, 21, 22, 31, 32, 35, 44, 45], "function": [7, 38, 45], "code": [7, 13, 28, 31, 44, 48], "complex": [8, 10, 38], "number": [8, 15, 25], "trigonometri": 8, "exampl": [8, 10, 11, 14, 21, 24, 27, 28, 29, 34, 35, 38, 44, 45, 48], "de": 8, "moivr": 8, "theorem": [8, 11, 23, 25], "applic": [8, 12, 14, 19, 23], "trigonometr": 8, "ident": 8, "integr": [8, 21], "9": 8, "smooth": 9, "analysi": [9, 19, 26, 37, 38], "friedman": 9, "hall": 9, "mechan": 9, "one": [9, 45], "time": [9, 17, 28, 35, 42, 46, 48], "gain": 9, "loss": 9, "perman": 9, "wage": 9, "late": 9, "starter": 9, "geometr": [9, 14, 28, 36], "earner": 9, "feasibl": 9, "variat": 9, "wrap": 9, "up": [9, 26, 39], "appendix": 9, "solv": [9, 24, 40], "differ": [9, 12, 15], "first": [9, 20, 25], "order": [9, 15], "second": [9, 15], "eigenvalu": 10, "eigenvector": [10, 11, 19, 23, 34], "matric": [10, 11, 24, 28, 34], "transform": [10, 27], "map": 10, "vector": [10, 15, 24, 33, 37], "squar": [10, 15], "type": 10, "scale": 10, "shear": 10, "rotat": 10, "permut": 10, "multipl": [10, 24, 28, 45], "composit": [10, 38], "iter": 10, "fix": [10, 47], "definit": [10, 17, 28, 34, 38], "mathemat": 10, "fact": 10, "neumann": 10, "seri": [10, 14, 35, 46], "lemma": 10, "scalar": [10, 24], "16": 10, "perron": [11, 23], "frobeniu": [11, 23], "nonneg": [11, 16], "irreduc": [11, 29], "left": 11, "primit": 11, "contin": 11, "connect": [11, 36], "markov": [11, 28, 29, 34], "chain": [11, 28, 29, 34, 39], "leontief": [11, 19], "input": [11, 19], "output": [11, 19], "39": 11, "equal": 12, "indiffer": 12, "present": [12, 14, 37], "high": 12, "school": 12, "educ": 12, "worker": 12, "colleg": 12, "bound": 12, "new": 12, "graduat": 12, "entrepreneur": 12, "interpret": 12, "calculu": 12, "inflat": [13, 18, 22, 32], "dure": 13, "french": 13, "revolut": 13, "sourc": 13, "collect": 13, "nation": 13, "privat": [13, 34], "debt": 13, "reduct": 13, "remak": 13, "administr": 13, "elementari": 14, "econom": [14, 16, 20, 34], "formula": [14, 31, 45], "infinit": [14, 20, 25], "finit": [14, 20], "monei": [14, 31], "multipli": [14, 19], "fraction": 14, "reserv": 14, "bank": 14, "simpl": [14, 33, 41, 44], "keynesian": 14, "static": 14, "version": 14, "interest": 14, "discount": [14, 33], "back": 14, "root": 15, "perfect": 15, "irrat": 15, "algorithm": [15, 39, 40, 48], "ancient": 15, "greek": 15, "invari": 15, "subspac": 15, "approach": 15, "conclud": 15, "remark": 15, "heavi": 16, "tail": [16, 30], "light": 16, "when": 16, "valid": 16, "return": [16, 37], "other": [16, 20], "why": [16, 21], "should": 16, "we": 16, "care": 16, "visual": [16, 33, 36], "comparison": [16, 17], "simul": [16, 17, 25, 28], "counter": 16, "cdf": 16, "21": 16, "empir": 16, "ccdf": 16, "q": 16, "plot": [16, 26, 36], "power": 16, "law": [16, 25], "cross": [16, 17, 28], "section": [16, 28], "size": 16, "citi": 16, "wealth": [16, 17], "failur": [16, 25, 28], "lln": [16, 25], "do": 16, "matter": [16, 21], "diversif": 16, "fiscal": [16, 20, 48], "polici": [16, 20, 48], "classifi": 16, "properti": [16, 23, 34], "further": [16, 24, 34], "read": [16, 24, 34], "5": 16, "incom": 17, "inequ": 17, "measur": 17, "lorenz": 17, "curv": [17, 22, 32, 45], "us": [17, 26, 27, 28, 33], "gini": 17, "coeffici": 17, "countri": [17, 34], "per": [17, 26], "capita": [17, 26], "over": [17, 28], "top": 17, "share": [17, 33], "6": 17, "four": 18, "centuri": 18, "big": 18, "austria": 18, "hungari": 18, "poland": 18, "germani": 18, "start": 18, "stop": 18, "two": [19, 24, 31, 44, 45], "good": [19, 24, 45], "possibl": 19, "frontier": 19, "program": [19, 27], "invers": 19, "demand": [19, 21, 31, 35, 45], "shock": 19, "graph": [19, 34], "central": [19, 25, 34], "40": 19, "cours": 20, "python": [20, 33, 44], "foundat": 20, "horizon": 20, "probabl": [20, 28, 36], "nonlinear": [20, 38], "monetari": [20, 48], "interact": 20, "stochast": [20, 28], "optim": [20, 41], "higher": 20, "dimens": [20, 38], "estim": [20, 30, 36], "suppli": [21, 31, 35, 45], "thi": 21, "topic": 21, "infrastructur": 21, "consum": [21, 35, 44], "surplu": 21, "discret": [21, 36], "comment": [21, 25, 33], "quantiti": 21, "approxim": 21, "produc": 21, "case": [21, 35, 45], "welfar": [21, 45], "7": 21, "laffer": [22, 32], "sequenc": [22, 31, 32, 37], "claim": [22, 45], "conjectur": 22, "limit": [22, 25, 32], "associ": [22, 32], "verif": [22, 32], "slipperi": [22, 32], "side": [22, 32], "lake": 23, "employ": 23, "visualis": 23, "long": [23, 26], "run": [23, 26], "outcom": [23, 31], "domin": 23, "neg": 23, "evolut": [23, 35], "41": 23, "pencil": 24, "paper": 24, "method": [24, 31], "look": [24, 46], "forward": [24, 46], "oper": [24, 48], "inner": 24, "norm": 24, "addit": 24, "numpi": 24, "more": [24, 31, 33, 37], "No": 24, "mani": [24, 45], "nonsingular": 24, "8": 24, "clt": 25, "larg": 25, "action": 25, "statement": 25, "illustr": 25, "break": 25, "moment": [25, 46], "iid": 25, "19": 25, "unit": 26, "kingdom": 26, "compar": 26, "uk": 26, "china": 26, "focus": 26, "earli": 26, "industri": 26, "1820": 26, "1940": 26, "construct": 26, "similar": 26, "tooz": 26, "modern": 26, "era": 26, "1950": 26, "2020": 26, "region": 26, "OR": 27, "tool": 27, "invest": [27, 35], "standard": 27, "scipi": 27, "37": 27, "basic": [28, 48], "concept": 28, "defin": 28, "write": 28, "own": 28, "quantecon": 28, "routin": [28, 33], "ad": [28, 46], "recess": 28, "calcul": [28, 41, 48], "hamilton": [28, 29], "converg": 28, "sum": 28, "34": 28, "period": 29, "polit": 29, "institut": 29, "35": 29, "maximum": 30, "likelihood": 30, "pareto": 30, "best": 30, "lognorm": [30, 36], "right": 30, "hand": 30, "so": 30, "46": 30, "financ": 31, "deficit": 31, "conveni": 31, "peculiar": 31, "select": 31, "mont": 33, "carlo": 33, "option": 33, "known": 33, "unknown": 33, "loop": 33, "european": 33, "call": 33, "under": 33, "risk": [33, 44, 45], "neutral": 33, "via": 33, "realist": 33, "default": 33, "paramet": 33, "20": 33, "network": 34, "financi": 34, "aircraft": 34, "export": 34, "digraph": 34, "networkx": 34, "commun": 34, "weight": 34, "intern": 34, "flow": 34, "adjac": 34, "degre": 34, "katz": 34, "author": 34, "vs": 34, "hub": 34, "42": 34, "environ": [35, 47], "capit": 35, "prefer": [35, 39], "save": 35, "util": [35, 45], "crra": 35, "26": 35, "common": 36, "uniform": 36, "bernoulli": 36, "binomi": 36, "18": 36, "poisson": 36, "normal": 36, "exponenti": 36, "beta": [36, 41], "gamma": 36, "observ": 36, "summari": 36, "statist": [36, 43], "histogram": 36, "kernel": 36, "densiti": 36, "violin": 36, "11": 37, "analyt": 37, "express": 37, "bubbl": 37, "gross": 37, "One": 38, "global": 38, "local": [38, 47], "graphic": [38, 42], "trajectori": 38, "23": 38, "racial": 39, "segreg": 39, "behavior": 39, "result": 39, "22": 39, "shortest": 40, "path": 40, "find": 40, "least": 40, "cost": 40, "minimum": 40, "go": 40, "38": 40, "regress": 41, "how": 41, "chang": 41, "respect": 41, "alpha": 41, "45": 41, "solow": 42, "swan": 42, "perspect": 42, "24": 42, "execut": 43, "heterogen": 44, "pure": 44, "exchang": 44, "economi": [44, 45], "design": 44, "without": 44, "arrow": 44, "deduc": 44, "impli": 45, "constrain": 45, "maxim": 45, "endow": 45, "digress": 45, "marshallian": 45, "hicksian": 45, "special": 45, "conting": 45, "43": 45, "endogen": 45, "mu": 45, "warmup": 45, "neq": 45, "singl": 45, "agent": 45, "supplier": 45, "who": 45, "monopolist": 45, "multi": 45, "univari": 46, "samuelson": 46, "random": 46, "term": 46, "popul": 46, "troubleshoot": 47, "your": 47, "report": 47, "issu": 47, "unpleas": 48, "arithmet": 48, "setup": 48, "open": 48, "t": 48, "0": 48, "idea": 48, "befor": 48, "pseudo": 48, "refer": 49}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["about", "ak2", "ar1_processes", "business_cycle", "cagan_adaptive", "cagan_ree", "cobweb", "commod_price", "complex_and_trig", "cons_smooth", "eigen_I", "eigen_II", "equalizing_difference", "french_rev", "geom_series", "greek_square", "heavy_tails", "inequality", "inflation_history", "input_output", "intro", "intro_supply_demand", "laffer_adaptive", "lake_model", "linear_equations", "lln_clt", "long_run_growth", "lp_intro", "markov_chains_I", "markov_chains_II", "mle", "money_inflation", "money_inflation_nonlinear", "monte_carlo", "networks", "olg", "prob_dist", "pv", "scalar_dynam", "schelling", "short_path", "simple_linear_regression", "solow", "status", "supply_demand_heterogeneity", "supply_demand_multiple_goods", "time_series_with_matrices", "troubleshooting", "unpleasant", "zreferences"], "filenames": ["about.md", "ak2.md", "ar1_processes.md", "business_cycle.md", "cagan_adaptive.md", "cagan_ree.md", "cobweb.md", "commod_price.md", "complex_and_trig.md", "cons_smooth.md", "eigen_I.md", "eigen_II.md", "equalizing_difference.md", "french_rev.md", "geom_series.md", "greek_square.md", "heavy_tails.md", "inequality.md", "inflation_history.md", "input_output.md", "intro.md", "intro_supply_demand.md", "laffer_adaptive.md", "lake_model.md", "linear_equations.md", "lln_clt.md", "long_run_growth.md", "lp_intro.md", "markov_chains_I.md", "markov_chains_II.md", "mle.md", "money_inflation.md", "money_inflation_nonlinear.md", "monte_carlo.md", "networks.md", "olg.md", "prob_dist.md", "pv.md", "scalar_dynam.md", "schelling.md", "short_path.md", "simple_linear_regression.md", "solow.md", "status.md", "supply_demand_heterogeneity.md", "supply_demand_multiple_goods.md", "time_series_with_matrices.md", "troubleshooting.md", "unpleasant.md", "zreferences.md"], "titles": ["1. About These Lectures", "32. Transitions in an Overlapping Generations Model", "33. AR(1) Processes", "3. Business Cycles", "15. Monetarist Theory of Price Levels with Adaptive Expectations", "14. A Monetarist Theory of Price Levels", "25. The Cobweb Model", "27. Commodity Prices", "9. Complex Numbers and Trigonometry", "12. Consumption Smoothing", "16. Eigenvalues and Eigenvectors", "39. The Perron-Frobenius Theorem", "13. Equalizing Difference Model", "5. Inflation During French Revolution", "10. Geometric Series for Elementary Economics", "17. Computing Square Roots", "21. Heavy-Tailed Distributions", "6. Income and Wealth Inequality", "4. Price Level Histories", "40. Input-Output Models", "A First Course in Quantitative Economics with Python", "7. Introduction to Supply and Demand", "31. Laffer Curves with Adaptive Expectations", "41. A Lake Model of Employment", "8. Linear Equations and Matrix Algebra", "19. LLN and CLT", "2. Long-Run Growth", "37. Linear Programming", "34. Markov Chains: Basic Concepts", "35. Markov Chains: Irreducibility and Ergodicity", "46. Maximum Likelihood Estimation", "28. Money Financed Government Deficits and Price Levels", "30. Inflation Rate Laffer Curves", "20. Monte Carlo and Option Pricing", "42. Networks", "26. The Overlapping Generations Model", "18. Distributions and Probabilities", "11. Present Values", "23. Dynamics in One Dimension", "22. Racial Segregation", "38. Shortest Paths", "45. Simple Linear Regression Model", "24. The Solow-Swan Growth Model", "49. Execution Statistics", "44. Market Equilibrium with Heterogeneity", "43. Supply and Demand with Many Goods", "36. Univariate Time Series with Matrix Algebra", "47. Troubleshooting", "29. Some Unpleasant Monetarist Arithmetic", "48. References"], "terms": {"thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48], "seri": [0, 2, 3, 4, 6, 7, 9, 11, 17, 18, 19, 20, 22, 23, 26, 28, 29, 31, 32, 34, 37, 38, 41, 42], "introduc": [0, 1, 8, 10, 11, 16, 19, 27, 28, 29, 33, 34, 35, 37, 39, 44, 46, 48], "quantit": [0, 25, 38, 49], "econom": [0, 2, 3, 10, 11, 13, 15, 17, 19, 21, 24, 25, 26, 28, 32, 33, 37, 38, 39, 40, 41, 44, 49], "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49], "elementari": [0, 8, 9, 20, 21, 28, 34], "mathemat": [0, 4, 5, 7, 8, 12, 14, 16, 21, 25, 28, 31, 34, 37, 40, 42], "statist": [0, 5, 10, 16, 20, 25, 26, 28, 33, 46, 49], "plu": [0, 3, 4, 5, 12, 13, 14, 19, 21, 24, 27, 37], "comput": [0, 3, 5, 8, 9, 11, 14, 16, 17, 18, 19, 20, 21, 23, 24, 25, 29, 30, 34, 35, 37, 39, 40, 41, 44, 45, 48, 49], "code": [0, 1, 2, 3, 5, 8, 9, 12, 15, 16, 17, 18, 19, 22, 24, 25, 26, 30, 32, 33, 34, 35, 37, 38, 39, 41, 47], "written": [0, 2, 17, 19, 21, 33, 35], "python": [0, 1, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 24, 26, 27, 28, 34, 35, 36, 37, 41, 43, 45, 46, 47, 48], "The": [0, 1, 3, 4, 8, 9, 13, 15, 16, 18, 19, 20, 24, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 41, 44, 45, 46, 47, 48, 49], "emphas": [0, 5, 29, 34, 45], "simul": [0, 1, 2, 6, 7, 9, 15, 22, 23, 29, 31, 33, 35, 39, 42, 46, 48], "visual": [0, 9, 10, 14, 17, 24, 26, 28, 29, 31, 34, 35, 46], "through": [0, 2, 3, 5, 10, 11, 14, 19, 23, 24, 26, 31, 32, 34, 38, 39, 41, 42, 43, 47], "wai": [0, 2, 5, 6, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 22, 24, 25, 26, 28, 29, 31, 32, 33, 34, 36, 38, 41, 45, 47, 48], "convei": [0, 18, 48], "idea": [0, 6, 9, 10, 12, 14, 16, 17, 21, 24, 25, 28, 34, 39, 41, 45], "rather": [0, 6, 10, 16, 21, 26, 28, 33, 35, 39, 40], "than": [0, 3, 4, 5, 6, 7, 10, 11, 13, 14, 15, 16, 17, 21, 23, 24, 26, 27, 28, 31, 32, 33, 34, 38, 39, 40, 45, 46], "focus": [0, 17], "detail": [0, 3, 4, 11, 23, 24, 26, 27, 34, 46, 47, 48], "although": [0, 1, 7, 10, 11, 18, 25, 28, 33, 34, 40, 42], "present": [0, 1, 2, 4, 5, 8, 9, 10, 15, 16, 18, 20, 28, 31, 32, 33, 35, 45, 46], "quit": [0, 3, 4, 6, 7, 16, 17, 33, 35, 36, 38], "novel": 0, "ar": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48], "foundat": [0, 8, 11, 17, 29, 37, 38], "we": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48], "deep": 0, "fundament": [0, 6, 10, 21, 25, 34, 37, 45], "import": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48], "theori": [0, 2, 7, 11, 12, 13, 14, 15, 16, 18, 20, 23, 24, 28, 31, 37, 48, 49], "well": [0, 2, 3, 7, 8, 10, 13, 14, 16, 18, 24, 28, 30, 33, 34, 35, 36, 37], "valu": [0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 13, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 27, 29, 30, 31, 33, 34, 35, 36, 38, 42, 44, 45, 46], "analyz": [0, 1, 5, 10, 15, 17, 23, 33, 34, 38, 45, 46, 48, 49], "data": [0, 2, 5, 9, 18, 19, 23, 25, 26, 28, 30, 33, 34, 36, 39, 40, 41, 42, 43], "understand": [0, 2, 3, 5, 6, 8, 9, 10, 14, 16, 17, 25, 26, 29, 31, 33, 34, 35, 36, 38, 41, 42], "styliz": [0, 34], "fact": [0, 2, 5, 9, 11, 14, 15, 16, 17, 19, 21, 23, 25, 26, 28, 29, 33, 34, 35, 39, 41, 44], "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48], "univers": [0, 3, 9, 18, 49], "cours": [0, 2, 6, 16, 31, 36, 49], "self": [0, 1, 2, 6, 10, 19, 23, 26, 38, 39, 44, 45, 46], "studi": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 17, 18, 19, 21, 22, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 42, 44, 45, 46, 48, 49], "read": [0, 8, 12, 13, 18, 21, 26, 30, 38, 40, 41, 46], "group": [0, 3, 17, 26, 34], "workshop": 0, "research": [0, 2, 5, 17, 34, 35, 39, 40, 49], "polici": [0, 1, 3, 5, 9, 13, 18, 26, 35, 49], "profession": [0, 12, 19, 49], "might": [0, 2, 5, 10, 12, 17, 18, 21, 25, 26, 27, 28, 29, 33, 34, 36, 39, 48], "also": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 23, 24, 25, 26, 28, 29, 31, 33, 34, 35, 36, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48], "find": [0, 1, 4, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17, 19, 21, 22, 23, 24, 27, 28, 30, 31, 32, 34, 35, 37, 38, 39, 41, 42, 45, 48], "some": [0, 1, 2, 3, 4, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45, 46, 49], "part": [0, 1, 5, 6, 8, 10, 11, 12, 13, 17, 18, 21, 22, 25, 28, 29, 31, 32, 34, 36, 37, 48], "valuabl": [0, 13, 18, 34], "work": [0, 1, 2, 5, 8, 9, 12, 13, 14, 21, 22, 28, 33, 34, 35, 39, 41, 46, 47, 48, 49], "hope": [0, 31], "interest": [0, 1, 4, 5, 7, 8, 9, 10, 12, 13, 16, 18, 23, 24, 26, 27, 33, 34, 35, 36, 37, 38, 41, 42, 45, 48, 49], "student": [0, 9, 10, 12, 26], "who": [0, 1, 6, 9, 12, 13, 16, 21, 23, 28, 33, 34, 39, 44], "want": [0, 1, 4, 5, 8, 9, 12, 13, 14, 15, 18, 24, 26, 27, 28, 31, 33, 36, 37, 39, 40, 41, 45, 48], "learn": [0, 3, 4, 10, 11, 13, 22, 26, 28, 31, 34, 38, 42, 43, 46, 48, 49], "both": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 16, 17, 21, 24, 25, 26, 27, 29, 30, 31, 34, 35, 37, 41, 42, 45], "from": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49], "field": [0, 3, 6, 10, 17, 34], "scienc": [0, 10, 16, 34, 39, 40, 49], "engin": [0, 34], "curiou": 0, "aim": [0, 16, 28, 35, 42, 45], "undergradu": 0, "vari": [0, 1, 4, 9, 12, 13, 14, 17, 22, 25, 26, 28, 31, 41, 46, 48], "truli": [0, 31], "introductori": [0, 34], "suitabl": [0, 2, 36, 38], "first": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 44, 45, 47, 48, 49], "year": [0, 3, 6, 9, 12, 13, 16, 17, 18, 26, 27, 28, 30, 33, 34, 36, 38, 41], "even": [0, 1, 2, 3, 9, 13, 16, 17, 24, 25, 28, 29, 31, 34, 36, 38, 39, 41], "high": [0, 1, 3, 4, 5, 6, 8, 13, 18, 19, 22, 30, 32, 33, 34, 35, 38, 39, 42, 49], "school": [0, 8], "more": [0, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 29, 30, 32, 34, 36, 38, 39, 41, 43, 44, 45, 46, 48], "intermedi": [0, 3, 10, 19, 28], "requir": [0, 1, 3, 5, 6, 7, 9, 11, 14, 15, 16, 17, 19, 21, 22, 24, 27, 28, 29, 30, 31, 32, 34, 36, 38, 40, 44, 46], "comfort": [0, 10, 21, 39], "linear": [0, 1, 2, 5, 6, 7, 8, 11, 12, 13, 16, 17, 21, 22, 23, 25, 31, 32, 37, 42, 44, 46, 49], "algebra": [0, 1, 5, 10, 12, 14, 20, 21, 22, 28, 31, 32, 35, 37, 38, 44], "matur": [0, 1, 48], "e": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 39, 41, 42, 44, 45, 48, 49], "g": [0, 1, 6, 9, 10, 14, 15, 16, 17, 19, 22, 23, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 48, 49], "calmli": 0, "theorem": [0, 6, 10, 19, 20, 21, 28, 29, 34, 37, 45, 49], "try": [0, 2, 6, 10, 16, 17, 21, 24, 25, 26, 27, 28, 29, 30, 33, 36, 38, 39, 40, 42, 46, 47], "mean": [0, 1, 2, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 40, 41, 42, 45, 46, 48], "In": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48, 49], "gener": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 22, 25, 26, 27, 28, 29, 31, 32, 33, 34, 36, 37, 38, 41, 42, 46], "easier": [0, 16, 28, 35, 41, 42], "occur": [0, 1, 2, 3, 4, 5, 14, 16, 18, 21, 25, 31, 33, 36, 42, 45], "earlier": [0, 1, 3, 12, 13, 16, 17, 18, 19, 22, 24, 28, 29, 31, 38, 48], "harder": [0, 7, 39], "later": [0, 9, 10, 14, 16, 17, 21, 24, 26, 28, 29, 31, 34, 36, 38], "assum": [0, 1, 2, 4, 5, 6, 7, 9, 10, 12, 14, 16, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 34, 35, 37, 38, 39, 42, 44, 45, 46, 47], "reader": [0, 4, 5, 6, 8, 10, 12, 16, 21, 24, 26, 30, 33, 47], "have": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 44, 45, 46, 47], "cover": [0, 5, 13, 19, 21, 24, 28, 34, 36, 38, 39], "quantecon": [0, 1, 3, 5, 7, 9, 11, 13, 16, 17, 18, 19, 26, 27, 29, 30, 34, 36, 41, 43, 47], "program": [0, 1, 5, 20, 39, 40, 49], "particular": [0, 1, 2, 3, 5, 6, 9, 11, 12, 14, 15, 16, 21, 22, 24, 25, 28, 32, 33, 34, 35, 36, 38, 39, 45, 46, 48], "should": [0, 2, 3, 5, 8, 9, 10, 12, 17, 21, 23, 24, 25, 27, 28, 29, 30, 31, 33, 34, 35, 38, 40, 47], "familiar": [0, 10, 13, 21, 36], "basic": [0, 3, 6, 7, 10, 19, 20, 21, 24, 29, 34, 37, 47], "syntax": [0, 24], "includ": [0, 1, 3, 5, 6, 7, 11, 12, 13, 14, 15, 17, 24, 26, 28, 34, 37, 38, 40, 41, 42, 44, 45, 48], "function": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 46, 48, 49], "knowledg": [0, 14, 24, 28, 38], "class": [0, 1, 2, 6, 9, 10, 12, 16, 23, 29, 39, 43, 44, 45, 46], "matplotlib": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 45, 46, 48], "benefici": 0, "essenti": [0, 24, 34, 48], "build": [0, 7, 10, 11, 12, 16, 17, 18, 19, 21, 25, 26, 34, 36, 37, 39, 40, 41, 43, 48], "had": [0, 3, 5, 9, 13, 15, 18, 21, 22, 26, 34, 39], "invalu": 0, "assist": 0, "our": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48], "colleagu": 0, "without": [0, 3, 5, 12, 13, 14, 16, 17, 18, 19, 23, 28, 42, 45, 49], "help": [0, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 15, 16, 21, 23, 24, 26, 28, 29, 31, 34, 36], "would": [0, 5, 9, 12, 13, 15, 16, 18, 21, 23, 24, 33, 41, 42, 44], "been": [0, 1, 3, 5, 12, 13, 16, 17, 18, 26, 28, 33, 34], "possibl": [0, 5, 7, 9, 11, 15, 16, 17, 18, 22, 24, 26, 28, 30, 31, 32, 40, 46, 47], "sincer": 0, "thank": 0, "give": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 14, 17, 21, 24, 28, 29, 30, 31, 34, 35, 36, 37, 39, 41, 42, 44, 45, 46, 47], "aakash": 0, "gupta": 0, "shu": 0, "hu": [0, 27, 49], "jiacheng": 0, "li": [0, 6, 14, 17, 38, 42], "smit": 0, "lunagariya": 0, "matthew": [0, 49], "mckai": 0, "maanase": 0, "sharma": 0, "humphrei": 0, "yang": 0, "noritaka": 0, "kudoh": 0, "encourag": [0, 6, 30], "start": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 19, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 45, 48], "project": [0, 2, 8, 10, 11, 12, 14, 16, 17, 26, 28], "provid": [0, 1, 2, 8, 9, 13, 15, 16, 17, 18, 20, 21, 23, 25, 26, 27, 28, 29, 34, 36, 38, 40, 41, 42, 45, 47, 48], "thought": [0, 13, 22, 24, 34, 36, 40], "suggest": [0, 2, 3, 17, 23, 30, 33, 34, 41], "addit": [1, 3, 6, 7, 8, 11, 13, 16, 18, 21, 23, 26, 27, 28, 29, 33, 40, 48], "what": [1, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 28, 29, 31, 32, 33, 34, 38, 39, 40, 41, 44, 45, 46, 49], "anaconda": [1, 3, 11, 16, 23, 28, 29, 43, 47], "lectur": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48], "need": [1, 2, 4, 6, 7, 8, 11, 15, 16, 17, 21, 23, 24, 25, 26, 27, 28, 29, 33, 34, 35, 40, 41, 42, 47], "follow": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48], "librari": [1, 7, 11, 14, 16, 22, 23, 27, 28, 29, 32, 40, 47], "pip": [1, 3, 7, 11, 16, 17, 18, 19, 27, 28, 29, 34, 36, 43], "instal": [1, 3, 7, 11, 16, 17, 18, 19, 27, 28, 29, 34, 36, 47], "upgrad": [1, 16, 36], "collect": [1, 3, 4, 5, 7, 9, 10, 12, 14, 17, 18, 19, 21, 22, 26, 27, 28, 30, 31, 32, 34, 35, 36, 41, 44, 46, 48], "download": [1, 3, 7, 16, 18, 19, 26, 27, 36, 41], "0": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "7": [1, 2, 3, 4, 5, 6, 7, 10, 11, 13, 14, 15, 16, 17, 18, 19, 24, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48], "py3": [1, 3, 7, 18, 19, 27, 36], "none": [1, 2, 3, 5, 7, 8, 10, 13, 16, 17, 18, 19, 23, 24, 27, 28, 34, 36, 38, 42, 44], "ani": [1, 2, 3, 7, 10, 11, 14, 16, 17, 18, 19, 21, 23, 24, 25, 26, 27, 28, 29, 31, 33, 34, 36, 38, 40, 44, 45], "whl": [1, 3, 7, 18, 19, 27, 36], "metadata": [1, 3, 7, 18, 19, 27, 36, 43], "9": [1, 2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 26, 27, 28, 29, 31, 33, 34, 35, 36, 40, 41, 43, 45, 46, 48], "kb": [1, 3, 7, 18, 19, 27, 36], "alreadi": [1, 3, 7, 11, 16, 17, 19, 21, 25, 27, 28, 29, 34, 35, 36], "satisfi": [1, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 19, 22, 25, 27, 28, 29, 31, 32, 34, 36, 39, 40, 42, 44, 45, 48], "numba": [1, 2, 11, 19, 28, 29, 34, 43], "49": [1, 6, 11, 15, 19, 28, 29, 34, 40, 43], "home": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 43], "runner": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 43], "miniconda3": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 43], "env": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 43], "lib": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36], "python3": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36], "11": [1, 2, 3, 4, 7, 8, 10, 11, 13, 14, 16, 17, 19, 21, 24, 27, 28, 29, 31, 33, 34, 35, 36, 40, 41, 42, 43, 45, 46], "site": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 40], "packag": [1, 3, 7, 8, 11, 16, 17, 18, 19, 24, 26, 27, 28, 29, 34, 36, 43, 45], "59": [1, 11, 19, 28, 29, 34, 40, 41, 43, 49], "numpi": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48], "17": [1, 3, 7, 11, 12, 15, 16, 17, 19, 21, 28, 29, 31, 34, 36, 40, 43, 49], "26": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 40, 43], "request": [1, 3, 7, 11, 16, 17, 19, 28, 29, 34, 36, 43], "32": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 40, 41, 43, 49], "scipi": [1, 2, 7, 11, 16, 19, 21, 22, 25, 28, 29, 30, 32, 34, 35, 36, 42, 43, 44, 45], "5": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49], "13": [1, 3, 9, 11, 12, 13, 15, 16, 19, 24, 26, 27, 28, 29, 31, 34, 40, 43], "sympi": [1, 8, 11, 12, 14, 19, 28, 29, 34, 42, 43], "12": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19, 21, 22, 24, 25, 27, 28, 29, 31, 34, 35, 36, 40, 41, 42, 43, 45, 46], "llvmlite": [1, 11, 19, 28, 29, 34, 43], "43": [1, 11, 17, 18, 19, 28, 29, 34, 40, 43], "42": [1, 11, 13, 18, 19, 28, 29, 40, 41, 43, 49], "0dev0": [1, 11, 19, 28, 29, 34], "charset": [1, 3, 7, 11, 16, 17, 19, 28, 29, 34, 36, 43], "normal": [1, 2, 3, 7, 10, 11, 16, 17, 19, 23, 25, 28, 29, 30, 33, 34, 35, 43, 44, 45, 46], "idna": [1, 3, 7, 11, 16, 17, 19, 28, 29, 34, 36, 43], "urllib3": [1, 3, 7, 11, 16, 17, 19, 28, 29, 34, 36, 43], "21": [1, 3, 7, 9, 11, 17, 18, 19, 21, 24, 26, 27, 28, 29, 31, 34, 35, 36, 40, 41, 43, 46, 49], "certifi": [1, 3, 7, 11, 16, 17, 19, 28, 29, 34, 36, 43], "2017": [1, 3, 7, 11, 16, 17, 19, 26, 28, 29, 34, 36, 41], "2024": [1, 3, 7, 11, 16, 17, 19, 27, 28, 29, 34, 36, 43], "6": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49], "mpmath": [1, 11, 19, 28, 29, 34, 43], "19": [1, 3, 11, 15, 18, 19, 28, 29, 34, 40, 43], "215": [1, 28, 29], "25l": [1, 3, 7, 18, 19, 27, 36], "90m": [1, 3, 7, 18, 19, 27, 36], "0m": [1, 3, 7, 18, 19, 27, 36], "32m0": [1, 3, 7, 18, 19, 27, 36], "31m": [1, 3, 7, 18, 19, 27, 36], "eta": [1, 3, 7, 11, 18, 19, 27, 36], "36m": [1, 3, 7, 18, 19, 27, 36], "2k": [1, 3, 7, 18, 19, 27, 36], "32m215": 1, "31m8": 1, "mb": [1, 3, 7, 18, 19, 27, 36], "36m0": [1, 3, 7, 18, 19, 27, 36], "00": [1, 3, 7, 10, 11, 17, 18, 19, 27, 28, 29, 36, 40, 43], "25h": [1, 3, 7, 18, 19, 27, 36], "successfulli": [1, 3, 7, 18, 19, 27, 36], "life": [1, 9, 29, 41, 49], "cycl": [1, 6, 16, 20, 26, 28, 29, 34, 37, 39, 49], "consist": [1, 3, 5, 9, 14, 15, 18, 19, 23, 26, 31, 34, 38, 41, 44, 45], "two": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 37, 38, 39, 41, 46, 47, 48], "period": [1, 3, 4, 5, 6, 7, 9, 12, 13, 14, 16, 17, 18, 23, 26, 27, 28, 31, 33, 35, 37, 42, 44, 45, 46, 48], "live": [1, 9, 17, 26, 35, 39], "peopl": [1, 5, 13, 14, 16, 17, 18, 22, 26, 29, 30, 31, 36, 38, 39, 44], "propos": [1, 4, 9, 18, 30], "peter": [1, 49], "diamond": [1, 7, 49], "1965": [1, 3, 49], "ll": [1, 4, 5, 8, 9, 12, 13, 14, 15, 18, 21, 22, 25, 26, 28, 29, 31, 32, 33, 37, 40, 44, 45, 46, 48], "version": [1, 2, 4, 5, 10, 11, 13, 16, 17, 18, 19, 21, 22, 24, 26, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 42, 43, 45, 46, 47, 48], "wa": [1, 5, 7, 9, 13, 14, 17, 18, 21, 22, 24, 26, 27, 30, 33, 34, 35, 36, 39, 45, 46], "chapter": [1, 5, 12, 18, 19, 26, 28, 29], "auerbach": [1, 49], "kotlikoff": [1, 49], "1987": [1, 49], "warm": 1, "up": [1, 5, 6, 10, 15, 16, 17, 18, 24, 28, 30, 31, 33, 35, 36, 38, 41, 44, 45, 46, 47], "analysi": [1, 5, 6, 8, 10, 12, 13, 15, 16, 21, 31, 32, 34, 40, 42, 45, 46, 49], "long": [1, 3, 5, 14, 17, 18, 20, 28, 29, 35, 42], "main": [1, 5, 12, 13, 16, 17, 18, 26, 34, 37, 39, 41, 43, 45], "topic": [1, 3, 8, 10, 17, 24, 30, 32, 34, 35, 37, 38], "book": [1, 13, 34, 36, 43], "Their": [1, 13, 15, 18, 22, 35], "point": [1, 2, 7, 10, 13, 14, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 31, 34, 36, 37, 38, 39, 40, 42, 44, 45, 46, 48], "becaus": [1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 14, 16, 17, 18, 21, 23, 24, 25, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 45, 46, 48], "forth": 1, "structur": [1, 3, 34, 39, 41, 46], "interact": [1, 7, 8, 34, 39, 49], "between": [1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 21, 22, 23, 24, 25, 26, 28, 29, 31, 34, 36, 38, 39, 41, 42, 45, 46, 48, 49], "differ": [1, 2, 3, 4, 5, 6, 8, 10, 11, 13, 14, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 41, 44, 45, 46, 49], "agent": [1, 5, 35, 39, 42, 44], "aliv": 1, "given": [1, 2, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 38, 39, 40, 41, 42, 45, 46, 48], "date": [1, 3, 6, 7, 12, 13, 14, 16, 18, 26, 28, 33, 36, 37, 45, 47, 48], "forc": [1, 4, 5, 13, 18, 23, 26, 31], "tradeoff": 1, "confront": [1, 13, 27, 45], "success": [1, 5, 7, 12, 13, 14, 27, 36, 40], "good": [1, 2, 3, 5, 7, 12, 13, 18, 20, 21, 22, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 38, 40, 41, 44, 48], "laboratori": 1, "connect": [1, 7, 19, 24, 25, 29, 31, 32, 34], "subsidi": [1, 3], "issu": [1, 13, 14, 16, 18, 22, 25, 46, 48], "servic": [1, 3, 5, 11, 13, 18, 19, 34, 43], "debt": [1, 3, 9, 48, 49], "involv": [1, 5, 7, 12, 13, 15, 16, 22, 24, 27, 46], "one": [1, 2, 3, 4, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 48], "anoth": [1, 3, 5, 6, 8, 10, 11, 13, 16, 17, 18, 19, 22, 24, 26, 27, 28, 29, 31, 33, 34, 36, 40, 44, 45, 47], "hand": [1, 2, 5, 16, 22, 23, 24, 32, 37, 38, 46], "illustr": [1, 5, 10, 11, 12, 13, 14, 15, 16, 19, 21, 23, 24, 27, 28, 29, 34, 38, 39, 44, 45], "shoot": 1, "method": [1, 2, 3, 6, 7, 10, 15, 16, 17, 26, 27, 28, 30, 32, 33, 34, 35, 37, 38, 39, 40, 41, 43, 45, 46], "solv": [1, 4, 5, 7, 8, 10, 12, 13, 14, 15, 16, 19, 21, 22, 23, 27, 31, 32, 34, 35, 37, 41, 42, 44, 45, 46, 48], "non": [1, 9, 10, 11, 13, 16, 18, 21, 22, 24, 26, 27, 32, 38, 40, 41, 44, 45, 46, 48], "equat": [1, 2, 5, 6, 7, 8, 10, 11, 12, 14, 16, 19, 20, 21, 22, 23, 28, 30, 31, 32, 33, 35, 37, 38, 40, 41, 42, 45, 46, 48], "termin": [1, 5, 9, 37, 39, 46], "condit": [1, 2, 3, 5, 6, 8, 9, 13, 14, 15, 16, 19, 21, 22, 23, 24, 29, 31, 32, 38, 42, 45, 46, 48], "calcul": [1, 2, 3, 4, 5, 8, 9, 10, 11, 14, 15, 17, 18, 21, 24, 25, 29, 30, 31, 32, 33, 34, 36, 37, 38, 45], "path": [1, 5, 7, 9, 14, 20, 22, 28, 29, 31, 32, 33, 34, 35, 42, 46, 48], "take": [1, 2, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17, 21, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48], "liberti": 1, "extend": [1, 5, 14, 21, 22, 26, 27, 31, 34, 39, 45], "arrang": [1, 9, 13, 14, 23, 37], "redistribut": [1, 16, 44], "resourc": [1, 3, 13, 14, 18, 21, 31, 32], "across": [1, 3, 4, 10, 16, 17, 26, 28, 41, 44, 46], "sequenc": [1, 2, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 23, 24, 25, 28, 29, 34, 35, 38, 40, 42, 48], "ag": [1, 19, 28], "specif": [1, 2, 3, 4, 10, 14, 16, 28, 29, 31, 42, 43, 47], "lump": 1, "sum": [1, 3, 7, 8, 9, 10, 14, 16, 17, 21, 23, 24, 25, 26, 34, 36, 37, 39, 41, 44, 45, 46], "transfer": [1, 17], "how": [1, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 38, 39, 40, 42, 44, 45, 46, 47, 48, 49], "affect": [1, 3, 14, 16, 17, 31, 32, 34, 38, 45], "capit": [1, 3, 9, 13, 14, 17, 26, 27, 38, 42], "time": [1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45], "discret": [1, 14, 25, 28, 35, 38, 42], "index": [1, 3, 11, 13, 14, 16, 17, 18, 26, 28, 31, 37, 46, 48], "t": [1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 44, 45, 46, 47, 49], "ldot": [1, 2, 4, 5, 7, 8, 9, 10, 12, 14, 15, 16, 17, 19, 22, 24, 25, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 44, 46, 48], "economi": [1, 2, 3, 11, 14, 16, 17, 18, 19, 28, 34, 35, 42, 49], "forev": [1, 29, 31], "insid": [1, 26, 27], "do": [1, 2, 4, 5, 7, 8, 9, 10, 12, 13, 14, 18, 21, 23, 24, 25, 26, 27, 28, 30, 31, 33, 34, 35, 38, 40, 41, 42, 45, 46, 47, 49], "At": [1, 3, 5, 10, 25, 26, 27, 28, 33, 35, 42, 48], "each": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48], "geq": [1, 4, 5, 7, 9, 10, 11, 14, 15, 16, 17, 19, 21, 22, 23, 27, 31, 32, 34, 35, 36, 42, 48], "coexist": 1, "becom": [1, 3, 5, 9, 12, 14, 16, 21, 24, 27, 28, 33, 34, 35, 39, 41, 42, 45, 46], "popul": [1, 13, 16, 17, 23, 25, 26, 28, 29, 30, 34, 35, 41, 42, 49], "size": [1, 2, 7, 8, 9, 13, 14, 15, 17, 19, 22, 25, 30, 31, 32, 33, 34, 35, 36, 39, 46, 49], "constant": [1, 3, 5, 6, 9, 12, 14, 15, 16, 18, 21, 22, 23, 24, 25, 31, 32, 33, 35, 36, 37, 38, 41, 42, 45, 46, 48], "over": [1, 2, 3, 6, 7, 9, 13, 14, 16, 18, 21, 23, 25, 26, 27, 29, 31, 32, 33, 34, 35, 36, 38, 39, 40, 42, 46], "save": [1, 14, 17, 26, 38, 42], "consum": [1, 3, 7, 9, 11, 14, 17, 24, 30, 34, 45], "dissav": 1, "doe": [1, 2, 3, 4, 9, 12, 13, 16, 17, 24, 25, 26, 27, 28, 29, 33, 34, 35, 38, 44, 45], "i": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 46, 48], "spend": [1, 4, 5, 13, 14, 27, 29, 41], "borrow": [1, 3, 9, 13, 14, 27], "outsid": [1, 9, 14, 26, 31, 37, 41, 45, 48], "k_0": [1, 35, 38, 42], "stock": [1, 13, 16, 23, 31, 35, 37, 38, 42, 46, 48], "brought": [1, 5, 10, 21, 26, 31], "d_0": [1, 14, 19, 21, 37], "fall": [1, 3, 4, 5, 12, 13, 17, 25, 33, 42], "due": [1, 3, 21, 31, 33, 42, 48], "own": [1, 2, 8, 13, 17, 24, 27, 37, 41, 48], "measur": [1, 3, 13, 16, 18, 19, 21, 25, 28, 31, 33, 34, 36, 45, 46, 48], "unit": [1, 3, 6, 7, 10, 11, 13, 14, 16, 17, 18, 19, 21, 27, 28, 30, 31, 34, 35, 39, 42, 45, 46, 48], "five": [1, 16, 17, 27, 33], "g_t": [1, 14, 48], "d_t": [1, 37], "tau_t": 1, "delta_": 1, "ot": [1, 19], "yt": 1, "_": [1, 4, 5, 7, 8, 9, 10, 11, 12, 15, 18, 19, 23, 24, 25, 30, 31, 34, 35, 37, 38, 42, 46, 48], "infti": [1, 2, 5, 7, 8, 10, 11, 14, 15, 16, 19, 23, 25, 28, 29, 30, 31, 36, 38, 40, 42, 48], "whose": [1, 7, 8, 28, 37, 44, 45], "compon": [1, 3, 4, 13, 14, 15, 19, 29, 31, 37, 41, 45, 48], "flat": [1, 39, 48], "rate": [1, 4, 5, 7, 9, 11, 12, 16, 18, 20, 27, 28, 31, 33, 34, 35, 36, 38, 42, 45, 48], "wage": [1, 3, 12, 19, 35, 38], "earn": [1, 9, 12, 13, 17, 35, 37], "bond": [1, 12, 13, 27, 48], "princip": [1, 4, 10, 11, 14, 24, 26], "per": [1, 13, 14, 16, 18, 19, 27, 31, 38, 41, 42, 45], "capita": [1, 13, 16, 38, 41, 42], "purchas": [1, 3, 7, 13, 18, 21, 26, 37, 45], "alloc": [1, 19, 28, 44, 45], "c_": [1, 35, 44], "k_": [1, 34, 35, 38, 42], "l_t": [1, 42], "y_t": [1, 9, 14, 15, 31, 32, 35, 42, 46], "constitu": [1, 13], "k_t": [1, 35, 38, 42], "physic": 1, "labor": [1, 2, 3, 9, 12, 14, 17, 19, 23, 27, 35, 37, 42], "output": [1, 3, 4, 10, 14, 16, 17, 20, 28, 35, 36, 42, 45, 49], "consumpt": [1, 4, 5, 8, 14, 17, 18, 19, 20, 21, 35, 37, 42, 44, 45, 49], "equiv": [1, 5, 9, 12, 15, 19, 31, 32, 37, 46, 48], "i_t": [1, 7, 14], "invest": [1, 8, 14, 16, 42], "nation": [1, 3, 12, 14, 26, 46, 49], "incom": [1, 2, 3, 9, 12, 13, 14, 16, 20, 34, 35, 36, 42, 45, 46, 49], "account": [1, 3, 7, 14, 16, 19, 26, 27, 28, 37], "equal": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 19, 20, 21, 22, 24, 25, 27, 28, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 45, 46], "quad": [1, 2, 4, 5, 7, 8, 9, 10, 11, 15, 16, 17, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 42, 46, 48], "price": [1, 3, 6, 9, 13, 15, 16, 20, 21, 24, 35, 36, 37, 38, 44, 45, 46, 48, 49], "pair": [1, 8, 9, 15, 19, 21, 22, 24, 27, 31, 34, 37, 39, 44], "w_t": [1, 2, 12, 35], "r_t": [1, 23, 31, 35, 37, 48], "rental": [1, 35], "There": [1, 6, 10, 11, 14, 15, 16, 17, 21, 24, 28, 29, 30, 31, 37, 38, 44, 46], "depreci": [1, 3, 7, 18, 38, 42], "rent": 1, "net": [1, 3, 4, 5, 12, 14, 17, 19, 27, 30, 35, 45, 48], "emerg": [1, 3, 5, 21, 22, 31, 32, 39], "cumul": [1, 17, 28, 36], "past": [1, 3, 4, 5, 6, 26, 28, 38, 46], "sum_": [1, 2, 4, 5, 9, 10, 11, 12, 14, 16, 17, 19, 21, 24, 25, 27, 28, 29, 30, 33, 34, 36, 37, 41, 44, 46, 48], "i_": [1, 7, 21, 46], "cobb": [1, 35, 42], "dougla": [1, 35, 42], "technolog": [1, 17, 19, 26, 35], "convert": [1, 3, 9, 14, 17, 18, 24, 28, 40, 42], "alpha": [1, 2, 3, 4, 5, 6, 7, 10, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 42, 45], "risk": [1, 7, 16], "free": [1, 4, 5, 7, 9, 12, 14, 15, 21, 26, 27, 45], "promis": [1, 9, 13, 14, 18, 31, 33], "pai": [1, 5, 12, 13, 14, 18, 21, 25, 27, 31, 33, 37, 49], "d_": [1, 14, 19, 37], "bear": [1, 48], "befor": [1, 3, 10, 11, 13, 14, 15, 17, 18, 19, 21, 24, 25, 28, 29, 33, 36, 44, 45], "r_": [1, 7, 16, 23, 31, 35, 38, 48], "budget": [1, 9, 13, 21, 31, 44, 45, 48], "constraint": [1, 9, 13, 19, 21, 27, 31, 35, 44, 45, 48], "t_t": 1, "total": [1, 3, 7, 11, 13, 14, 17, 19, 21, 23, 26, 27, 28, 30, 33, 34, 35, 38, 40, 41, 44, 45], "bring": [1, 5, 12, 13, 17, 18, 21, 31, 42, 48], "its": [1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27, 30, 31, 33, 34, 36, 38, 40, 41, 45, 46, 48, 49], "sell": [1, 6, 13, 14, 21, 27, 33, 45, 48], "gover": [1, 5], "acquir": [1, 5, 18], "neg": [1, 3, 9, 11, 14, 27, 38, 44, 45, 48], "a_": [1, 9, 11, 19, 24, 27, 34, 42], "If": [1, 2, 5, 6, 9, 10, 11, 12, 14, 15, 16, 17, 19, 21, 24, 25, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 42, 45, 46, 47], "hire": [1, 12, 13], "competit": [1, 12, 49], "numerair": [1, 44, 45], "so": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48], "profit": [1, 7, 16, 21, 27, 33, 35, 45], "To": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 41, 42, 44, 45, 46, 48], "maxim": [1, 7, 9, 19, 21, 27, 30, 31, 35, 42], "margin": [1, 2, 8, 9, 14, 28, 35, 42, 44, 45], "begin": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 37, 38, 40, 41, 45, 46, 48], "align": [1, 4, 5, 8, 14, 15, 16, 19, 23, 24, 25, 27, 28, 30, 31, 34, 37, 41, 48], "end": [1, 2, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 37, 40, 41, 45, 46, 48, 49], "either": [1, 2, 3, 5, 11, 12, 14, 15, 16, 21, 22, 24, 27, 28, 29, 33, 34, 45, 46, 47, 48], "sold": [1, 13, 21, 41], "augment": 1, "util": [1, 9, 19, 21, 44], "thrown": 1, "ocean": 1, "thu": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 39, 42, 44, 45, 46, 48], "endow": [1, 44], "r_0": [1, 23, 31], "tau_0": 1, "a_0": [1, 9, 19], "It": [1, 3, 4, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 21, 22, 24, 26, 27, 28, 29, 31, 32, 36, 37, 39, 41, 42, 46, 48], "must": [1, 5, 7, 9, 12, 14, 15, 17, 19, 23, 24, 25, 27, 31, 39, 40, 48], "posit": [1, 3, 6, 7, 8, 9, 11, 14, 15, 16, 19, 21, 23, 28, 29, 31, 33, 34, 35, 36, 37, 38, 41, 44, 45, 48], "receiv": [1, 9, 12, 14, 27, 33, 34, 48], "o0": 1, "optim": [1, 7, 9, 19, 21, 22, 24, 27, 30, 32, 35, 39, 40, 42, 45, 49], "plan": [1, 13, 19, 27, 30, 33, 45], "inelast": 1, "suppli": [1, 4, 5, 6, 7, 9, 13, 14, 17, 18, 20, 22, 24, 32, 34, 37, 48], "return": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45, 46, 48], "pre": [1, 13, 17, 18, 19, 24, 31, 32, 46], "post": [1, 3, 13, 18, 29, 48], "choos": [1, 3, 7, 8, 9, 12, 15, 16, 18, 19, 21, 24, 25, 26, 27, 30, 34, 36, 38, 39, 41, 42, 45, 46, 48], "u_t": [1, 23, 35, 46], "beta": [1, 2, 7, 9, 10, 19, 25, 28, 29, 33, 34, 35, 44, 45, 46], "o": [1, 6, 7, 8, 9, 10, 11, 13, 16, 17, 22, 24, 31, 32, 35, 36, 37, 39, 42, 49], "subject": [1, 19, 21, 27, 35, 45, 48], "tau_": 1, "second": [1, 2, 5, 6, 7, 8, 10, 11, 13, 14, 17, 18, 19, 21, 22, 23, 24, 25, 27, 29, 31, 32, 33, 35, 36, 38, 39, 44, 45, 46, 47], "substitut": [1, 14, 27, 35, 37, 41, 42, 44, 45], "impli": [1, 2, 4, 5, 7, 9, 10, 11, 14, 17, 19, 22, 23, 28, 30, 31, 32, 34, 38, 42, 44, 46, 48], "frac": [1, 2, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 25, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 44, 45, 46, 48], "choic": [1, 6, 7, 10, 16, 19, 21, 25, 29, 30, 31, 34, 35, 37, 40, 44], "lagrangian": [1, 45], "mathcal": [1, 15, 46, 48], "l": [1, 13, 17, 19, 27, 30, 38, 42, 45, 49], "lambda": [1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 22, 23, 25, 29, 30, 31, 32, 33, 35, 36, 38, 42, 45, 48], "bigl": [1, 4], "bigr": [1, 4], "where": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48], "lagrang": [1, 45], "multipli": [1, 4, 5, 8, 9, 10, 15, 16, 24, 33, 37, 45, 46, 49], "intertempor": [1, 9, 35], "after": [1, 3, 5, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 26, 33, 34, 36, 37, 39, 40, 44, 45, 48], "sever": [1, 5, 11, 13, 16, 17, 26, 28, 31, 34, 39], "line": [1, 3, 4, 5, 6, 8, 10, 12, 13, 14, 16, 17, 19, 21, 22, 23, 24, 26, 27, 31, 32, 38, 40, 41, 42, 44, 47], "order": [1, 2, 5, 8, 10, 11, 17, 21, 22, 24, 27, 31, 34, 35, 38, 45, 46, 49], "respect": [1, 2, 8, 9, 12, 13, 16, 17, 21, 23, 31, 32, 34, 35, 42, 45], "0t": 1, "minim": [1, 19, 27, 40, 41, 45], "8": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 39, 40, 41, 42, 43, 45, 46, 48, 49], "multipl": [1, 3, 4, 5, 9, 11, 12, 14, 15, 21, 31, 37, 44], "recov": [1, 3, 15, 26, 37], "which": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 44, 45, 46, 48], "definit": [1, 11, 13, 16, 21, 24, 33, 36, 44, 45], "equilibrium": [1, 4, 5, 6, 12, 24, 48], "properti": [1, 2, 10, 11, 12, 13, 17, 24, 25, 28, 29, 31, 36, 38, 42, 45], "all": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "outcom": [1, 4, 5, 8, 9, 12, 13, 14, 16, 21, 22, 26, 28, 29, 32, 33, 35, 39, 41, 45, 48], "special": [1, 2, 11, 12, 15, 24, 28, 31, 34, 35, 37, 44, 46], "case": [1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 23, 24, 25, 27, 28, 29, 30, 34, 36, 37, 38, 40, 42, 46], "began": [1, 13, 26, 45], "shall": [1, 4, 5, 9, 14, 15, 18, 22, 31, 32, 37, 44, 45, 46], "deriv": [1, 9, 12, 14, 16, 17, 19, 21, 30, 35, 41, 45], "pretend": 1, "don": [1, 12, 14, 16, 18, 31, 39, 47], "know": [1, 2, 4, 7, 11, 12, 13, 16, 17, 21, 27, 28, 33, 38, 40, 41, 45, 46], "formul": [1, 12, 19, 27, 31, 45], "fix": [1, 2, 3, 6, 9, 12, 14, 16, 17, 21, 22, 23, 25, 29, 34, 35, 36, 38, 42, 45, 46, 48], "map": [1, 12, 17, 18, 22, 26, 34, 38, 40, 42, 48], "iter": [1, 2, 7, 9, 15, 23, 26, 28, 31, 32, 35, 38, 39, 40, 41, 48], "converg": [1, 2, 6, 7, 10, 11, 14, 15, 16, 22, 23, 25, 26, 29, 31, 32, 35, 36, 38, 39, 40, 42, 46, 48], "get": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 24, 25, 26, 27, 28, 29, 31, 33, 34, 35, 36, 38, 39, 41, 45, 47], "zero": [1, 2, 4, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 21, 23, 24, 25, 28, 29, 31, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 46], "As": [1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 38, 39, 41, 42, 45, 46, 48], "a_t": [1, 9, 24, 42], "obtain": [1, 2, 3, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 19, 21, 22, 23, 24, 29, 30, 34, 35, 36, 38, 39, 40, 42, 45, 46], "law": [1, 2, 13, 22, 28, 29, 30, 31, 32, 33, 36, 49], "left": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 42, 44, 45, 46, 48], "right": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 28, 31, 32, 33, 35, 36, 37, 38, 42, 44, 45, 46, 48], "invari": [1, 28, 31, 48], "hat": [1, 4, 16, 23, 24, 29, 30, 41], "k": [1, 2, 4, 5, 6, 7, 9, 10, 11, 13, 16, 17, 21, 23, 24, 25, 27, 28, 29, 30, 33, 34, 35, 38, 39, 42, 49], "d": [1, 4, 5, 6, 7, 8, 11, 12, 13, 14, 16, 18, 19, 21, 23, 24, 25, 28, 31, 34, 35, 37, 39, 40, 42, 44, 46, 49], "tau": 1, "r": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 23, 24, 25, 28, 29, 30, 31, 33, 34, 35, 36, 38, 41, 42, 45, 48, 49], "y": [1, 2, 3, 6, 8, 9, 10, 13, 14, 15, 16, 17, 18, 22, 24, 25, 26, 27, 28, 29, 31, 32, 38, 39, 41, 42, 45, 46, 47, 49], "These": [1, 2, 3, 7, 11, 13, 14, 15, 17, 18, 20, 21, 22, 25, 26, 27, 28, 30, 31, 32, 39, 43, 48], "let": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48], "exampl": [1, 2, 3, 4, 6, 7, 9, 12, 13, 15, 16, 17, 18, 19, 23, 25, 30, 33, 36, 37, 39, 40, 41, 46], "15": [1, 3, 4, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 24, 25, 26, 27, 28, 29, 34, 35, 40, 43, 48], "formula": [1, 4, 5, 8, 9, 11, 15, 22, 32, 36, 37, 46, 48], "tell": [1, 14, 15, 17, 25, 27, 28, 29, 30, 31, 33, 34, 45, 47], "np": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48], "pyplot": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 48], "plt": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 48], "njit": [1, 2], "brent_max": 1, "For": [1, 2, 3, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 21, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47, 48], "paramet": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 16, 17, 19, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 34, 35, 36, 37, 38, 41, 42, 45, 46, 48], "\u03b1": [1, 2, 4, 5, 6, 7, 16, 22, 23, 25, 29, 32, 35, 36, 41], "\u03b2": [1, 2, 9, 16, 25, 29, 33, 35, 36, 41, 46], "\u03c4": 1, "\u03c4_hat": 1, "d_hat": 1, "k_hat": 1, "17694509514972878": 1, "other": [1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 38, 39, 40, 42, 44, 45, 46, 49], "object": [1, 7, 9, 15, 17, 21, 24, 26, 27, 31, 34, 35, 38, 39, 43, 44, 45], "defin": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 44, 45, 46, 48], "helper": 1, "def": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 42, 44, 45, 46, 48], "k_to_i": 1, "k_to_r": 1, "k_to_w": 1, "k_to_c": 1, "when": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 42, 45, 46, 47, 49], "\u03b4": [1, 5, 22, 37], "co": [1, 8, 10, 19, 21, 28], "w": [1, 9, 11, 12, 19, 21, 30, 34, 35, 40, 44, 45], "cy": 1, "associ": [1, 4, 5, 9, 11, 13, 15, 17, 18, 19, 27, 31, 34, 37, 45, 48], "y_hat": [1, 41], "r_hat": 1, "w_hat": 1, "5947734290747186": 1, "0084033613445376": 1, "41634140035230305": 1, "sinc": [1, 2, 4, 6, 7, 8, 9, 10, 11, 15, 16, 17, 21, 23, 24, 25, 26, 28, 29, 31, 33, 35, 38, 42, 45, 46, 48], "g_hat": 1, "0892160143612078": 1, "cy_hat": 1, "co_hat": 1, "32861231956378195": 1, "store": [1, 5, 6, 7, 9, 13, 15, 17, 21, 22, 26, 28, 31, 32, 34, 35, 36, 39, 40], "quantiti": [1, 3, 4, 6, 7, 14, 17, 19, 22, 24, 27, 30, 31, 32, 35, 42, 45, 48, 49], "arrai": [1, 4, 5, 7, 9, 10, 11, 15, 17, 19, 23, 24, 25, 27, 28, 29, 30, 31, 34, 35, 36, 37, 39, 40, 42, 44, 45, 46], "call": [1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 38, 39, 40, 41, 42, 45, 46, 48], "init_ss": 1, "zejin": 1, "tri": [1, 13], "edit": [1, 3, 49], "describ": [1, 2, 4, 5, 6, 7, 9, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 24, 26, 27, 28, 29, 31, 32, 33, 35, 37, 38, 39, 40, 44, 45, 46, 48], "fiscal": [1, 4, 5, 9, 13, 18, 31, 32, 35, 49], "make": [1, 2, 3, 5, 6, 9, 10, 12, 13, 14, 16, 21, 22, 24, 27, 28, 30, 31, 32, 33, 35, 40, 41, 44, 46], "sens": [1, 6, 7, 9, 12, 13, 17, 24, 28, 31, 32, 46], "treat": [1, 7, 17, 24, 25, 32, 35, 45], "huge": 1, "unanticip": [1, 5, 26], "shock": [1, 2, 3, 5, 7, 34, 42, 46], "disrupt": [1, 13], "origin": [1, 3, 4, 8, 9, 10, 11, 18, 23, 24, 26, 27, 34, 38, 39, 41, 46], "new": [1, 3, 10, 13, 17, 18, 21, 23, 27, 28, 34, 35, 39, 42, 48, 49], "eventu": [1, 4, 9, 12, 17, 21, 25, 29, 31, 32], "sudden": [1, 4, 16, 18], "revel": 1, "everyon": [1, 17], "accordingli": 1, "aggreg": [1, 3, 9, 14, 16, 18, 26, 34, 35, 39, 42, 44, 46], "adjust": [1, 5, 10, 12, 13, 14, 17, 18, 21, 31, 33, 41, 45], "chang": [1, 3, 5, 9, 10, 12, 13, 14, 16, 17, 18, 19, 21, 22, 24, 25, 26, 28, 29, 32, 33, 35, 36, 39, 42, 45, 49], "approach": [1, 9, 14, 16, 26, 31, 38, 40, 42, 48, 49], "emploi": [1, 23, 27, 28], "algorithm": [1, 22, 24, 28, 32, 34, 49], "space": [1, 10, 11, 12, 23, 24, 28, 38, 46], "But": [1, 4, 5, 7, 12, 13, 15, 16, 18, 22, 24, 28, 31, 32, 33, 34, 35, 37, 39, 40, 46, 48], "avail": [1, 3, 18, 19, 26, 27, 28, 37, 41, 47], "simpler": [1, 2], "faster": [1, 15, 16, 17, 23, 28, 33, 40], "here": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48], "closedformtran": 1, "length": [1, 4, 6, 9, 10, 12, 14, 17, 18, 23, 24, 28, 35, 48], "respons": [1, 5, 13, 18, 45], "larg": [1, 2, 3, 7, 8, 9, 13, 15, 16, 18, 19, 21, 23, 24, 26, 28, 29, 30, 33, 34, 36, 37, 40], "enough": [1, 12, 13, 23, 34], "gotten": 1, "veri": [1, 2, 3, 7, 9, 13, 15, 16, 17, 18, 21, 24, 26, 28, 30, 33, 34, 36, 38, 46], "three": [1, 3, 8, 9, 10, 13, 14, 16, 17, 18, 24, 25, 27, 28, 33, 34, 35, 42, 43], "keyword": [1, 34], "argument": [1, 3, 9, 11, 14, 16, 27, 28], "\u03c4_pol": 1, "d_pol": 1, "g_pol": 1, "level": [1, 9, 12, 13, 14, 15, 17, 20, 26, 34, 37, 39, 41, 42, 44, 48, 49], "below": [1, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24, 27, 28, 29, 31, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45], "pass": [1, 16, 19, 24], "out": [1, 2, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 19, 21, 22, 24, 28, 31, 32, 33, 34, 37, 38, 42, 44, 45, 46, 48], "input": [1, 3, 4, 9, 20, 26, 27], "depict": [1, 11, 13, 18], "singl": [1, 3, 5, 7, 9, 12, 15, 16, 18, 19, 21, 25, 26, 28, 29, 37, 38, 39, 44], "remain": [1, 3, 5, 6, 9, 12, 16, 29, 31, 32, 42], "undetermin": 1, "variabl": [1, 2, 4, 5, 12, 15, 16, 17, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 38, 41, 45, 46], "distinguish": 1, "control": [1, 6, 11, 45], "base": [1, 2, 3, 8, 12, 15, 16, 17, 18, 19, 25, 26, 29, 31, 32, 34, 38, 39, 43], "taxat": [1, 16], "absent": 1, "__init__": [1, 2, 6, 10, 23, 39, 44, 45, 46], "unpack": [1, 18, 48], "contain": [1, 15, 16, 17, 23, 24, 25, 26, 31, 33, 34, 41, 42, 43, 48], "quant_seq": 1, "empti": [1, 6, 7, 10, 16, 25, 28, 31, 33, 34, 35, 38, 41, 48], "price_seq": 1, "policy_seq": 1, "k0": [1, 35, 38], "y0": [1, 31], "w0": 1, "r0": [1, 31], "d0": [1, 45], "d1": [1, 45], "g0": 1, "\u03c40": 1, "elif": [1, 10], "cy0": 1, "co0": 1, "rang": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 46, 48], "k_old": 1, "\u03c4_old": 1, "d_next": 1, "plot": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 45, 46, 48], "fig": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 48], "ax": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 48], "subplot": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 48], "figsiz": [1, 2, 4, 5, 6, 8, 10, 14, 15, 16, 18, 19, 22, 23, 25, 26, 31, 32, 34, 35, 42, 46, 48], "14": [1, 4, 5, 6, 10, 13, 15, 18, 24, 26, 28, 35, 38, 40, 41, 42, 43, 46], "10": [1, 2, 3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49], "name": [1, 3, 4, 9, 11, 13, 14, 15, 16, 17, 18, 21, 26, 31, 33, 36, 37, 43, 45], "enumer": [1, 2, 6, 7, 9, 10, 16, 22, 23, 24, 28, 34, 48], "label": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 42, 45, 46], "hline": [1, 3, 14, 17, 19, 21, 23, 45, 48], "color": [1, 2, 3, 6, 8, 9, 10, 13, 15, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 39, 41, 42, 45, 46, 48], "linestyl": [1, 3, 10, 13, 14, 15, 16, 21, 22, 26, 28, 29, 31, 32, 36, 45, 48], "legend": [1, 2, 3, 4, 5, 6, 7, 9, 10, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 42, 45, 46], "set_xlabel": [1, 4, 5, 6, 7, 10, 14, 15, 16, 17, 18, 21, 22, 23, 25, 26, 27, 28, 29, 31, 32, 35, 36, 37, 38, 42], "creat": [1, 5, 7, 9, 10, 13, 14, 17, 18, 21, 22, 24, 26, 27, 31, 32, 34, 36, 38, 39, 45, 48], "instanc": [1, 5, 9, 12, 15, 18, 21, 26, 28, 39, 43, 45], "variou": [1, 3, 5, 12, 15, 24, 26, 45, 46], "power": [1, 10, 11, 13, 17, 18, 21, 23, 26, 28, 29, 34, 37, 40, 45, 46, 49], "unexpectedli": 1, "announc": 1, "bar": [1, 5, 8, 15, 16, 19, 21, 22, 23, 25, 29, 30, 31, 34, 36, 41, 48], "keep": [1, 11, 14, 15, 16, 18, 24, 27, 36, 39, 42, 47], "payment": [1, 13, 14, 33], "complet": [1, 3, 5, 6, 7, 8, 12, 13, 16, 17, 18, 22, 30, 31, 36, 46], "character": [1, 11, 13, 19, 48], "20": [1, 3, 6, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 23, 24, 27, 28, 29, 30, 31, 32, 34, 36, 38, 40, 41, 42, 43], "prepar": [1, 7, 11, 13, 18, 21, 36], "advanc": [1, 7, 10, 17, 24, 25, 30, 45, 46], "them": [1, 2, 3, 5, 6, 7, 8, 9, 11, 13, 16, 17, 18, 21, 24, 25, 26, 27, 28, 30, 34, 35, 36, 38, 39, 40, 45, 46], "solver": [1, 27], "g_seq": 1, "ones": [1, 4, 5, 9, 11, 19, 22, 23, 24, 25, 28, 34, 39, 45], "d_bar": 1, "d_seq": 1, "dynam": [1, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16, 26, 28, 31, 34, 37, 39, 40, 42, 46, 49], "note": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 23, 24, 26, 28, 29, 31, 33, 34, 36, 39, 40, 48], "leav": [1, 9, 22, 27, 31, 32, 34, 45, 48], "determin": [1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18, 21, 22, 23, 24, 28, 31, 33, 34, 35, 37, 39, 42, 45, 46, 48, 49], "quant_seq1": 1, "price_seq1": 1, "policy_seq1": 1, "lower": [1, 5, 6, 7, 9, 13, 14, 16, 22, 23, 26, 28, 31, 32, 42, 45, 46, 48], "correspond": [1, 2, 5, 7, 10, 11, 13, 15, 16, 17, 19, 21, 22, 23, 24, 26, 28, 29, 31, 32, 34, 37, 38, 45, 46], "quant_seq2": 1, "price_seq2": 1, "policy_seq2": 1, "ha": [1, 2, 3, 5, 6, 8, 9, 10, 12, 13, 14, 16, 17, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 44, 45, 48], "same": [1, 2, 3, 5, 9, 10, 11, 13, 14, 16, 17, 18, 21, 24, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 39, 42, 44, 46, 48], "pattern": [1, 3, 5, 9, 10, 16, 18], "less": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 16, 17, 18, 24, 27, 34, 41, 45, 48], "distort": [1, 3], "higher": [1, 9, 12, 16, 17, 19, 28, 31, 32, 34, 38, 41, 45, 48], "now": [1, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48], "half": [1, 7, 13, 26, 31, 39], "foral": [1, 5, 15, 22, 32], "target": [1, 34], "conduct": 1, "\u03c4_seq": 1, "along": [1, 10, 14, 15, 23, 42, 44, 48], "privat": [1, 3, 5, 18], "result": [1, 2, 3, 5, 6, 8, 10, 11, 13, 15, 16, 17, 19, 21, 22, 23, 24, 25, 28, 29, 31, 34, 36, 44, 45, 46], "ratio": [1, 8, 12, 13, 14, 15, 18, 31, 48], "increas": [1, 5, 6, 9, 12, 13, 14, 16, 17, 23, 24, 25, 33, 34, 35, 36, 38, 42, 45, 46, 48], "xlabel": [1, 8, 9, 10, 12, 13, 16, 17, 22, 24, 26, 30, 31, 32, 41, 45, 46, 48], "titl": [1, 10, 16, 17, 23, 33, 39, 48], "run": [1, 3, 5, 10, 17, 18, 20, 22, 25, 28, 29, 31, 32, 33, 35, 39, 41, 42, 43, 46, 47, 48], "futur": [1, 2, 3, 7, 13, 14, 16, 19, 22, 28, 33, 46, 48], "cohort": 1, "enjoi": 1, "throughout": [1, 2, 3, 14, 15, 21, 31, 38], "thei": [1, 2, 3, 6, 7, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 45], "howev": [1, 3, 6, 11, 12, 14, 15, 16, 17, 24, 25, 29, 30, 31, 33, 34, 36, 38, 39, 41, 46], "short": [1, 14, 18, 21, 23, 28], "suffer": 1, "big": [1, 5, 8, 9, 13, 14, 15, 21, 49], "offset": [1, 23, 42], "loss": 1, "Such": [1, 5, 26, 28, 35], "distinct": [1, 11, 16, 23, 29, 31, 34, 35, 39, 42, 45], "effect": [1, 2, 5, 13, 14, 34, 35, 45, 49], "motiv": [1, 13, 14, 17, 34], "strictli": [1, 11, 14, 23, 25, 28, 29, 33, 35, 42], "cost": [1, 3, 12, 13, 18, 19, 21, 33, 34, 36, 41, 45], "fewer": 1, "public": [1, 3, 4, 5, 12, 13, 22, 31, 48, 49], "investig": [1, 6, 21, 25, 33, 35, 36, 42], "scenario": [1, 6, 29], "onli": [1, 4, 7, 10, 12, 13, 14, 15, 16, 17, 18, 21, 23, 24, 27, 28, 29, 30, 31, 32, 34, 37, 38, 40, 41, 45, 46, 48], "expeditur": 1, "maintain": [1, 7, 17, 18, 30, 42, 48], "d_1": [1, 19, 21, 37], "quickli": [1, 4, 13, 16, 18, 26, 28, 38, 41], "though": [1, 2, 17, 31, 36, 39, 41], "balanc": [1, 4, 5, 13, 14, 27, 31, 48], "gather": [1, 26, 31, 32, 41], "revenu": [1, 13, 16, 22, 27, 30, 31, 32, 45], "dure": [1, 3, 4, 12, 18, 20, 26, 33, 35, 48], "peropl": 1, "earli": [1, 6, 13, 17, 18, 46], "With": [1, 3, 8, 11, 15, 16, 17, 33, 42, 48], "preced": [1, 4, 5, 9, 13, 14, 15, 21, 22, 24, 26, 28, 31, 32, 34, 38, 40, 44, 45, 48], "caluat": 1, "instig": 1, "altern": [1, 2, 4, 5, 9, 13, 31, 34], "assumpt": [1, 2, 5, 6, 11, 16, 21, 22, 24, 25, 30, 33, 35, 44, 47], "were": [1, 3, 6, 12, 13, 14, 17, 18, 21, 22, 24, 36, 40, 44, 45], "section": [1, 7, 9, 10, 11, 12, 17, 21, 24, 26, 29, 33, 35, 36, 38, 39, 41, 42], "depend": [1, 2, 3, 4, 6, 7, 10, 12, 14, 22, 23, 24, 25, 27, 28, 31, 33, 34, 35, 36, 38, 45, 46, 48], "therefor": [1, 8, 13, 14, 23, 25, 28, 31, 45], "pin": [1, 2, 15, 37, 45], "down": [1, 2, 6, 9, 12, 13, 14, 15, 17, 25, 28, 34, 35, 37, 39, 42, 45], "stage": [1, 5, 13, 15, 18, 26, 31, 32, 46], "entri": [1, 12, 18, 23, 27, 28, 37, 46], "seek": [1, 7, 15, 23, 26, 31, 48], "concept": [1, 2, 8, 10, 11, 16, 20, 21, 29, 31, 34, 38, 45, 48], "guess": [1, 6, 7, 12, 15, 18, 21, 26, 28, 30, 31, 33, 40, 41], "verifi": [1, 4, 7, 8, 9, 10, 11, 12, 14, 15, 22, 24, 25, 31, 32, 34, 37, 44, 45, 48], "endogen": [1, 4, 5, 35, 48], "exogen": [1, 4, 5, 7, 9, 14, 19, 37, 42, 45], "known": [1, 2, 5, 8, 14, 17, 26, 28, 30, 31, 36, 40, 45], "everybodi": 1, "true": [1, 2, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 39, 41, 42, 46, 49], "updat": [1, 2, 3, 6, 7, 13, 19, 21, 28, 38, 39, 40, 47], "until": [1, 3, 7, 13, 14, 16, 17, 18, 24, 26, 39], "u": [1, 3, 10, 16, 17, 23, 25, 26, 27, 34, 35, 36, 39, 46], "cy_val": 1, "lifetim": [1, 12, 28], "arbitrari": [1, 11, 15, 25, 30, 31, 38], "c_y": 1, "r_next": 1, "\u03c4_next": 1, "\u03b4y": 1, "\u03b4o_next": 1, "found": [1, 3, 6, 7, 10, 11, 16, 21, 24, 26, 27, 28, 30, 34, 40, 41], "c": [1, 2, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 24, 25, 26, 27, 28, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 49], "_y": 1, "like": [1, 4, 5, 9, 13, 16, 21, 24, 26, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 41, 44, 45, 46, 47], "cy_opt": 1, "u_opt": 1, "maximand": 1, "1e": [1, 7, 9, 22, 32, 48], "bound": [1, 16, 21, 23, 27, 39, 42], "upper": [1, 3, 6, 16, 18, 21, 23, 26, 27, 30, 34, 35, 38, 42, 45, 46], "arg": [1, 3, 10, 14, 22, 26, 32, 35, 41, 44, 45], "241135518231111": 1, "ak2": [1, 43], "handl": [1, 18, 24, 28, 33, 34, 42], "nonzero": [1, 10, 11, 24], "\u03b4y_seq": 1, "\u03b4o_seq": 1, "verbos": [1, 9], "fals": [1, 6, 7, 13, 16, 19, 21, 26, 28, 29, 33, 34, 35, 38, 39, 42], "max_it": [1, 39, 40], "500": [1, 2, 13, 16, 18, 19, 21, 30, 33, 34, 40, 41], "tol": [1, 7, 19, 34, 48], "check": [1, 2, 9, 10, 14, 17, 19, 22, 23, 24, 25, 27, 28, 29, 30, 32, 34, 36, 37, 38, 40, 41, 44, 45, 48], "price_seq_old": 1, "empty_lik": [1, 2, 7, 16, 19, 35, 40], "policy_seq_old": 1, "i_it": 1, "while": [1, 4, 5, 6, 7, 9, 11, 12, 13, 16, 17, 18, 21, 23, 26, 28, 29, 30, 31, 32, 34, 37, 38, 39, 40, 41, 44, 48], "current": [1, 2, 3, 6, 7, 14, 16, 21, 23, 27, 28, 38, 40, 42, 46], "ith": 1, "set_titl": [1, 4, 6, 8, 10, 14, 15, 16, 23, 33, 39, 48], "f": [1, 2, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 35, 36, 38, 39, 40, 42], "th": [1, 2, 10, 11, 14, 15, 19, 21, 24, 27, 28, 34], "bbox_to_anchor": [1, 2, 3, 6, 10, 26, 38], "05": [1, 2, 3, 9, 12, 13, 14, 16, 17, 18, 25, 28, 29, 30, 33, 36, 37, 40, 41, 43], "loc": [1, 2, 3, 6, 10, 14, 16, 18, 21, 23, 25, 26, 30, 34, 35, 38, 39, 41, 42, 45], "last": [1, 4, 5, 6, 9, 10, 12, 14, 16, 17, 18, 23, 25, 26, 28, 35, 38, 49], "g_next": 1, "\u03b4o": 1, "\u03b4y_next": 1, "\u03c4_num": 1, "\u03c4_denom": 1, "a_next": 1, "k_next": [1, 42], "y_next": 1, "w_next": 1, "max": [1, 7, 10, 11, 16, 17, 21, 23, 25, 26, 31, 33, 34, 35, 42, 44, 45, 48], "ab": [1, 4, 7, 9, 10, 11, 15, 17, 24, 25, 34, 41, 48], "print": [1, 4, 5, 8, 9, 10, 11, 13, 14, 15, 16, 18, 21, 22, 24, 25, 27, 29, 31, 32, 33, 34, 35, 39, 40, 41, 42, 44, 45, 46, 48], "break": [1, 3, 33, 39, 40, 42], "fail": [1, 14, 16, 25, 28, 34, 36, 38], "examin": [1, 3, 10, 14, 16, 17, 26, 34, 35, 44], "lead": [1, 5, 7, 10, 13, 14, 16, 17, 18, 21, 23, 24, 25, 28, 31, 33, 34, 35, 38, 39, 42, 44, 45], "numer": [1, 8, 12, 18, 21, 24, 28, 30, 34, 35, 41, 45, 46], "mute": [1, 15], "quant_seq3": 1, "price_seq3": 1, "policy_seq3": 1, "alter": [1, 3, 13, 35, 46], "005": [1, 14], "geq0": [1, 46], "quant_seq4": 1, "price_seq4": 1, "policy_seq4": 1, "crowd": [1, 49], "mitig": [1, 48], "delta": [1, 5, 14, 15, 19, 22, 30, 37, 38, 42], "compar": [1, 3, 4, 5, 10, 12, 13, 14, 15, 16, 17, 21, 22, 24, 25, 28, 30, 31, 32, 36, 45], "rais": [1, 12, 13, 15, 16, 19, 22, 30, 31, 32, 44, 45, 47], "financ": [1, 4, 5, 13, 15, 17, 18, 19, 20, 22, 24, 28, 30, 32, 33, 46, 48, 49], "distortionari": 1, "magnitud": [1, 23], "opposit": [1, 42], "sign": [1, 16, 27], "subsid": 1, "amount": [1, 10, 12, 13, 14, 16, 18, 19, 21, 27, 28, 31, 34, 45], "launch": [1, 47], "ignit": [1, 14], "quant_seq5": 1, "price_seq5": 1, "policy_seq5": 1, "benefit": [1, 33], "especi": [1, 3, 10, 13, 26], "he": [1, 5, 12, 13, 27, 45], "noth": [1, 12, 33], "decreas": [1, 3, 5, 6, 12, 23, 24, 31, 45, 46, 48], "incent": 1, "That": [1, 5, 6, 13, 18, 24, 28, 31, 32, 35, 36, 46, 48], "consequ": [1, 4, 5, 7, 13, 24, 26, 37, 45, 48], "further": [1, 2, 3, 6, 10, 11, 12, 13, 19, 21, 23, 25, 44, 45], "go": [2, 3, 6, 11, 12, 13, 14, 15, 17, 19, 25, 26, 28, 29, 30, 33, 35, 38, 39, 41, 42], "simpl": [2, 6, 10, 11, 16, 17, 20, 21, 24, 25, 28, 34, 35, 36, 38, 39, 40, 42, 45, 49], "stochast": [2, 11, 29, 42, 46, 49], "again": [2, 3, 5, 6, 9, 14, 15, 18, 19, 24, 26, 27, 28, 30, 32, 33, 35, 36, 38, 39, 41, 42], "repres": [2, 3, 5, 6, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 23, 24, 25, 28, 29, 31, 33, 34, 35, 36, 39, 41, 42, 45, 46], "dividend": [2, 5, 9, 16, 37, 46], "product": [2, 10, 11, 13, 14, 16, 26, 28, 34, 35, 38, 42, 46, 49], "etc": [2, 16, 17, 24, 33, 35, 38, 40], "partli": [2, 13, 21], "s": [2, 3, 4, 5, 6, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49], "rcparam": [2, 8, 13, 14, 19, 31, 46], "figur": [2, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 26, 28, 29, 31, 32, 34, 35, 38, 42, 45, 46], "set": [2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48], "default": [2, 3, 6, 8, 9, 12, 13, 14, 16, 21, 24, 27, 28, 34, 44, 46], "autoregress": [2, 46], "form": [2, 3, 6, 8, 9, 10, 13, 14, 15, 16, 17, 19, 21, 22, 23, 28, 29, 31, 34, 35, 36, 37, 38, 42, 44, 45, 46, 48], "x_": [2, 7, 8, 14, 15, 23, 24, 25, 28, 38], "x_t": [2, 7, 14, 15, 23, 25, 28, 29, 38, 42], "b": [2, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 23, 24, 25, 27, 30, 31, 34, 35, 36, 37, 38, 39, 40, 42, 44, 45, 46], "w_": [2, 17, 44], "scalar": [2, 11, 14, 15, 21, 23, 31, 44, 45], "sometim": [2, 5, 14, 15, 19, 21, 23, 24, 25, 28, 29, 31, 33, 35, 36, 37, 38, 41, 45], "log": [2, 4, 12, 13, 16, 17, 18, 21, 22, 26, 30, 31, 32, 33, 36, 41, 42], "household": [2, 3, 17, 29, 30, 34, 35, 39, 44], "monei": [2, 4, 5, 13, 15, 17, 18, 20, 22, 32, 33, 34, 37, 48, 49], "demand": [2, 4, 5, 6, 7, 11, 13, 14, 18, 20, 22, 24, 32, 34, 37, 38, 44, 48], "show": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48], "evolv": [2, 6, 23, 26, 28, 31, 48], "previou": [2, 3, 4, 6, 10, 17, 18, 19, 28, 29, 33, 34, 44, 45, 46], "an": [2, 3, 4, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 49], "iid": [2, 7, 16, 29, 30, 33, 42, 46], "subscript": 2, "random": [2, 10, 16, 17, 25, 28, 29, 30, 33, 36, 39, 42, 45], "observ": [2, 3, 6, 7, 10, 11, 13, 16, 17, 18, 19, 21, 23, 24, 25, 28, 30, 33, 38, 41], "soon": [2, 9, 14, 15, 22, 31, 32, 45], "specifi": [2, 6, 9, 18, 27, 28, 31, 33, 35, 40, 41, 42, 44, 45], "initi": [2, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 21, 23, 26, 27, 29, 30, 31, 35, 38, 39, 40, 42, 44, 45, 46, 48], "x_0": [2, 7, 8, 14, 15, 19, 23, 25, 28, 29, 38], "thing": [2, 12, 18, 21, 24, 33, 34, 42, 46, 47], "standard": [2, 7, 9, 10, 13, 14, 16, 17, 18, 24, 25, 26, 28, 29, 30, 33, 38, 40, 46, 48], "drawn": [2, 16, 28, 30, 34, 39], "n": [2, 3, 7, 8, 10, 11, 15, 16, 17, 19, 21, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 38, 39, 40, 41, 44, 45, 46, 49], "mu_0": [2, 4, 5], "v_0": 2, "independ": [2, 13, 16, 17, 18, 24, 25, 28, 33, 36, 39, 42, 45, 46, 49], "backward": [2, 6, 34, 46, 48], "cdot": [2, 4, 5, 7, 8, 9, 10, 11, 12, 14, 17, 19, 24, 25, 27, 28, 30, 37, 46], "back": [2, 6, 11, 12, 13, 17, 18, 26, 27, 28, 29, 31, 38, 42, 45], "j": [2, 10, 11, 13, 14, 15, 16, 17, 19, 23, 24, 25, 27, 28, 31, 34, 37, 40, 45, 46, 48, 49], "w_1": [2, 17, 30], "symbol": [2, 8, 12, 14, 24, 42], "psi_t": [2, 28], "refer": [2, 3, 6, 11, 17, 20, 24, 28, 33, 36], "densiti": [2, 7, 10, 16, 25, 30], "One": [2, 3, 10, 13, 15, 16, 17, 20, 23, 24, 28, 29, 30, 31, 33, 34, 36, 42, 47], "nice": [2, 10, 11, 21, 40], "about": [2, 3, 4, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 28, 29, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 46, 47, 48, 49], "easi": [2, 4, 21, 24, 28, 33, 38, 39], "trace": [2, 5, 10, 28, 38], "see": [2, 3, 6, 7, 9, 10, 11, 12, 13, 14, 16, 17, 18, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 45], "immedi": [2, 7, 12, 14, 15, 18, 42], "combin": [2, 3, 4, 6, 14, 15, 16, 18, 25, 26, 27, 35, 42, 46], "full": [2, 8, 14, 17, 21, 26, 30, 33, 34, 35, 38, 40, 42, 46], "moment": [2, 5, 16, 28, 31, 36, 37], "mu_t": [2, 4, 5, 22, 32], "v_t": [2, 9], "denot": [2, 4, 6, 11, 12, 14, 19, 23, 24, 25, 27, 29, 30, 31, 33, 34, 35, 39, 40, 44], "varianc": [2, 16, 17, 25, 33, 36, 46], "recurs": [2, 15, 23, 34], "express": [2, 3, 5, 10, 11, 14, 15, 16, 17, 21, 22, 24, 27, 28, 30, 31, 34, 35, 36, 38, 42, 44, 45], "mu_": [2, 4, 5, 44], "text": [2, 3, 7, 8, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 42, 43, 45, 48], "v_": [2, 15], "expect": [2, 3, 5, 7, 10, 16, 18, 20, 23, 25, 29, 31, 32, 33, 36, 41, 42, 45, 49], "side": [2, 4, 5, 9, 14, 15, 16, 18, 21, 23, 24, 30, 31, 35, 37, 41, 45, 48], "henc": [2, 7, 10, 11, 15, 17, 23, 24, 25, 28, 29, 33, 34, 35, 36, 38, 40, 42], "track": [2, 16], "mu": [2, 4, 5, 16, 17, 19, 22, 25, 30, 32, 33, 36, 42, 44], "v": [2, 9, 10, 11, 15, 19, 24, 28, 34, 36, 40, 49], "stat": [2, 7, 16, 25, 30, 36], "norm": [2, 10, 11, 13, 16, 25, 36, 39], "sim_length": 2, "grid": [2, 6, 7, 8, 10, 16, 17, 19, 21, 22, 23, 24, 31], "linspac": [2, 6, 7, 8, 9, 10, 12, 16, 17, 19, 21, 22, 24, 25, 26, 27, 30, 31, 32, 35, 36, 38, 42, 45], "120": [2, 13, 16, 19, 33], "pdf": [2, 16, 25, 30, 36], "scale": [2, 13, 15, 16, 18, 22, 25, 26, 30, 31, 32, 36, 41], "sqrt": [2, 8, 10, 15, 16, 24, 25, 30, 31, 36, 38, 39, 44, 45], "psi_": [2, 28], "borderaxespad": 2, "real": [2, 3, 4, 5, 8, 10, 11, 12, 13, 14, 16, 18, 23, 31, 33, 36, 38, 39, 42, 44, 48, 49], "world": [2, 3, 5, 11, 16, 17, 18, 23, 26, 33, 34, 41, 44, 45], "prefer": [2, 9, 18, 21, 33, 34, 44, 45], "clear": [2, 3, 7, 28, 29, 41, 44], "sharp": [2, 3], "predict": [2, 7, 14, 22, 33, 35, 39, 42], "problem": [2, 3, 5, 10, 13, 16, 19, 21, 24, 28, 30, 34, 41, 47, 49], "relat": [2, 4, 5, 11, 15, 17, 21, 24, 26, 29, 31, 34], "inflat": [2, 3, 4, 5, 20, 28, 31, 33, 38, 48, 49], "alwai": [2, 11, 14, 17, 22, 24, 25, 28, 31, 34, 35, 38, 41], "kind": [2, 6, 7, 16, 17, 21, 38, 41], "steadi": [2, 4, 6, 11, 23, 28, 42, 46, 48], "state": [2, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 16, 18, 19, 21, 25, 26, 27, 29, 33, 34, 39, 42, 44, 46, 48, 49], "wrong": 2, "judg": 2, "qualiti": [2, 3, 6, 14], "notic": [2, 3, 4, 5, 6, 12, 13, 14, 15, 16, 19, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 38, 40, 46, 48], "abov": [2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 19, 21, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 45, 46, 48], "seem": [2, 5, 9, 10, 13, 16, 18, 23, 25, 26, 31, 38, 46], "limit": [2, 3, 6, 9, 15, 18, 31, 42, 49], "clearer": [2, 23, 38, 39], "forward": [2, 5, 17, 26, 28, 33, 41], "plot_density_seq": 2, "40": [2, 12, 13, 16, 17, 21, 29, 34, 36, 40, 41, 42, 43], "moreov": [2, 3, 7, 11, 17, 23, 25, 27, 28, 46], "4": [2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49], "regardless": [2, 3, 16, 28, 29, 38, 42], "whenev": [2, 7, 16, 34, 37, 38, 47], "just": [2, 4, 6, 9, 10, 12, 13, 15, 16, 17, 21, 23, 24, 26, 28, 30, 31, 32, 33, 34, 36, 39, 45, 46, 48], "look": [2, 3, 5, 6, 10, 13, 16, 17, 21, 26, 28, 29, 30, 33, 34, 35, 36, 38, 39, 40, 41, 48], "dimension": [2, 6, 10, 15, 24, 27, 38], "background": [2, 17, 21], "determinist": [2, 42], "psi": [2, 11, 23, 28, 29], "confirm": [2, 6, 9, 15, 17, 28, 29, 31, 36, 37, 42], "valid": [2, 28, 29, 43], "mu_star": 2, "std_star": 2, "squar": [2, 3, 11, 20, 22, 24, 28, 39, 41, 49], "root": [2, 8, 10, 20, 21, 22, 31, 35, 48], "v_star": 2, "psi_star": 2, "lw": [2, 6, 7, 10, 16, 17, 18, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32, 35, 36, 38, 42, 46], "claim": [2, 9, 11, 13, 14, 18, 25, 28, 29, 31, 34, 37, 40, 44], "least": [2, 3, 12, 13, 16, 18, 22, 24, 28, 33, 34, 41, 46, 49], "strong": [2, 3, 19, 23, 25, 44], "better": [2, 3, 16, 30, 34, 36], "A": [2, 3, 4, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 22, 26, 27, 28, 29, 31, 32, 36, 37, 38, 40, 49], "rule": [2, 7, 16, 21, 23, 24, 28, 42, 49], "word": [2, 6, 7, 11, 16, 17, 28, 29, 34, 38, 39], "mathbb": [2, 7, 10, 11, 15, 16, 19, 23, 24, 25, 28, 29, 33, 35, 36, 38], "put": [2, 4, 5, 6, 7, 13, 14, 16, 21, 27, 28, 29, 33, 45, 46], "sim": [2, 17, 25, 28, 33, 34, 46], "Of": [2, 16, 36], "shown": [2, 6, 7, 17, 24, 25, 27, 28, 34, 36, 40], "exactli": [2, 4, 7, 9, 25, 28, 29, 34, 35], "author": [2, 5, 13, 16, 18, 19, 31, 32], "number": [2, 3, 6, 7, 10, 14, 16, 17, 19, 20, 21, 23, 24, 26, 27, 28, 29, 30, 33, 34, 36, 38, 39, 40, 41, 43, 46], "under": [2, 4, 5, 6, 7, 8, 10, 11, 14, 18, 21, 22, 28, 29, 31, 32, 35, 37, 38, 42, 45, 48], "inde": [2, 9, 13, 15, 31], "prove": [2, 8, 14, 16, 25, 28, 36, 40], "m": [2, 4, 6, 10, 11, 13, 15, 16, 22, 24, 25, 28, 29, 31, 32, 33, 34, 44, 45, 48, 49], "h": [2, 7, 12, 13, 24, 28, 29, 30, 31, 33, 35, 45, 49], "int": [2, 3, 8, 16, 17, 18, 23, 28, 40], "x": [2, 6, 7, 8, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 36, 38, 39, 41, 42, 45, 46], "dx": [2, 16, 21, 25, 36, 38], "integr": [2, 7, 25, 30, 36, 39], "finit": [2, 4, 5, 16, 17, 25, 28, 34, 49], "hold": [2, 7, 11, 12, 13, 14, 16, 21, 24, 25, 28, 29, 33, 35, 37, 41, 42, 49], "probabl": [2, 12, 16, 18, 23, 25, 29, 30, 33, 34, 39, 45], "textbook": [2, 34], "meyn": [2, 49], "tweedi": [2, 49], "2009": [2, 3, 22, 41, 49], "classic": [2, 8, 13, 14, 16, 19, 21, 22, 32, 40, 45], "consid": [2, 3, 6, 7, 8, 10, 11, 14, 15, 16, 19, 21, 23, 24, 25, 27, 28, 29, 30, 33, 34, 35, 37, 38, 40, 41, 42, 44, 45, 46], "ident": [2, 5, 10, 11, 14, 19, 23, 24, 25, 28, 37, 44, 46], "sampl": [2, 16, 17, 25, 28, 29, 30, 33, 34, 36, 39, 41, 46], "reason": [2, 13, 14, 16, 17, 21, 25, 26, 30, 33, 34, 36, 38, 48], "test": [2, 24, 29, 30, 39, 40, 44], "evalu": [2, 9, 12, 14, 16, 21, 25, 36], "And": [2, 12, 13, 26, 33, 39, 48], "theoret": [2, 34], "close": [2, 4, 5, 7, 9, 13, 16, 17, 21, 23, 25, 26, 28, 29, 30, 31, 33, 35, 36, 41, 42], "mani": [2, 3, 6, 7, 8, 9, 10, 13, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 28, 30, 31, 33, 34, 35, 37, 38, 39, 40, 41, 44], "incorrect": [2, 16], "revis": [2, 5, 34, 49], "natur": [2, 3, 16, 24, 26, 31, 32, 34, 38, 45, 49], "central": [2, 5, 16, 18, 36, 48], "m_k": 2, "sigma": [2, 15, 16, 17, 25, 30, 33, 36], "odd": [2, 28], "doubl": [2, 3, 45], "factori": [2, 27], "accord": [2, 3, 5, 13, 14, 17, 22, 23, 24, 27, 28, 29, 31, 33, 34, 36, 39, 48], "approx": [2, 9, 14, 16, 17, 23, 29, 30, 33, 42], "factorial2": 2, "sample_moments_ar1": 2, "100_000": [2, 16, 25, 27, 30, 31, 39], "sigma_0": 2, "seed": [2, 16, 28, 39], "1234": [2, 16, 30, 39], "sample_sum": 2, "randn": [2, 16, 17, 33, 42], "true_moments_ar1": 2, "els": [2, 3, 5, 6, 9, 13, 16, 17, 18, 25, 27, 28, 29, 30, 33, 34, 38, 39, 40, 44], "k_val": 2, "arang": [2, 6, 8, 9, 13, 14, 15, 22, 25, 29, 31, 32, 34, 35, 36, 41, 42, 46, 48], "sample_mo": 2, "true_moment": 2, "k_idx": 2, "write": [2, 3, 4, 5, 6, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 22, 24, 25, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 45, 46, 48], "your": [2, 16, 23, 26, 28, 33, 36, 40, 41], "kernel": [2, 43], "estim": [2, 3, 13, 16, 24, 28, 29, 33, 41, 48], "bandwidth": [2, 36], "hn": 2, "x_i": [2, 16, 17, 24, 25, 27, 28, 33, 36, 41], "gaussian": [2, 25], "silverman": 2, "thumb": [2, 16], "discuss": [2, 3, 5, 6, 7, 10, 11, 13, 16, 17, 18, 19, 21, 23, 24, 25, 26, 28, 29, 31, 32, 33, 34, 35, 36, 38, 39, 40, 42, 45], "page": [2, 18, 24, 34, 47, 49], "you": [2, 4, 5, 6, 9, 10, 12, 14, 16, 17, 18, 21, 24, 25, 26, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 46, 47], "step": [2, 4, 7, 10, 11, 13, 14, 17, 22, 24, 25, 26, 27, 30, 31, 32, 36, 39, 40, 42, 44, 48], "x_1": [2, 7, 8, 10, 11, 14, 16, 19, 23, 24, 25, 27, 28, 33, 36, 38], "x_n": [2, 7, 8, 16, 24, 25, 27, 28, 36], "phi": [2, 5, 7, 9, 12, 16, 23], "type": [2, 5, 6, 9, 12, 14, 16, 18, 24, 25, 27, 28, 31, 39, 43], "comment": [2, 43], "think": [2, 6, 9, 10, 12, 14, 16, 17, 18, 24, 25, 28, 30, 31, 33, 34, 36, 38, 39, 40, 41, 42], "kde": [2, 36], "x_data": [2, 13], "std": [2, 16, 17, 25], "len": [2, 5, 6, 10, 13, 16, 17, 21, 25, 26, 28, 29, 34, 44, 45], "06": [2, 13, 17, 18, 26, 27, 36, 40, 41, 43], "isscalar": 2, "x_val": [2, 14], "plot_kd": 2, "\u03d5": [2, 4, 5, 9, 12], "x_min": 2, "x_max": 2, "rv": [2, 7, 16, 25, 30, 36], "x_grid": [2, 16, 21, 36], "100": [2, 3, 7, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 29, 30, 31, 32, 33, 34, 36, 37, 40, 41, 45, 46, 48], "parameter_pair": 2, "underli": [2, 13, 16, 17, 18, 19, 22, 25, 30, 31, 32, 33, 44], "smooth": [2, 4, 5, 13, 20, 36, 37, 42], "otherwis": [2, 25, 29, 34, 36, 38, 39, 40], "approxim": [2, 7, 10, 13, 14, 15, 16, 17, 24, 29, 30, 33, 40, 42], "draw": [2, 3, 6, 10, 13, 16, 17, 19, 25, 26, 27, 28, 30, 31, 32, 33, 34, 36, 39, 45], "produc": [2, 3, 6, 11, 13, 16, 17, 19, 24, 25, 26, 27, 36, 38, 39, 42, 45], "via": [2, 5, 7, 16, 17, 19, 22, 24, 25, 28, 29, 30, 34, 35, 36], "2000": [2, 3, 16, 17, 18, 26, 36, 41], "\u03bc": [2, 16, 17, 25, 32, 33, 36, 45], "\u03bc_next": 2, "s_next": 2, "\u03c8": [2, 28], "\u03c8_next": 2, "x_draw": [2, 25, 36], "x_draws_next": 2, "coincid": [2, 3, 5, 13, 19, 23, 29], "review": [3, 16, 24, 28, 42, 49], "empir": [3, 9, 13, 17, 26, 49], "aspect": [3, 10, 13, 14, 29], "fluctuat": [3, 17, 18, 42, 49], "activ": [3, 9, 13, 19, 34, 37, 46], "expans": [3, 15], "boom": 3, "contract": [3, 33], "recess": [3, 26, 34], "bank": [3, 5, 17, 18, 27, 33, 34, 48, 49], "fred": 3, "wbgapi": [3, 17, 43], "panda": [3, 7, 13, 16, 17, 18, 19, 26, 27, 30, 34, 36, 41, 43], "dataread": [3, 19, 34, 43], "1": [3, 7, 12, 13, 14, 15, 18, 20, 22, 26, 32, 36, 37, 43, 44, 46, 48, 49], "2": [3, 7, 12, 13, 14, 15, 18, 22, 23, 26, 32, 38, 39, 40, 41, 43, 44, 45, 46, 48, 49], "pyyaml": [3, 17, 43], "tabul": [3, 17, 43], "3": [3, 4, 6, 7, 11, 12, 13, 14, 15, 18, 19, 22, 23, 24, 26, 27, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 48, 49], "36": [3, 10, 11, 15, 28, 29, 40, 41, 46, 49], "pandas_dataread": [3, 16], "lxml": [3, 7, 16, 19, 34, 36, 43], "23": [3, 7, 17, 19, 26, 27, 34, 36, 40, 43, 49], "dateutil": [3, 7, 16, 19, 27, 34, 36, 43], "post0": [3, 7, 16, 19, 27, 34, 36], "pytz": [3, 7, 16, 19, 27, 34, 36, 43], "2020": [3, 16, 17, 19, 27, 34, 49], "tzdata": [3, 7, 16, 19, 27, 34, 36, 43], "2022": [3, 7, 16, 17, 19, 26, 27, 34, 36, 43, 49], "2023": [3, 5, 7, 11, 12, 16, 19, 27, 28, 29, 34, 36, 42, 43, 49], "six": [3, 7, 16, 19, 27, 28, 29, 34, 36, 43], "16": [3, 6, 7, 11, 14, 15, 16, 18, 19, 24, 27, 28, 31, 34, 36, 40, 43], "109": [3, 49], "32m109": 3, "31m5": 3, "pd": [3, 13, 16, 17, 18, 26, 30, 34, 36, 41], "datetim": [3, 18], "wb": [3, 16, 17, 19], "web": [3, 34], "minor": 3, "graphic": [3, 12, 17, 19, 29], "cycler": [3, 19, 34, 43], "377eb8": 3, "ff7f00": 3, "4daf4a": 3, "ff334f": 3, "rc": 3, "prop_cycl": 3, "api": [3, 16], "retriev": [3, 10], "info": 3, "q": [3, 7, 13, 21, 24, 31, 40, 45], "queri": 3, "id": [3, 17], "ny": [3, 16, 17], "mktp": [3, 16], "kd": [3, 17], "zggdp": 3, "annual": [3, 49], "element": [3, 4, 5, 8, 10, 11, 19, 24, 28, 34, 40, 46], "gdp_growth": 3, "datafram": [3, 17, 18, 26, 34, 36, 41], "zg": 3, "usa": [3, 17, 26], "gbr": [3, 17, 26, 41], "grc": 3, "jpn": [3, 26], "countri": [3, 7, 13, 16, 18, 19, 21, 26, 30, 41, 46], "yr1960": 3, "yr1961": 3, "yr1962": 3, "yr1963": 3, "yr1964": 3, "yr1965": 3, "yr1966": 3, "yr1967": 3, "yr1968": 3, "yr2014": 3, "yr2015": 3, "yr2016": 3, "yr2017": 3, "yr2018": 3, "yr2019": 3, "yr2020": 3, "yr2021": 3, "yr2022": 3, "yr2023": 3, "japan": [3, 16, 26, 34], "nan": [3, 13, 14, 18, 22, 26, 31, 41], "043536": 3, "908973": 3, "473642": 3, "676708": 3, "819708": 3, "638562": 3, "082142": 3, "882468": 3, "296206": 3, "560627": 3, "753827": 3, "675332": 3, "643391": 3, "402169": 3, "147119": 3, "559320": 3, "954737": 3, "923056": 3, "greec": 3, "203841": 3, "364811": 3, "844867": 3, "409678": 3, "768010": 3, "494501": 3, "669486": 3, "203719": 3, "475696": 3, "196088": 3, "487173": 3, "092149": 3, "668429": 3, "879490": 3, "316436": 3, "379944": 3, "557287": 3, "011521": 3, "kingdom": [3, 17, 18, 34], "701314": 3, "098696": 3, "859545": 3, "594811": 3, "130333": 3, "567450": 3, "775738": 3, "472693": 3, "195782": 3, "220258": 3, "921063": 3, "655070": 3, "403792": 3, "641611": 3, "359901": 3, "674904": 3, "345229": 3, "104018": 3, "argentina": [3, 26], "427843": 3, "852022": 3, "308197": 3, "130298": 3, "569433": 3, "659726": 3, "191997": 3, "822501": 3, "512615": 3, "731160": 3, "080328": 3, "818503": 3, "617396": 3, "000861": 3, "900485": 3, "718010": 3, "956370": 3, "550502": 3, "300000": 3, "100000": 3, "400000": 3, "800000": 3, "500000": 3, "523820": 3, "945550": 3, "819451": 3, "457622": 3, "966505": 3, "467038": 3, "213469": 3, "800206": 3, "935496": 3, "542700": 3, "row": [3, 11, 17, 18, 23, 24, 25, 26, 28, 29, 31, 41, 46], "65": [3, 6, 9, 17, 30, 36, 40, 41], "column": [3, 10, 15, 16, 17, 18, 23, 24, 26, 28, 31, 34, 36, 41, 45], "click": [3, 26, 43, 47], "expand": [3, 14, 48], "aggregationmethod": 3, "weight": [3, 4, 6, 16, 17, 18, 19, 28, 37, 40, 41, 45, 46], "averag": [3, 6, 16, 17, 18, 25, 28, 29, 33, 37], "developmentrelev": [3, 17], "x27": 3, "volum": [3, 49], "resid": 3, "2008": 3, "system": [3, 4, 5, 7, 9, 10, 11, 13, 14, 15, 18, 22, 23, 27, 29, 31, 32, 34, 37, 42, 46], "sna": 3, "offer": [3, 18, 39], "plausibl": [3, 16, 22, 31, 32, 42, 48], "gross": [3, 9, 12, 14, 19, 26, 31, 35, 45, 46, 48], "domest": [3, 18, 21, 26, 42, 46], "ad": [3, 15, 18, 21, 24, 25, 34], "govern": [3, 4, 5, 9, 11, 12, 14, 15, 18, 19, 20, 22, 26, 32, 45, 46, 48], "industri": [3, 11, 19, 34], "oper": [3, 4, 6, 13, 18, 19, 25, 33, 34, 40, 49], "whether": [3, 12, 14, 16, 23, 24, 27, 29, 33, 39, 45], "accru": 3, "foreign": [3, 34, 35], "institut": [3, 13, 28, 49], "indicatornam": [3, 17], "license_typ": 3, "cc": 3, "BY": 3, "license_url": 3, "http": [3, 13, 16, 17, 18, 26, 30, 34, 41, 43, 49], "datacatalog": 3, "worldbank": 3, "org": [3, 17, 34, 47, 49], "licens": 3, "limitationsandexcept": [3, 17], "contribut": [3, 8, 13], "principl": [3, 34, 35, 40, 49], "agre": [3, 21, 28, 36, 40], "subtract": [3, 5, 24], "deflat": 3, "inform": [3, 5, 8, 15, 17, 19, 26, 28, 31, 34, 44], "extrapol": 3, "commonli": [3, 16], "particularli": [3, 34, 36, 39], "most": [3, 6, 10, 12, 15, 16, 18, 19, 21, 23, 24, 25, 26, 30, 33, 34, 36, 38, 41, 47], "often": [3, 7, 9, 10, 11, 14, 16, 17, 18, 21, 24, 26, 28, 31, 34, 39, 40, 41, 45], "imput": 3, "employe": 3, "absenc": [3, 13, 25, 34], "difficult": [3, 13, 34], "technic": [3, 18, 46, 49], "progress": [3, 13], "improv": [3, 9, 17, 25, 33], "process": [3, 5, 7, 9, 14, 20, 23, 25, 28, 29, 34, 41, 42, 46], "properli": [3, 18], "nonmarket": 3, "unmeasur": 3, "underestim": 3, "similarli": [3, 14, 24, 27, 38], "overestim": 3, "pose": [3, 27], "develop": [3, 7, 11, 26, 28, 35, 39, 49], "much": [3, 9, 13, 14, 16, 17, 18, 27, 30, 31, 33, 35, 37, 39, 45, 47], "unrecord": 3, "pictur": [3, 16, 30, 39], "sale": [3, 13, 16, 33, 41], "market": [3, 6, 7, 12, 13, 16, 21, 23, 24, 33, 34, 45, 49], "barter": 3, "exchang": [3, 13, 14, 18, 21, 45, 48], "illicit": 3, "deliber": [3, 18], "unreport": 3, "skill": 3, "compil": [3, 28], "statistician": [3, 16], "rebas": 3, "assign": [3, 9, 19, 24, 29, 34, 36, 40, 42], "reflect": [3, 9, 12, 13, 26, 28, 35], "major": [3, 7, 10, 13, 16, 17, 25, 34], "old": [3, 16, 18, 22, 35], "mislead": 3, "implicit": 3, "relev": [3, 18, 34], "rescal": 3, "common": [3, 7, 10, 11, 16, 22, 24, 25, 32, 34, 43, 45, 47], "region": [3, 16, 17, 19, 27, 38, 39], "those": [3, 4, 5, 13, 16, 17, 18, 21, 22, 23, 26, 31, 32, 34, 35, 41, 44, 45], "mai": [3, 13, 18, 23, 24, 30, 33, 41, 49], "discrep": 3, "avoid": [3, 9, 11, 13, 31], "unalloc": 3, "longdefinit": [3, 17], "percentag": 3, "local": [3, 34, 39], "currenc": [3, 13, 18, 26, 31, 48], "2015": [3, 16, 26, 41], "dollar": [3, 6, 14, 16, 18, 19, 26, 30, 31, 33, 41, 45, 48], "tax": [3, 4, 5, 16, 17, 18, 22, 30, 31, 32, 35, 48], "minu": [3, 13, 21, 27, 45], "deduct": [3, 4], "fabric": 3, "asset": [3, 7, 9, 13, 33, 37], "deplet": 3, "degrad": 3, "sourc": [3, 4, 5, 17, 18, 23, 27, 28, 31, 34, 37, 45, 47, 48], "oecd": 3, "file": [3, 13, 18, 40, 43], "statisticalconceptandmethodologygross": 3, "exclud": [3, 17], "paid": [3, 12, 18, 35, 37, 42], "valuat": 3, "transport": [3, 19, 27, 34, 40], "charg": [3, 12], "invoic": 3, "separ": [3, 13, 16, 23, 34, 44], "amp": 3, "clean": [3, 18], "set_index": [3, 18, 26, 41], "str": [3, 6, 18, 24, 38], "replac": [3, 4, 13, 16, 17, 18, 22, 25, 27, 31, 32, 34, 36, 39, 40, 42, 46], "yr": [3, 17], "astyp": [3, 16, 18], "1960": [3, 6, 49], "1961": 3, "1962": [3, 17, 26], "1963": [3, 16, 49], "1964": [3, 6, 49], "1966": 3, "1967": 3, "1968": 3, "1969": [3, 39, 49], "2014": [3, 26, 41, 49], "2016": [3, 7, 16, 17, 26, 30, 41, 49], "2018": [3, 16, 26, 27, 34, 41, 49], "2019": [3, 16, 17, 29, 34, 49], "2021": [3, 16, 17, 19, 34, 43, 49], "477895": 3, "563668": 3, "939138": 3, "679526": 3, "64": [3, 9, 15, 33, 40, 41, 43, 46], "individu": [3, 16, 17, 30, 34, 35, 44], "plot_seri": [3, 10], "ylabel": [3, 5, 8, 9, 10, 12, 13, 17, 22, 24, 26, 30, 31, 32, 41, 45, 46, 48], "txt_po": 3, "g_param": 3, "b_param": [3, 26], "t_param": [3, 26], "ylim": [3, 8, 10, 13, 15, 24, 26, 45], "baselin": 3, "highlight": [3, 42], "axi": [3, 5, 6, 8, 10, 13, 16, 17, 18, 19, 21, 25, 26, 28, 31, 32, 34, 38, 39, 40, 41], "float": [3, 8, 17, 18, 28, 39, 40, 44, 45, 46], "y_lim": 3, "_subplot": 3, "axessubplot": 3, "dict": [3, 6, 10, 16, 19, 23, 24, 34, 38, 42], "option": [3, 16, 20, 24, 27, 29, 41, 47], "dash": [3, 17, 21, 22, 23, 26, 28, 29, 32, 45], "axvspan": [3, 26], "1973": 3, "1975": 3, "1990": [3, 22, 31, 32, 49], "1992": [3, 7, 49], "2007": 3, "set_ylim": [3, 6, 16, 17, 18, 21, 23, 27, 28, 30, 34, 35, 36, 38, 42], "get_ylim": [3, 22, 25, 26, 32], "1974": 3, "oil": [3, 24], "crisi": [3, 13, 34], "1991": [3, 17], "gfc": [3, 33], "covid": [3, 17, 34], "add": [3, 6, 12, 13, 14, 17, 18, 24, 26, 27, 31, 33, 34, 35, 48], "axhlin": [3, 13, 15, 22, 25, 28, 29, 31, 32], "black": [3, 10, 19, 21, 25, 27, 28, 29, 34, 43, 45], "set_ylabel": [3, 4, 5, 6, 7, 10, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 28, 29, 31, 32, 35, 36, 38, 42], "grei": [3, 15, 22, 26, 31, 32, 34], "fontsiz": [3, 6, 7, 8, 10, 13, 15, 16, 19, 24, 26, 34, 35, 38, 42], "va": [3, 8, 26], "center": [3, 8, 10, 18, 21, 22, 25, 26, 29, 31, 32], "trend": [3, 17, 18, 26, 34, 46], "slightli": [3, 26, 35], "downward": [3, 5, 23, 46, 48], "few": [3, 12, 16, 21, 22, 30, 32, 37, 41, 44], "basi": [3, 18], "comparison": [3, 14, 41], "uk": [3, 14, 17, 18], "similar": [3, 13, 15, 16, 17, 18, 21, 23, 24, 25, 28, 29, 32, 34, 35, 39, 40, 41, 46], "slow": [3, 33], "declin": [3, 4, 5, 13, 17, 26, 38], "signific": [3, 6, 26, 34], "dip": [3, 26], "pandem": [3, 17], "experienc": [3, 13, 17, 18, 26, 47], "rapid": [3, 26, 34], "1970": [3, 26], "decad": [3, 13, 46], "global": [3, 16, 17, 28, 41, 42, 49], "financi": [3, 7, 9, 13, 14, 16, 33, 35], "drop": [3, 4, 5, 6, 9, 13, 16, 17, 18, 21, 22, 26, 34, 41], "around": [3, 7, 10, 13, 16, 17, 25, 26, 28, 39], "2010": [3, 12, 13, 34, 41, 49], "2011": [3, 16, 41, 49], "peak": 3, "greek": 3, "next": [3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 16, 17, 18, 21, 23, 24, 25, 26, 28, 29, 33, 34, 35, 38, 40, 41, 42, 44, 45, 48], "far": [3, 10, 12, 26, 28, 33, 34], "volatil": [3, 17, 33], "did": [3, 5, 9, 13, 15, 18, 30, 38, 49], "span": [3, 18], "1929": [3, 26, 49], "1942": 3, "1948": [3, 26, 41], "censu": 3, "bureau": [3, 19, 49], "start_dat": 3, "end_dat": 3, "unrate_histori": 3, "m0892ausm156snbr": 3, "renam": [3, 41], "unrat": 3, "inplac": [3, 13, 16, 17, 26, 41], "31": [3, 7, 8, 12, 13, 16, 17, 22, 36, 40, 41, 43], "nber": [3, 49], "unrate_censu": 3, "usrec": 3, "linewidth": [3, 10, 13, 15, 16, 22, 27, 28, 32, 34], "grai": [3, 24, 34], "box": [3, 10, 27], "fill_between": [3, 17, 21, 45], "edgecolor": [3, 10, 19, 28, 34], "transform": [3, 8, 11, 15, 24, 31, 33, 41], "get_xaxis_transform": 3, "ncol": [3, 6, 26, 28, 29, 38], "fancybox": 3, "shadow": [3, 18, 28], "highli": [3, 7, 24, 34], "asymmetr": [3, 34], "rise": [3, 12, 13, 16, 17, 18, 23, 26, 42], "recoveri": 3, "uniqu": [3, 10, 17, 22, 23, 24, 26, 28, 29, 31, 32, 34, 35, 38, 42], "unpreced": [3, 18], "rel": [3, 7, 9, 10, 11, 12, 13, 14, 16, 17, 19, 33, 34, 39, 42, 44, 45, 48], "appear": [3, 4, 9, 18, 19, 28, 30, 41, 42, 48], "slight": 3, "modif": 3, "plot_comparison": 3, "graph": [3, 5, 6, 9, 12, 13, 14, 15, 18, 21, 23, 26, 27, 29, 36, 38, 40, 45], "list": [3, 10, 11, 16, 17, 19, 24, 26, 34, 35, 39, 41, 42, 43, 44, 45], "allow": [3, 5, 9, 10, 13, 24, 31, 34, 35, 39, 44, 45], "xmin": [3, 10, 14, 16, 18, 21, 25, 38, 42], "get_xlim": 3, "xmax": [3, 10, 14, 16, 21, 25, 38, 42], "chn": [3, 26], "deu": [3, 26], "bra": 3, "mex": 3, "germani": [3, 34], "brazil": [3, 16], "china": 3, "mexico": 3, "21st": [3, 26], "centuri": [3, 13, 21, 26], "experi": [3, 6, 13, 18, 25, 26, 28, 35, 45, 48], "despit": [3, 13, 18, 39], "franc": [3, 13, 14, 18, 34], "unempl_r": 3, "sl": 3, "uem": 3, "totl": 3, "ne": 3, "zs": [3, 10], "fra": [3, 17, 26], "union": [3, 26], "typic": [3, 4, 14, 16, 19, 22, 31, 32, 34, 37, 38, 40, 41, 45], "histori": [3, 5, 20, 26], "low": [3, 4, 6, 16, 22, 30, 32, 33, 35, 42, 48], "stabl": [3, 6, 13, 17, 23, 24, 28, 38, 46], "policymak": [3, 30], "caus": [3, 4, 6, 7, 19, 22, 31, 48, 49], "potenti": [3, 28, 31], "perspect": [3, 17, 25, 49], "confid": [3, 12], "toward": [3, 10, 13, 14, 23, 38, 41], "overal": [3, 23, 30], "perform": [3, 5, 10, 13, 14, 15, 18, 24, 25, 37, 49], "wide": [3, 14, 18, 19, 24, 26, 34, 41, 46], "cite": [3, 13], "sentiment": [3, 34], "publish": [3, 9], "michigan": 3, "core": [3, 9, 21, 34, 43], "cpi": 3, "1978": [3, 9, 26, 49], "start_date_graph": 3, "1977": 3, "end_date_graph": 3, "consumer_confid": 3, "umcsent": 3, "ax_t": [3, 23], "twinx": [3, 18], "cpilfesl": 3, "pct_chang": [3, 16, 36], "yoi": 3, "set_xlim": [3, 6, 13, 17, 18, 21, 23, 25, 27, 28, 30, 36, 38, 42], "commod": [3, 11, 18, 20, 24, 45, 49], "diminish": [3, 9, 17, 48], "stagflat": 3, "delai": 3, "1919": [3, 18], "industrial_output": 3, "indpro": 3, "lender": 3, "cautiou": 3, "hesit": [3, 18, 47], "gloomi": 3, "sector": [3, 11, 19, 34], "private_credit": 3, "fs": 3, "ast": 3, "prvt": 3, "gd": 3, "stagnat": [3, 26, 28], "sequel": [4, 15], "prequel": 4, "assert": [4, 5, 12, 14, 31, 32, 37, 46], "persist": [4, 5, 6, 17, 18, 48], "shortfal": [4, 5], "upward": [4, 5, 13, 17], "pressur": [4, 5, 13], "instead": [4, 5, 7, 10, 12, 13, 15, 16, 18, 19, 21, 22, 28, 30, 31, 32, 33, 34, 35, 36, 45, 46, 47], "perfect": [4, 5, 17, 22, 25, 31, 46], "foresight": [4, 5, 22, 46], "ration": [4, 5, 22, 31, 32, 49], "cagan": [4, 5, 13, 22, 31, 32, 49], "1956": [4, 5, 9, 13, 17, 22, 32, 41, 49], "monetari": [4, 5, 12, 13, 18, 31, 32, 35, 49], "hyperinfl": [4, 5, 13, 18, 49], "logarithm": [4, 18, 22, 32], "invers": [4, 5, 7, 9, 10, 12, 13, 15, 21, 24, 27, 31, 37, 45, 46], "anticip": [4, 5, 9, 28, 48], "respond": [4, 9, 44], "actual": [4, 5, 7, 10, 15, 18, 21, 24, 30, 31, 39, 41, 46], "growth": [4, 5, 12, 16, 17, 18, 20, 22, 28, 31, 32, 34, 35, 37, 38, 49], "stai": [4, 18, 28, 39, 40], "facilit": [4, 5], "tool": [4, 5, 6, 8, 9, 12, 14, 15, 21, 26, 31, 33, 37, 43, 46], "horizon": [4, 5, 6, 9, 12, 26, 27, 38], "m_t": [4, 5, 13, 22, 31, 32, 48], "nomin": [4, 5, 14, 31, 48], "m_": [4, 13, 22, 31, 32, 48], "p_t": [4, 5, 6, 7, 13, 18, 22, 31, 32, 37, 46, 48], "pi_t": [4, 5, 22, 32, 38], "p_": [4, 5, 6, 7, 18, 22, 28, 31, 32, 37, 46, 48], "pi_0": [4, 5, 22], "exp": [4, 5, 16, 17, 18, 21, 22, 30, 32, 33, 36, 42], "sensit": [4, 5, 22, 32], "pi_": [4, 5, 22, 38], "scheme": [4, 13, 22, 48], "friedman": [4, 5, 12, 22, 49], "m_0": [4, 5, 22, 31, 32, 48], "pi": [4, 5, 8, 10, 12, 16, 22, 30, 32, 36, 44, 45], "p": [4, 6, 7, 8, 11, 13, 14, 16, 17, 18, 19, 21, 22, 23, 24, 25, 28, 29, 31, 32, 33, 34, 35, 36, 37, 44, 45, 46, 49], "mental": [4, 5, 45], "bmatrix": [4, 5, 9, 10, 11, 15, 19, 23, 24, 27, 28, 29, 31, 37, 45, 46], "cr": [4, 5, 9, 15, 19, 31, 37, 45, 46, 48], "vdot": [4, 5, 9, 24, 27, 28, 37, 46, 48], "pi_1": [4, 5], "pi_2": [4, 5], "vector": [4, 7, 8, 9, 11, 12, 16, 17, 19, 23, 25, 27, 28, 31, 32, 34, 40, 44, 45, 46], "implicitli": 4, "notat": [4, 5, 10, 15, 37], "mu_1": [4, 5, 44], "mu_2": [4, 5, 44], "term": [4, 5, 6, 13, 14, 18, 23, 24, 26, 28, 29, 31, 33, 34, 36, 38, 39, 41], "matric": [4, 19, 23, 45, 46], "ingredi": [4, 32], "fill": [4, 5, 17, 26, 30], "m_1": [4, 5, 22, 32], "m_2": [4, 5], "m_3": [4, 5], "accumul": [4, 5, 13], "compact": 4, "neq": [4, 35], "hypothesi": [4, 22, 49], "dive": [4, 8, 9, 37, 48], "usual": [4, 5, 9, 10, 12, 19, 31, 34, 40, 45], "modul": [4, 5, 9, 12, 18, 43, 45], "namedtupl": [4, 5, 9, 12, 21, 22, 26, 31, 32, 35, 48], "cagan_adapt": [4, 43], "m0": [4, 5, 22, 31, 32, 48], "e\u03c00": 4, "\u03bb": [4, 6, 9, 10, 11, 15, 23, 25, 31, 32, 36, 48], "create_cagan_adaptive_model": 4, "80": [4, 5, 6, 10, 13, 16, 17, 22, 29, 40, 41, 46, 48], "md": 4, "solve_cagan_adapt": 4, "\u03bc_seq": [4, 5, 22, 32], "ey": [4, 5, 9, 31], "e\u03c00_seq": 4, "append": [4, 5, 6, 10, 16, 17, 18, 25, 26, 31, 32, 34, 37, 38, 39, 44], "e\u03c0_seq": 4, "linalg": [4, 5, 9, 10, 11, 15, 19, 24, 28, 29, 31, 34, 37, 39, 44, 45, 46], "\u03c0_seq": [4, 5, 22, 32], "coeffici": [4, 8, 19, 24, 41, 45, 46], "m0_seq": 4, "m_seq": [4, 5, 22, 32], "p_seq": [4, 5, 18, 22, 32], "solve_and_plot": 4, "t_seq": [4, 5], "dpi": [4, 5, 18, 26, 31], "200": [4, 5, 6, 13, 16, 18, 19, 21, 25, 30, 34, 36, 38], "y_lab": 4, "subplot_titl": 4, "tight_layout": [4, 5, 13, 15, 16, 18, 22, 23, 29, 31, 32, 33], "construct": [4, 5, 12, 13, 15, 17, 18, 19, 22, 25, 27, 28, 31, 33, 34, 35, 36, 44, 45, 46], "string": [4, 28], "By": [4, 5, 9, 15, 16, 18, 19, 26, 27, 28, 31, 34, 37, 38, 41, 45, 48], "assur": [4, 19, 31, 45], "absolut": [4, 10, 11, 17, 23, 41, 44], "violat": [4, 25, 44], "turn": [4, 5, 7, 9, 10, 13, 15, 16, 22, 25, 28, 31, 32, 34, 36, 42, 44, 46], "situat": [4, 5, 11, 13, 23, 24, 25, 27, 28, 30, 31, 32, 36, 38, 45, 48], "t_1": 4, "perman": [4, 5, 13, 14, 18, 49], "t1": [4, 5], "60": [4, 5, 6, 8, 10, 16, 19, 21, 24, 25, 28, 29, 40, 41, 42], "\u03bc0": [4, 5], "\u03bc_star": [4, 5], "\u03bc_seq_1": [4, 5], "\u03c0_seq_1": [4, 5], "e\u03c0_seq_1": 4, "m_seq_1": [4, 5], "p_seq_1": [4, 5], "invit": [4, 5, 8], "pleas": [4, 9, 10, 11, 13, 19, 24, 25, 26, 31, 32, 45, 46, 47, 48], "overshoot": 4, "ultim": [4, 14, 31, 45], "reduct": [4, 5, 31, 32], "explain": [4, 5, 6, 10, 11, 13, 16, 23, 25, 26, 28, 29, 46], "yourself": [4, 24], "why": [4, 6, 9, 10, 11, 14, 24, 25, 28, 33, 34, 35, 46, 49], "gradual": [4, 5, 14, 26], "smoothli": [4, 5], "slowli": [4, 33], "drive": [4, 6, 17, 39], "sluggish": 4, "exce": [4, 5, 9, 13, 16], "transit": [4, 10, 11, 15, 20, 23, 29, 34, 48], "\u03bc_seq_2": [4, 5], "\u03c0_seq_2": [4, 5], "e\u03c0_seq_2": 4, "m_seq_2": 4, "p_seq_2": 4, "economist": [5, 14, 18, 21, 33, 45, 46], "decis": [5, 13, 27, 31, 34, 35, 37, 40], "expenditur": [5, 9, 14, 18, 22, 31, 32, 48], "instruct": [5, 9, 18, 25, 31, 47, 48], "thoma": [5, 39, 49], "sargent": [5, 11, 13, 18, 22, 28, 29, 34, 48, 49], "neil": [5, 49], "wallac": [5, 13, 48, 49], "2013": [5, 18, 41, 49], "reprint": 5, "1981": [5, 48, 49], "feder": [5, 49], "reserv": [5, 18, 49], "minneapoli": [5, 49], "articl": [5, 46, 47], "entitl": [5, 13, 14], "unpleas": [5, 13, 20, 31, 32, 43, 49], "arithmet": [5, 13, 20, 31, 32, 49], "fisal": 5, "deficit": [5, 13, 15, 20, 22, 32, 48], "shape": [5, 8, 10, 11, 13, 15, 16, 17, 18, 19, 24, 30, 31, 36, 40, 41, 42, 44], "critic": [5, 18, 48], "appli": [5, 8, 9, 10, 12, 14, 15, 17, 18, 21, 22, 24, 27, 31, 33, 34, 35, 40, 41, 45, 46], "john": [5, 13, 14, 18, 49], "cochran": [5, 49], "european": [5, 21, 26, 49], "wake": [5, 18], "war": [5, 13, 18, 26, 49], "episod": [5, 13, 18, 22], "beings": 5, "stop": [5, 13, 17, 26, 40], "philip": [5, 13, 49], "didn": [5, 18], "1982": [5, 7, 17, 49], "four": [5, 12, 13, 16, 49], "europ": 5, "adapt": [5, 18, 20, 31, 32], "impos": [5, 9, 12, 24, 31, 32, 45], "hi": [5, 8, 9, 13, 14, 21, 22, 26, 27, 32, 39, 45], "teacher": 5, "milton": [5, 9, 12, 49], "complic": [5, 10, 26, 33, 34], "design": [5, 13, 34, 40, 43], "abrupt": [5, 13, 18], "encount": [5, 9, 15, 21, 23, 31, 45], "veloc": 5, "accompani": [5, 13], "matrix": [5, 9, 12, 15, 19, 20, 21, 23, 27, 28, 29, 31, 34, 37, 40, 44, 45], "grow": [5, 6, 13, 14, 23, 26, 31, 37], "formal": [5, 9, 10, 16, 28, 41, 42], "somehow": [5, 12, 13, 31, 44], "forecast": [5, 16, 28, 31], "rewrit": [5, 6, 9, 15, 24, 28, 31, 32, 37], "proce": [5, 13, 14, 19, 27, 31, 37, 44, 45], "infinit": [5, 10, 15, 16, 24, 28, 31, 36], "beyond": [5, 17, 45], "gamma": [5, 10, 24, 35], "plug": [5, 8, 35, 37], "rearrang": [5, 11, 17, 24, 35, 41, 42, 48], "deduc": [5, 8, 15, 31, 32, 45], "vert": 5, "implement": [5, 7, 9, 10, 13, 17, 18, 22, 24, 25, 27, 28, 31, 32, 33, 34, 39, 48], "caganre": 5, "\u03c0_end": 5, "create_cagan_model": 5, "represent": [5, 17, 34], "a1": [5, 11, 13], "a2": [5, 11, 13], "b1": [5, 13], "concaten": [5, 9, 10, 13], "b2": [5, 13], "devis": [5, 13, 34], "execut": [5, 9, 16, 20, 47], "creation": [5, 14], "cm": [5, 10, 14, 22, 26, 28, 34, 46], "plot_sequ": 5, "seq": 5, "zip": [5, 6, 10, 14, 16, 17, 18, 19, 22, 26, 32, 33, 34, 36, 39, 44], "top": [5, 8, 10, 11, 13, 16, 19, 22, 23, 24, 28, 31, 32, 34, 38, 44, 45], "panel": [5, 22, 31, 32, 43], "portrai": [5, 13, 26], "unlik": [5, 22, 24, 28, 29, 35], "suddenli": 5, "bottom": [5, 8, 10, 16, 17, 22, 23, 24, 25, 31, 32, 38, 46], "kink": 5, "onc": [5, 7, 9, 18, 27, 28, 30, 34, 38, 42], "littl": [5, 13, 14], "discov": [5, 15, 22, 31, 32], "surpris": [5, 18, 39], "beforehand": 5, "question": [5, 9, 16, 21, 24, 28], "Is": [5, 23], "insist": [5, 34], "lock": 5, "inherit": [5, 9, 13, 45], "reset": 5, "could": [5, 6, 9, 12, 13, 14, 15, 18, 24, 26, 31, 33, 35, 41, 45, 48], "prevent": [5, 13], "arriv": [5, 14], "paper": [5, 6, 8, 13, 14, 18, 21, 22, 28, 31, 32, 33, 35, 49], "reap": [5, 8], "regim": [5, 13, 28], "sustain": [5, 13, 42], "simpli": [5, 10, 14, 23, 24, 38, 47], "glue": [5, 18], "leq": [5, 6, 7, 11, 17, 19, 22, 23, 24, 25, 28, 30, 32, 33, 34, 36, 42], "Then": [5, 6, 7, 8, 9, 10, 11, 17, 19, 21, 23, 24, 28, 31, 33, 34, 35, 36, 39, 42, 44, 45], "equip": [5, 22, 32], "deviat": [5, 11, 15, 16, 17, 25, 30, 45], "bit": [5, 28, 29, 41], "pure": [5, 8, 12, 18, 37, 45], "popularli": 5, "mit": [5, 49], "switch": [5, 21], "captur": [5, 39, 41, 45, 46], "mostli": [5, 13, 26], "move": [5, 10, 14, 18, 23, 26, 28, 29, 33, 34, 39, 40], "\u03bc_seq_2_path1": 5, "cm1": 5, "\u03c0_seq_2_path1": 5, "m_seq_2_path1": 5, "p_seq_2_path1": 5, "\u03bc_seq_2_cont": 5, "cm2": 5, "\u03c0_seq_2_cont": 5, "m_seq_2_cont1": 5, "p_seq_2_cont1": 5, "m_seq_2_regime1": 5, "p_seq_2_regime1": 5, "m_t1": 5, "cm3": 5, "\u03c0_seq_2_cont2": 5, "m_seq_2_cont2": 5, "p_seq_2_cont2": 5, "m_seq_2_regime2": 5, "p_seq_2_regime2": 5, "configur": 5, "plot_config": 5, "jumpi": 5, "experiment_plot": 5, "loop": [5, 10, 12, 17, 19, 25, 26, 28, 39], "config": [5, 19], "third": [5, 9, 13, 14, 22, 27, 32], "orang": [5, 6, 9, 13, 18, 21, 26, 39], "sure": [5, 33, 44, 46], "blue": [5, 9, 10, 13, 18, 24, 26, 27, 28, 31], "interpret": [5, 9, 13, 14, 17, 25, 29, 31, 34, 36, 40, 41, 44, 45], "place": [5, 13, 15, 22, 32, 38], "multi": [5, 17], "assess": [5, 13], "fulli": [5, 12, 28], "vs": [5, 16, 17, 41], "abruptli": 5, "team": 5, "resembl": [5, 9, 16], "fair": [5, 33, 36], "sai": [5, 6, 9, 10, 12, 16, 18, 19, 24, 25, 26, 31, 33, 34, 36, 37, 39, 48], "recognit": [5, 39], "exercis": [5, 9, 43], "supplement": 5, "suppos": [5, 6, 7, 10, 12, 16, 17, 19, 21, 23, 24, 25, 27, 28, 30, 33, 34, 35, 36, 37, 39, 40, 42, 45, 46], "perfectli": [5, 39, 46], "\u03bc_seq_stab": 5, "cm4": 5, "\u03c0_seq_4": 5, "m_seq_4": 5, "p_seq_4": 5, "nowadai": 5, "popular": [5, 17, 18], "among": [5, 9, 13, 14, 18, 19, 21, 28, 31, 37, 42, 45, 46], "banker": [5, 18], "advis": [5, 13], "1930": [6, 26], "matter": [6, 10, 17, 45, 49], "imagin": [6, 16, 17, 25, 34, 36, 39], "soybean": 6, "trade": [6, 7, 14, 21, 26, 34, 44, 45], "buyer": [6, 19, 21], "seller": [6, 21], "curv": [6, 7, 16, 20, 21, 24, 25, 30, 31, 36, 44, 48, 49], "bui": [6, 7, 21, 27, 33, 48], "wish": [6, 28, 30, 39, 40], "farmer": [6, 13], "crop": 6, "perhap": [6, 16, 26, 28, 31, 33, 36, 38, 46], "plant": 6, "flood": 6, "shift": [6, 7, 14, 19, 23, 25, 28, 42, 45], "restrict": [6, 9, 10, 13, 14, 27, 31, 40, 48], "climb": 6, "quantifi": [6, 17, 26, 34], "disappear": 6, "regard": [6, 7, 9, 21, 25, 39, 45], "car": 6, "homm": 6, "waugh": [6, 49], "harlow": [6, 49], "hog": [6, 49], "1920": 6, "1950": [6, 17, 41], "replic": [6, 13, 16, 26, 31, 45], "yearli": [6, 17], "frequenc": [6, 16, 17, 28], "cyclic": [6, 37], "match": [6, 16, 21, 26, 34, 36, 40, 43], "hog_pric": 6, "55": [6, 17, 19, 24, 28, 29, 40, 41, 43, 49], "57": [6, 21, 40, 41, 43], "70": [6, 26, 28, 29, 40], "72": [6, 21, 33, 40, 41, 46], "51": [6, 19, 34, 40, 43, 49], "45": [6, 9, 10, 16, 17, 18, 28, 35, 38, 40, 42, 43], "85": [6, 19, 40, 41, 43], "78": [6, 17, 21, 40, 41, 42, 43, 49], "68": [6, 11, 28, 40, 43, 49], "52": [6, 13, 18, 28, 29, 33, 40, 46, 49], "83": [6, 19, 27, 33, 40, 43], "62": [6, 13, 17, 19, 40, 41, 43], "87": [6, 40, 43, 49], "81": [6, 15, 40, 41], "69": [6, 19, 43], "63": [6, 13, 40, 41], "75": [6, 13, 16, 17, 19, 21, 24, 25, 27, 28, 30, 36, 40, 41, 43, 44, 45, 49], "1924": [6, 18], "ms": [6, 7, 16, 17, 23, 28, 33, 35, 36, 37, 42], "hypothet": [6, 17, 19, 26, 45], "nonneg": [6, 7, 14, 23, 27, 28, 31, 34, 42], "spot": [6, 31, 33], "thousand": 6, "ton": 6, "e_t": [6, 23], "nonlinear": [6, 31, 40], "tanh": 6, "hyperbol": 6, "p_grid": 6, "final": [6, 7, 9, 14, 16, 18, 19, 25, 34, 35, 39, 40, 42, 44, 47], "lag": [6, 14, 38, 46], "whatev": [6, 13], "current_pric": 6, "next_pric": 6, "degre": [6, 10, 17, 35, 38, 39, 41, 42], "diagram": [6, 35, 38, 42], "plot45": [6, 38, 42], "pmin": 6, "pmax": 6, "p0": [6, 14, 22, 31, 32, 48], "num_arrow": [6, 38], "pgrid": 6, "hw": [6, 38], "01": [6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 19, 23, 27, 28, 29, 36, 37, 38, 39, 40, 43, 48], "hl": [6, 38], "arrow_arg": [6, 38], "fc": [6, 38], "ec": [6, 38], "head_width": [6, 38], "length_includes_head": [6, 38], "head_length": [6, 38], "xtick": [6, 13, 38], "xtick_label": [6, 38], "arrow": [6, 10, 19, 24, 28, 34, 38, 40, 43, 45], "ls": [6, 9, 17, 21, 25, 38, 42], "dot": [6, 10, 14, 27, 28, 31, 38, 39, 42], "format": [6, 18, 22, 26, 38, 41], "set_xtick": [6, 10, 21, 23, 25, 36, 38, 42], "set_ytick": [6, 10, 21, 23, 38, 42], "set_xticklabel": [6, 21, 38], "set_yticklabel": [6, 21, 38], "bbox": [6, 38], "04": [6, 17, 19, 23, 26, 28, 29, 33, 36, 38, 40, 43, 49], "104": [6, 38, 40, 49], "legend_arg": [6, 38], "frameon": [6, 21, 26, 34, 35, 38, 42], "horizont": [6, 21, 24, 38], "vertic": [6, 13, 21, 24, 26, 28, 31, 34, 38], "clearli": [6, 16, 24, 30, 34, 38], "hit": [6, 26, 38, 39, 42], "p_0": [6, 7, 14, 22, 24, 31, 32, 37, 48], "p_1": [6, 7, 19, 24, 37, 45, 48], "p_2": [6, 7, 19, 24, 37, 45], "continu": [6, 7, 13, 14, 25, 26, 28, 29, 33, 37, 38, 39, 41, 48], "ts_plot_pric": 6, "y_a": 6, "y_b": 6, "ts_length": [6, 28, 29, 35, 38, 42], "bo": [6, 38], "best": [6, 23, 24, 27, 38, 40, 41, 42], "longer": [6, 10, 12, 26, 28, 32, 38], "e_": [6, 23, 44], "qquad": [6, 7, 16, 17, 25, 28, 29, 34, 36, 38, 42], "find_next_price_adapt": 6, "curr_price_exp": 6, "ts_price_plot_adapt": 6, "i_plot": 6, "pe_last": 6, "p_valu": 6, "30": [6, 8, 13, 19, 25, 27, 28, 31, 32, 40, 41, 43, 49], "stabil": [6, 18, 28, 42, 46, 48, 49], "seen": [6, 11, 16, 17, 28, 34], "ts_plot_suppli": 6, "s_valu": 6, "find_next_price_bla": 6, "ts_plot_price_bla": 6, "p1": [6, 29], "flatten": [6, 16, 18], "pe": [6, 8, 45], "globe": 7, "export": [7, 21], "copper": 7, "iron": 7, "ore": 7, "lithium": 7, "cotton": 7, "coffe": 7, "bean": 7, "introduct": [7, 36, 40, 49], "unknown": [7, 10, 24, 28, 30, 35], "yfinanc": [7, 16, 36, 43], "41": [7, 13, 16, 21, 24, 27, 36, 40, 41, 43, 49], "py2": [7, 18, 19, 36], "multitask": [7, 16, 36, 43], "platformdir": [7, 16, 36, 43], "frozendict": [7, 16, 36, 43], "py311": [7, 36], "peewe": [7, 16, 36, 43], "tar": [7, 36], "gz": [7, 36], "91m": [7, 27, 36], "31m26": 7, "32m3": [7, 36], "31m53": 7, "done": [7, 9, 17, 18, 28, 33, 36], "wheel": [7, 36, 43], "pyproject": [7, 36], "toml": [7, 36, 43], "25hrequir": [7, 36], "beautifulsoup4": [7, 16, 36, 43], "html5lib": [7, 16, 36, 43], "soupsiev": [7, 16, 36, 43], "webencod": [7, 16, 36, 43], "73": [7, 36, 40, 41, 43], "32m73": [7, 36], "25hdownload": [7, 27, 36], "112": [7, 36], "32m112": [7, 36], "31m43": 7, "filenam": [7, 36], "cp311": [7, 19, 27, 36], "linux_x86_64": [7, 36], "274781": [7, 36], "sha256": [7, 36], "df613d38e4e572fc0734b68fd1e46884bf927922906eb5ae49c32ad6738b690": 7, "directori": [7, 36], "cach": [7, 36, 43], "1c": [7, 36], "09": [7, 13, 17, 28, 29, 36, 40, 43], "7e": [7, 36], "9f659fde248ecdc1722a142c1d744271aad3914a0afc191058": [7, 36], "built": [7, 9, 36, 41, 43, 48], "yf": [7, 16, 36], "interpol": [7, 17, 26], "interp1d": 7, "brentq": 7, "usd": [7, 16], "ct": 7, "adj": [7, 16, 36], "marker": [7, 8, 10, 16, 17, 18, 22, 31, 32, 36, 42], "surprisingli": [7, 23, 28, 29], "movement": [7, 26, 40], "action": [7, 10, 11, 36, 43, 48], "supplier": [7, 19, 34, 40], "specul": [7, 49], "focu": [7, 16, 17, 18, 21, 25, 26, 34, 35, 37], "parti": 7, "togeth": [7, 13, 15, 17, 18, 21, 22, 24, 27, 29, 31, 32, 35, 39, 46], "samuelson": [7, 8, 15, 35, 37, 45, 49], "1971": [7, 49], "wright": [7, 49], "william": [7, 49], "scheinkman": [7, 49], "schechtman": [7, 49], "1983": [7, 17, 49], "deaton": [7, 49], "laroqu": [7, 49], "1996": [7, 49], "chamber": [7, 49], "bailei": [7, 49], "intrins": 7, "harvest": 7, "dai": [7, 33, 40, 41], "chip": 7, "circuit": 7, "being": [7, 9, 10, 12, 14, 17, 18, 28, 31, 37, 45, 48], "appropri": [7, 8, 9, 22, 45], "nonetheless": [7, 29, 33], "simplic": [7, 25, 34], "z_t": [7, 23], "yield": [7, 21, 22, 24, 28, 31, 32, 35, 37, 41, 42, 45, 46], "taken": [7, 15, 16, 17, 28, 45], "_t": [7, 31, 35, 38, 42], "neutral": 7, "arbitrag": 7, "room": [7, 12], "carryov": 7, "attack": 7, "solut": [7, 9, 15, 31, 46, 48], "ansatz": 7, "educ": [7, 19, 37], "everi": [7, 11, 16, 17, 24, 25, 27, 28, 30, 31, 33, 34, 38, 39, 40, 45, 46], "z_": [7, 19, 23], "precis": [7, 11, 29, 35, 46], "27": [7, 17, 27, 33, 40, 41, 43], "int_0": [7, 16, 21], "z": [7, 8, 10, 14, 16, 17, 19, 27, 33, 34, 35, 38], "dz": 7, "suffic": [7, 19], "inequ": [7, 11, 20, 27, 43, 49], "mild": [7, 28, 34, 39], "p_k": 7, "q_1": [7, 24], "q_n": 7, "repeat": [7, 10, 16, 17, 25, 28, 36], "distribut": [7, 11, 13, 14, 17, 25, 29, 39, 42, 43, 44, 45, 46, 47, 49], "mont": [7, 20], "carlo": [7, 20], "beta_a": 7, "beta_b": 7, "mc_draw_siz": 7, "250": [7, 19, 25, 26, 30, 31, 34, 41], "gridsiz": 7, "150": [7, 10, 19, 26, 32, 34, 43], "grid_max": [7, 21], "35": [7, 18, 21, 22, 24, 28, 32, 40, 41, 43], "beta_dist": 7, "p_arrai": 7, "new_p": 7, "fill_valu": 7, "bounds_error": 7, "error": [7, 10, 11, 15, 16, 19, 47, 48], "new_pric": 7, "p_star": [7, 37], "carry_ov": 7, "generate_cp_t": 7, "init": [7, 28, 29], "50": [7, 10, 11, 12, 13, 14, 16, 17, 19, 22, 24, 27, 28, 29, 30, 31, 33, 34, 36, 40, 41, 42, 43, 48, 49], "substanti": [8, 13, 14, 26, 35], "reward": [8, 12], "differenti": [8, 21, 42, 45], "kei": [8, 9, 12, 13, 17, 21, 25, 26, 28, 31, 32, 38, 45, 46], "attain": [8, 31], "paul": [8, 35, 45, 46, 49], "1939": [8, 9, 12, 26, 46, 49], "acceler": [8, 15, 37, 46, 49], "keynesian": [8, 9, 46], "extens": [8, 43, 45], "stand": 8, "alon": 8, "quick": [8, 15, 17, 21, 36, 40, 48], "remind": [8, 48], "imaginari": [8, 10], "euclidean": [8, 11, 39], "polar": 8, "iy": 8, "re": [8, 10, 14, 17, 19, 24, 40], "theta": [8, 10, 36, 48], "sin": [8, 10, 37], "euler": [8, 35], "too": [8, 16, 21, 30, 31, 34, 36], "conjug": [8, 19], "modulu": [8, 10, 11], "distanc": [8, 10, 24, 39, 40], "angl": [8, 10, 15], "evid": [8, 9, 10, 12, 13, 14, 15, 18, 31, 37, 46, 49], "tangent": 8, "tan": 8, "2i": 8, "eq": [8, 23, 27], "nsolv": 8, "simplifi": [8, 16, 21, 35, 42, 44], "init_print": [8, 14], "abbrevi": 8, "\u03c0": [8, 12, 16, 22, 32, 44, 45], "\u03b8": [8, 10, 36, 48], "x_rang": 8, "1000": [8, 11, 13, 14, 16, 21, 22, 23, 25, 29, 32, 35, 39, 41, 42], "\u03b8_rang": 8, "111": [8, 10, 40], "set_rmax": 8, "set_rtick": 8, "radial": 8, "tick": [8, 13, 16], "set_rlabel_posit": 8, "88": [8, 21, 40, 43], "awai": [8, 22, 44, 45], "25": [8, 9, 10, 11, 15, 16, 17, 19, 21, 24, 25, 27, 28, 29, 34, 35, 36, 38, 40, 42, 43, 44, 45, 49], "recogn": [8, 16, 34], "pythagora": 8, "omega": 8, "integ": [8, 9, 12, 14, 15, 17, 22, 25, 28, 29, 31, 32, 34, 35, 36, 38, 39, 40, 42], "az": [8, 26], "pr": [8, 19], "machineri": [8, 13, 46], "heard": [8, 16], "model": [8, 10, 13, 16, 25, 28, 29, 31, 34, 36, 37, 45, 48, 49], "c_1": [8, 14, 23, 27, 44, 45], "c_2": [8, 14, 23, 27, 44, 45], "characterist": [8, 15, 16], "polynomi": [8, 10], "z_1": 8, "z_2": 8, "circumst": [8, 14], "recal": [8, 11, 14, 16, 19, 23, 24, 28, 29, 34, 36, 38, 42, 45, 48], "encod": [8, 15], "abl": [8, 13, 18, 46], "x0": [8, 14, 22, 23, 29, 32, 38, 42], "x1": [8, 10, 24, 27], "\u03c9": 8, "eq1": 8, "3f": [8, 33], "eq2": 8, "000": [8, 11, 16, 17, 27, 28, 29, 30, 33], "max_n": 8, "xlim": [8, 10, 13, 15, 16, 24], "middl": [8, 16, 29, 31, 34, 41], "spine": [8, 10, 13, 23, 24, 38], "set_posit": [8, 10, 23, 24, 38], "set_color": [8, 10, 23, 24, 38], "xaxi": [8, 18, 22, 31, 32], "set_ticks_posit": 8, "yaxi": 8, "ticklab": 8, "get_ticklabel": 8, "tran": 8, "get_transform": 8, "set_label_coord": 8, "suit": 8, "manipul": [8, 36], "implic": [8, 16, 25, 34, 35, 49], "sine": 8, "cosin": 8, "int_": [8, 16, 25, 30, 36], "4i": 8, "bigg": 8, "analyt": [8, 35, 38], "use_latex": [8, 14], "mathjax": [8, 14, 43], "displaystyl": [8, 12, 14], "famou": [9, 10, 14, 35, 36, 42], "robert": [9, 13, 39, 42, 49], "fit": [9, 13, 16, 18, 24, 25, 30, 36, 41], "miss": [9, 41], "human": [9, 12, 16, 17, 34], "wealth": [9, 12, 13, 20, 27, 29, 30, 44, 45, 49], "inspir": 9, "person": [9, 12, 17, 29, 45], "her": [9, 16, 21, 28, 39, 45], "view": [9, 10, 13, 14, 15, 16, 18, 21, 28, 29, 30, 34, 38, 39], "stream": [9, 13, 14, 37, 43], "phd": 9, "thesi": 9, "columbia": 9, "kuznet": [9, 12, 49], "1945": [9, 12, 26, 49], "explicilti": 9, "actor": 9, "c_t": [9, 14, 35], "come": [9, 13, 14, 22, 27, 28, 29, 32, 33], "salari": [9, 12], "face": [9, 23, 24, 28, 30, 35, 45, 48], "she": [9, 12, 39], "lend": [9, 14, 34], "constitut": [9, 13, 46, 48], "discount": [9, 16, 35, 37, 45, 46], "factor": [9, 10, 14, 15, 16, 17, 26, 35, 37, 38, 45, 46], "boundari": [9, 27, 46], "won": [9, 13, 15, 41], "die": 9, "affair": 9, "constrain": [9, 27], "logic": [9, 16, 18, 32, 39, 40], "flow": [9, 17, 21, 23, 35], "candid": [9, 31], "declar": 9, "greedi": 9, "procedur": [9, 18, 28, 39], "sensibl": 9, "answer": [9, 16, 21, 23, 26, 28, 36], "welfar": [9, 17], "criterion": [9, 21, 45], "g_1": 9, "g_2": 9, "impart": 9, "smoother": [9, 36], "consumptionsmooth": 9, "g1": [9, 31, 34], "g2": [9, 31, 34], "\u03b2_seq": 9, "create_consumption_smoothing_model": 9, "h_0": [9, 12, 33], "y_0": [9, 14, 15, 31, 46], "y_1": [9, 14, 17, 24, 46], "finan": 9, "c_0": [9, 12, 14], "nutshel": [9, 18, 26, 31], "readili": [9, 28], "plai": [9, 11, 12, 13, 15, 16, 17, 23], "translat": [9, 17, 29, 35], "a_1": [9, 10, 15], "a_2": [9, 15], "a_3": 9, "y_2": [9, 14, 17, 24, 46], "y_": [9, 14, 15, 31, 46], "bare": 9, "compute_optim": 9, "a0": [9, 19], "y_seq": 9, "h0": [9, 33], "c0": [9, 15], "c_seq": 9, "diag": [9, 23, 31], "a_seq": 9, "inv": [9, 10, 11, 15, 19, 24, 31, 44, 45, 46], "afterward": [9, 48], "retir": [9, 13], "46": [9, 11, 17, 19, 21, 28, 40, 43, 49], "cs_model": 9, "u_seq": 9, "285050962183433": 9, "decrib": 9, "plot_c": 9, "accross": 9, "windfal": 9, "w_0": [9, 12], "indic": [9, 11, 12, 13, 15, 16, 17, 18, 19, 22, 23, 25, 26, 28, 29, 31, 32, 33, 34, 37, 39, 40, 45, 46, 48], "disast": 9, "y_seq_po": 9, "24": [9, 11, 17, 26, 27, 28, 33, 36, 40, 41, 43, 46], "y_seq_neg": 9, "y_seq_lat": 9, "t_max": [9, 14, 15], "geo_seq": 9, "y_seq_geo": 9, "behavior": [9, 10, 11, 16, 23, 28, 29, 35, 49], "95": [9, 11, 26, 29, 33, 38, 40, 44, 45], "happen": [9, 12, 13, 14, 18, 26, 28, 39, 44, 45], "justifi": [9, 31, 32, 48], "calculu": [9, 14, 21, 36, 41], "explor": [9, 11, 16, 17, 26, 31, 32, 36, 41, 44], "admiss": 9, "ourselv": [9, 28], "xi_1": [9, 33], "xi_0": 9, "guarante": [9, 10, 29], "phi_t": 9, "compute_vari": 9, "\u03be1": 9, "\u03be0": 9, "v_seq": 9, "isclos": [9, 22, 32], "c_opt": 9, "cvar_seq": 9, "02": [9, 13, 14, 19, 23, 27, 28, 29, 31, 32, 35, 36, 40, 49], "\u03d5s": 9, "tab": [9, 18, 26], "green": [9, 15, 21, 24, 28, 38, 39], "param": [9, 14, 16, 43], "meshgrid": [9, 10, 14], "reshap": [9, 10, 11, 17, 19, 26], "fr": [9, 15, 25, 28, 29, 34, 36], "vec": [9, 10, 24], "285009346064836": 9, "28491163101544": 9, "284010559218512": 9, "28156768298361": 9, "gradient": 9, "command": [9, 47], "teach": [9, 25], "beneath": 9, "welfare_rel": 9, "welfare_vec": 9, "relationship": [9, 11, 13, 17, 21, 24, 28, 34, 37, 38, 41], "\u03be1_arr": 9, "welfare_grad": 9, "\u03d5_arr": 9, "cornerston": 9, "modern": [9, 13], "macro": [9, 18, 49], "ramif": 9, "briefli": [9, 16], "open": [9, 13, 26, 31, 40], "door": [9, 26], "enlighen": 9, "literatur": [9, 49], "todai": [9, 13, 14, 26, 31, 42], "conclud": [9, 10, 19, 23, 25, 31, 34], "coupl": [9, 41], "cast": [9, 28, 31, 46], "y_3": 9, "lambda_1": [9, 10, 15], "lambda_2": [9, 15], "ask": [9, 13, 14, 23, 24, 27, 28, 29, 35], "extrem": [10, 16, 17, 30, 39, 40], "machin": [10, 47], "matrix_pow": [10, 11, 28, 29, 34], "line2d": 10, "patch": [10, 19, 27, 28, 34, 43], "fancyarrowpatch": 10, "mpl_toolkit": [10, 28], "mplot3d": [10, 28], "proj3d": 10, "concern": [10, 33, 35], "rectangular": 10, "colon": 10, "rightarrow": [10, 11, 14, 15, 31, 32, 34], "argu": [10, 17, 19], "convent": [10, 24], "itself": [10, 11, 16, 25, 31, 38], "math": [10, 14, 30, 39], "annot": [10, 13, 15, 23, 24, 26, 31, 41, 42], "xy": [10, 15, 23, 24, 42], "xytext": [10, 23, 24, 42], "arrowprop": [10, 23, 24, 42], "shrink": [10, 14, 24], "width": [10, 19, 24, 26, 28, 34], "29": [10, 21, 33, 40, 41, 48], "purpl": [10, 13], "arrowstyl": [10, 23, 34, 42], "connectionstyl": [10, 19, 28, 34], "arc3": [10, 19, 28, 34], "rad": [10, 19, 28, 34], "horizontalalign": [10, 22, 32], "imag": [10, 43], "locat": [10, 23, 34, 39], "circl": [10, 11, 13, 34], "grid_transform": 10, "circle_transform": 10, "min": [10, 16, 17, 21, 26, 30, 35, 40, 42, 44, 45], "xval": 10, "yval": 10, "xygrid": 10, "column_stack": 10, "uvgrid": 10, "scatter": [10, 16, 23, 25, 28, 41, 45], "x_2": [10, 11, 14, 19, 23, 24, 25, 27, 33, 38], "x_k": [10, 24], "ax_1": [10, 23], "ax_2": 10, "ax_k": 10, "\u03b8_1": 10, "b_1": [10, 24, 27, 44, 45], "zorder": [10, 45], "y1": [10, 24], "transformed_ab": 10, "transformed_circle_input": 10, "transformed_circl": 10, "direct": [10, 16, 19, 21, 31, 34, 40, 47], "stretch": 10, "proport": [10, 18, 19, 29, 34], "coordin": [10, 31, 39], "clockwis": [10, 23], "interchang": 10, "act": [10, 26, 39], "abx": 10, "red": [10, 13, 15, 22, 24, 26, 28, 31, 32, 35, 42, 46], "underbrac": [10, 46], "textstyl": 10, "overbrac": 10, "bx": 10, "ba": 10, "compos": 10, "90": [10, 17, 24, 29, 36, 40], "circ": [10, 35, 38, 42], "grid_composition_transform": 10, "abgrid": 10, "bx_1": 10, "bx_2": 10, "bx_k": 10, "abx_1": 10, "abx_2": 10, "abx_k": 10, "repeatedli": [10, 16, 21, 24, 46], "av": [10, 11], "aav": 10, "2v": 10, "ellips": 10, "holder": [10, 13, 31], "trajectori": [10, 26], "rainbow": 10, "v1": 10, "v2": 10, "shorter": [10, 17], "closer": [10, 17, 41, 42], "spiral": 10, "tend": [10, 16, 28, 34, 39, 41], "farther": 10, "kv": 10, "behav": [10, 33], "notion": [10, 21], "mere": 10, "eig": [10, 11, 15, 31], "eval": [10, 11], "evec": [10, 11], "ymin": [10, 26, 35, 42], "ymax": [10, 26, 35, 42], "facecolor": [10, 24], "straightforward": 10, "haven": [10, 28, 47], "mention": [10, 16, 24, 25, 30], "yet": [10, 29], "skip": [10, 14], "equival": [10, 14, 16, 27, 31, 34, 42, 48], "linearli": [10, 24, 45], "exist": [10, 11, 19, 22, 23, 24, 27, 28, 29, 31, 32, 34, 38, 44, 45], "plane": [10, 24, 28], "diagon": [10, 11, 24, 31, 40, 45, 46], "symmetr": [10, 15, 34], "invert": [10, 24, 46], "lambda_n": [10, 11], "corollari": 10, "statement": [10, 11, 13, 17, 23, 28, 29, 31, 32, 33, 34, 36], "70710678": 10, "routin": [10, 24, 34], "applic": [10, 11, 15, 24, 28, 31, 33, 34, 40, 49], "multivari": [10, 25, 46], "spectral": [10, 11, 19, 23, 34], "radiu": [10, 11, 19, 23, 34], "max_i": 10, "lambda_i": [10, 11, 15], "_i": [10, 41], "5828427124746189": 10, "b_invers": 10, "a_sum": 10, "a_pow": 10, "allclos": [10, 40, 46], "truncat": [10, 30], "greatest": 10, "diagonaliz": [10, 23], "b_0": [10, 31], "b_": [10, 24, 27, 31, 44, 46, 48], "b_k": 10, "thorough": 10, "num_it": 10, "rand": [10, 25, 46], "err": 10, "greatest_eigenvalu": 10, "2f": [10, 14, 16], "3d": [10, 14, 28], "add_subplot": [10, 28], "set_zlabel": [10, 14], "tick_param": [10, 13], "labels": [10, 13], "set_box_aspect": 10, "zoom": 10, "41421356": [10, 15], "81649658": 10, "57735027": 10, "largest": [10, 11, 16, 17, 34, 39], "ahead": [10, 14, 26, 30, 41], "vec_field": 10, "stack": [10, 15, 16, 31, 41, 46], "tensordot": 10, "streamplot": 10, "a23bec": 10, "set_alpha": 10, "scale_unit": [10, 15], "quiver": [10, 15], "eigenspac": 10, "gca": [10, 13, 22, 28, 32], "set_aspect": 10, "diverg": [10, 26], "smallest": [10, 11, 17, 31, 39], "intrigu": 10, "previous": [10, 11, 30, 35], "demonstr": [10, 25, 28], "eigenvalues_r": 10, "eigenvectors_r": 10, "61237244": 10, "35355339j": 10, "40824829": 10, "40824829j": 10, "8660254": 10, "5j": 10, "22474487": 10, "70710678j": 10, "arrow3d": 10, "stackoverflow": 10, "xs": [10, 15, 45], "ys": [10, 13, 46], "kwarg": [10, 16], "super": [10, 45], "_verts3d": 10, "do_3d_project": 10, "xs3d": 10, "ys3d": 10, "zs3d": 10, "proj_transform": 10, "u_real": 10, "v_real": 10, "u_imag": 10, "zeros_lik": [10, 17, 40], "v_imag": 10, "vlength": 10, "arrow_length_ratio": 10, "arrow_prop_dict": 10, "mutation_scal": 10, "shrinka": 10, "shrinkb": 10, "add_artist": 10, "im": 10, "network": [11, 19, 20, 40, 43, 49], "sp": 11, "qe": [11, 28, 29, 34], "deal": [11, 38, 40], "eigenvalu": [11, 15, 20, 23, 31, 34], "ij": [11, 19, 27, 28, 31, 34], "gg": [11, 14, 44], "confus": [11, 36], "role": [11, 12, 15, 16, 17, 23, 36, 49], "hint": [11, 14, 26, 45], "decim": [11, 15, 46], "set_printopt": 11, "89443": 11, "44721": 11, "70711": 11, "directli": [11, 36, 38, 40, 46], "eigenv": 11, "\u03b5": 11, "themselv": [11, 34], "domin": [11, 19, 34], "automat": [11, 18, 34, 43], "transpos": [11, 16, 17, 19, 24, 34], "certain": [11, 17, 49], "complex": [11, 16, 17, 20, 33, 35, 49], "except": [11, 16, 19, 33, 34, 44, 45], "intuit": [11, 16, 22, 23, 28, 34, 38], "eigresult": 11, "00000e": 11, "90566e": 11, "77350e": 11, "07107e": 11, "36592e": 11, "hard": [11, 12, 18, 30, 33, 42], "everywher": [11, 16, 22, 23, 28, 29, 40], "still": [11, 16, 23, 25, 33, 38, 39, 40, 47], "looser": 11, "secondari": 11, "vice": 11, "versa": 11, "strict": 11, "inner": [11, 45], "8165": 11, "57735": 11, "22646": 11, "40825": 11, "79259": 11, "56614": 11, "furthermor": 11, "compute_perron_project": 11, "eigval": [11, 34], "argmax": 11, "v_p": 11, "w_p": 11, "norm_factor": 11, "v_norm": 11, "check_converg": 11, "n_list": 11, "10000": [11, 30, 34, 42], "m_n": 11, "diff": [11, 12, 14, 18, 30, 42, 43], "diff_norm": 11, "fro": 11, "10f": 11, "a3": [11, 13], "971": [11, 28, 29, 49], "029": [11, 28, 29], "145": [11, 28, 29, 40], "778": [11, 28, 29], "077": [11, 28, 29], "508": [11, 28, 29], "492": [11, 28, 29], "71": [11, 40], "1362": 11, "48507": 11, "24254": 11, "8638": 11, "0989045731": 11, "0000000001": 11, "0000000000": 11, "33333": 11, "7071067812": 11, "0013810679": 11, "12506": 11, "31949": 11, "20233": 11, "43341": 11, "07714": 11, "19707": 11, "1248": 11, "26735": 11, "12158": 11, "31058": 11, "19669": 11, "42133": 11, "13885": 11, "3547": 11, "22463": 11, "48118": 11, "5361031549": 11, "0000434043": 11, "100th": 11, "1125899906842624": 11, "562949953421312": 11, "35355": 11, "bridg": 11, "languag": 11, "spoken": 11, "aperiod": 11, "imam": [11, 28, 49], "templ": [11, 28, 49], "hamilton": [11, 49], "stationari": [11, 22, 29, 32, 33, 46, 48], "18": [11, 15, 18, 19, 24, 26, 28, 31, 40, 43, 49], "56146": 11, "15565": 11, "28289": 11, "mc": [11, 28, 29], "markovchain": [11, 28, 29], "\u03c8_star": [11, 28, 29], "stationary_distribut": [11, 28, 29], "p_hamilton": 11, "8128": 11, "16256": 11, "02464": 11, "gap": [11, 12, 13, 17, 26], "proven": 11, "v_i": [11, 21, 34], "w_i": [11, 17, 21, 30, 44], "stachurski": [11, 28, 29, 34, 49], "premultipli": 11, "mathscr": 11, "gershgorin": 11, "scope": 11, "lambda_": 11, "wassili": 11, "interdepend": 11, "intern": [11, 21, 26], "rest": [11, 26], "extern": [11, 43, 47], "agricultur": [11, 19, 49], "tabl": [11, 18, 26, 27, 34, 43], "within": [11, 19, 24, 26, 27, 34, 47], "x_3": [11, 24, 27, 33], "3x_1": [11, 27], "2x_2": [11, 27], "3x_3": 11, "2x_1": [11, 27], "4x_2": [11, 27], "5x_2": [11, 27], "1x_3": 11, "neumann": [11, 19, 28, 34], "lemma": [11, 19, 28], "8444086477164554": 11, "b_inv": 11, "x_star": 11, "38": [11, 17, 19, 21, 41, 43, 49], "30189": 11, "44": [11, 13, 18, 40, 43], "33962": 11, "47799": 11, "invent": [12, 15], "dentist": 12, "doctor": 12, "barrier": [12, 33], "conjunct": 12, "organ": [12, 26, 34], "jennif": [12, 49], "burn": [12, 49], "joint": [12, 30, 39], "simon": [12, 19, 49], "led": [12, 13, 18], "incomplet": [12, 26, 31], "articul": 12, "job": [12, 23, 28, 30, 31, 40, 41], "adam": [12, 13, 21, 26, 49], "smith": [12, 13, 21, 49], "partial": [12, 14, 30, 41, 45], "concis": [12, 27], "certainli": 12, "premium": 12, "attend": 12, "gamma_h": 12, "gamma_c": 12, "upfront": 12, "goe": [12, 14, 16, 17, 24, 29], "someon": [12, 14, 16, 33], "a_h": 12, "a_c": 12, "tuition": 12, "board": 12, "heart": [12, 14], "forgon": 12, "fun": [12, 22, 27, 42], "tweak": 12, "promin": 12, "eqdiffmodel": 12, "\u03b3_h": 12, "\u03b3_c": 12, "w_h0": 12, "create_edm": 12, "compute_gap": 12, "static": [12, 45], "recomput": [12, 30], "ex1": 12, "gap1": 12, "8041412724969135": 12, "ex2": 12, "gap2": 12, "2204649517903732": 12, "r_arr": 12, "compens": [12, 38, 45], "prospect": [12, 22, 32, 37], "wait": [12, 37], "rememb": [12, 14, 21, 25, 31, 34], "Not": [12, 23, 28, 29], "\u03b3c_arr": 12, "career": 12, "\u03b3h_arr": 12, "reinterpret": 12, "versu": [12, 45], "succe": [12, 36], "firm": [12, 17, 27, 34, 44, 49], "offic": 12, "lawyer": 12, "riskier": 12, "adopt": [12, 13, 18, 22, 33], "create_edm_\u03c0": 12, "chanc": [12, 33, 34, 39], "busi": [12, 13, 16, 20, 26, 34, 49], "incorpr": 12, "ex3": 12, "gap3": 12, "020706362484567": 12, "\u03c0_arr": 12, "doesn": [12, 16, 25, 28], "feel": [12, 14, 39], "taught": 12, "gamma_": 12, "mapsto": 12, "r_valu": [12, 31], "t_valu": 12, "\u03b3_h_valu": 12, "\u03b3_c_valu": 12, "w_h0_valu": 12, "d_valu": 12, "\u03d5_d": 12, "\u03d5_d_func": 12, "058367632070654": 12, "\u03d5_t": 12, "\u03d5_t_func": 12, "00973478032996598": 12, "off": [12, 13, 16, 18, 19, 34, 46], "\u03d5_\u03b3_h": 12, "\u03d5_\u03b3_h_func": 12, "8590485545256": 12, "\u03d5_\u03b3_c": 12, "\u03d5_\u03b3_c_func": 12, "6486401973376": 12, "\u03d5_r": 12, "\u03d5_r_func": 12, "2642738659429": 12, "featur": [13, 18, 26, 33, 34, 35, 49], "1789": 13, "1799": 13, "veld": [13, 18, 49], "1995": [13, 17, 49], "revolutionari": 13, "legisl": 13, "guid": 13, "decid": [13, 27, 33, 35], "recommend": [13, 31, 32], "believ": [13, 18, 38], "contact": [13, 47], "barro": [13, 49], "1979": [13, 17, 26, 49], "prescript": 13, "mode": 13, "temporari": [13, 18], "surg": 13, "roll": [13, 18, 31], "monetarist": [13, 18, 20, 31, 32, 37, 49], "historian": [13, 17, 26], "bill": [13, 18], "1776": [13, 18], "contemporari": 13, "assignat": 13, "1791": [13, 18, 26], "gold": [13, 14, 18, 21], "silver": [13, 14, 18], "napoleon": 13, "becam": [13, 46], "head": [13, 17, 25, 26, 30, 33, 34, 36], "1794": 13, "1797": [13, 18], "legal": 13, "repress": 13, "twelv": 13, "member": [13, 17], "compris": 13, "committe": 13, "safeti": 13, "adminst": 13, "terror": 13, "june": [13, 18], "1793": 13, "juli": [13, 16, 18], "spreadsheet": [13, 18], "dataset": [13, 17, 18, 26, 30, 41], "fig_3": 13, "xlsx": [13, 18, 26], "dett": 13, "font": 13, "base_url": 13, "github": [13, 17, 18, 26, 41, 43], "com": [13, 16, 17, 18, 26, 30, 41, 49], "intro": [13, 17, 18, 26, 41, 43], "raw": [13, 17, 18, 26, 41], "fig_3_url": 13, "dette_url": 13, "assignat_url": 13, "histor": [13, 18, 26, 41], "context": [13, 18, 22, 38, 40, 45, 48], "excel": [13, 18, 34], "data2": 13, "read_excel": [13, 18, 26], "sheet_nam": [13, 18, 26], "militsp": 13, "usecol": [13, 41], "skiprow": 13, "nrow": [13, 29, 41], "102": [13, 40], "header": [13, 18, 26], "militari": [13, 26], "1685": 13, "1726": 13, "livr": 13, "data4": 13, "105": [13, 19, 48, 49], "squeez": 13, "1790": [13, 18], "1689": 13, "iloc": [13, 18, 36], "set_vis": 13, "million": [13, 17, 18, 40], "475": [13, 40], "britain": [13, 18, 26, 34, 41], "18th": [13, 21, 26], "fought": 13, "lost": 13, "fourth": 13, "great": [13, 16, 18, 26, 34, 38, 41, 46, 49], "remark": [13, 14, 18, 25, 31, 32], "expens": 13, "testifi": 13, "markerfacecolor": [13, 39], "custom": [13, 14, 38], "pound": [13, 14, 18], "1765": [13, 26], "civil": [13, 18, 26], "1760": [13, 26, 41], "1708": 13, "govt": [13, 19], "1759": 13, "summar": [13, 27, 28, 32, 48], "british": [13, 26], "admir": 13, "advoc": [13, 18], "reform": [13, 18, 26], "yellow": [13, 28], "against": [13, 16, 30, 31, 46], "king": 13, "loui": [13, 49], "xiv": 13, "spanish": 13, "1740": 13, "indian": 13, "1750": 13, "american": [13, 26, 49], "1775": 13, "1783": 13, "peac": 13, "neither": [13, 45], "nor": [13, 17, 45], "eighteenth": 13, "strike": [13, 18, 25, 26, 31, 33, 39], "nick": 13, "graviti": 13, "attract": [13, 18, 34], "temporarili": [13, 18, 31], "fraction": [13, 16, 23, 25, 28, 29, 41, 42], "data1": 13, "99": [13, 14, 21, 29, 37, 40, 43], "data1a": 13, "89": [13, 40, 43], "1690": 13, "1774": 13, "set_facecolor": [13, 39], "white": [13, 19, 28], "1688": 13, "1788": 13, "manag": [13, 18, 48], "ev": 13, "sheet1": 13, "610": 13, "1773": 13, "325": [13, 19], "220": [13, 32, 41], "1785": 13, "700": 13, "exceed": 13, "unfold": [13, 22, 39], "ancient": [13, 49], "made": [13, 14, 18, 38], "contend": 13, "reschedul": 13, "prevail": [13, 14, 31, 32, 44, 46, 48], "empow": 13, "block": [13, 17, 19], "care": [13, 17, 29, 34, 35, 38], "payer": 13, "beneficiari": 13, "creditor": [13, 14], "owner": [13, 14, 18, 27, 33, 42], "1720": 13, "sacrif": 13, "reduc": [13, 16, 22, 29, 31, 32, 48], "xvi": 13, "conven": 13, "estat": 13, "redesign": 13, "therebi": [13, 18], "him": 13, "honor": 13, "effort": [13, 27], "promot": 13, "accomplish": [13, 21], "reorgan": [13, 18], "assembl": [13, 26], "piec": [13, 14], "address": [13, 28, 29, 39, 48], "convenc": 13, "socialist": 13, "communist": 13, "contrari": 13, "knew": [13, 18], "art": [13, 19, 31], "cathol": 13, "church": 13, "vast": 13, "land": 13, "entir": [13, 14, 18, 30, 42], "foster": 13, "sequest": 13, "confisc": 13, "inventori": 13, "together": 13, "ingeni": 13, "motion": [13, 22, 31, 32], "bishop": 13, "talleyrand": 13, "atheist": 13, "intend": [13, 14], "bearer": 13, "coin": [13, 14, 18, 25, 33, 36], "accept": [13, 28, 31, 32], "formerli": 13, "minist": 13, "necker": 13, "simultan": [13, 15, 21, 31, 46], "auction": 13, "withdraw": [13, 48], "secur": [13, 45], "propel": 13, "domain": 13, "record": [13, 14, 16, 25, 26, 28, 29, 34, 41], "debat": 13, "marshal": 13, "innov": [13, 34], "natioanl": 13, "quot": 13, "david": [13, 21, 49], "hume": 13, "fifteen": 13, "awri": 13, "pitfal": 13, "succeed": [13, 18], "enter": [13, 23, 34, 38, 39], "charact": 13, "abolish": 13, "sort": [13, 15, 16, 17, 39], "farm": [13, 17, 49], "meant": 13, "citiz": 13, "retain": 13, "chemist": 13, "lavoisi": 13, "sent": 13, "guillotin": 13, "data5": 13, "1846": 13, "1845": 13, "1815": 13, "bonapart": 13, "exil": 13, "st": [13, 24, 25, 49], "helena": 13, "xviii": 13, "restor": 13, "crown": [13, 18], "1814": 13, "booti": 13, "repar": 13, "provinc": 13, "defeat": [13, 17], "data11": 13, "22": [13, 17, 19, 21, 24, 26, 27, 29, 31, 34, 35, 40, 41, 43], "1795": 13, "remov": [13, 14, 17, 18, 19, 41, 47], "data11_clean": 13, "dropna": [13, 16, 17, 30, 41], "1796": 13, "ytick": 13, "201": [13, 29], "disrep": 13, "reveal": [13, 14, 18, 26, 32, 48], "spent": [13, 29], "soldier": 13, "data12": 13, "seignor": 13, "date_rang": 13, "freq": 13, "472": 13, "AS": 13, "timestamp": 13, "dateoffset": 13, "month": [13, 18, 24, 28, 34, 36], "39": [13, 21, 24, 40, 41, 43], "verticalalign": [13, 22, 31, 32], "tmp": [13, 16], "ipykernel_6183": 13, "529726724": 13, "py": [13, 16, 19, 27, 28, 29, 43, 47], "futurewarn": [13, 16, 19], "deprec": [13, 16, 19], "me": [13, 14], "extraordinari": 13, "citizen": [13, 17], "press": [13, 18, 49], "practic": [13, 35, 49], "rose": [13, 18, 26], "data7": 13, "data7a": 13, "yscale": 13, "axvlin": [13, 15, 22, 25, 26, 32, 41], "partion": 13, "late": [13, 26], "summer": 13, "moder": 13, "mark": [13, 18, 33, 49], "roughli": [13, 18, 26, 28], "robespierr": 13, "rapidli": [13, 17, 18, 26, 39], "keyn": [13, 14, 18, 49], "1940": [13, 49], "bryant": [13, 49], "1984": [13, 49], "percent": [13, 14, 17, 36], "decemb": 13, "competitor": 13, "nearli": 13, "met": 13, "setp": 13, "vline": [13, 16, 17, 19, 21, 36, 41, 45], "07": [13, 17, 22, 26, 40, 43], "3000": [13, 17, 29, 34], "750": [13, 49], "2500": [13, 29, 41], "4102237171": 13, "cloud": 13, "twentieth": [13, 18, 26], "subperiod": 13, "januari": [13, 16, 36], "august": 13, "march": 13, "cov": 13, "var": [13, 17, 25, 33, 36, 38], "load": 13, "caron": 13, "npy": 13, "nom_bal": 13, "infl": 13, "bal": 13, "77": [13, 40, 41], "regress": [13, 20, 22], "b3": 13, "a1_rev": 13, "b1_rev": 13, "a2_rev": 13, "b2_rev": 13, "a3_rev": 13, "b3_rev": 13, "subsampl": 13, "straight": [13, 17, 41], "compress": [13, 43], "sub": [13, 26], "34": [13, 17, 31, 40, 43], "modest": [13, 16], "unleash": 13, "transact": 13, "prounc": 13, "hallmark": 13, "payout": [14, 27, 37], "truth": 14, "wise": 14, "crack": 14, "sym": 14, "greater": [14, 15, 16, 17, 27], "belong": 14, "cash": 14, "behind": [14, 17, 18, 25, 26, 34], "deposit": [14, 27], "receipt": 14, "recent": [14, 34, 41, 46], "1914": [14, 18, 26], "loan": [14, 27, 34, 49], "celebr": 14, "l_i": 14, "d_i": 14, "r_i": 14, "sheet": [14, 18], "outstand": 14, "liabil": [14, 34], "held": [14, 21, 29, 31, 34, 48], "depositor": 14, "iou": 14, "redeem": 14, "chosen": [14, 15, 28, 31, 32, 48], "precautionari": 14, "debtor": 14, "inject": 14, "maynard": [14, 18, 49], "unemploi": [14, 23, 28, 29], "excess": [14, 21, 30], "frozen": 14, "propens": 14, "modifi": [14, 21, 24, 31, 32, 37, 40, 43], "textrm": [14, 36], "tomorrow": [14, 28, 31, 37, 42], "reinvest": 14, "xr": 14, "worth": [14, 30, 34, 37], "leas": 14, "small": [14, 16, 28, 34, 39, 46, 48, 49], "03": [14, 17, 28, 29, 34, 36, 40, 43, 49], "taylor": 14, "rg": 14, "gordon": [14, 37], "split": [14, 40, 41], "gr": 14, "x_0rg": 14, "rgx_0": 14, "finite_lease_pv_tru": 14, "finite_lease_pv_approx_1": 14, "finite_lease_pv_approx_2": 14, "infinite_leas": 14, "plot_funct": 14, "func": [14, 45], "__name__": 14, "our_arg": 14, "deterior": 14, "durat": [14, 28], "f_1": 14, "f_2": 14, "pv": [14, 43], "perpetu": 14, "covari": [14, 46], "rs": 14, "gs": 14, "4001": 14, "comp": 14, "necessari": [14, 16, 18, 40, 45], "fan": 14, "aren": 14, "enamor": 14, "011": [14, 29], "991": [14, 17], "rr": 14, "undefin": 14, "surf": 14, "plot_surfac": 14, "cmap": [14, 28], "coolwarm": 14, "antialias": 14, "clim": 14, "colorbar": [14, 28], "view_init": [14, 28], "enabl": [14, 21, 26], "dp0": 14, "dg": [14, 28, 34], "dp_dg": 14, "dr": 14, "dp_dr": 14, "calculate_i": 14, "y_init": 14, "i_0": 14, "g_0": 14, "101": [14, 40, 49], "tver": 14, "bs": [14, 44], "ax1": [14, 18], "ax2": 14, "subplots_adjust": [14, 16, 25, 28], "hspace": [14, 16], "param_label": 14, "eigenvector": [15, 20, 31], "isol": [15, 31], "mathematician": [15, 40], "121": [15, 29, 40], "144": 15, "169": [15, 26], "196": 15, "225": 15, "cannot": [15, 33, 35], "indefinit": 15, "lim_": [15, 16, 31], "desir": [15, 16, 33], "variat": [15, 18, 39, 40, 49], "countabl": 15, "qualif": 15, "pursu": [15, 21], "implli": 15, "quadrat": [15, 31, 38, 45, 48], "pm": [15, 45, 46], "eta_1": 15, "delta_1": 15, "eta_2": 15, "delta_2": 15, "eigen": 15, "decomposit": [15, 31], "conveni": [15, 16, 17, 21, 24, 26, 27, 33, 34, 37], "said": [15, 16, 18, 25, 29, 30, 34, 38], "deploi": [15, 22, 26, 27, 31, 32, 48], "techniqu": [15, 38, 40], "indirect": [15, 31], "exploit": 15, "prescrib": 15, "remaind": 15, "almost": [15, 17, 22, 25, 31, 32, 34, 40, 46], "bf": 15, "solve_\u03bb": 15, "coef": 15, "\u03bbs": 15, "revers": [15, 22, 31, 32, 34, 42], "solve_\u03b7": 15, "\u03bb_1": 15, "\u03bb_2": 15, "y_neg1": [15, 46], "y_neg2": 15, "\u03b7s": 15, "solve_sqrt": 15, "\u03c3": [15, 16, 17, 25, 33, 36], "ensur": [15, 23, 34], "valueerror": 15, "\u03b7_1": 15, "\u03b7_2": 15, "sqrt_\u03c3_estim": 15, "sqrt_\u03c3": 15, "dev": 15, "5f": [15, 21], "41421": 15, "00000": 15, "eigendecomposit": 15, "iterate_m": 15, "num_step": [15, 22, 31, 32], "dtype": [15, 16, 17, 28, 36, 40], "float64": [15, 16, 17, 36], "v_inv": 15, "92387953": 15, "38268343": 15, "round": [15, 17, 27, 39, 42], "c1": 15, "slope": [15, 16, 21, 45, 48], "deactiv": 15, "achiev": [15, 18, 26], "xd_1": 15, "22625186": 15, "xd_2": 15, "1647844": 15, "\u03bb1": 15, "\u03bb2": 15, "xs_\u03bb1": 15, "xs_\u03bb2": 15, "ratios_\u03bb1": 15, "ratios_\u03bb2": 15, "statsmodel": [16, 43], "sm": 16, "cauchi": [16, 25], "register_matplotlib_convert": 16, "tradit": 16, "exot": 16, "crucial": 16, "histogram": [16, 17, 25, 30], "1_000_000": [16, 25, 28, 33], "hist": [16, 17, 25, 30, 36], "bin": [16, 17, 25, 30, 36, 43], "400": [16, 18, 19, 21], "849036230996034": 16, "3899568520143255": 16, "rotat": 16, "rare": 16, "econometrician": 16, "safe": 16, "ignor": [16, 19, 33, 35, 38, 42], "height": [16, 17, 21], "ye": [16, 31], "tall": 16, "basketbal": 16, "sun": [16, 26], "mingm": 16, "meter": 16, "ever": [16, 33], "Or": 16, "wonder": 16, "billion": [16, 18], "essenc": [16, 25], "obei": [16, 29], "bell": [16, 30, 36], "daili": 16, "amazon": [16, 33, 36], "amzn": [16, 36], "1st": 16, "asid": 16, "yahoo": 16, "saw": [16, 17, 29, 38], "bitcoin": 16, "btc": 16, "standard_t": 16, "df": [16, 17, 18, 30, 34, 36, 41], "mandelbrot": [16, 49], "rachev": [16, 49], "2003": [16, 22, 49], "frequent": 16, "importantli": [16, 29, 40], "rich": [16, 17, 29, 34, 43], "enorm": 16, "town": 16, "affirm": 16, "carefulli": [16, 18, 25, 33], "pareto": [16, 17, 45, 49], "aid": [16, 17], "subfigur": 16, "s_val": 16, "cluster": [16, 25], "dispers": [16, 17], "tight": [16, 25, 26], "exponenti": [16, 25, 30], "minimum": [16, 30, 34, 42], "aris": [16, 24, 39], "exponential_data": 16, "pareto_data": 16, "surviv": 16, "fast": [16, 24, 25], "g_e": 16, "g_p": [16, 34], "slower": 16, "ln": [16, 30, 33], "loglog": 16, "prob": [16, 30, 44, 45], "concav": 16, "visualis": [16, 24], "counterpart": [16, 26, 45, 48], "eccdf": 16, "sample_s": 16, "data_exp": 16, "data_logn": 16, "data_pareto": 16, "data_list": 16, "lognorm": [16, 17, 33, 42], "markers": [16, 22, 24, 31, 32, 39], "qq": 16, "qqplot": 16, "quintil": 16, "data_norm": 16, "social": [16, 29, 34, 40, 45, 49], "phenomena": [16, 28], "pervas": 16, "hide": 16, "somewhat": [16, 17, 38], "welcom": 16, "empirical_ccdf": 16, "aw": [16, 43], "add_reg_lin": 16, "y_val": [16, 17], "p_val": 16, "fw": 16, "interp": [16, 17], "ol": [16, 41], "add_const": 16, "extract_wb": 16, "varlist": [16, 17, 19], "cd": 16, "all_countri": 16, "1900": 16, "varnam": 16, "get_countri": 16, "countries_nam": 16, "unstack": [16, 17, 26, 41], "reset_index": [16, 17, 26, 41], "level_1": 16, "df1": [16, 17], "isin": 16, "forb": 16, "df_f": 16, "read_csv": [16, 17, 30, 41], "media": [16, 17, 30], "githubusercont": [16, 30], "high_dim_data": [16, 17, 30], "cross_sect": 16, "global2000": 16, "csv": [16, 17, 30, 41], "cut": 16, "sort_valu": [16, 34], "ascend": 16, "asarrai": [16, 17, 28], "df_cs_u": 16, "cities_u": 16, "df_cs_br": 16, "cities_brazil": 16, "pop2023": 16, "billionair": 16, "df_w": 16, "realtimeworth": 16, "realtimerank": 16, "copi": [16, 17, 18, 25, 26, 40, 41], "india": 16, "itali": [16, 34], "df_w_c": 16, "richest": [16, 17, 30], "variable_cod": 16, "pcap": [16, 17], "variable_nam": 16, "df_gdp1": 16, "ipykernel_6253": 16, "3215967216": 16, "to_numer": [16, 19], "catch": [16, 19], "explicitli": [16, 19, 27], "elimin": [16, 22, 37, 42], "impact": [16, 19, 26, 48], "poor": [16, 29, 34, 41], "1_000": [16, 25, 28], "sample_mean": [16, 25], "_n": 16, "egg": 16, "basket": 16, "investor": 16, "payoff": [16, 27, 33], "portfolio": [16, 48], "share": [16, 23, 29, 36, 38, 44, 45], "y_n": [16, 24, 25], "unchang": [16, 22, 24, 31, 32, 42], "fallen": 16, "hidden": 16, "rectifi": [16, 17], "attent": [16, 18, 25, 31], "omit": [16, 30, 40], "exposit": [16, 21], "tx": 16, "heavier": 16, "support": [16, 36, 45], "convers": [16, 38], "latter": [16, 23, 24, 25], "vilfredo": [16, 45, 49], "1896": [16, 49], "benhabib": [16, 29, 49], "bisin": [16, 49], "axtel": [16, 49], "2001": [16, 49], "gabaix": [16, 49], "rozenfeld": [16, 49], "et": [16, 19, 22, 29, 34], "al": [16, 19, 22, 29, 34], "polit": [16, 17, 28, 49], "acemoglu": [16, 49], "robinson": [16, 49], "2002": [16, 18, 29, 49], "glaeser": [16, 49], "bhandari": [16, 49], "ahn": [16, 49], "ongo": 16, "fujiwara": [16, 49], "2004": [16, 17, 49], "kondo": [16, 49], "schluter": [16, 49], "trede": [16, 49], "sound": 16, "esoter": 16, "varieti": [16, 26, 34], "corpor": [16, 27], "task": [16, 21, 28, 33, 34, 40, 47], "median": 16, "violin": [16, 25], "num_firm": 16, "num_year": 16, "tax_rat": 16, "x_bar": [16, 29, 41], "pareto_rv": 16, "uniform": [16, 25, 28, 39], "\u03c3_sq": 16, "dist": [16, 30], "tax_rev": 16, "tax_rais": 16, "num_rep": 16, "tax_rev_lognorm": 16, "tax_rev_pareto": 16, "violinplot": [16, 25, 36], "1458729": 16, "0546623734": 16, "406089": 16, "3613661567": 16, "2556174": 16, "8615230713": 16, "25586": 16, "44456513965": 16, "conclus": 16, "itx": 16, "never": [16, 24, 37], "x_j": [16, 19, 27, 28], "prod_": [16, 30], "stori": [17, 18, 48], "societi": 17, "man": 17, "starv": 17, "fabul": 17, "roman": 17, "republ": 17, "levitt": [17, 49], "carthag": 17, "invas": 17, "spain": [17, 18, 34], "rome": 17, "greatli": 17, "enrich": 17, "meanwhil": [17, 26], "ordinari": [17, 41, 42], "fight": 17, "turmoil": 17, "shook": 17, "gave": 17, "dictatorship": 17, "octavian": 17, "augustu": 17, "bce": 17, "event": [17, 26, 36, 43], "loos": 17, "scientif": [17, 40, 49], "plotli": [17, 43], "tenac": [17, 43], "rd": 17, "px": 17, "w_n": [17, 30], "poorest": 17, "y_i": [17, 24, 41], "w_j": 17, "lowest": 17, "lorenz_curv": 17, "array_lik": 17, "ndim": 17, "unord": 17, "fine": 17, "cum_peopl": 17, "cum_incom": 17, "en": 17, "wikipedia": [17, 24, 33], "wiki": 17, "a_val": 17, "10_000": [17, 25, 29, 30, 33, 39], "f_val": 17, "l_val": 17, "cumsum": [17, 28, 29, 36], "subset": [17, 31, 38], "scf_plu": [17, 30], "survei": [17, 30], "scf": [17, 30], "url": [17, 30, 49], "scf_plus_mini": 17, "df_income_wealth": 17, "n_wealth": [17, 30], "t_incom": 17, "l_incom": 17, "nw_group": 17, "ti_group": 17, "266933": 17, "55483": 17, "027": 17, "998732": 17, "87434": 17, "795034": 17, "94": [17, 31, 40, 41, 43], "94531": 17, "166081": 17, "count": [17, 25, 39, 41], "shuffl": 17, "f_vals_nw": 17, "f_vals_ti": 17, "f_vals_li": 17, "l_vals_nw": 17, "l_vals_ti": 17, "l_vals_li": 17, "gain": [17, 21, 35], "2n": [17, 27], "twice": [17, 34], "area": [17, 21, 39, 45, 49], "shade": [17, 21], "gini_coeffici": 17, "i_sum": 17, "\u03c3_val": [17, 36], "2_000": 17, "cpu": [17, 28, 33], "user": [17, 28, 33, 34], "sy": [17, 28, 33], "ns": [17, 25, 28, 33], "wall": [17, 28, 33], "plot_inequality_measur": 17, "search": [17, 34], "si": 17, "pov": 17, "cent": [17, 18], "prosper": 17, "extent": [17, 21], "shortdefinit": 17, "statisticalconceptandmethodolog": 17, "portal": 17, "fetch": 17, "gini_al": 17, "data_usa": 17, "1980": 17, "509455": 17, "000000": 17, "122062": 17, "607350": 17, "1959": 17, "notebook": [17, 43, 47], "data_url": [17, 18, 26, 41], "_static": [17, 26, 41], "lecture_specif": [17, 26, 41], "nwealth": 17, "tincom": 17, "lincom": 17, "index_col": [17, 18, 26], "825733": 17, "442487": 17, "534295": 17, "1953": [17, 41], "805949": 17, "426454": 17, "515898": 17, "812179": 17, "444269": 17, "534929": 17, "795207": 17, "437493": 17, "521399": 17, "808695": 17, "443584": 17, "534513": 17, "exhibit": [17, 18, 38, 46], "mainli": [17, 18], "driven": [17, 48], "evolut": [17, 42], "swe": 17, "ind": [17, 18, 26], "ita": 17, "isr": 17, "pan": 17, "nru": 17, "srb": 17, "syc": 17, "lca": 17, "mmr": 17, "tur": 17, "grd": 17, "mhl": 17, "sur": 17, "168": 17, "167": 17, "norwai": 17, "1986": 17, "ffill": 17, "gdppc": [17, 26, 41], "plot_data": 17, "merg": [17, 43], "pgdppc": 17, "left_index": 17, "right_index": 17, "min_year": [17, 26], "max_year": [17, 26], "mask": [17, 18], "clariti": [17, 34], "chart": [17, 26], "800": [17, 19], "update_trac": 17, "textposit": 17, "western": [17, 18, 26], "grown": [17, 26], "interestingli": 17, "lfloor": 17, "rfloor": 17, "floor": 17, "df_topshar": 17, "df2": 17, "groupbi": 17, "numeric_onli": 17, "df3": 17, "r_weight": 17, "df4": 17, "nw": 17, "ti": [17, 31], "weighted_n_wealth": 17, "weighted_t_incom": 17, "weighted_l_incom": 17, "extract": [17, 39], "df6": 17, "df7": 17, "df5": 17, "df8": 17, "df9": 17, "weighted_n_wealth_top10": 17, "weighted_t_income_top10": 17, "weighted_l_income_top10": 17, "topshare_n_wealth": 17, "topshare_t_incom": 17, "topshare_l_incom": 17, "calculate_top_shar": 17, "topshar": 17, "percentil": [17, 29], "lorenz2top": 17, "top_shares_nw": 17, "effici": [17, 18, 24], "speed": [17, 33], "094550e": 17, "512145e": 17, "255242e": 17, "525005e": 17, "294007": 17, "477071e": 17, "160138e": 17, "316296e": 17, "671516": 17, "340803e": 17, "08": [17, 26, 40, 43], "001954e": 17, "000000e": 17, "357817e": 17, "614322e": 17, "207430": 17, "484058e": 17, "812237e": 17, "247179e": 17, "380133": 17, "622574e": 17, "077778e": 17, "582137e": 17, "017505": 17, "928346e": 17, "056805e": 17, "115575e": 17, "052229": 17, "random_st": [17, 29, 30], "479748": 17, "9214": 17, "546196": 17, "495754": 17, "6007000": 17, "36454": 17, "914": 17, "925190": 17, "9300769449032591": 17, "g_sum": 17, "9300769449032564": 17, "\u03bc_val": [17, 36], "10985947318218192": 17, "5762245640787435": 17, "8627819977275067": 17, "9681981903986449": 17, "9921858284379697": 17, "xlrd": [18, 43], "96": [18, 40, 46], "32m96": 18, "31m4": 18, "googl": [18, 27, 34, 40], "collab": 18, "compat": [18, 23, 31], "importlib": [18, 43], "mdate": 18, "treasuri": 18, "offici": [18, 27], "bundl": [18, 19, 45], "20th": [18, 26], "explan": [18, 24], "abandon": 18, "subsequ": [18, 21, 27, 28, 37], "displai": [18, 19, 26, 28, 31, 32, 34, 36], "1600": [18, 26], "castil": 18, "phrase": 18, "circul": [18, 48], "content": [18, 34, 40], "warehous": 18, "certif": [18, 43], "host": [18, 34], "longpric": 18, "xl": 18, "df_fig5": 18, "interv": [18, 21, 31, 36], "df_fig5_befe1914": 18, "col": [18, 41, 46], "1913": [18, 26], "laps": 18, "stare": [18, 31, 32, 46], "markedli": 18, "french": [18, 20, 49], "revolut": [18, 20, 26, 49], "1861": [18, 26], "1865": [18, 26], "irv": 18, "fisher": 18, "yale": 18, "cambridg": [18, 49], "anchor": 18, "consider": 18, "opportun": [18, 39], "jewelri": 18, "durabl": 18, "firmli": 18, "refus": 18, "prompt": [18, 43], "barbar": 18, "relic": 18, "fiat": 18, "dispos": 18, "adher": 18, "mechan": [18, 31, 49], "deter": 18, "counterfeit": 18, "outbreak": 18, "abil": [18, 29], "set_yscal": [18, 22, 26, 31, 32], "1e6": 18, "disappoint": 18, "statesmen": 18, "propon": 18, "trust": 18, "willing": [18, 21, 45], "light": 18, "moni": 18, "breadth": 18, "inflationari": 18, "novemb": 18, "1918": [18, 26, 42], "struggl": 18, "retail": [18, 19], "1921": 18, "wholesal": [18, 19], "vi": 18, "\u00e0": 18, "appendix": 18, "transcrib": 18, "chapter_3": 18, "cell": [18, 27, 34], "process_entri": 18, "trail": 18, "whitespac": 18, "strip": 18, "comma": 18, "html": [18, 28], "item_to_remov": 18, "1e9": 18, "item": [18, 45], "process_df": 18, "to_datetim": [18, 26], "duplic": 18, "attribut": [18, 24, 27, 44], "1925": [18, 42], "pe_plot": 18, "pr_plot": 18, "e_seq": 18, "lab": 18, "p_lab": 18, "e_lab": 18, "set_major_loc": [18, 22, 31, 32], "monthloc": 18, "set_major_formatt": 18, "dateformatt": 18, "get_xticklabel": 18, "set_rot": 18, "log_diff_p": 18, "diff_smooth": 18, "excelfil": 18, "select": [18, 22, 28, 30, 32, 39, 48], "sheet_index": 18, "redund": 18, "remove_row": 18, "df_list": 18, "sheet_list": 18, "table3": 18, "concat": [18, 26], "df_au": 18, "df_hun": 18, "df_pol": 18, "df_deu": 18, "pertain": 18, "austrian": 18, "krone": 18, "monthli": [18, 36], "impress": 18, "hungarian": 18, "york": [18, 49], "korona": 18, "splice": 18, "On": [18, 31, 38, 49], "zloti": 18, "glu": 18, "p_seq1": 18, "p_seq2": 18, "p_seq3": 18, "mask_1": 18, "isna": [18, 41], "mask_2": 18, "adj_ratio12": 18, "adj_ratio23": 18, "polish": 18, "reichsmark": 18, "1e12": 18, "1923": 18, "pariti": [18, 26], "dime": 18, "stood": [18, 46], "readi": [18, 26], "unback": 18, "credibl": 18, "levi": [18, 48], "spectacular": 18, "german": 18, "trillion": 18, "prewar": 18, "austro": 18, "told": 18, "ground": [18, 31, 32], "belief": 18, "quantecon_book_network": [19, 34], "networkx": [19, 28, 43], "pot": [19, 34, 43], "manylinux_2_17_x86_64": [19, 27], "manylinux2014_x86_64": [19, 27], "contourpi": [19, 34, 43], "fonttool": [19, 34, 43], "kiwisolv": [19, 34, 43], "pillow": [19, 34, 43], "pypars": [19, 34, 43], "364": 19, "32m364": 19, "31m15": 19, "867": [19, 33], "32m867": 19, "31m65": 19, "nx": [19, 28, 34], "input_output": [19, 34, 43], "qbn_io": [19, 34], "qbn_plt": 19, "qbn_data": [19, 34], "mpl": [19, 28], "polygon": [19, 27, 28], "rcparamsdefault": 19, "linkag": 19, "build_coefficient_matric": 19, "ch2_data": 19, "us_sectors_15": 19, "adjacency_matrix": [19, 34], "total_industry_sal": 19, "434": 19, "gdp_df": 19, "eigenvector_centr": [19, 34], "color_list": 19, "colorise_weight": [19, 34], "plot_graph": 19, "layout_typ": 19, "spring": 19, "layout_se": 19, "5432167": 19, "node_color_list": 19, "wh": 19, "mi": [19, 49], "mine": 19, "ed": 19, "health": 19, "ut": 19, "tr": [19, 34], "entertain": [19, 34], "exc": 19, "ma": [19, 49], "manufactur": [19, 27], "fi": 19, "serv": [19, 31], "characteris": [19, 23], "link": [19, 34, 49], "framework": 19, "d_j": 19, "0j": 19, "denomin": [19, 41], "min_": [19, 27, 30, 40, 41], "digraph": 19, "node": [19, 28, 29, 34, 40], "edg": [19, 28, 29, 30, 34, 40], "edges1": 19, "edges2": 19, "add_nodes_from": [19, 34], "add_edges_from": [19, 34], "pos_list": 19, "po": [19, 28, 34], "draw_networkx_nod": [19, 28, 34], "node_s": [19, 28, 34], "node_color": [19, 28, 34], "draw_networkx_label": [19, 28, 34], "draw_networkx_edg": [19, 28, 34], "edgelist": 19, "300": [19, 26, 31, 34], "arrows": [19, 34], "min_target_margin": 19, "055": 19, "125": [19, 29, 40], "825": [19, 27], "955": 19, "feasibl": [19, 22, 27, 32], "d_2": [19, 37], "380": 19, "395": [19, 40], "33": [19, 24, 27, 28, 29, 40, 41, 43], "130": [19, 27, 41], "feasible_set": [19, 27], "301": 19, "151": 19, "368": 19, "143": [19, 29], "cyan": 19, "add_patch": [19, 27], "260": [19, 40], "115": [19, 41], "0n": 19, "hawkin": 19, "det": [19, 24], "0e": 19, "8e": 19, "sweep": 19, "10d_1": 19, "500d_2": 19, "dorfman": [19, 49], "1958": [19, 26, 35, 41, 49], "surfac": 19, "dual": [19, 27], "primal": [19, 27], "max_": [19, 22, 27, 32, 35], "deliv": 19, "dualiti": 19, "175": [19, 29], "ld_0": 19, "ld_1": 19, "l_": 19, "induc": [19, 34, 45], "adjac": 19, "rank": [19, 34], "e_i": [19, 34, 44], "e_j": [19, 34], "hub": 19, "significantli": [19, 26], "mu_j": 19, "disuss": 19, "whole": 19, "omult": 19, "katz_centr": 19, "omult_color_list": 19, "highest": [19, 27, 34], "infer": 19, "z_0": [19, 23], "16751071": 19, "69224776": 19, "trigonometri": 20, "geometr": [20, 38], "lln": [20, 33], "clt": [20, 33], "heavi": [20, 34, 36, 49], "tail": [20, 25, 26, 33, 34, 36, 49], "racial": 20, "segreg": [20, 49], "solow": [20, 35, 38, 43, 49], "swan": [20, 35, 38], "cobweb": [20, 43, 49], "overlap": 20, "laffer": [20, 31, 48], "markov": [20, 49], "chain": [20, 49], "irreduc": [20, 23, 28, 34], "ergod": 20, "univari": [20, 25], "shortest": [20, 34], "perron": [20, 34], "frobeniu": [20, 34], "lake": 20, "employ": [20, 28, 29], "heterogen": 20, "maximum": [20, 27, 31, 33, 35, 39, 42], "likelihood": 20, "troubleshoot": [20, 43], "microeconom": 21, "15th": 21, "16th": 21, "17th": 21, "mercantilist": 21, "swai": 21, "ruler": 21, "bullion": 21, "bad": [21, 36], "overturn": 21, "ricado": 21, "enhanc": 21, "simplest": 21, "surplus": [21, 45], "optimum": 21, "jump": [21, 26, 31, 32, 36, 38], "98": [21, 37, 40, 49], "descend": 21, "indiffer": 21, "arbitrarili": 21, "58": [21, 33, 40, 41], "portion": 21, "wtp": 21, "darkorang": 21, "inverse_demand": 21, "q_min": 21, "q_max": 21, "q_grid": 21, "110": [21, 48], "analog": [21, 22, 24, 26, 36], "meet": 21, "q_star": 21, "small_grid": 21, "wt": 21, "91": [21, 40, 49], "inverse_suppli": 21, "int_a": [21, 25, 36], "mathrm": [21, 25, 33, 42], "ab_grid": 21, "beauti": [21, 25, 28], "geometri": 21, "onto": 21, "equilibria": [21, 31, 32, 44, 45, 48], "affin": 21, "s_0": [21, 33], "s_1": [21, 27, 33], "intercept": [21, 41], "create_market": 21, "grid_min": 21, "grid_siz": 21, "supply_curv": [21, 45], "demand_curv": [21, 45], "intersect": [21, 24, 27], "s_c": 21, "ps": [21, 45], "ones_lik": [21, 35], "increment": [21, 40, 43], "s_p": 21, "pq": 21, "q_val": 21, "brown": [21, 22, 32], "planner": [21, 45], "strategi": [21, 27], "taker": [21, 45], "i_d": [21, 34], "pencil": [21, 33, 35], "minimize_scalar": [21, 42], "messag": [21, 48], "maximizing_q": 21, "90564": 21, "e_d": 21, "newton": [21, 35], "somewher": 21, "excess_demand": 21, "equilibrium_q": 21, "report": [22, 41, 49], "intact": 22, "pervers": [22, 31, 32], "religion": 22, "bruno": [22, 31, 32, 49], "fischer": [22, 31, 32, 49], "purpos": [22, 26, 27], "counter": [22, 39], "marcet": [22, 49], "1989": [22, 42, 49], "nicolini": [22, 49], "recurr": [22, 49], "latin": 22, "america": [22, 49], "promid": 22, "pseudo": [22, 32], "overlin": [22, 31, 32, 48], "ticker": [22, 31, 32], "maxnloc": [22, 31, 32], "get_cmap": 22, "to_rgba": 22, "fsolv": [22, 32], "lafferadapt": 22, "create_model": [22, 31, 32, 48], "\u03c0_bar": [22, 32], "solve_\u03c0": [22, 32], "solve_\u03c0_bar": [22, 32], "xtol": [22, 32], "\u03c0_l": [22, 32], "\u03c0_u": [22, 32], "6737147075333032": [22, 32], "6930797322614812": [22, 32], "compute_seign": [22, 32], "plot_laff": [22, 32], "\u03c0s": [22, 32], "x_valu": [22, 32, 42], "seigniorag": [22, 31, 32, 49], "y_valu": [22, 32], "pi_l": [22, 32], "pi_u": [22, 32], "solve_p_init": 22, "\u03c0_star": 22, "p_l": [22, 32], "p_u": [22, 32], "9420275397547435": 22, "451710052118832": 22, "solve_laffer_adapt": 22, "p_init": 22, "\u03c0_init": 22, "pt": [22, 34, 48], "\u03c0_t": [22, 32], "\u03bc_t": [22, 32], "\u03b1x": [22, 32], "eq_g": [22, 32], "6737147075332999": 22, "6737147075332928": 22, "69307973225105": 22, "6930797322506947": 22, "perturb": 22, "draw_iter": [22, 31, 32], "\u03c00": 22, "line_param": [22, 31, 32], "sharex": [22, 31, 32], "timestep": [22, 31, 32], "pool": 23, "worker": [23, 28, 29, 42], "exit": 23, "n_t": 23, "u_": [23, 46], "bn_t": 23, "u_0": 23, "e_0": 23, "ax_0": 23, "2x_0": 23, "tx_0": 23, "e_o": 23, "lakemodel": 23, "dismiss": 23, "013": 23, "0124": 23, "00822": 23, "simulate_path": 23, "u0": 23, "e0": 23, "atleast_1d": 23, "recast": 23, "lm": 23, "92": [23, 40, 43, 49], "n_0": 23, "x_path": 23, "inflow": [23, 34], "entrant": 23, "outflow": 23, "n_": 23, "appeal": [23, 33], "stem": 23, "firstli": 23, "secondli": 23, "smaller": 23, "min_j": 23, "colsum": 23, "_j": 23, "max_j": 23, "plot_time_path": 23, "atleast_2d": 23, "workforc": 23, "ko": 23, "xycoord": [23, 42], "textcoord": [23, 42], "025": 23, "rate_path": 23, "\u016b": 23, "\u0113": 23, "v_1": [23, 34], "v_2": 23, "gamma_1": [23, 31, 48], "gamma_2": [23, 31, 48], "sum_j": 23, "propan": 24, "ethanol": 24, "rice": 24, "wheat": 24, "q_0": 24, "insert": [24, 28, 31, 35], "82": [24, 40, 41, 43], "tupl": 24, "tag": 24, "x2": [24, 27], "y2": 24, "headwidth": 24, "headlength": 24, "elementwis": 24, "advantag": [24, 31, 34], "7320508075688772": 24, "1k": 24, "n1": 24, "nk": 24, "i1": 24, "i2": 24, "n2": 24, "ik": 24, "tutori": 24, "elsewher": [24, 28], "ddot": 24, "ai": 24, "ia": 24, "manual": 24, "ndarrai": [24, 45], "wherea": 24, "revisit": [24, 34], "extra": [24, 39], "someth": [24, 28, 30, 31, 33, 48], "energi": 24, "crude": 24, "gasolin": 24, "coal": 24, "ga": 24, "uranium": 24, "fortun": [24, 33], "dp": 24, "cp": 24, "1n": [24, 27], "nn": 24, "b_n": 24, "overdetermin": 24, "underdetermin": 24, "defer": 24, "3y": 24, "2x": [24, 27], "6y": 24, "parallel": [24, 27], "nd": 24, "2y": 24, "4y": 24, "bc": 24, "singular": 24, "summari": [24, 41], "possess": 24, "submodul": 24, "front": [24, 27, 36], "fortran": 24, "340": 24, "0000000000001": 24, "a_inv": [24, 46], "05882353": 24, "02941176": 24, "01764706": 24, "41176471": 24, "17647059": 24, "82352941": 24, "15p_0": 24, "5p_1": 24, "5p_2": 24, "5p_0": 24, "10p_1": 24, "10p_2": 24, "q_2": 24, "20p_0": 24, "15p_1": 24, "35p_0": 24, "25p_1": 24, "15p_2": 24, "ap": 24, "9999": 24, "99999999999": 24, "9625": 24, "0625": 24, "675": 24, "6925": 24, "inconsist": 24, "nq": 24, "9n": 24, "7n": 24, "3n": 24, "lstsq": 24, "46428571": 24, "17857143": 24, "rcond": 24, "u0302": 24, "u2016ax": 24, "u2016": 24, "u00b2": 24, "\u00b2": 24, "07142857142857066": 24, "document": [24, 27, 43], "lie": [25, 29], "econometr": [25, 46, 49], "bernoulli": 25, "toss": 25, "bias": 25, "flip": [25, 33, 36, 39], "divid": [25, 39, 41, 48], "800645": 25, "300874": 25, "trial": [25, 36], "mass": [25, 28, 36], "kolmogorov": [25, 30], "isn": [25, 31, 36], "pick": [25, 28, 30, 31], "larger": [25, 31, 33, 36, 45, 48], "tightli": 25, "draw_mean": 25, "x_distribut": 25, "x_sampl": 25, "generate_histogram": 25, "means_violin_plot": 25, "wspace": [25, 28], "concentr": 25, "contradict": 25, "collaps": [25, 28, 39, 49], "No": [25, 39, 40], "correct": [25, 34], "stackrel": 25, "magic": 25, "conform": 25, "expon": [25, 30, 36], "xgrid": [25, 38, 42], "chose": 25, "mathbf": [25, 28, 34], "epsilon": [25, 38, 39], "epsilon_1": 25, "epsilon_2": 25, "q1": 25, "proof": [25, 28, 29, 34, 40, 43], "epsilon_0": 25, "q2": [25, 41], "\u03f5": 25, "yabs_max": 25, "geopolit": 26, "anteced": 26, "timelin": 26, "19th": 26, "nineteenth": 26, "caught": 26, "surpass": 26, "underpin": 26, "tempt": 26, "impati": 26, "xxx": 26, "migrat": 26, "hundr": 26, "angu": [26, 49], "maddison": 26, "latest": [26, 29, 43, 47], "releas": 26, "repositori": 26, "mpd2020": 26, "countrycod": 26, "pop": [26, 40], "afg": [26, 41], "afghanistan": [26, 41], "3280": 26, "1870": 26, "4207": 26, "5730": 26, "1156": [26, 41], "8150": 26, "1951": [26, 41], "1170": [26, 41], "8284": 26, "country_year": 26, "cy_data": 26, "angola": 26, "albania": 26, "arab": 26, "emir": 26, "1800": [26, 41], "quicker": 26, "access": [26, 29, 34, 43], "code_to_nam": 26, "drop_dupl": 26, "gdp_pc": 26, "ago": [26, 41], "alb": [26, 41], "arm": 26, "au": [26, 34], "aut": 26, "bdi": 26, "uri": [26, 43], "uzb": 26, "ven": 26, "vnm": [26, 41], "yem": [26, 41], "yug": 26, "zaf": [26, 41], "zmb": [26, 41], "zwe": [26, 41], "0000": [26, 31, 41], "8673": 26, "9808": 26, "72601": 26, "19183": 26, "9735": 26, "47867": 26, "41338": 26, "17439": 26, "748": 26, "19160": 26, "51664": 26, "9085": 26, "20317": 26, "5455": 26, "4054": 26, "14627": 26, "12242": 26, "3478": 26, "1594": [26, 41], "1928": 26, "8689": 26, "10032": 26, "74746": 26, "19502": 26, "10042": 26, "48357": 26, "41294": 26, "17460": 26, "694": 26, "19244": 26, "52591": 26, "9720": 26, "18802": 26, "5763": 26, "2844": 26, "14971": 26, "12246": 26, "1560": [26, 41], "8453": 26, "10342": 26, "75876": 26, "18875": 26, "10080": 26, "48845": 26, "41445": 26, "16645": 26, "665": 26, "19468": 26, "53015": 26, "10381": 26, "15219": 26, "6062": 26, "2506": 26, "15416": 26, "12139": 26, "3479": 26, "1534": [26, 41], "7453": 26, "8146": 26, "4354": 26, "10702": 26, "1201": 26, "76643": 26, "4984": 26, "19200": 26, "9061": 26, "10859": 26, "3783": 26, "49265": 26, "6135": 26, "42177": 26, "3706": [26, 40], "16522": 26, "3072": 26, "671": 26, "3169": 26, "19918": 26, "1361": 26, "54007": 26, "7698": 26, "10743": 26, "8666": 26, "12879": 26, "1350": 26, "6422": 26, "0865": 26, "2321": 26, "9239": 26, "15960": 26, "8432": 26, "12189": 26, "3579": 26, "3497": 26, "5818": 26, "1582": [26, 41], "3662": [26, 41], "1934": [26, 41], "5550": [26, 41], "7771": [26, 41], "4418": 26, "11104": [26, 41], "1665": 26, "76397": 26, "8181": 26, "18556": [26, 41], "3831": 26, "11454": 26, "4251": 26, "49830": 26, "7993": 26, "42988": 26, "0709": 26, "16628": 26, "0553": 26, "651": 26, "3589": 26, "20185": 26, "8360": 26, "55334": 26, "7394": 26, "11220": 26, "3702": 26, "10709": 26, "9506": 26, "6814": [26, 41], "1423": 26, "2284": [26, 41], "8899": 26, "16558": 26, "3123": 26, "12165": 26, "7948": 26, "3534": [26, 41], "0337": [26, 41], "1611": [26, 41], "4052": [26, 41], "color_map": 26, "country_nam": 26, "colormap": 26, "tab20": 26, "dictionari": 26, "geari": 26, "khami": 26, "gk": 26, "millennium": 26, "draw_interp_plot": 26, "logscal": 26, "matplolib": 26, "df_interpol": 26, "limit_area": 26, "interpolated_data": 26, "isnul": 26, "solid": [26, 31], "earnest": 26, "year_rang": 26, "y_text": 26, "1500": [26, 41], "1650": 26, "1652": 26, "navig": 26, "1651": 26, "1655": 26, "1684": 26, "1848": 26, "1850": 26, "repeal": 26, "1849": 26, "1840": 26, "depress": 26, "draw_ev": 26, "event_mid": 26, "clip_on": 26, "strikingli": 26, "spread": 26, "lift": 26, "fascin": 26, "1700": 26, "downturn": 26, "qing": 26, "onset": 26, "strengthen": 26, "stun": 26, "chines": 26, "prc": 26, "culmin": 26, "liber": 26, "1839": 26, "1842": 26, "opium": 26, "1895": 26, "ww": 26, "1949": [26, 41], "leap": 26, "watch": [26, 45], "interrupt": 26, "scar": 26, "proxi": [26, 27, 43], "former": 26, "soviet": 26, "notabl": 26, "1860": 26, "1880": 26, "russia": 26, "setback": 26, "februari": 26, "start_year": 26, "end_year": 26, "bem": 26, "nzl": 26, "colour": 26, "1821": 26, "savefig": 26, "long_run_growth": [26, 43], "tooze_ch1_graph": 26, "png": 26, "bbox_inch": 26, "came": 26, "nowher": 26, "rival": 26, "overtak": 26, "ii": 26, "spirit": [26, 46], "realiti": 26, "club": 26, "droplevel": 26, "regionalgdp_pc": 26, "gdppc_2011": 26, "offshoot": 26, "saharan": 26, "africa": 26, "west": 26, "ortool": [27, 43], "4067": [27, 43], "absl": [27, 43], "absl_pi": 27, "protobuf": [27, 43], "cp38": 27, "abi3": 27, "592": 27, "byte": 27, "immutabledict": [27, 43], "31m18": 27, "32m5": 27, "31m82": 27, "32m10": 27, "31m146": 27, "32m15": 27, "31m100": 27, "32m22": 27, "31m187": 27, "32m26": 27, "31m192": 27, "31m89": 27, "133": [27, 40], "32m133": 27, "31m44": 27, "309": 27, "32m309": 27, "31m77": 27, "attempt": 27, "uninstal": 27, "31merror": 27, "resolv": [27, 41], "behaviour": 27, "conflict": 27, "streamlit": [27, 43], "incompat": 27, "0msuccessfulli": 27, "linear_solv": 27, "pywraplp": 27, "linprog": 27, "bertsima": [27, 49], "1997": [27, 49], "materi": 27, "mbox": 27, "le": [27, 31, 35], "ge": [27, 28, 29], "iso": 27, "4x_1": 27, "875": [27, 40], "375": 27, "delin": 27, "instanti": 27, "glop": 27, "createsolv": 27, "numvar": 27, "infin": [27, 29], "swig": 27, "operations_research": 27, "mpconstraint": 27, "0x7f5882e9b000": 27, "statu": [27, 43], "solution_valu": 27, "mutual": 27, "fund": [27, 34, 48], "annuiti": 27, "permit": 27, "x_4": 27, "x_5": 27, "protocol": 27, "unrestrict": 27, "20_000": 27, "x3": 27, "x4": 27, "x5": 27, "50_000": [27, 33, 39], "0x7f5882e9a010": 27, "x1_sol": 27, "x2_sol": 27, "x3_sol": 27, "x4_sol": 27, "x5_sol": 27, "141018": 27, "24349792692": 27, "24927": 27, "755": 27, "75072": 27, "245": 27, "927": 27, "Its": [27, 31], "072": 27, "repai": 27, "141": [27, 29, 40], "018": 27, "unifi": 27, "superfici": 27, "softwar": 27, "devot": 27, "c_n": 27, "b_2": [27, 44, 45], "m1": 27, "m2": 27, "mn": 27, "b_m": 27, "s_i": [27, 33], "slack": 27, "s_2": 27, "ub": 27, "unless": [27, 31, 33], "c_ex1": 27, "a_ex1": 27, "b_ex1": 27, "boolean": 27, "res_ex1": 27, "a_ub": 27, "b_ub": 27, "s_3": 27, "s_4": 27, "s_j": 27, "c_ex2": 27, "a_ex2": 27, "b_ex2": 27, "bounds_ex2": 27, "res_ex2": 27, "a_eq": 27, "b_eq": 27, "24349792697": 27, "4648": 27, "20000": 27, "50000": 27, "648": 27, "reformul": 27, "0x7f5882e9a850": 27, "333333333333336": 27, "carpent": 27, "hour": [27, 35], "week": 27, "maximis": [27, 30], "8y": 27, "0x7f5882e9afa0": 27, "23x": 27, "10y": 27, "x_sol": 27, "y_sol": 27, "297": 27, "unemploy": 28, "workhors": [28, 46], "insight": [28, 49], "axes3d": 28, "anim": 28, "funcanim": 28, "ipython": [28, 43], "art3d": 28, "poly3dcollect": 28, "rigor": [28, 30, 35], "2005": [28, 39, 49], "ng": [28, 34, 43], "mr": [28, 34, 45], "sr": [28, 34], "97": [28, 40], "lose": 28, "herself": 28, "categor": 28, "democraci": 28, "autocraci": 28, "anocraci": 28, "dc": 28, "nc": 28, "ac": 28, "86": [28, 29, 40, 49], "darker": 28, "multidigraph": 28, "start_idx": 28, "node_start": 28, "end_idx": 28, "node_end": 28, "add_edg": [28, 34], "spring_layout": 28, "600": [28, 39], "arc_rad": 28, "edge_cmap": 28, "edge_color": [28, 34], "pc": 28, "patchcollect": 28, "set_axis_off": 28, "democrat": 28, "ve": [28, 34], "psi_0": [28, 29], "realiz": [28, 33, 45, 46], "\u03c8_0": 28, "cdf": [28, 36], "mc_sample_path": 28, "p_dist": 28, "250093": 28, "249411": 28, "jit": 28, "homemad": 28, "\u03bcs": 28, "state_valu": 28, "u10": 28, "randomli": [28, 30, 39], "simulate_indic": 28, "postmultipli": 28, "x_m": [28, 29, 30], "postmultipl": 28, "mix": [28, 39], "stuck": [28, 41], "947046": 28, "050721": 28, "002233": 28, "253605": 28, "648605": 28, "09779": 28, "07366": 28, "64516": 28, "28118": 28, "psi_1": 28, "psi_2": 28, "psi_3": 28, "psi_i": 28, "iterate_\u03c8": 28, "\u03c8_t": 28, "\u03c8_1": 28, "\u03c8_2": 28, "\u03c8_3": 28, "simplex": 28, "set_zlim": 28, "add_collection3d": 28, "idx": [28, 39], "frame": 28, "blit": 28, "to_jshtml": 28, "transpar": 28, "strict_stationari": 28, "psi_m": 28, "dimens": [28, 44], "\u03c8_4": 28, "mid": 28, "uncondit": 28, "sum_t": 28, "ph": 28, "p_power": 28, "56145769": 28, "15565164": 28, "28289067": 28, "\u03c8_star_p": 28, "764927": 28, "133481": 28, "085949": 28, "011481": 28, "002956": 28, "001206": 28, "658861": 28, "131559": 28, "161367": 28, "031703": 28, "011296": 28, "005214": 28, "291394": 28, "057788": 28, "439702": 28, "113408": 28, "062707": 28, "035001": 28, "272459": 28, "051361": 28, "365075": 28, "132207": 28, "108152": 28, "070746": 28, "064129": 28, "012533": 28, "232875": 28, "154385": 28, "299243": 28, "236835": 28, "072865": 28, "014081": 28, "244139": 28, "160905": 28, "265846": 28, "242164": 28, "num_distribut": 28, "induct": 28, "reachabl": 29, "commun": [29, 49], "reach": [29, 39, 40], "fictiti": 29, "is_irreduc": [29, 34], "pessimist": 29, "poverti": [29, 34], "sentenc": [29, 41], "suffici": [29, 39], "\u00e4": [29, 49], "ggstr": [29, 49], "\u00f6": [29, 49], "cross": [29, 41, 45], "p_n": 29, "p_hat": 29, "regular": [29, 38], "asymptot": [29, 46], "el": 29, "mobil": [29, 49], "222": [29, 49], "187": 29, "081": 29, "038": 29, "006": 29, "221": 29, "188": 29, "082": 29, "039": 29, "207": 29, "209": 29, "194": 29, "046": 29, "036": 29, "008": 29, "198": 29, "095": 29, "052": 29, "009": 29, "178": 29, "197": [29, 40, 49], "067": 29, "054": 29, "012": 29, "182": 29, "184": [29, 46], "205": 29, "106": 29, "062": 29, "123": [29, 40], "166": [29, 40, 41], "216": [29, 49], "114": [29, 40], "094": 29, "021": 29, "084": 29, "142": 29, "228": 29, "028": 29, "codes_b": 29, "20254451": 29, "20379879": 29, "20742102": 29, "19505842": 29, "09287832": 29, "0503871": 29, "03932382": 29, "00858802": 29, "strongli": [29, 34, 39], "zhao": [29, 49], "2012": [29, 41, 49], "stackexchang": 29, "p2": 29, "p3": 29, "w_bar": 30, "accur": [30, 33, 35], "w_2": 30, "update_scf_noweight": 30, "scf_plus_mini_no_weight": 30, "restrct": 30, "to_numpi": 30, "5000": 30, "stair": 30, "100_000_000": 30, "dw": 30, "unreason": 30, "ln_sampl": 30, "histtyp": [30, 36], "stepfil": 30, "ell": [30, 31, 34], "wrt": 30, "mle": [30, 43], "\u03bc_hat": 30, "0634375526654064": 30, "num": [30, 41], "\u03c3_hat": 30, "1507346258433424": 30, "dist_lognorm": 30, "5_000": 30, "total_revenu": 30, "tr_lognorm": 30, "101105326": 30, "82814859": 30, "prior": 30, "_m": 30, "xm_hat": 30, "0001": [30, 33], "den": [30, 41], "b_hat": 30, "10783091940803055": 30, "dist_pareto": 30, "tr_pareto": 30, "12933168365": 30, "762571": 30, "127": 30, "91777418162567": 30, "reject": 30, "inspect": [30, 37, 40], "threshold": [30, 44, 45], "sample_tail": 30, "df_tail": 30, "500_000": 30, "rv_tail": 30, "4321": 30, "ln_sample_tail": 30, "\u03bc_hat_tail": 30, "num_tail": 30, "\u03c3_hat_tail": 30, "dist_lognorm_tail": 30, "xm_hat_tail": 30, "den_tail": 30, "b_hat_tail": 30, "dist_pareto_tail": 30, "smirnov": 30, "\u03bb_hat": 30, "15234120963403971": 30, "dist_exp": 30, "tr_expo": 30, "55246978": 30, "53427645": 30, "sleev": 31, "macroeconom": [31, 46, 49], "electron": [31, 32], "qualit": [31, 32], "perves": [31, 32], "theses": 31, "suppl": 31, "plural": [31, 37], "b_t": [31, 48], "28": [31, 40, 41, 43, 46], "simulatan": 31, "underlin": 31, "rm": 31, "reus": 31, "moneysupplymodel": [31, 48], "\u03b31": [31, 48], "\u03b32": [31, 48], "r_u": [31, 48], "r_l": [31, 48], "r_steadi": 31, "seign": 31, "msm": [31, 48], "p0_guess": [31, 48], "4f": 31, "r_max": 31, "g_max": 31, "93556171": 31, "53443829": 31, "2959": 31, "7071": 31, "5786": 31, "affili": 31, "seign_valu": 31, "g_u": 31, "g_l": 31, "9356": 31, "5344": 31, "necessarili": [31, 33], "sequenti": [31, 40, 48], "continuum": [31, 42], "intim": 31, "gamma_0": 31, "presenc": 31, "arthur": [31, 49], "hump": 31, "countervail": 31, "exposur": 31, "simulate_system": 31, "b_valu": 31, "annotate_graph": 31, "draw_path": 31, "r0_valu": 31, "time_step": [31, 32], "subgraph": 31, "h_1": 31, "h_2": 31, "h1": 31, "h2": 31, "listen": 31, "talk": [31, 36], "faith": 31, "06887658": 31, "87112342": 31, "99973655": 31, "96033288": 31, "02295281": 31, "27885616": 31, "partit": 31, "q_": 31, "iterate_h": 31, "q_inv": 31, "_0": [31, 48], "p0_bar": [31, 32], "y_seri": 31, "enforc": [31, 32], "integar": [31, 32], "counterintuit": [31, 32], "macroeconomist": 31, "nevertheless": 32, "peculiar": 32, "caganlaff": 32, "solve_p0": 32, "solve_p0_bar": 32, "p0_l": 32, "p0_u": 32, "615742247288047": 32, "144789784380314": 32, "simulate_seq": 32, "\u03bc_bar": 32, "693079732261424": 32, "reconfirm": 32, "easili": 33, "compani": 33, "riski": 33, "refrain": 33, "mathop": 33, "mu_i": [33, 44, 46], "sigma_i": [33, 46], "\u03bc_1": 33, "\u03bc_2": 33, "\u03bc_3": 33, "\u03c3_1": 33, "\u03c3_2": 33, "\u03c3_3": 33, "nativ": 33, "2296032886044137": 33, "compute_mean": 33, "2297951589875753": 33, "compute_mean_vector": 33, "84": [33, 40], "229713576809033": 33, "accuraci": 33, "10_000_000": 33, "772": 33, "836": 33, "229717076077654": 33, "anyon": 33, "ambigu": 33, "benchmark": [33, 46], "particip": 33, "expiri": 33, "s_n": 33, "return_draw": 33, "037003": 33, "s_t": [33, 35], "s_": [33, 34], "xi_": 33, "xi_t": 33, "counterfactu": 33, "sigma_t": 33, "h_t": 33, "h_": 33, "rho": [33, 42], "nu": 33, "eta_": 33, "eta_t": 33, "default_\u03bc": 33, "default_\u03c1": 33, "default_\u03bd": 33, "001": [33, 35], "default_s0": 33, "default_h0": 33, "default_k": 33, "default_n": 33, "default_\u03b2": 33, "simulate_asset_price_path": 33, "s0": [33, 45], "\u03c1": 33, "\u03bd": 33, "compute_call_pric": 33, "current_sum": 33, "180": [33, 41], "510": 33, "339493179762": 33, "problemat": 33, "compute_call_price_vector": 33, "442": 33, "31495596097386": 33, "2min": 33, "1033752183821": 33, "knockout": 33, "vanilla": [33, 37], "knock": 33, "null": 33, "void": 33, "reactiv": 33, "default_bp": 33, "compute_call_price_with_barri": 33, "bp": 33, "option_is_nul": 33, "039306179823817844": 33, "compute_call_price_with_barrier_vector": 33, "0367494824819124": 33, "hyperlink": [34, 43], "brain": 34, "nerv": 34, "neuron": 34, "artifici": [34, 40], "neural": 34, "intric": 34, "epidemiologist": 34, "transmiss": 34, "diseas": 34, "travel": [34, 40], "salesman": 34, "mpatch": 34, "fragil": 34, "propag": 34, "depth": 34, "commerci": 34, "sitc": 34, "ch1_data": 34, "export_figur": 34, "aircraft_network": 34, "aircraft_network_po": 34, "node_total_export": 34, "edge_weight": 34, "node_pos_dict": 34, "normalise_weight": 34, "edge_width": 34, "color_palett": 34, "viridi": [34, 46], "node_to_color": 34, "src": 34, "weigh": [34, 45], "000kg": 34, "cid": 34, "datavers": 34, "branch": 34, "undirect": 34, "understood": [34, 35, 40], "neat": [34, 39, 42], "trap": [34, 49], "predecessor": 34, "successor": 34, "o_d": 34, "recreat": 34, "edge_list": 34, "draw_spr": 34, "with_label": 34, "font_weight": 34, "bold": 34, "in_degre": 34, "connected": 34, "upstream": 34, "is_strongly_connect": 34, "draw_networkx": 34, "attach": 34, "z_visual": 34, "adjacency_matrix_to_graph": 34, "circular_layout": 34, "font_siz": 34, "australia": 34, "de": 34, "cl": 34, "chile": 34, "es": [34, 44], "portug": 34, "turkei": 34, "gb": 34, "ie": 34, "ireland": 34, "AT": 34, "austria": 34, "IT": 34, "BE": 34, "belgium": 34, "jp": 34, "sw": 34, "switzerland": 34, "se": 34, "sweden": 34, "japanes": 34, "regist": 34, "settlement": 34, "bi": 34, "v_n": 34, "v_j": 34, "pmatrix": 34, "g4": 34, "edge_label": 34, "draw_networkx_edge_label": 34, "grant": 34, "g5": 34, "obviou": 34, "g6": 34, "recur": 34, "rescu": 34, "m_i": 34, "g7": 34, "planar_layout": 34, "ig7": 34, "build_unweighted_matrix": 34, "indegre": 34, "centrality_plot_data": 34, "centrality_measur": 34, "tolist": 34, "visibl": 34, "handlelength": 34, "unfortun": 34, "inbound": 34, "deserv": 34, "traffic": 34, "visitor": 34, "concret": 34, "primit": [34, 45], "a_temp": 34, "to_numpy_arrai": 34, "18580570704268037": 34, "11483424225608219": 34, "14194292957319637": 34, "eig_centr": 34, "player": 34, "neighbour": 34, "variant": 34, "pagerank": 34, "unimport": 34, "kappa": 34, "kappa_i": 34, "kappa_j": 34, "confer": 34, "websit": 34, "terminolog": [34, 36], "wrote": 34, "figurenshow": 34, "ecentral_author": 34, "interbank": 34, "jackson": [34, 49], "easlei": [34, 49], "borgatti": [34, 49], "goyal": [34, 49], "realm": 34, "newman": [34, 49], "menczer": [34, 49], "coscia": [34, 49], "reflex": 34, "trivial": [34, 40, 45], "symmetri": 34, "og": 34, "out_degre": 34, "1458980838002507": 34, "09016989800748738": 34, "055728056024793506": 34, "14589810100962303": 34, "09016994824024988": 34, "1803397955498566": 34, "2016262193602515": 34, "is_access": 34, "olg": [35, 43], "maker": 35, "challeng": 35, "clarifi": 35, "born": 35, "young": 35, "ell_t": 35, "elast": [35, 42], "capital_demand": 35, "capital_suppli": 35, "equilibrium_r_log_util": 35, "redo": 35, "r_val": 35, "r_e": 35, "k_e": 35, "k_updat": 35, "kmin": 35, "kmax": 35, "k_grid": [35, 42], "k_grid_next": 35, "k_star": [35, 42], "r_star": 35, "k_seri": 35, "r_seri": 35, "\u03b3": 35, "create_olg_model": 35, "redefin": 35, "savings_crra": 35, "k_prime": 35, "r1": 35, "r2": 35, "25788950250843484": 35, "parameter": [35, 36, 42], "intit": 35, "simulate_t": [35, 42], "k0_valu": 35, "ts": [35, 42], "k_init": 35, "seaborn": [36, 43], "sn": 36, "pmf": 36, "randint": [36, 39], "binom": 36, "009765625000000002": 36, "u_sum": 36, "failur": 36, "geom": 36, "2706705664732254": 36, "6487212707001282": 36, "670774270471604": 36, "\u03bb_val": 36, "0375": 36, "\u03b1_val": 36, "\u03b2_val": 36, "hiroshi": 36, "1200": 36, "ako": 36, "1210": 36, "emi": 36, "1400": 36, "daiki": 36, "990": 36, "chiyo": 36, "1530": 36, "taka": 36, "katsuhiko": 36, "1240": [36, 41], "daisuk": 36, "1124": 36, "yoshi": [36, 49], "1330": 36, "rie": 36, "1340": 36, "1257": 36, "22680": 36, "933333333334": 36, "1mo": 36, "x_amazon": 36, "679568": 36, "722323": 36, "630592": 36, "457531": 36, "838297": 36, "6795679502808625": 36, "kdeplot": 36, "bw_adjust": 36, "bw": 36, "underfit": 36, "wiggli": 36, "overfit": 36, "costco": 36, "x_costco": 36, "\u03c3_squar": 36, "realli": 36, "boil": 37, "carri": 37, "current_d": 37, "sole": 37, "plain": 37, "worthless": 37, "t_": 37, "feed": 38, "send": 38, "exact": [38, 40, 49], "messi": 38, "obvious": 38, "nontrivi": 38, "tackl": [38, 40], "throught": 38, "dy": 38, "ts_plot": [38, 42], "sz": 38, "irregular": 38, "damp": 38, "oscil": 38, "schell": [39, 43, 49], "neighborhood": 39, "neighbor": 39, "race": 39, "uncomfort": 39, "surround": 39, "unstabl": 39, "citi": [39, 49], "reinforc": 39, "award": 39, "nobel": 39, "prize": 39, "aumann": 39, "happi": 39, "nearest": 39, "unhappi": 39, "avers": 39, "bivari": 39, "draw_loc": 39, "get_dist": 39, "num_neighbor": 39, "require_same_typ": 39, "num_same_typ": 39, "plot_distribut": 39, "cycle_num": 39, "x_values_0": 39, "y_values_0": 39, "x_values_1": 39, "y_values_1": 39, "plot_arg": 39, "azur": 39, "pseudocod": 39, "run_simul": 39, "num_of_type_0": 39, "num_of_type_1": 39, "set_se": 39, "reproduc": 39, "no_one_mov": 39, "old_loc": 39, "mind": 39, "orient": 39, "style": 39, "2d": 39, "initialize_st": 39, "compute_distances_from_loc": 39, "get_neighbor": 39, "all_dist": 39, "argsort": 39, "closest": 39, "is_happi": 39, "agent_loc": 39, "agent_typ": 39, "neighbor_typ": 39, "count_happi": 39, "happy_sum": 39, "update_ag": 39, "savepdf": 39, "sim_random_select": 39, "flip_prob": 39, "test_freq": 39, "current_it": 39, "current_typ": 39, "50001": 39, "robot": 40, "intellig": 40, "telecommun": 40, "rout": 40, "packet": 40, "internet": 40, "travers": 40, "vertex": 40, "destin": 40, "scan": 40, "systemat": 40, "f_v": 40, "convinc": 40, "bellman": 40, "richard": 40, "j_0": 40, "j_": 40, "j_n": 40, "inf": 40, "next_j": 40, "array_equ": 40, "methodolog": 40, "node0": 40, "node1": 40, "node8": 40, "node14": 40, "txt": 40, "node46": 40, "1247": 40, "node6": 40, "node13": 40, "node2": 40, "node66": 40, "54": [40, 43], "node31": 40, "node45": 40, "1561": 40, "node3": 40, "node20": 40, "node11": 40, "node4": 40, "node75": 40, "67": [40, 41], "node5": 40, "node7": 40, "1382": 40, "node9": 40, "node10": 40, "node50": 40, "478": 40, "node69": 40, "577": 40, "node12": 40, "node70": 40, "2454": 40, "53": [40, 41, 46], "node89": 40, "5352": 40, "79": [40, 41, 43], "node16": 40, "node94": 40, "4961": 40, "node18": 40, "37": [40, 41, 43], "node84": 40, "3914": 40, "node24": 40, "node28": 40, "170": 40, "node60": 40, "2135": 40, "node38": 40, "236": 40, "node40": 40, "node67": 40, "1878": 40, "node15": 40, "node91": 40, "3597": 40, "node17": 40, "node36": 40, "392": 40, "node19": 40, "278": 40, "node76": 40, "783": 40, "node22": 40, "node23": 40, "3363": 40, "node26": 40, "node98": 40, "3523": 40, "node33": 40, "node21": 40, "node56": 40, "626": 40, "node72": 40, "1447": 40, "node39": 40, "136": 40, "124": 40, "node52": 40, "336": 40, "66": [40, 41, 43, 49], "node25": 40, "1343": 40, "node32": 40, "node35": 40, "node47": 40, "135": [40, 41], "node27": 40, "node42": 40, "122": 40, "node65": 40, "480": 40, "48": [40, 41, 43], "node43": 40, "246": 40, "node82": 40, "2538": 40, "node34": 40, "node29": 40, "node64": 40, "635": 40, "61": [40, 41], "node30": 40, "2616": 40, "3350": 40, "node44": 40, "node97": 40, "2613": 40, "node81": 40, "1854": 40, "node41": 40, "node73": 40, "1075": 40, "node48": 40, "129": 40, "node71": 40, "1171": 40, "node54": 40, "node57": 40, "node37": 40, "269": 40, "node93": 40, "2767": 40, "548": 40, "node53": 40, "162": [40, 41], "node59": 40, "437": 40, "2984": 40, "116": 40, "807": 40, "56": [40, 41, 49], "node58": 40, "93": [40, 43, 49], "node49": 40, "node61": 40, "172": 40, "node99": 40, "2564": 40, "node78": 40, "node85": 40, "251": 40, "76": [40, 41], "node55": 40, "node51": 40, "2110": 40, "1471": 40, "node88": 40, "967": 40, "238": 40, "node86": 40, "701": 40, "node83": 40, "556": 40, "node90": 40, "820": 40, "1057": 40, "node63": 40, "node62": 40, "132": 40, "node80": 40, "47": 40, "594": 40, "node68": 40, "153": 40, "232": 40, "247": 40, "node74": 40, "284": 40, "node92": 40, "243": 40, "node77": 40, "355": 40, "node79": 40, "264": 40, "node87": 40, "node96": 40, "node95": 40, "overwrit": 40, "num_nod": 40, "destination_nod": 40, "map_graph_to_distance_matrix": 40, "in_fil": 40, "infil": 40, "descript": [40, 48], "compute_cost_to_go": 40, "print_best_path": 40, "sum_cost": 40, "current_nod": 40, "next_nod": 40, "argmin": 40, "okai": 40, "160": 40, "55000000000007": 40, "epsilon_i": 41, "goal": 41, "900": 41, "1100": 41, "ic": 41, "cream": 41, "cart": 41, "temperatur": 41, "celsiu": 41, "celciu": 41, "hotter": 41, "residu": 41, "2085": 41, "1370": 41, "370": 41, "1565": 41, "2280": 41, "655": 41, "155": 41, "720": 41, "1435": 41, "335": [41, 49], "ssr": 41, "\u03b2_optim": 41, "\u03b1_optim": 41, "summat": 41, "y_bar": 41, "pow": 41, "37665782493369": 41, "72148541114052": 41, "gdp": [41, 46], "q3": 41, "simple_linear_regress": [41, 43], "entiti": 41, "birth": 41, "417485": 41, "contin": 41, "abkhazia": 41, "owid_abk": 41, "asia": 41, "7480464": 41, "7571542": 41, "1952": 41, "1189": 41, "7667534": 41, "7764549": 41, "1954": 41, "1245": 41, "7864289": 41, "1955": 41, "1246": 41, "7971933": 41, "1278": 41, "8087730": 41, "1957": 41, "1253": 41, "8210207": 41, "1298": 41, "8333827": 41, "bunch": 41, "62151": 41, "1946": 41, "62152": 41, "1947": 41, "62153": 41, "62154": 41, "62155": 41, "ala": 41, "62156": 41, "cntry": 41, "life_expect": 41, "61960": 41, "61961": 41, "61962": 41, "61963": 41, "61964": 41, "12445": 41, "lot": [41, 46], "le_year": 41, "1543": 41, "1548": 41, "1553": 41, "1558": 41, "1563": 41, "1568": 41, "1573": 41, "1578": 41, "1583": 41, "1588": 41, "74": [41, 43], "310": 41, "wider": 41, "logx": 41, "log_gdppc": 41, "log10": 41, "286581": 41, "1660": 41, "045486": 41, "dza": 41, "14228": 41, "0250": 41, "153145": 41, "4420": 41, "890502": 41, "3830": 41, "268493": 41, "161": 41, "1420": 41, "833411": 41, "owid_wrl": 41, "15212": 41, "4150": 41, "182198": 41, "163": 41, "8900": 41, "358865": 41, "164": 41, "548271": 41, "165": 41, "207205": 41, "q4": 41, "643730292819708": 41, "70209670138904": 41, "q5": 41, "life_expectancy_hat": 41, "linecollect": 41, "0x7f87ce220750": 41, "outlier": 41, "trevor": 42, "lesson": 42, "homogen": 42, "ce": 42, "replenish": 42, "kstar": 42, "12000": 42, "g_valu": 42, "lb": 42, "sak": 42, "fp": 42, "sa": 42, "ak": 42, "x0_valu": 42, "x_init": 42, "dt": 42, "g_con": 42, "plot_gcon": 42, "heurist": 42, "sak_t": 42, "s_grid": 42, "c_star": 42, "calc_c_star": 42, "return_valu": 42, "s_star_max": 42, "c_star_max": 42, "x_s_max": 42, "y_s_max": 42, "ds": 42, "s_symbol": 42, "s_star": 42, "300000000000000": 42, "incident": 42, "golden": 42, "unrealist": 42, "alpha_t": 42, "sig": 42, "lgnorm": 42, "ar1_process": 43, "business_cycl": 43, "cagan_re": 43, "commod_pric": 43, "complex_and_trig": 43, "cons_smooth": 43, "eigen_i": 43, "eigen_ii": 43, "equalizing_differ": 43, "french_rev": 43, "geom_seri": 43, "greek_squar": 43, "heavy_tail": 43, "inflation_histori": 43, "intro_supply_demand": 43, "laffer_adapt": 43, "lake_model": 43, "linear_equ": 43, "lln_clt": 43, "lp_intro": 43, "markov_chains_i": 43, "markov_chains_ii": 43, "money_infl": 43, "money_inflation_nonlinear": 43, "monte_carlo": 43, "189": 43, "prob_dist": 43, "scalar_dynam": 43, "short_path": 43, "supply_demand_heterogen": 43, "supply_demand_multiple_good": 43, "time_series_with_matric": 43, "zrefer": 43, "linux": 43, "conda": [43, 47], "environ": [43, 44, 45], "channel": 43, "_libgcc_mutex": 43, "forg": 43, "_openmp_mutex": 43, "1_gnu": 43, "abseil": 43, "cpp": 43, "20211102": 43, "hd4dd3e8_0": 43, "pypi_0": 43, "pypi": 43, "pygment": 43, "aiobotocor": 43, "py311h06a4308_0": 43, "aiohttp": 43, "py311h5eee18b_0": 43, "aioitertool": 43, "pyhd3eb1b0_0": 43, "aiosign": 43, "alabast": 43, "altair": 43, "py311_mkl_2": 43, "anyio": 43, "aom": 43, "h6a678d5_0": 43, "appdir": 43, "argon2": 43, "cffi": 43, "bind": 43, "py311h06a4308_1": 43, "h374c478_1": 43, "astroid": 43, "astropi": 43, "py311hf4808d0_0": 43, "ier": 43, "asttoken": 43, "async": 43, "lru": 43, "atomicwrit": 43, "py_0": 43, "attr": 43, "autopep8": 43, "auth": 43, "h5eee18b_0": 43, "cal": 43, "hdbd6064_0": 43, "io": 43, "mqtt": 43, "s3": 43, "sdkutil": 43, "checksum": 43, "crt": 43, "sdk": 43, "h721c034_0": 43, "babel": 43, "bcrypt": 43, "py311h5eee18b_1": 43, "binaryornot": 43, "pyhd3eb1b0_1": 43, "bla": 43, "mkl": 43, "bleach": 43, "blinker": 43, "blosc": 43, "bokeh": 43, "py311h92b7b1e_0": 43, "boost": 43, "hdb19cb5_2": 43, "botocor": 43, "bottleneck": 43, "brotli": 43, "h5eee18b_8": 43, "py311h6a678d5_8": 43, "brunsli": 43, "h2531618_0": 43, "bzip2": 43, "h5eee18b_6": 43, "blosc2": 43, "h80c7b02_0": 43, "ca": 43, "h06a4308_0": 43, "cachetool": 43, "cfitsio": 43, "470": 43, "h5893167_7": 43, "chardet": 43, "py311h06a4308_1003": 43, "charl": 43, "cloudpickl": 43, "colorama": 43, "colorcet": 43, "comm": 43, "constantli": 43, "py311hdb19cb5_0": 43, "cookiecutt": 43, "cryptographi": 43, "py311hdda0065_1": 43, "cssselect": 43, "curl": 43, "cyru": 43, "sasl": 43, "h52b45da_1": 43, "cytoolz": 43, "dask": 43, "expr": 43, "datashad": 43, "dav1d": 43, "dbu": 43, "hb2f20db_0": 43, "debugpi": 43, "py311h6a678d5_0": 43, "decor": 43, "defusedxml": 43, "20200713": 43, "dill": 43, "docstr": 43, "markdown": 43, "docutil": 43, "entrypoint": 43, "et_xmlfil": 43, "expat": 43, "filelock": 43, "flake8": 43, "flask": 43, "fontconfig": 43, "h4c34cd2_2": 43, "fqdn": 43, "freetyp": 43, "h4a9f257_0": 43, "frozenlist": 43, "fsspec": 43, "gensim": 43, "py311ha02d727_0": 43, "gflag": 43, "h6a678d5_1": 43, "ghp": 43, "giflib": 43, "h5eee18b_3": 43, "gitdb": 43, "gitpython": 43, "glib": 43, "glog": 43, "gmp": 43, "h295c915_3": 43, "gmpy2": 43, "py311hc9b5ff0_0": 43, "greenlet": 43, "grpc": 43, "he1ff14a_1": 43, "gst": 43, "plugin": 43, "gstreamer": 43, "h5eee18b_1": 43, "h5py": 43, "py311h865a13c_0": 43, "hdf5": 43, "h2b7332f_3": 43, "heapdict": 43, "holoview": 43, "hvplot": 43, "icu": 43, "imagecodec": 43, "py311h8105a5c_0": 43, "imageio": 43, "images": 43, "imbalanc": 43, "importlib_metadata": 43, "hd3eb1b0_0": 43, "inflect": 43, "iniconfig": 43, "intak": 43, "intel": 43, "openmp": 43, "hdb19cb5_46306": 43, "intervaltre": 43, "ipykernel": 43, "ipython_genutil": 43, "ipywidget": 43, "isodur": 43, "isort": 43, "itemadapt": 43, "itemload": 43, "itsdanger": 43, "jaraco": 43, "jedi": 43, "jeepnei": 43, "jellyfish": 43, "py311hb02cf49_0": 43, "jinja2": 43, "jmespath": 43, "joblib": 43, "jpeg": 43, "9e": 43, "jq": 43, "h27cfd23_1000": 43, "json5": 43, "jsonpoint": 43, "jsonschema": 43, "jupyt": [43, 47], "py311h06a4308_9": 43, "lsp": 43, "server": 43, "jupyter_cli": 43, "jupyter_consol": 43, "jupyter_cor": 43, "jupyter_ev": 43, "jupyter_serv": 43, "jupyter_server_termin": 43, "jupyterlab": 43, "variableinspector": 43, "jupyterlab_pyg": 43, "jupyterlab_serv": 43, "jupyterlab_widget": 43, "jxrlib": 43, "h7b6447c_2": 43, "keyr": 43, "krb5": 43, "h143b758_1": 43, "latexcodec": 43, "lazi": 43, "lazy_load": 43, "lcms2": 43, "h3be6417_0": 43, "ld_impl_linux": 43, "h1181459_1": 43, "lerc": 43, "h295c915_0": 43, "libaec": 43, "he6710b0_1": 43, "libavif": 43, "libboost": 43, "h109eef0_2": 43, "libbrotlicommon": 43, "libbrotlidec": 43, "libbrotlienc": 43, "libclang": 43, "default_hc6dbbc7_1": 43, "libclang13": 43, "default_he11475f_1": 43, "libcup": 43, "h2d74bed_1": 43, "libcurl": 43, "h251f7ec_0": 43, "libdefl": 43, "libedit": 43, "20230828": 43, "libev": 43, "h7f8727e_1": 43, "hdbd6064_1": 43, "libffi": 43, "libgcc": 43, "h1234567_1": 43, "libgfortran": 43, "h00389a5_1": 43, "libgfortran5": 43, "libglib": 43, "hdc74915_0": 43, "libgomp": 43, "libiconv": 43, "libllvm14": 43, "hdb19cb5_3": 43, "libnghttp2": 43, "h2d74bed_0": 43, "libpng": 43, "libpq": 43, "libprotobuf": 43, "he621ea3_0": 43, "libsass": 43, "libsodium": 43, "h7b6447c_0": 43, "libspatialindex": 43, "libssh2": 43, "libstdcxx": 43, "libthrift": 43, "h1795dd8_2": 43, "libtiff": 43, "libuuid": 43, "libwebp": 43, "libxcb": 43, "h7f8727e_0": 43, "libxkbcommon": 43, "libxml2": 43, "hfdd30dd_2": 43, "libxslt": 43, "libzopfli": 43, "he6710b0_0": 43, "linkifi": 43, "locket": 43, "py311hdbbb534_0": 43, "lz4": 43, "lzo": 43, "markupsaf": 43, "inlin": 43, "mccabe": 43, "mdit": 43, "mdurl": 43, "mistun": 43, "h213fc3f_46344": 43, "mkl_fft": 43, "mkl_random": 43, "itertool": 43, "mpc": 43, "h10f8cd9_1": 43, "mpfr": 43, "hb69a4c5_1": 43, "msgpack": 43, "multidict": 43, "multipledispatch": 43, "mypi": 43, "mypy_extens": 43, "mysql": 43, "h721c034_2": 43, "myst": 43, "nb": 43, "parser": 43, "nbclient": 43, "nbconvert": 43, "nbdime": 43, "nbformat": 43, "ncurs": 43, "nest": 43, "asyncio": 43, "nltk": 43, "shim": 43, "nspr": 43, "nss": 43, "numexpr": 43, "py311h65dcdc2_0": 43, "py311h08b1b3b_0": 43, "py311hf175353_0": 43, "numpydoc": 43, "oniguruma": 43, "h27cfd23_0": 43, "openjpeg": 43, "h3ad879b_0": 43, "openpyxl": 43, "openssl": 43, "orc": 43, "hb3bc3d3_1": 43, "overrid": 43, "pandocfilt": 43, "parsel": 43, "parso": 43, "partd": 43, "pathspec": 43, "patsi": 43, "pcre2": 43, "hebb0a14_1": 43, "pexpect": 43, "pyhd3eb1b0_3": 43, "pickleshar": 43, "pyhd3eb1b0_1003": 43, "pluggi": 43, "ply": 43, "prometheus_cli": 43, "toolkit": 43, "prompt_toolkit": 43, "protego": 43, "psutil": 43, "ptyprocess": 43, "pyhd3eb1b0_2": 43, "pure_ev": 43, "cpuinfo": 43, "pyarrow": 43, "py311hb6e97c4_0": 43, "pyasn1": 43, "pybind11": 43, "abi": 43, "hd3eb1b0_1": 43, "pybtex": 43, "pycodestyl": 43, "pycpars": 43, "pyct": 43, "pycurl": 43, "py311hdbd6064_1": 43, "pydata": 43, "sphinx": 43, "theme": 43, "pydeck": 43, "py311h06a4308_2": 43, "pydispatch": 43, "pydocstyl": 43, "pyerfa": 43, "pyflak": 43, "pylint": 43, "venv": 43, "pyl": 43, "spyder": 43, "pyodbc": 43, "pyopenssl": 43, "pyqt": 43, "pyqt5": 43, "sip": 43, "pyqtwebengin": 43, "pysock": 43, "pytabl": 43, "py311h9d13977_0": 43, "pytest": 43, "h955ad1f_0": 43, "0post0": 43, "fastjsonschema": 43, "json": 43, "logger": 43, "lmdb": 43, "jsonrpc": 43, "slugifi": 43, "snappi": 43, "pytoolconfig": 43, "pyviz_comm": 43, "pywavelet": 43, "pyxdg": 43, "pyzmq": 43, "qdarkstyl": 43, "qstyliz": 43, "qt": 43, "h53bd1ea_10": 43, "webengin": 43, "h9ab4d14_7": 43, "qtawesom": 43, "qtconsol": 43, "qtpy": 43, "queuelib": 43, "re2": 43, "readlin": 43, "referenc": 43, "regex": 43, "rfc3339": 43, "rfc3986": 43, "rope": 43, "rpd": 43, "rtree": 43, "s2n": 43, "s3f": 43, "scikit": 43, "py311ha02d727_1": 43, "scrapi": 43, "secretstorag": 43, "send2trash": 43, "service_ident": 43, "setuptool": 43, "smart_open": 43, "smmap": 43, "sniffio": 43, "snowballstemm": 43, "sortedcontain": 43, "copybutton": 43, "toc": 43, "jupyterbook": 43, "latex": 43, "multitoc": 43, "thebe": 43, "togglebutton": 43, "tojupyt": 43, "sphinxcontrib": 43, "applehelp": 43, "bibtex": 43, "devhelp": 43, "htmlhelp": 43, "jsmath": 43, "qthelp": 43, "serializinghtml": 43, "youtub": 43, "sphinxext": 43, "rediraff": 43, "sqlalchemi": 43, "sqlite": 43, "stack_data": 43, "tbb": 43, "hdb19cb5_0": 43, "tblib": 43, "terminado": 43, "unidecod": 43, "textdist": 43, "threadpoolctl": 43, "pyh0d69192_0": 43, "tifffil": 43, "tinycss2": 43, "tk": 43, "h39e8969_0": 43, "tldextract": 43, "tomli": 43, "tomlkit": 43, "toolz": 43, "tornado": 43, "tqdm": 43, "traitlet": 43, "twist": 43, "typing_extens": 43, "2024a": 43, "h04d1e81_0": 43, "uc": 43, "micro": 43, "ujson": 43, "unicodedata2": 43, "unixodbc": 43, "templat": 43, "utf8proc": 43, "w3lib": 43, "watchdog": 43, "wcwidth": 43, "webcolor": 43, "websocket": 43, "client": 43, "werkzeug": 43, "whatthepatch": 43, "widgetsnbextens": 43, "wrapt": 43, "wurlitz": 43, "xarrai": 43, "xyzservic": 43, "xz": 43, "yaml": 43, "yapf": 43, "yarl": 43, "zeromq": 43, "zfp": 43, "zict": 43, "zipp": 43, "zlib": 43, "zope": 43, "interfac": 43, "zstd": 43, "hc292b87_2": 43, "bliss": [44, 45], "b_i": 44, "e_1": [44, 45], "e_2": [44, 45], "c_i": 44, "sum_i": 44, "renorm": 44, "c_m": 44, "exchangeeconomi": [44, 45], "ws": 44, "thre": [44, 45], "satiat": [44, 45], "invalid": [44, 45], "competitive_equilibrium": [44, 45], "slope_dc": [44, 45], "\u03c0_inv": [44, 45], "\u03bc_": 44, "\u03bc_i": 44, "ee": 44, "poorer": [44, 45], "autarki": 44, "ee_new": 44, "trick": [44, 45], "ee_d": 44, "conting": 44, "ee_a": 44, "42857143": 44, "tild": [44, 46, 48], "infrastructur": 45, "surplu": 45, "leon": 45, "walra": 45, "franci": 45, "ysidro": 45, "edgeworth": 45, "abba": 45, "lerner": 45, "harold": 45, "hotel": 45, "kenneth": 45, "gerard": 45, "debreu": 45, "p_i": 45, "contempl": 45, "unalt": 45, "freez": 45, "disarm": 45, "deliveri": 45, "insur": 45, "productioneconomi": 45, "compute_surplu": 45, "s1": 45, "c_surplu": 45, "p_surplu": 45, "plot_competitive_equilibrium": 45, "singleton": 45, "supply_inv": 45, "demand_inv": 45, "020060": 45, "600001": 45, "eed1cf": 45, "e6e6f5": 45, "28125": 45, "todo": 45, "13333333": 45, "46666667": 45, "86666667": 45, "53333333": 45, "23333333": 45, "56666667": 45, "93333333": 45, "influenc": 45, "monopoli": 45, "hq": 45, "equilibrium_with_monopoli": 45, "plot_monopoli": 45, "marg_cost": 45, "marg_rev": 45, "marg_cost_curv": 45, "marg_rev_curv": 45, "e55b13": 45, "23542117": 45, "32397408": 45, "76457883": 45, "94168467": 45, "26865672": 45, "23880597": 45, "73134328": 45, "6119403": 45, "833333333333334": 45, "1666666666666665": 45, "alpha_": 46, "underset": 46, "cccccccc": 46, "flavor": 46, "\u03b1_0": 46, "\u03b1_1": 46, "\u03b1_2": 46, "gnp": 46, "y_second_method": 46, "y_star": 46, "y_neg1_steadi": 46, "y_0_steadi": 46, "b_steadi": 46, "y_steadi": 46, "excit": 46, "eugen": 46, "slutski": 46, "ragnar": 46, "frisch": 46, "sigma_": 46, "\u03c3_u": 46, "detrend": 46, "sigma_u": 46, "population_mo": 46, "\u03bc_y": 46, "\u03c3_y": 46, "sample_i": 46, "vstack": 46, "get_moment": 46, "series_process": 46, "enlighten": 46, "stationar": 46, "512": 46, "4096": 46, "32768": 46, "312": 46, "0496": 46, "83968": 46, "671744": 46, "63968": 46, "311744": 46, "0493952": 46, "8493952": 46, "47951616": 46, "98361293": 46, "58689034": 46, "superdiagon": 46, "jointli": 46, "corner": 46, "96526785": 46, "05113208": 46, "96949102": 46, "24269762": 46, "43386927": 46, "51539213": 46, "12806761": 46, "60209053": 46, "96538003": 46, "05101258": 46, "96920722": 46, "24302428": 46, "43411364": 46, "51547202": 46, "12796991": 46, "96550733": 46, "0513149": 46, "96955519": 46, "24276396": 46, "43402853": 46, "51557609": 46, "9662253": 46, "0521413": 46, "97017342": 46, "24256184": 46, "43427569": 46, "96717651": 46, "05285289": 46, "97040607": 46, "24284632": 46, "96770885": 46, "05302694": 46, "97019325": 46, "96776576": 46, "05295736": 46, "96785084": 46, "subdiagon": 46, "resist": 46, "temptat": 46, "triangular": 46, "printopt": 46, "suppress": 46, "441": [46, 49], "828": 46, "031": 46, "792": 46, "099": 46, "incorpor": 46, "foreseen": 46, "ccccc": 46, "9216": 46, "04314048": 46, "04141486": 46, "03975826": 46, "044938": 46, "04681041": 46, "p_steadi": 46, "reinstal": 47, "remot": 47, "icon": 47, "feedback": 47, "touch": 47, "tracker": 47, "discours": 47, "forum": 47, "consult": 48, "widetild": 48, "deleg": 48, "newli": 48, "coder": 48, "widehat": 48, "relax": 48, "r_tild": 48, "m0_check": 48, "bm1_check": 48, "bm1": 48, "btm1": 48, "g_bar": 48, "ru": 48, "p0_new": 48, "compute_fixed_point": 48, "p0_next": 48, "purposefulli": 48, "adject": 48, "m0_arr": 48, "mt": 48, "bt": 48, "rt": 48, "plot_path": 48, "ar02": 49, "daron": 49, "jame": 49, "uznet": 49, "183": 49, "203": 49, "akm": 49, "sehyoun": 49, "greg": 49, "kaplan": 49, "benjamin": 49, "moll": 49, "winberri": 49, "christian": 49, "wolf": 49, "ak87": 49, "alan": 49, "laurenc": 49, "axt01": 49, "zipf": 49, "293": 49, "5536": 49, "1818": 49, "1820": 49, "bar79": 49, "journal": 49, "940": 49, "bb18": 49, "jess": 49, "alberto": 49, "skew": 49, "1261": 49, "bbl19": 49, "luo": 49, "1623": 49, "1647": 49, "ber97": 49, "tsitsikli": 49, "athena": 49, "begs18": 49, "anmol": 49, "evan": 49, "mikhail": 49, "golosov": 49, "bej18": 49, "stephen": 49, "martin": 49, "everett": 49, "jeffrei": 49, "johnson": 49, "sage": 49, "bf90": 49, "michael": 49, "stanlei": 49, "quarterli": 49, "353": 49, "374": 49, "bw84": 49, "discrimin": 49, "279": 49, "288": 49, "bur23": 49, "conserv": 49, "farrar": 49, "strau": 49, "giroux": 49, "cag56": 49, "editor": 49, "117": 49, "chicago": 49, "cb96": 49, "marcu": 49, "roi": 49, "924": 49, "957": 49, "coc23": 49, "princeton": 49, "jersei": 49, "cos21": 49, "michel": 49, "atla": 49, "aspir": 49, "scientist": 49, "arxiv": 49, "preprint": 49, "2101": 49, "00863": 49, "dl92": 49, "gui": 49, "dl96": 49, "storag": 49, "896": 49, "923": 49, "dia65": 49, "neoclass": 49, "1126": 49, "1150": 49, "dss58": 49, "mcgraw": 49, "hill": 49, "ek": 49, "jon": 49, "kleinberg": 49, "fri56": 49, "fk45": 49, "fdga": 49, "corrado": 49, "di": 49, "guilmi": 49, "hideaki": 49, "aoyama": 49, "mauro": 49, "gallegati": 49, "wataru": 49, "souma": 49, "gibrat": 49, "physica": 49, "gab16": 49, "xavier": 49, "185": 49, "206": 49, "gss03": 49, "edward": 49, "jose": 49, "andrei": 49, "shleifer": 49, "injustic": 49, "199": 49, "goy23": 49, "sanjeev": 49, "hal78": 49, "hall": 49, "987": 49, "ham05": 49, "435": 49, "452": 49, "har60": 49, "842": 49, "853": 49, "doi": 49, "2307": 49, "1235116": 49, "hu18": 49, "guo": 49, "tsinghua": 49, "5th": 49, "haggstrom02": 49, "oll": 49, "it23": 49, "patrick": 49, "jonathan": 49, "rw": 49, "imf": 49, "jac10": 49, "key40": 49, "essai": 49, "persuas": 49, "367": 49, "439": 49, "springer": 49, "kls18": 49, "illenin": 49, "logan": 49, "lewi": 49, "andrea": 49, "stella": 49, "establish": 49, "ssrn": 49, "kf39": 49, "1936": 49, "bulletin": 49, "lev19": 49, "malcolm": 49, "dysfunct": 49, "man63": 49, "benoit": 49, "394": 49, "419": 49, "mn03": 49, "albert": 49, "juan": 49, "1476": 49, "1498": 49, "ms89": 49, "barnett": 49, "gewek": 49, "karl": 49, "shell": 49, "sunspot": 49, "chao": 49, "mfd20": 49, "filippo": 49, "santo": 49, "fortunato": 49, "clayton": 49, "davi": 49, "mt09": 49, "new18": 49, "oxford": 49, "rac03": 49, "svetlozar": 49, "todorov": 49, "handbook": 49, "elsevi": 49, "rrgm11": 49, "hern": 49, "\u00e1": 49, "diego": 49, "rybski": 49, "maks": 49, "2205": 49, "sam58": 49, "contriv": 49, "467": 49, "482": 49, "sam71": 49, "proceed": 49, "academi": 49, "337": 49, "sam39": 49, "swz09": 49, "noah": 49, "tao": 49, "zha": 49, "conquest": 49, "south": 49, "211": 49, "256": 49, "sar82": 49, "sar13": 49, "ss22": 49, "2203": 49, "11972": 49, "ss23": 49, "sv95": 49, "francoi": 49, "103": 49, "474": 49, "518": 49, "sv02": 49, "fran": 49, "\u00e7": 49, "oi": 49, "sw81": 49, "ss83": 49, "jack": 49, "427": 49, "sch69": 49, "488": 49, "493": 49, "st19": 49, "reconsid": 49, "695": 49, "710": 49, "smi10": 49, "inquiri": 49, "harriman": 49, "hous": 49, "too14": 49, "tooz": 49, "delug": 49, "remak": 49, "1916": 49, "1931": 49, "vil96": 49, "cour": 49, "\u00e9": 49, "conomi": 49, "politiqu": 49, "roug": 49, "lausann": 49, "wau64": 49, "frederick": 49, "732": 49, "ww82": 49, "brian": 49, "596": 49, "614": 49, "zha12": 49, "dongmei": 49, "wireless": 49, "springerbrief": 49, "boston": 49, "isbn": 49, "978": 49, "4614": 49, "3283": 49, "3284": 49, "1007": 49, "visit": 49, "32m2": 36, "31m101": 36, "31m73": 36, "31m23": 36, "31m37": 36, "82e89f2a55caff5e472d6d71770be1e44f2e5c6e01f6f36739e096827daf6d2a": 36}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"about": [0, 5, 37], "These": 0, "lectur": 0, "level": [0, 3, 4, 5, 18, 22, 31, 32], "credit": [0, 3, 34], "transit": [1, 28], "an": [1, 5, 7, 8, 12, 22, 32, 33, 34, 44, 47, 48], "overlap": [1, 35], "gener": [1, 21, 24, 35, 45], "model": [1, 2, 4, 5, 6, 7, 9, 11, 12, 14, 19, 20, 21, 22, 23, 24, 32, 33, 35, 38, 39, 41, 42, 46], "introduct": [1, 15, 16, 20, 21, 30, 33, 34], "set": [1, 26, 39], "product": [1, 3, 19, 24, 27, 44, 45], "govern": [1, 13, 31], "activ": 1, "factor": [1, 3], "market": [1, 20, 44, 48], "repres": [1, 4, 37, 44], "firm": [1, 16, 35, 45], "s": [1, 8, 11, 26, 28, 35, 46], "problem": [1, 27, 33, 35, 40, 45], "individu": 1, "initi": [1, 22, 28, 32], "old": 1, "person": [1, 44], "young": 1, "equilbrium": 1, "next": 1, "step": [1, 9, 28], "close": 1, "form": [1, 24, 27], "solut": [1, 2, 6, 8, 10, 11, 16, 17, 19, 21, 23, 24, 25, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45], "steadi": [1, 22, 31, 32, 35, 38], "state": [1, 22, 28, 31, 32, 35, 38, 45], "implement": [1, 15, 40, 44, 45], "experi": [1, 4, 5, 9], "1": [1, 2, 4, 5, 6, 8, 9, 10, 11, 16, 17, 19, 21, 23, 24, 25, 27, 28, 29, 30, 31, 33, 34, 35, 38, 39, 40, 41, 42, 45], "tax": [1, 13], "cut": 1, "2": [1, 2, 4, 5, 6, 8, 9, 10, 11, 16, 17, 19, 21, 24, 25, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 42], "asset": [1, 14, 16], "accumul": [1, 14], "3": [1, 2, 5, 8, 9, 10, 16, 17, 21, 25, 28, 29, 34, 35, 45], "temporari": 1, "expenditur": [1, 13], "A": [1, 5, 14, 20, 21, 23, 24, 33, 34, 42, 44, 45, 46], "comput": [1, 4, 7, 10, 12, 15, 22, 27, 28, 31, 32, 33, 46], "strategi": [1, 31], "4": [1, 9, 16, 21, 37], "unfund": 1, "social": [1, 21], "secur": [1, 44], "system": [1, 24, 38], "ar": [2, 16], "process": 2, "overview": [2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 37, 38, 40, 44, 45, 46, 48], "The": [2, 5, 6, 7, 10, 11, 12, 14, 17, 21, 22, 23, 25, 26, 32, 35, 39, 40, 42], "move": [2, 46], "averag": [2, 46], "represent": [2, 46], "distribut": [2, 16, 20, 28, 30, 33, 36], "dynam": [2, 14, 20, 22, 23, 29, 32, 33, 35, 38, 44, 45], "stationar": [2, 28, 29], "asymptot": [2, 28], "stabil": [2, 4, 5, 38], "stationari": [2, 28, 31], "ergod": [2, 29], "exercis": [2, 6, 8, 10, 11, 16, 17, 19, 21, 23, 24, 25, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45], "33": 2, "busi": 3, "cycl": 3, "data": [3, 7, 13, 16, 17, 20], "acquisit": 3, "gdp": [3, 16, 17, 26], "growth": [3, 23, 26, 42], "rate": [3, 14, 22, 23, 32, 37], "unemploy": [3, 23, 29], "synchron": 3, "lead": 3, "indic": 3, "correl": 3, "consumpt": [3, 9], "monetarist": [4, 5, 48], "theori": [4, 5, 19, 34], "price": [4, 5, 7, 14, 18, 19, 22, 31, 32, 33], "adapt": [4, 6, 22], "expect": [4, 6, 22, 28], "structur": [4, 5], "kei": [4, 14, 34], "equat": [4, 9, 15, 24], "linear": [4, 9, 10, 15, 19, 20, 24, 27, 38, 41, 45], "algebra": [4, 9, 24, 45, 46], "harvest": 4, "insight": 4, "from": [4, 45], "our": [4, 28], "matrix": [4, 10, 11, 24, 46], "formul": 4, "forecast": 4, "error": [4, 41], "technic": [4, 5], "condit": [4, 7, 12, 25, 28, 35], "continu": [5, 21, 36, 42], "valu": [5, 10, 12, 14, 22, 28, 32, 37, 41], "some": [5, 10, 17, 31, 38, 44, 48], "quantit": [5, 20], "foreseen": 5, "sudden": 5, "log": [5, 35], "what": [5, 30], "jump": [5, 39], "detail": [5, 10], "whether": 5, "p": 5, "m": 5, "t_1": 5, "m_": 5, "t_": 5, "doe": [5, 21, 41], "unforeseen": 5, "sequel": 5, "cobweb": 6, "histori": [6, 17, 18], "naiv": 6, "25": 6, "commod": 7, "outlin": [7, 23, 34, 36, 39, 40], "competit": [7, 20, 21, 44, 45], "storag": 7, "equilibrium": [7, 20, 21, 22, 31, 32, 35, 44, 45], "function": [7, 38, 45], "code": [7, 13, 28, 31, 44, 48], "complex": [8, 10, 38], "number": [8, 15, 25], "trigonometri": 8, "exampl": [8, 10, 11, 14, 21, 24, 27, 28, 29, 34, 35, 38, 44, 45, 48], "de": 8, "moivr": 8, "theorem": [8, 11, 23, 25], "applic": [8, 12, 14, 19, 23], "trigonometr": 8, "ident": 8, "integr": [8, 21], "9": 8, "smooth": 9, "analysi": [9, 19, 26, 37, 38], "friedman": 9, "hall": 9, "mechan": 9, "one": [9, 45], "time": [9, 17, 28, 35, 42, 46, 48], "gain": 9, "loss": 9, "perman": 9, "wage": 9, "late": 9, "starter": 9, "geometr": [9, 14, 28, 36], "earner": 9, "feasibl": 9, "variat": 9, "wrap": 9, "up": [9, 26, 39], "appendix": 9, "solv": [9, 24, 40], "differ": [9, 12, 15], "first": [9, 20, 25], "order": [9, 15], "second": [9, 15], "eigenvalu": 10, "eigenvector": [10, 11, 19, 23, 34], "matric": [10, 11, 24, 28, 34], "transform": [10, 27], "map": 10, "vector": [10, 15, 24, 33, 37], "squar": [10, 15], "type": 10, "scale": 10, "shear": 10, "rotat": 10, "permut": 10, "multipl": [10, 24, 28, 45], "composit": [10, 38], "iter": 10, "fix": [10, 47], "definit": [10, 17, 28, 34, 38], "mathemat": 10, "fact": 10, "neumann": 10, "seri": [10, 14, 35, 46], "lemma": 10, "scalar": [10, 24], "16": 10, "perron": [11, 23], "frobeniu": [11, 23], "nonneg": [11, 16], "irreduc": [11, 29], "left": 11, "primit": 11, "contin": 11, "connect": [11, 36], "markov": [11, 28, 29, 34], "chain": [11, 28, 29, 34, 39], "leontief": [11, 19], "input": [11, 19], "output": [11, 19], "39": 11, "equal": 12, "indiffer": 12, "present": [12, 14, 37], "high": 12, "school": 12, "educ": 12, "worker": 12, "colleg": 12, "bound": 12, "new": 12, "graduat": 12, "entrepreneur": 12, "interpret": 12, "calculu": 12, "inflat": [13, 18, 22, 32], "dure": 13, "french": 13, "revolut": 13, "sourc": 13, "collect": 13, "nation": 13, "privat": [13, 34], "debt": 13, "reduct": 13, "remak": 13, "administr": 13, "elementari": 14, "econom": [14, 16, 20, 34], "formula": [14, 31, 45], "infinit": [14, 20, 25], "finit": [14, 20], "monei": [14, 31], "multipli": [14, 19], "fraction": 14, "reserv": 14, "bank": 14, "simpl": [14, 33, 41, 44], "keynesian": 14, "static": 14, "version": 14, "interest": 14, "discount": [14, 33], "back": 14, "root": 15, "perfect": 15, "irrat": 15, "algorithm": [15, 39, 40, 48], "ancient": 15, "greek": 15, "invari": 15, "subspac": 15, "approach": 15, "conclud": 15, "remark": 15, "heavi": 16, "tail": [16, 30], "light": 16, "when": 16, "valid": 16, "return": [16, 37], "other": [16, 20], "why": [16, 21], "should": 16, "we": 16, "care": 16, "visual": [16, 33, 36], "comparison": [16, 17], "simul": [16, 17, 25, 28], "counter": 16, "cdf": 16, "21": 16, "empir": 16, "ccdf": 16, "q": 16, "plot": [16, 26, 36], "power": 16, "law": [16, 25], "cross": [16, 17, 28], "section": [16, 28], "size": 16, "citi": 16, "wealth": [16, 17], "failur": [16, 25, 28], "lln": [16, 25], "do": 16, "matter": [16, 21], "diversif": 16, "fiscal": [16, 20, 48], "polici": [16, 20, 48], "classifi": 16, "properti": [16, 23, 34], "further": [16, 24, 34], "read": [16, 24, 34], "5": 16, "incom": 17, "inequ": 17, "measur": 17, "lorenz": 17, "curv": [17, 22, 32, 45], "us": [17, 26, 27, 28, 33], "gini": 17, "coeffici": 17, "countri": [17, 34], "per": [17, 26], "capita": [17, 26], "over": [17, 28], "top": 17, "share": [17, 33], "6": 17, "four": 18, "centuri": 18, "big": 18, "austria": 18, "hungari": 18, "poland": 18, "germani": 18, "start": 18, "stop": 18, "two": [19, 24, 31, 44, 45], "good": [19, 24, 45], "possibl": 19, "frontier": 19, "program": [19, 27], "invers": 19, "demand": [19, 21, 31, 35, 45], "shock": 19, "graph": [19, 34], "central": [19, 25, 34], "40": 19, "cours": 20, "python": [20, 33, 44], "foundat": 20, "horizon": 20, "probabl": [20, 28, 36], "nonlinear": [20, 38], "monetari": [20, 48], "interact": 20, "stochast": [20, 28], "optim": [20, 41], "higher": 20, "dimens": [20, 38], "estim": [20, 30, 36], "suppli": [21, 31, 35, 45], "thi": 21, "topic": 21, "infrastructur": 21, "consum": [21, 35, 44], "surplu": 21, "discret": [21, 36], "comment": [21, 25, 33], "quantiti": 21, "approxim": 21, "produc": 21, "case": [21, 35, 45], "welfar": [21, 45], "7": 21, "laffer": [22, 32], "sequenc": [22, 31, 32, 37], "claim": [22, 45], "conjectur": 22, "limit": [22, 25, 32], "associ": [22, 32], "verif": [22, 32], "slipperi": [22, 32], "side": [22, 32], "lake": 23, "employ": 23, "visualis": 23, "long": [23, 26], "run": [23, 26], "outcom": [23, 31], "domin": 23, "neg": 23, "evolut": [23, 35], "41": 23, "pencil": 24, "paper": 24, "method": [24, 31], "look": [24, 46], "forward": [24, 46], "oper": [24, 48], "inner": 24, "norm": 24, "addit": 24, "numpi": 24, "more": [24, 31, 33, 37], "No": 24, "mani": [24, 45], "nonsingular": 24, "8": 24, "clt": 25, "larg": 25, "action": 25, "statement": 25, "illustr": 25, "break": 25, "moment": [25, 46], "iid": 25, "19": 25, "unit": 26, "kingdom": 26, "compar": 26, "uk": 26, "china": 26, "focus": 26, "earli": 26, "industri": 26, "1820": 26, "1940": 26, "construct": 26, "similar": 26, "tooz": 26, "modern": 26, "era": 26, "1950": 26, "2020": 26, "region": 26, "OR": 27, "tool": 27, "invest": [27, 35], "standard": 27, "scipi": 27, "37": 27, "basic": [28, 48], "concept": 28, "defin": 28, "write": 28, "own": 28, "quantecon": 28, "routin": [28, 33], "ad": [28, 46], "recess": 28, "calcul": [28, 41, 48], "hamilton": [28, 29], "converg": 28, "sum": 28, "34": 28, "period": 29, "polit": 29, "institut": 29, "35": 29, "maximum": 30, "likelihood": 30, "pareto": 30, "best": 30, "lognorm": [30, 36], "right": 30, "hand": 30, "so": 30, "46": 30, "financ": 31, "deficit": 31, "conveni": 31, "peculiar": 31, "select": 31, "mont": 33, "carlo": 33, "option": 33, "known": 33, "unknown": 33, "loop": 33, "european": 33, "call": 33, "under": 33, "risk": [33, 44, 45], "neutral": 33, "via": 33, "realist": 33, "default": 33, "paramet": 33, "20": 33, "network": 34, "financi": 34, "aircraft": 34, "export": 34, "digraph": 34, "networkx": 34, "commun": 34, "weight": 34, "intern": 34, "flow": 34, "adjac": 34, "degre": 34, "katz": 34, "author": 34, "vs": 34, "hub": 34, "42": 34, "environ": [35, 47], "capit": 35, "prefer": [35, 39], "save": 35, "util": [35, 45], "crra": 35, "26": 35, "common": 36, "uniform": 36, "bernoulli": 36, "binomi": 36, "18": 36, "poisson": 36, "normal": 36, "exponenti": 36, "beta": [36, 41], "gamma": 36, "observ": 36, "summari": 36, "statist": [36, 43], "histogram": 36, "kernel": 36, "densiti": 36, "violin": 36, "11": 37, "analyt": 37, "express": 37, "bubbl": 37, "gross": 37, "One": 38, "global": 38, "local": [38, 47], "graphic": [38, 42], "trajectori": 38, "23": 38, "racial": 39, "segreg": 39, "behavior": 39, "result": 39, "22": 39, "shortest": 40, "path": 40, "find": 40, "least": 40, "cost": 40, "minimum": 40, "go": 40, "38": 40, "regress": 41, "how": 41, "chang": 41, "respect": 41, "alpha": 41, "45": 41, "solow": 42, "swan": 42, "perspect": 42, "24": 42, "execut": 43, "heterogen": 44, "pure": 44, "exchang": 44, "economi": [44, 45], "design": 44, "without": 44, "arrow": 44, "deduc": 44, "impli": 45, "constrain": 45, "maxim": 45, "endow": 45, "digress": 45, "marshallian": 45, "hicksian": 45, "special": 45, "conting": 45, "43": 45, "endogen": 45, "mu": 45, "warmup": 45, "neq": 45, "singl": 45, "agent": 45, "supplier": 45, "who": 45, "monopolist": 45, "multi": 45, "univari": 46, "samuelson": 46, "random": 46, "term": 46, "popul": 46, "troubleshoot": 47, "your": 47, "report": 47, "issu": 47, "unpleas": 48, "arithmet": 48, "setup": 48, "open": 48, "t": 48, "0": 48, "idea": 48, "befor": 48, "pseudo": 48, "refer": 49}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9, "sphinx": 56}}) \ No newline at end of file diff --git a/status.html b/status.html index 84c78820..7649dbb7 100644 --- a/status.html +++ b/status.html @@ -447,9 +447,9 @@

49. Execution Statistics

prob_dist

-

2024-08-01 04:49

+

2024-08-01 09:00

cache

-

8.4

+

19.75

pv