From 507d65d143076d9da520ff3d3ea8ae6117c41d50 Mon Sep 17 00:00:00 2001 From: Richard Evans Date: Tue, 3 Sep 2024 16:13:34 -0600 Subject: [PATCH] Updated government.md and households.md --- docs/book/content/theory/government.md | 16 +++++++++------- docs/book/content/theory/households.md | 16 ++++++---------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/docs/book/content/theory/government.md b/docs/book/content/theory/government.md index 5a4f9575b..48367148b 100644 --- a/docs/book/content/theory/government.md +++ b/docs/book/content/theory/government.md @@ -14,14 +14,14 @@ Government levies taxes on households and firms, funds public pensions, and make #### Individual income taxes -Income taxes are modeled through the total tax liability function $T_{s,t}$, which can be decomposed into the effective tax rate times total income {eq}`EqTaxCalcLiabETR2`. In this chapter, we detail the household tax component of government activity $T_{s,t}$ in `OG-Core`, along with our method of incorporating detailed microsimulation data into a dynamic general equilibrium model. +Income taxes are modeled through the net tax liability function for each household $tax_{j,s,t}$, which can be decomposed into the effective tax rates times total income and wealth, respectively, {eq}`EqTaxCalcLiabETR2`. In this chapter, we detail the household tax component of government activity $tax_{j,s,t}$ in `OG-Core`, along with our method of incorporating detailed microsimulation data into a dynamic general equilibrium model. ```{math} :label: EqHHBC2_gov p_t c_{j,s,t} + &\sum_{i=1}^I (1 + \tau^{c}_{i,t})p_{i,t}c_{min,i} + b_{j,s+1,t+1} = \\ - &(1 + r_{p,t})b_{j,s,t} + w_t e_{j,s} n_{j,s,t} + \\ - &\quad\quad\zeta_{j,s}\frac{BQ_t}{\lambda_j\omega_{s,t}} + rm_{j,s,t} + \eta_{j,s,t}\frac{TR_{t}}{\lambda_j\omega_{s,t}} + ubi_{j,s,t} - T_{j,s,t} \\ - &\quad\forall j,t\quad\text{and}\quad E+1\leq s\leq E+S \quad\text{where}\quad b_{j,E+1,t}=0 + &(1 + r_{p,t})b_{j,s,t} + w_t e_{j,s} n_{j,s,t} ... \\ + &\qquad +\: bq_{j,s,t} + rm_{j,s,t} + tr_{j,s,t} + ubi_{j,s,t} + pension_{j,s,t} - tax_{j,s,t} \\ + &\qquad\quad\forall j,t\quad\text{and}\quad E+1\leq s\leq E+S \quad\text{where}\quad b_{j,E+1,t}=0 ``` Incorporating realistic tax and incentive detail into a general equilibrium model is notoriously difficult for two reasons. First, it is impossible in a dynamic general equilibrium model to capture all of the dimensions of heterogeneity on which the real-world tax rate depends. For example, a household's tax liability in reality depends on filing status, number of dependents, many types of income, and some characteristics correlated with age. A good heterogeneous agent DGE model tries to capture the most important dimensions of heterogeneity, and necessarily neglects the other dimensions. @@ -332,14 +332,14 @@ Businesses face a linear tax rate $\tau^{b}_{m,t}$, which can vary by industry a ### Spending - Government spending is comprised of government provided pension benefits, lump sum transfers, universal basic income payments, infrastructure investment, spending on public goods, and interest payments on debt. Below, we describe the transfer spending amounts. Spending on infrastructure, public goods, and interest are described in {ref}`SecUnbalGBCbudgConstr`. Because government spending on lump-sum transfers to households $TR_t$, public goods $G_t$, and government infrastructure capital $I_g$ are all functions of nominal GDP, we define nominal GDP here, + Government spending is comprised of government provided pension benefits, lump sum transfers, universal basic income payments, infrastructure investment, spending on public goods, and interest payments on debt. Below, we describe the transfer spending amounts. Spending on infrastructure, public goods, and interest are described in {ref}`SecUnbalGBCbudgConstr`. Because government spending on lump-sum transfers to households $TR_t$, public goods $G_t$, and government infrastructure capital $I_g$ are all functions of nominal GDP, we define GDP here, ```{math} :label: EqGovtNomGDP - p_t Y_t \equiv \sum_{m=1}^M p_{m,t} Y_{m,t} \quad\forall t + Y_t \equiv \sum_{m=1}^M p_{m,t} Y_{m,t} \quad\forall t ``` - where nominal GDP $p_t Y_t$ is in terms of the numeraire good of industry-$M$ output and $Y_t$ alone is in terms of composite consumption. + where GDP $Y_t$ is in terms of the numeraire good of industry-$M$ output.[^NomRealGDP] (SecGovPensions)= @@ -783,6 +783,8 @@ Total pension spending is the sum of the pension payments to each household in t [^param_note]: We assume that whatever parameters the tax functions have in the last year of the budget window persist forever. + [^NomRealGDP]: All quantities in OG-Core are real in the sense that their prices can only be denominated in terms of one of the goods in the model. We have made the assumption that all prices are given in terms of industry-$M$ output as the numeraire good. However, we can convert the real amounts in the model to currency prices using the income adjustment factor described in equation {eq}`EqIncFactor` in Section {ref}`SecHHincFactor` of Chapter `Chap_House`. + [^UBIgrowthadj]: The steady-state assumption in equation {eq}`EqUBIubi_mod_NonGrwAdj_SS` implies that the UBI amount is growth adjusted for every period after the steady-state is reached. [^GrowthAdj_note]: We impose this requirement of `ubi_growthadj = False` when `g_y_annual < 0` in the [`default_parameters.json`](https://github.com/PSLmodels/OG-Core/blob/master/ogcore/default_parameters.json) "validators" specification of the parameter. diff --git a/docs/book/content/theory/households.md b/docs/book/content/theory/households.md index 5aff0098f..13f56a843 100644 --- a/docs/book/content/theory/households.md +++ b/docs/book/content/theory/households.md @@ -1,17 +1,16 @@ --- jupytext: + formats: md:myst text_representation: extension: .md format_name: myst - format_version: '0.8' - jupytext_version: '1.4.1' kernelspec: display_name: Python 3 language: python - name: ogcore-dev + name: python3 --- -(glue)= + (Chap_House)= # Households @@ -138,16 +137,13 @@ In this section, we describe what is arguably the most important economic agent The functional form for the utility of leisure or the disutility of labor supply has important implications for the computational tractability of the model. One difference of the household's labor supply decision $n_{j,s,t}$ from the consumption decision $c_{j,s,t}$ is that the consumption decision only has a lower bound $c_{j,s,t}\geq 0$ whereas the labor supply decision has both upper and lower bounds $n_{j,s,t}\in[0,\tilde{l}]$. {cite}`EvansPhillips:2017` show that many of the traditional functional forms for the disutility of labor---Cobb-Douglas, constant Frisch elasticty, constant relative risk aversion (CRRA)---do not have Inada conditions on both the upper and lower bounds of labor supply. To solve these in a heterogeneous agent model would require occasionally binding constraints, which is a notoriously difficult computational problem. - +++ - ```{code-cell} ogcore-dev - :tags: [hide-cell] - from myst_nb import glue + ```{code-cell} ipython3 + :tags: ["hide-input", "remove-output"] import ogcore.parameter_plots as pp from ogcore import Specifications p = Specifications() p.update_specifications({'frisch': 0.6}) fig = pp.plot_elliptical_u(p) - glue("labor_utility", fig, display=False) ``` ```{figure} ./images/EllipVsCFE_MargUtil.png @@ -156,7 +152,7 @@ In this section, we describe what is arguably the most important economic agent name: FigMDUcompar --- - Comparison of CFE marginal disutility of leisure $\theta=1.67$ to fitted elliptical utility + Comparison of CFE marginal disutility of leisure $\theta=0.4$ to fitted elliptical utility ``` {cite}`EvansPhillips:2017` propose using an equation for an ellipse to match the disutility of labor supply to whatever traditional functional form one wants. Our preferred specification in `OG-Core` is to fit an elliptical disutility of labor supply function to approximate a linearly separable constant Frisch elasticity (CFE) functional form. Let $v(n)$ be a general disutility of labor function. A CFE disutility of labor function is the following,