Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alternative baselines #388

Merged
merged 5 commits into from
Apr 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions ccc/get_taxcalc_rates.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
def get_calculator(
baseline,
calculator_start_year,
baseline_policy=None,
reform=None,
data="cps",
gfactors=None,
Expand All @@ -19,6 +20,7 @@ def get_calculator(
Args:
baseline (bool): `True` if baseline tax policy
calculator_start_year (integer): first year of budget window
baseline_policy (dictionary): IIT baseline parameters
reform (dictionary): IIT reform parameters
data (string or Pandas DataFrame): path to file or DataFrame
for Tax-Calculator Records object (optional)
Expand Down Expand Up @@ -52,10 +54,14 @@ def get_calculator(
records1 = Records() # pragma: no cover

if baseline:
# Should not be a reform if baseline is True
assert not reform
if (
baseline_policy
): # if something other than current law policy baseline
update_policy(policy1, baseline_policy)

if not baseline:
if baseline_policy: # update baseline policy to layer reform on top
update_policy(policy1, baseline_policy)
update_policy(policy1, reform)

# the default set up increments year to 2013
Expand All @@ -73,7 +79,11 @@ def get_calculator(


def get_rates(
baseline=False, start_year=DEFAULT_START_YEAR, reform={}, data="cps"
baseline=False,
start_year=DEFAULT_START_YEAR,
baseline_policy=None,
reform={},
data="cps",
):
"""
This function computes weighted average marginal tax rates using
Expand All @@ -92,6 +102,7 @@ def get_rates(
calc1 = get_calculator(
baseline=baseline,
calculator_start_year=start_year,
baseline_policy=baseline_policy,
reform=reform,
data=data,
)
Expand Down
8 changes: 7 additions & 1 deletion ccc/parameters.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ def __init__(
baseline=False,
year=DEFAULT_START_YEAR,
call_tc=False,
baseline_policy=None,
iit_reform={},
data="cps",
):
Expand All @@ -34,6 +35,7 @@ def __init__(
self.test = test
self.baseline = baseline
self.year = year
self.baseline_policy = baseline_policy
self.iit_reform = iit_reform
self.data = data
# initialize parameter values from JSON
Expand All @@ -55,7 +57,11 @@ def ccc_initialize(self, call_tc=False):
if call_tc:
# Find individual income tax rates from Tax-Calculator
indiv_rates = get_rates(
self.baseline, self.year, self.iit_reform, self.data
self.baseline,
self.year,
self.baseline_policy,
self.iit_reform,
self.data,
)
self.tau_pt = indiv_rates["tau_pt"]
self.tau_div = indiv_rates["tau_div"]
Expand Down
276 changes: 276 additions & 0 deletions ccc/tcja_extension.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,276 @@
{
"BonusDeprec_3yr": [
{
"year": 2026,
"value": 0.4
}
],
"BonusDeprec_5yr": [
{
"year": 2026,
"value": 0.4
}
],
"BonusDeprec_7yr": [
{
"year": 2026,
"value": 0.4
}
],
"BonusDeprec_10yr": [
{
"year": 2026,
"value": 0.4
}
],
"BonusDeprec_15yr": [
{
"year": 2026,
"value": 0.4
}
],
"BonusDeprec_20yr": [
{
"year": 2026,
"value": 0.4
}
],
"tau_pt": [
{
"year": 2026,
"value": 0.20167244909882368
},
{
"year": 2027,
"value": 0.20348817617368892
},
{
"year": 2028,
"value": 0.20439272346443807
},
{
"year": 2029,
"value": 0.20308698621629706
},
{
"year": 2030,
"value": 0.2035939509415052
},
{
"year": 2031,
"value": 0.20240046451418342
},
{
"year": 2032,
"value": 0.2012693740494531
},
{
"year": 2033,
"value": 0.2006450797882713
}
],
"tau_div": [
{
"year": 2026,
"value": 0.17318090272505438
},
{
"year": 2027,
"value": 0.17432284289770666
},
{
"year": 2028,
"value": 0.17282374074928825
},
{
"year": 2029,
"value": 0.17340175754076134
},
{
"year": 2030,
"value": 0.17422447893073145
},
{
"year": 2031,
"value": 0.17454968182589295
},
{
"year": 2032,
"value": 0.1740630397322921
},
{
"year": 2033,
"value": 0.17390183556629837
}
],
"tau_int": [
{
"year": 2026,
"value": 0.3128559611626518
},
{
"year": 2027,
"value": 0.3139006325469027
},
{
"year": 2028,
"value": 0.31232532045301753
},
{
"year": 2029,
"value": 0.31278491973780054
},
{
"year": 2030,
"value": 0.3133435092632634
},
{
"year": 2031,
"value": 0.31314414677255953
},
{
"year": 2032,
"value": 0.31327752215037974
},
{
"year": 2033,
"value": 0.3129790702889989
}
],
"tau_scg": [
{
"year": 2026,
"value": 0.28336133996697926
},
{
"year": 2027,
"value": 0.2833684122562315
},
{
"year": 2028,
"value": 0.2828407445954024
},
{
"year": 2029,
"value": 0.2840791423502338
},
{
"year": 2030,
"value": 0.2845544888165263
},
{
"year": 2031,
"value": 0.28481607001900205
},
{
"year": 2032,
"value": 0.2848967373063876
},
{
"year": 2033,
"value": 0.285277625628927
}
],
"tau_lcg": [
{
"year": 2026,
"value": 0.18280630598531608
},
{
"year": 2027,
"value": 0.1830144476663731
},
{
"year": 2028,
"value": 0.1829679688634312
},
{
"year": 2029,
"value": 0.18388090065696877
},
{
"year": 2030,
"value": 0.18437947635832222
},
{
"year": 2031,
"value": 0.1847541804054145
},
{
"year": 2032,
"value": 0.1845754751225953
},
{
"year": 2033,
"value": 0.18508416618645537
}
],
"tau_td": [
{
"year": 2026,
"value": 0.2053038317366772
},
{
"year": 2027,
"value": 0.20649173093016085
},
{
"year": 2028,
"value": 0.20768641729537382
},
{
"year": 2029,
"value": 0.20816493005521833
},
{
"year": 2030,
"value": 0.2087589110312411
},
{
"year": 2031,
"value": 0.20936047682363962
},
{
"year": 2032,
"value": 0.20872441217334245
},
{
"year": 2033,
"value": 0.20792201918205175
}
],
"tau_h": [
{
"year": 2026,
"value": 0.03385918037116764
},
{
"year": 2027,
"value": 0.03376110325345599
},
{
"year": 2028,
"value": 0.03370990009622134
},
{
"year": 2029,
"value": 0.033444213400923
},
{
"year": 2030,
"value": 0.033168637894013954
},
{
"year": 2031,
"value": 0.032904420741914325
},
{
"year": 2032,
"value": 0.032489842789964196
},
{
"year": 2033,
"value": 0.03214152480222879
}
]
}
Loading
Loading