-
-
Notifications
You must be signed in to change notification settings - Fork 158
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
Function to modify a reform #1802
Comments
@MaxGhenis said:
I agree with you, @MaxGhenis, that the ability to implement a "compound reform" (consisting of two simple reforms) will be "broadly useful." However, I don't think Tax-Calculator needs any enhancements to do what you want to do. My understanding is that there are no problems calling The (untested) example below assumes use of Tax-Calculator release 0.14.3, the last in which pre-TCJA policy is current-law policy. It also assumes that the "policy" dictionary derived from the
|
Terrific, thank you @martinholmer! I used this to considerably simplify a charitable deduction analysis (commit) and verified it produces identical results to creating my own separate reforms. |
@MaxGhenis, thanks for the feedback on your experience implementing compound reforms by calling the Policy |
For posterity, the reform parameters require underscores, so could look like:
I've found
|
@MaxGhenis, Thanks for the correction on my original example in issue #1802 and for you deepcopy usage tip here. |
I'm working on analyses that involve modifying reforms, for example removing deductions, and adding UBI to existing reforms. The UBI amount will be calculated in my script (to be revenue-neutral), so I'd like to be able to modify the reform on-the-fly. The ideal would be something like:
Where
pol
is an existing reform, e.g. TCJA.Looking through policy.py and parameters.py I don't a way to do this.
While the current motivation of seeing how things change under TCJA will soon be irrelevant, I think this would be a broadly useful tool for sensitivity analysis among proposed reforms.
The text was updated successfully, but these errors were encountered: