Skip to content

Activate transitory medical-shock folding in ACA benchmarks - #20

Draft
hmgaudecker wants to merge 9 commits into
codex/pylcm-precise-compatfrom
codex/fold-aca-benchmark
Draft

hmgaudecker wants to merge 9 commits into
codex/pylcm-precise-compatfrom
codex/fold-aca-benchmark

Conversation

@hmgaudecker

Copy link
Copy Markdown
Member

The ACA benchmark now activates the transitory medical-cost fold instead of merely running against pylcm's folding API. Every living regime declares the medical bill as an additive shock to assets before the bill, and the IID transitory draw leaves the state space. The ACA overlay exposes its finite cost-sharing bracket without changing the cost-sharing schedule.

The production grid defaults remain unfolded. Benchmark callers can pass the existing grid flags set to false for the ordinary transition control; shared initial states retain identical seeded draws. Legacy test fixtures keep that unfolded control explicitly.

Validation: the factory regression failed on the previous benchmark pin because the transitory shock was still a state. Focused development tests passed (44 tests), changed source and fold tests passed type checking, and all repository hooks passed. Native verification against the exact pylcm #543 revision is pending; this draft does not claim a speedup.

hmgaudecker and others added 9 commits October 11, 2026 06:45
`GridConfig.fold_hcc_transitory` declares the transitory shock `fold=True`.
Nothing a period computes reads last year's transitory shock, so pylcm then
draws it on the transition only: living regimes keep the lagged persistent
shock, which prices the private premium, and lose the transitory axis.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hs8mfXPYyEa24KaAp6BwCW
`GridConfig.subtract_hcc_bill` declares the asset law toward every target as
`lcm.SubtractedBill`: assets before the out-of-pocket bill minus `oop_costs`,
conditioned on marital status, health, Medicaid eligibility, the private-cover
choice and the ACA cost-sharing bracket. With `fold_hcc_transitory`, pylcm then
averages each target's value over the transitory medical-cost shock once per
period instead of at every source point.

The ACA cost-sharing scale is split at its income bracket, which takes finitely
many values, so the bill can be conditioned on it; the scale is unchanged.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hs8mfXPYyEa24KaAp6BwCW
The shock is `negative_oop_costs`, the out-of-pocket bill negated, added to the
assets before the bill.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hs8mfXPYyEa24KaAp6BwCW
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.

1 participant