{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Malthusian Model: Convergence \n", "\n", "Recall our Solow-Malthus model. The rate of growth of the labor force and population depends on luxury-adjusted income per worker $ y/\\phi $ divided by subsistence $ y^{sub} $:\n", "\n", ">(1) $ \\frac{dL/dt}{L} = \\frac{d\\ln(L)}{dt} = n = \\beta \\left( \\frac{y}{\\phi y^{sub}}-1 \\right) $\n", "\n", "Income per worker depends on the capital-output ratio $ \\kappa $, the level of the useful ideas stock $ H $, and the amount of resource scarcity induced by the labor force $ L $:\n", "\n", ">(2) $ \\ln(y) = \\theta\\ln(\\kappa) + \\ln(H) - \\ln(L)/\\gamma $\n", "\n", ">(3) $ \\frac{d\\kappa}{dt} = (1-\\alpha)s - (h + (1 - 1/\\gamma)n + ֿֿ\\delta)\\kappa $\n", "\n", "With the parameters $ \\alpha $ and $\\theta $—the capital share of income and the capital-intensity elasticity of income—related by:\n", "\n", ">(4) $ \\theta = \\frac{\\alpha}{1-\\alpha}$ and $ \\alpha = \\frac{\\theta}{1+\\theta} $\n", "\n", "Substitute:\n", "\n", ">(5) $ \\frac{1}{L}\\frac{dL}{dt} = \\frac{d\\ln(L)}{dt} = n = \\beta \\left( \\frac{\\kappa^\\theta H L^{-\\gamma}}{\\phi y^{sub}}-1 \\right) $\n", "\n", ">(6) $ \\frac{d\\kappa}{dt} = -(1-\\alpha)(h + (1-1/\\gamma)n +\\delta)\\kappa + (1-\\alpha)s $\n", "\n", "Define population-adjusted-for-ideas $ P $:\n", "\n", ">(7) $ P = L H^{-\\gamma} $\n", "\n", "Then we have two state variables—capital-intensity $ \\kappa $, the capital-output ratio, and population-adjusted-for-ideas $ P $. We have two dynamic equations: The rate of change of population-adjusted-for-ideas $ P $ is a function of the capital-output ratio and itself: \n", "\n", ">(8) $ \\frac{1}{P}\\frac{dP}{dt} = p = \\beta \\left( \\frac{\\kappa^\\theta }{P^{1/\\gamma} \\phi y^{sub}}-1 \\right) -h\\gamma $\n", "\n", "And the rate of change of capital-intensity $ \\kappa $ is a function of itself and of the rate of change of population-adjusted-for-ideas $ P $:\n", "\n", ">(9) $ \\frac{d\\kappa}{dt} = (1-\\alpha)s -(1-\\alpha)(\\gamma h +\\delta)\\kappa -(1-\\alpha)\\left(1-\\frac{1}{\\gamma}\\right)\\left(\\frac{1}{P}\\frac{dP}{dt}\\right)\\kappa $" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The steady state is then:\n", "\n", ">(10) $ P^{*mal} = \\frac{L}{H^\\gamma} = \\left[ \\left( \\frac{1}{\\phi} \\right) \\left( \\frac{\\kappa^\\theta }{ y^{sub}} \\right) \\left( \\frac{1}{ 1 + h\\gamma/\\beta} \\right) \\right]^\\gamma $\n", "\n", ">(11) $ \\kappa^{*mal} = \\frac{s}{\\gamma h + \\delta} $" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Define:\n", "\n", ">(12) $ P = \\Pi P^{*mal} $\n", "\n", ">(13) $ \\kappa = k \\kappa^{*mal} = k (s/(\\delta + \\gamma h)) $" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then:\n", "\n", ">(14) $ \\kappa^{*mal} \\frac{dk}{dt} = \\left[ (1-\\alpha)s -(1-\\alpha)((1-1/\\gamma)p + \\gamma h +\\delta) k (s/(\\delta + \\gamma h)) \\right] $\n", "\n", ">(15) $ \\frac{1}{\\Pi}\\frac{d\\Pi}{dt} = p = \\beta \\Pi^{(-1/\\gamma)} k^\\theta (1 + \\gamma h/\\beta) - \\beta - h \\gamma $\n", "\n", ">(16) $ \\Pi^{(-1/\\gamma)} = 1 - \\frac{\\Delta \\Pi}{\\gamma} $\n", "\n", ">(17) $ k^\\theta = 1 + \\theta k $\n", "\n", ">(18) $ \\frac{1}{\\Pi}\\frac{d\\Pi}{dt} = p = \\beta (1 + \\gamma h/\\beta)\\left[ 1 - \\frac{\\Delta \\Pi}{\\gamma} \\right]\\left[ 1 + \\theta \\Delta k \\right] - \\beta - h \\gamma $\n", "\n", ">(19) $ \\frac{dk}{dt} = (1-\\alpha)( \\gamma h +\\delta) - (1-\\alpha)(1-1/\\gamma)(1 + \\Delta k) \\frac{d\\Pi}{dt} - (1-\\alpha)(\\delta + h \\gamma)(1 + \\Delta k) $\n", "\n", ">(20) $ \\frac{dk}{dt} = - (1-\\alpha)(\\delta + h \\gamma)\\Delta k - (1-\\alpha)(1-1/\\gamma)\\frac{d\\Pi}{dt} - (1-\\alpha)(1-1/\\gamma)\\Delta k \\frac{d\\Pi}{dt} $\n", "\n", ">(21) $ \\frac{d\\Pi}{dt} = -((\\beta + \\gamma h)/\\gamma)\\Delta \\Pi + (\\beta + \\gamma h)\\theta \\Delta k $\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "(20) and (21) are a linearized two-equation two state-variable system for $ k = \\frac{\\kappa}{\\kappa^*} $ and $ \\Pi = \\frac{P}{P^{*mal}} $, with $ \\kappa = K/Y $ the capital intensity of the economy, and $ P = L H^{-\\gamma} $ the population/labor force adjusted for the ideas stock.\n", "\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Memo**: $ \\alpha = 1/2, \\gamma = 2, \\theta = 1, \\delta = 0.05, \\beta = 0.025, h=0.0005, h \\gamma = 0.001, \\delta + h \\gamma = .051 $\n", "\n", ">(20') $ \\frac{dk}{dt} = - 0.0255\\Delta k - 0.25\\frac{d\\Pi}{dt} - 0.25\\Delta k \\frac{d\\Pi}{dt} $\n", "\n", ">(21') $ \\frac{d\\Pi}{dt} = - 0.013\\Delta \\Pi + 0.026 \\Delta k $" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">(22') $ \\frac{dk}{dt} = - 0.032\\Delta k + 0.00325 \\Delta \\Pi $\n", "\n", " \n", "\n", "----" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "\n", "P_vector = []\n", "kappa_vector = []\n", "\n", "P_vector = P_vector + [1.941371*.75]\n", "kappa_vector = kappa_vector + [1.980198]\n", "\n" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " P kappa\n", "0 1.456028 1.980198\n", "1 1.468404 1.980198\n", "2 1.480465 1.980198\n", "3 1.492218 1.980198\n", "4 1.503672 1.980198\n", "5 1.514833 1.980198\n", "6 1.525710 1.980198\n", "7 1.536309 1.980198\n", "8 1.546638 1.980198\n", "9 1.556704 1.980198\n", "10 1.566513 1.980198\n", "11 1.576072 1.980198\n", "12 1.585387 1.980198\n", "13 1.594464 1.980198\n", "14 1.603310 1.980198\n", "15 1.611931 1.980198\n", "16 1.620332 1.980198\n", "17 1.628518 1.980198\n", "18 1.636496 1.980198\n", "19 1.644270 1.980198\n", "20 1.651846 1.980198\n", "21 1.659229 1.980198\n", "22 1.666424 1.980198\n", "23 1.673435 1.980198\n", "24 1.680267 1.980198\n", "25 1.686925 1.980198\n", "26 1.693414 1.980198\n", "27 1.699737 1.980198\n", "28 1.705898 1.980198\n", "29 1.711903 1.980198\n", ".. ... ...\n", "71 1.863825 1.980198\n", "72 1.865802 1.980198\n", "73 1.867729 1.980198\n", "74 1.869607 1.980198\n", "75 1.871437 1.980198\n", "76 1.873220 1.980198\n", "77 1.874958 1.980198\n", "78 1.876652 1.980198\n", "79 1.878302 1.980198\n", "80 1.879910 1.980198\n", "81 1.881477 1.980198\n", "82 1.883005 1.980198\n", "83 1.884493 1.980198\n", "84 1.885943 1.980198\n", "85 1.887357 1.980198\n", "86 1.888734 1.980198\n", "87 1.890076 1.980198\n", "88 1.891384 1.980198\n", "89 1.892659 1.980198\n", "90 1.893901 1.980198\n", "91 1.895112 1.980198\n", "92 1.896291 1.980198\n", "93 1.897441 1.980198\n", "94 1.898561 1.980198\n", "95 1.899653 1.980198\n", "96 1.900716 1.980198\n", "97 1.901753 1.980198\n", "98 1.902763 1.980198\n", "99 1.903748 1.980198\n", "100 1.904707 1.980198\n", "\n", "[101 rows x 2 columns]\n" ] } ], "source": [ "for i in range(0,100):\n", " P = (1-0.025-0.0005)*P_vector[i] + 0.025*kappa_vector[i]\n", " kappa = (1-0.02525)*kappa_vector[i]+0.05\n", " P_vector = P_vector + [P]\n", " kappa_vector = kappa_vector + [kappa]\n", " \n", "malthus_converge_df = pd.DataFrame()\n", "malthus_converge_df['P'] = P_vector\n", "malthus_converge_df['kappa'] = kappa_vector\n", "\n", "print(malthus_converge_df)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Malthusian: Convergence \n", "\n", "\n", "\n", "### Catch Our Breath—Further Notes:\n", "\n", "\n", "\n", "----\n", "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "----\n", "\n", "* Weblog Support \n", "* nbViewer \n", "\n", " " ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.7" } }, "nbformat": 4, "nbformat_minor": 4 }