Repository navigation
Support exact Barra study replay and evidenced corporate-action guards - #38
Merged
Merged
Conversation
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.
Support the fixed 200-company Barra study with the existing exact QExec ledger. Research runs can record daily snapshots while retaining all orders, fills and fees, cache immutable risk views between ledger mutations, and distinguish an initial build budget from later turnover limits. Input and optimization failures remain explicit and never publish fallback targets.
Corporate-action reconciliation now separates an evidenced exchange adjustment reference from the shareholder's actual cash/share entitlement. Unverified entitlements and unsupported fractional quantities stop an exposed replay after QExec rolls it back; the research runner may separately produce a clearly labelled diagnostic prefix. Default recording, risk-view caching, existing configurations and frozen accounts remain unchanged.
Validation: all six Python 3.10–3.12 Windows/Linux CI jobs passed at commit 19190d6. The Python 3.12 Linux run passed 306 tests with 85.60% total coverage; Ruff, reproducible dependency lock, CodeQL and the existing 97% certification-core branch threshold passed. Tests include exact daily/event and cached/uncached ledger parity, cash flows, rollback, fractional entitlements and input guards. Full study results and model-promotion acceptance are separate from this engineering change.