Skip to content

Commit

Permalink
Merge pull request #932 from jdebacker/min_methods
Browse files Browse the repository at this point in the history
Merging
  • Loading branch information
rickecon authored Jun 7, 2024
2 parents 0261fbf + 3da5b4a commit e762b06
Show file tree
Hide file tree
Showing 7 changed files with 362 additions and 77 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).


## [0.11.7] - 2024-06-07 01:00:00

### Added

- Heathcote, Storesletten, and Violante (2017) tax functions to `txfunc.py`

## [0.11.6] - 2024-04-19 01:00:00

### Added
Expand Down Expand Up @@ -227,6 +233,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Any earlier versions of OG-USA can be found in the [`OG-Core`](https://github.com/PSLmodels/OG-Core) repository [release history](https://github.com/PSLmodels/OG-Core/releases) from [v.0.6.4](https://github.com/PSLmodels/OG-Core/releases/tag/v0.6.4) (Jul. 20, 2021) or earlier.


[0.11.7]: https://github.com/PSLmodels/OG-Core/compare/v0.11.6...v0.11.7
[0.11.6]: https://github.com/PSLmodels/OG-Core/compare/v0.11.5...v0.11.6
[0.11.5]: https://github.com/PSLmodels/OG-Core/compare/v0.11.4...v0.11.5
[0.11.4]: https://github.com/PSLmodels/OG-Core/compare/v0.11.3...v0.11.4
Expand Down
15 changes: 15 additions & 0 deletions docs/book/OGCore_references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,21 @@ @Article{GouveiaStrauss:1994
month={June},
}

@Article{HeathcoteStoreslettenViolante:2017,
author={Jonathan Heathcote and Kjetil Storesletten and Giovanni L. Violante},
title={{Optimal Tax Progressivity: An Analytical Framework}},
journal={The Quarterly Journal of Economics},
year=2017,
volume={132},
number={4},
pages={1693-1754},
month={},
keywords={},
doi={},
abstract={What shapes the optimal degree of progressivity of the tax and transfer system? On the one hand, a progressive tax system can counteract inequality in initial conditions and substitute for imperfect private insurance against idiosyncratic earnings risk. On the other hand, progressivity reduces incentives to work and to invest in skills, distortions that are especially costly when the government must finance public goods. We develop a tractable equilibrium model that features all of these trade-offs. The analytical expressions we derive for social welfare deliver a transparent understanding of how preference, technology, and market structure parameters influence the optimal degree of progressivity. A calibration for the U.S. economy indicates that endogenous skill investment, flexible labor supply, and the desire to finance government purchases play quantitatively similar roles in limiting optimal progressivity. In a version of the model where poverty constrains skill investment, optimal progressivity is close to the U.S. value. An empirical analysis on cross-country data offers support to the theory.},
url={https://ideas.repec.org/a/oup/qjecon/v132y2017i4p1693-1754..html}
}

@TECHREPORT{MoorePecoraro:2021,
AUTHOR = {Rachel Moore and Brandon Pecoraro},
TITLE = {Quantitative Analysis of a Wealth Tax in the United States: Exclusions, Evasion, and Expenditures},
Expand Down
12 changes: 10 additions & 2 deletions docs/book/content/theory/government.md
Original file line number Diff line number Diff line change
Expand Up @@ -251,9 +251,17 @@ The second difficulty in modeling realistic tax and incentive detail is the need

Users can select this option by setting the parameter `tax_func_type="GS"`. The three parameters of this function ($\phi_{0}, \phi_{1}, \phi_{2}$) are estimated using the weighted sum of squares estimated described in Equation {eq}`EqTaxCalcThetaWSSQ`.

3. Linear tax functions (i.e., $\tau =$ a constant). Users can select this option by setting the parameter `tax_func_type="linear"`. The constant rate is found by taking the weighted average of the appropriate tax rate (effective tax rate, marginal tax rate on labor income, marginal tax rate on labor income) for each age and year, where the values are weighted by sampling weights and income.
3. Tax functions from {cite}`HeathcoteStoreslettenViolante:2017`:

4. Monotonically increasing smoothing spline `tax_func_type="mono"`. This functional approach is based on {cite}`EilersMarx:1996`, {cite}`Eilers:2003` and {cite}`Eilers:2005`, which is a least squares smoothing spline that penalizes nonmonotonicities. We used k-fold cross validation to show that the optimal smoothing parameter for this function on our tax data is $\lambda=12$, which is set as the default. These tax functions are fit to total income data (labor income plus capital income).
```{math}
\tau = 1 - \phi_{0}(x+y)^{1-phi_1}
```

Users can select this option by setting the parameter `tax_func_type="HSV"`. The two parameters of this function ($\phi_{0}, \phi_{1}$) are estimated using ordinary least squares.

4. Linear tax functions (i.e., $\tau =$ a constant). Users can select this option by setting the parameter `tax_func_type="linear"`. The constant rate is found by taking the weighted average of the appropriate tax rate (effective tax rate, marginal tax rate on labor income, marginal tax rate on labor income) for each age and year, where the values are weighted by sampling weights and income.

5. Monotonically increasing smoothing spline `tax_func_type="mono"`. This functional approach is based on {cite}`EilersMarx:1996`, {cite}`Eilers:2003` and {cite}`Eilers:2005`, which is a least squares smoothing spline that penalizes nonmonotonicities. We used k-fold cross validation to show that the optimal smoothing parameter for this function on our tax data is $\lambda=12$, which is set as the default. These tax functions are fit to total income data (labor income plus capital income).

Among all of these tax functional forms, users can set the `age_specific` parameter to `False` if they wish to have one function for all ages $s$. In addition, for the functions based on {cite}`DeBackerEtAl:2019` (`tax_func_type="DEP"` or `tax_func_type="DEP_totinc"`), one can set `analytical_mtrs=True` if they wish to have the $\tau^{mtrx}_{s,t}$ and $\tau^{mtry}_{s,t}$ derived from the $\tau^{etr}_{s,t}$ functions. This provides theoretical consistency, but reduced fit of the functions (see {cite}`DeBackerEtAl:2019` for more details).

Expand Down
2 changes: 1 addition & 1 deletion ogcore/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@
from ogcore.txfunc import *
from ogcore.utils import *

__version__ = "0.11.6"
__version__ = "0.11.7"
Loading

0 comments on commit e762b06

Please sign in to comment.