Repository navigation
Activate transitory medical-shock folding in ACA benchmarks - #20
Draft
hmgaudecker wants to merge 9 commits into
Draft
hmgaudecker wants to merge 9 commits into
hmgaudecker wants to merge 9 commits into
Conversation
`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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.