Add IRS SOI long-term capital gains target#869
Conversation
f02bcdd to
958bd37
Compare
|
Local check against the latest rebuilt That target is not raw 2026 SOI; it is the PolicyEngine-US IRS SOI LTCG parameter, with a 2020 SOI base of $1.137T uprated to 2026 via So this PR is mainly adding an explicit guardrail to the legacy loss matrix and target DB. Since the latest rebuilt file is already close to the uprated SOI LTCG target, I would not expect much impact from this PR on the current capital-gains aggregates or reform revenue. |
958bd37 to
54ec295
Compare
|
Yes, IRS Publication 1304 Table 1.4A has
Local comparison against the latest rebuilt |
54ec295 to
cec27f2
Compare
Summary
policy_data.dbthroughetl_national_targets.pypolicy_data.dbtarget_config.yamlNotes
PR #868 already added AGI-bracket targets for net capital gains, dividends, and taxable interest. The additional source-backed targets here are:
calibration.gov.irs.soi.long_term_capital_gains, which resolves to about $1.681T for 2026Net long-term capital gainby AGI bin, available through TY2023I did not add
short_term_capital_gains: the available parameter is PUF-derived "in the absence of a SOI target" and its 2026 value is negative, so it is not a comparable source-backed target.Local comparison against the latest rebuilt
enhanced_cps_2024.h5:Tests
uv run ruff check policyengine_us_data/db/etl_national_targets.py policyengine_us_data/db/etl_irs_soi.py policyengine_us_data/storage/calibration_targets/refresh_soi_table_targets.py policyengine_us_data/utils/loss.py tests/unit/calibration/test_loss_targets.py tests/unit/calibration/test_target_config.py tests/unit/test_etl_irs_soi_overlay.py tests/integration/test_database_build.pyuv run pytest tests/unit/test_etl_national_targets.py tests/unit/calibration/test_loss_targets.pyuv run pytest tests/unit/test_etl_irs_soi_overlay.py tests/unit/calibration/test_target_config.pyuv run pytest tests/integration/test_database_build.py::test_national_ltcg_agi_targets_loaded