Skip to content

Commit 8a488fe

Browse files
Fix and refactor AMT (#4815)
1 parent 03c285c commit 8a488fe

File tree

15 files changed

+457
-418
lines changed

15 files changed

+457
-418
lines changed

changelog_entry.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
- bump: patch
2+
changes:
3+
fixed:
4+
- Refactor the alternative minimum tax files.
5+
- Include capital gains tax in the final alternative minimum tax calculation.
Lines changed: 56 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,57 @@
1-
rates:
2-
metadata:
3-
unit: /1
4-
reference:
5-
- title: 26 U.S. Code § 55 - Alternative minimum tax imposed (b)(1)(A)
6-
href: https://www.law.cornell.edu/uscode/text/26/55#b_1_A
7-
1:
8-
values:
1+
description: The IRS provides the following Alternative Minimum Tax (AMT) brackets.
2+
metadata:
3+
type: marginal_rate
4+
threshold_unit: currency-USD
5+
rate_unit: /1
6+
label: Alternative Minimum Tax brackets
7+
reference:
8+
- title: 26 U.S. Code § 55 - Alternative minimum tax imposed (b)(1)(A)
9+
href: https://www.law.cornell.edu/uscode/text/26/55#b_1_A
10+
- title: 2024 IRS data release
11+
href: https://www.irs.gov/pub/irs-drop/rp-23-34.pdf#page=12
12+
- title: 2023 IRS data release
13+
href: https://www.irs.gov/pub/irs-drop/rp-22-38.pdf#page=12
14+
- title: 2022 IRS data release
15+
href: https://www.irs.gov/pub/irs-drop/rp-21-45.pdf#page=12
16+
- title: 2021 IRS data release
17+
href: https://www.irs.gov/pub/irs-drop/rp-20-45.pdf#page=12
18+
- title: 2020 IRS data release
19+
href: https://www.irs.gov/pub/irs-drop/rp-19-44.pdf#page=12
20+
- title: CBO Tax Parameters and Effective Marginal Tax Rates | Feb 2024
21+
# 1. Tax Parameters.
22+
href: https://www.cbo.gov/system/files/2024-02/53724-2024-02-Tax-Parameters.xlsx
23+
24+
brackets:
25+
- threshold:
26+
2013-01-01: 0
27+
rate:
928
2013-01-01: 0.26
10-
2:
11-
values:
12-
2013-01-01: 0.02
13-
thresholds:
14-
description: AMT brackets (upper thresholds)
15-
metadata:
16-
unit: currency-USD
17-
period: year
18-
uprating: gov.irs.uprating
19-
reference:
20-
- title: 2024 IRS data release
21-
href: https://www.irs.gov/pub/irs-drop/rp-23-34.pdf#page=12
22-
- title: 2023 IRS data release
23-
href: https://www.irs.gov/pub/irs-drop/rp-22-38.pdf#page=12
24-
- title: 2022 IRS data release
25-
href: https://www.irs.gov/pub/irs-drop/rp-21-45.pdf#page=12
26-
- title: 2021 IRS data release
27-
href: https://www.irs.gov/pub/irs-drop/rp-20-45.pdf#page=12
28-
- title: 2020 IRS data release
29-
href: https://www.irs.gov/pub/irs-drop/rp-19-44.pdf#page=12
30-
- title: CBO Tax Parameters and Effective Marginal Tax Rates | Feb 2024
31-
# 1. Tax Parameters.
32-
href: https://www.cbo.gov/system/files/2024-02/53724-2024-02-Tax-Parameters.xlsx
33-
1:
34-
values:
35-
2013-01-01: 179_500
36-
2014-01-01: 182_500
37-
2015-01-01: 185_400
38-
2016-01-01: 186_300
39-
2017-01-01: 187_800
40-
2018-01-01: 191_100
41-
2019-01-01: 194_800
42-
2020-01-01: 197_900
43-
2021-01-01: 199_900
44-
2022-01-01: 206_100
45-
2023-01-01: 220_700
46-
2024-01-01: 232_600
47-
# CBO forecast.
48-
2025-01-01: 238_500
49-
2026-01-01: 243_800
50-
2027-01-01: 248_800
51-
2028-01-01: 253_700
52-
2029-01-01: 258_600
53-
2030-01-01: 263_700
54-
2031-01-01: 268_900
55-
2032-01-01: 274_300
56-
2033-01-01: 279_700
57-
2034-01-01: 285_300
29+
- threshold:
30+
values:
31+
2013-01-01: 179_500
32+
2014-01-01: 182_500
33+
2015-01-01: 185_400
34+
2016-01-01: 186_300
35+
2017-01-01: 187_800
36+
2018-01-01: 191_100
37+
2019-01-01: 194_800
38+
2020-01-01: 197_900
39+
2021-01-01: 199_900
40+
2022-01-01: 206_100
41+
2023-01-01: 220_700
42+
2024-01-01: 232_600
43+
# CBO forecast.
44+
2025-01-01: 238_500
45+
2026-01-01: 243_800
46+
2027-01-01: 248_800
47+
2028-01-01: 253_700
48+
2029-01-01: 258_600
49+
2030-01-01: 263_700
50+
2031-01-01: 268_900
51+
2032-01-01: 274_300
52+
2033-01-01: 279_700
53+
2034-01-01: 285_300
54+
metadata:
55+
uprating: gov.irs.uprating
56+
rate:
57+
2013-01-01: 0.28

policyengine_us/tests/microsimulation/reforms/test_no_reform.py

Lines changed: 0 additions & 24 deletions
This file was deleted.

policyengine_us/tests/microsimulation/reforms/test_repeal_head_of_household.py

Lines changed: 0 additions & 94 deletions
This file was deleted.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
- name: Integration test - single filer with 150k employment income and 50k qualified dividend income as well as 50k long term capital gains
2+
absolute_error_margin: 0.01
3+
period: 2022
4+
input:
5+
people:
6+
person1:
7+
age: 50
8+
employment_income: 150_000
9+
qualified_dividend_income: 50_000
10+
long_term_capital_gains: 50_000
11+
spm_units:
12+
spm_unit:
13+
members: [person1]
14+
tax_units:
15+
tax_unit:
16+
members: [person1]
17+
households:
18+
household:
19+
members: [person1]
20+
state_code: TX
21+
output:
22+
# expected output from online TAXSIM-35
23+
# which is at: https://taxsim.nber.org/taxsim35/
24+
alternative_minimum_tax: 0
25+
adjusted_gross_income: 250_000
26+
taxable_income: 237_050
27+
net_investment_income_tax: 1_900
28+
income_tax: 43_627.50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
- name: Itemizes
2+
period: 2022
3+
input:
4+
tax_unit_itemizes: true
5+
standard_deduction: 7_000
6+
salt_deduction: 4_000
7+
output:
8+
amt_excluded_deductions: 4_000
9+
10+
- name: Does not itemize
11+
period: 2022
12+
input:
13+
tax_unit_itemizes: false
14+
standard_deduction: 7_000
15+
salt_deduction: 4_000
16+
output:
17+
amt_excluded_deductions: 7_000
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
- name: Single filer, itemizing
2+
absolute_error_margin: 0.01
3+
period: 2022
4+
input:
5+
tax_unit_itemizes: true
6+
taxable_income: 10_000
7+
standard_deduction: 1_000
8+
salt_deduction: 2_000
9+
filing_status: SINGLE
10+
output:
11+
amt_income: 12_000
12+
13+
- name: Joint filers, do not itemize
14+
absolute_error_margin: 0.01
15+
period: 2022
16+
input:
17+
tax_unit_itemizes: false
18+
taxable_income: 10_000
19+
standard_deduction: 1_000
20+
salt_deduction: 2_000
21+
filing_status: JOINT
22+
output:
23+
amt_income: 11_000
24+
25+
- name: Separate filers, do not itemize, with separate addition
26+
absolute_error_margin: 0.01
27+
period: 2022
28+
input:
29+
tax_unit_itemizes: false
30+
taxable_income: 800_000
31+
standard_deduction: 1_000
32+
salt_deduction: 2_000
33+
filing_status: SEPARATE
34+
output:
35+
amt_income: 807_225
36+
37+
- name: Joint filers, do not itemize, without separate addition
38+
absolute_error_margin: 0.01
39+
period: 2022
40+
input:
41+
tax_unit_itemizes: false
42+
taxable_income: 800_000
43+
standard_deduction: 1_000
44+
salt_deduction: 2_000
45+
filing_status: JOINT
46+
output:
47+
amt_income: 801_000
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
- name: Joint filers
2+
absolute_error_margin: 0.01
3+
period: 2022
4+
input:
5+
taxable_income: 1_000_000
6+
amt_excluded_deductions: 1_000
7+
filing_status: JOINT
8+
output:
9+
amt_separate_addition: 0
10+
11+
- name: Separate filer eligible for addition
12+
absolute_error_margin: 0.01
13+
period: 2022
14+
input:
15+
taxable_income: 800_000
16+
amt_excluded_deductions: 1_000
17+
filing_status: SEPARATE
18+
output:
19+
amt_separate_addition: 6_225
20+
21+
- name: Separate, income below limit
22+
absolute_error_margin: 0.01
23+
period: 2022
24+
input:
25+
taxable_income: 700_000
26+
amt_excluded_deductions: 1_000
27+
filing_status: SEPARATE
28+
output:
29+
amt_separate_addition: 0
30+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
- name: Baseline test, single filer with 10k of income
2+
absolute_error_margin: 0.01
3+
period: 2022
4+
input:
5+
taxable_income: 10_000
6+
filing_status: SINGLE
7+
income_tax_main_rates: 1_000
8+
output:
9+
regular_tax_before_credits: 1_000

0 commit comments

Comments
 (0)