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

Revise capital-gains behavioral response logic #854

Merged
merged 10 commits into from
Aug 1, 2016
Merged

Revise capital-gains behavioral response logic #854

merged 10 commits into from
Aug 1, 2016

Conversation

martinholmer
Copy link
Collaborator

@martinholmer martinholmer commented Aug 1, 2016

This pull request changes the behavioral response elasticity for long-term capital gains to be similar to that used in JCT-CBO research paper JCX-56-12. This change means that valid _BE_cg elasticity values are now zero or negative (not positive). Also, note that the new elasticity's denominator is the change in marginal tax rate on long-term capital gains (not the percentage change in the net-of-tax rate) and and its numerator is the change in the logarithm of long-term capital gains.

@MattHJensen @codykallen @feenberg @talumbau @zrisher @Amy-Xu @GoFroggyRun

@codecov-io
Copy link

codecov-io commented Aug 1, 2016

Current coverage is 98.12% (diff: 100%)

Merging #854 into master will increase coverage by 0.01%

@@             master       #854   diff @@
==========================================
  Files            13         13          
  Lines          1791       1809    +18   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits           1757       1775    +18   
  Misses           34         34          
  Partials          0          0          

Powered by Codecov. Last update 60efd84...f0a1ee9

@feenberg
Copy link
Contributor

feenberg commented Aug 1, 2016

On Mon, 1 Aug 2016, Martin Holmer wrote:

This pull request changes the behavioral response elasticity for long-term capital gains to be
similar to that used in JCT-CBO research paper JCX-56-12. This changes means that valid _BE_cg
elasticity values are now zero or negative. The new elasticity is with respect to a change in
the marginal tax rate on long-term capital gains (not with respect to a net-of-tax rate) and
the change in long-term capital gains is logarithmic.

Is there some reason for using the marginal rate rather than the net of
tax share? The latter has been conventional for many years now.

dan

@MattHJensen @codykallen @feenberg @talumbau @zrisher @Amy-Xu @GoFroggyRun


You can view, comment on, or merge this pull request online at:

  #854

Commit Summary
  • Move diagnostic table logic from calculate.py to utility.py
  • Merge branch 'master' into move-diagnostic-table
  • Change 'assert_allclose' to 'assert np.allclose'.
  • Move ExpandIncome to calc_all; add comments.
  • Call calc_one_year (not calc_all) in Behavior.response method.
  • Call calc_one_year (not calc_all) in Calculator.mtr method.
  • Revise calc_all to use Behavior response.
  • Revise calc_all logic and revise test_calculate test.
  • Revise calc_all logic and test it.
  • Revise taxbrain/behavior.py to use new calc_all logic and test it.
  • Add Policy.current_law_version() method and test it.
  • Use Policy.current_law_version() in Calculator.calc_all().
  • Fix typo in taxbrain/behavior.py file.
  • Add multiyear_diagnostic_table and test it.
  • Use multiyear_diagnostic_table function in test_pufcsv.py file.
  • Two minor fixes.
  • Revise taxbrain/behavior.py to handle BE_cg != 0.
  • Drop unused variable from calculate.py file.
  • Revise BE_cg logic to be similar to JCT/CBO.

File Changes

  • M taxcalc/behavior.json (2)
  • M taxcalc/behavior.py (86)
  • M taxcalc/calculate.py (120)
  • M taxcalc/functions.py (13)
  • M taxcalc/policy.py (17)
  • M taxcalc/taxbrain/behavior.py (77)
  • M taxcalc/taxbrain/behavior.results (21)
  • M taxcalc/tests/test_behavior.py (12)
  • M taxcalc/tests/test_calculate.py (47)
  • M taxcalc/tests/test_policy.py (26)
  • M taxcalc/tests/test_pufcsv.py (11)
  • M taxcalc/tests/test_utils.py (12)
  • M taxcalc/utils.py (128)

Patch Links:


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the
thread.[AHvQVUnRrqJ7OwFB61oBx56U0MPncrWGks5qbfEdgaJpZM4JZkc8.gif]

@martinholmer
Copy link
Collaborator Author

Dan @feenberg asked:

Is there some reason for using the marginal rate rather than the net of tax share? The latter has been conventional for many years now.

Because Alex Brill and Matt Jensen asked for the elasticity concept used in the cited JCT-CBO paper.

@feenberg
Copy link
Contributor

feenberg commented Aug 1, 2016

On Mon, 1 Aug 2016, Martin Holmer wrote:

Dan @feenberg asked:

  Is there some reason for using the marginal rate rather than the net of tax share?
  The latter has been conventional for many years now.

Because Alex Brill and Matt Jensen asked for the elasticity concept used in the cited JCT-CBO
paper.

OK.

dan


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the
thread.[AHvQVZhIrp1SJc-phthxCLoNhohrd93gks5qbgc0gaJpZM4JZkc8.gif]

@martinholmer martinholmer merged commit fc80557 into PSLmodels:master Aug 1, 2016
@martinholmer martinholmer deleted the revise-cg-behavior branch August 1, 2016 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants