docs: record I5d standalone MMP feasibility progress#40
Merged
Conversation
Record the merged minute-factor milestones in CLAUDE.md progress: - P-I5c (PR #37): MMP minute factor + EW daily aggregation, configurable intraday score_feature, end-to-end opt-in alpha through the event engine. - P-I5d (PR #39, standalone against main): MMP 5-quantile grouped backtest (CSI500, 2021-06..2026-05, 59 rebalances); monotonic Q1->Q5 final NAV 0.9822->1.1577 (Spearman 1.0), synthetic Q5-Q1 spread +17.15% cumulative. EXPLORATORY — not a performance/tradable claim, not parameter tuning. - Caveats preserved: covered=892/995 (103 minute-uncovered constituents dropped, window not shortened), stk_mins_live_calls=0, Q5-Q1 is a synthetic long-only leg difference (not an executed dollar-neutral book), execution model still lacks partial-fill / liquidity / volume-cap realism. - PR disposition: #37 auto-merged when #39 landed (its head became a main ancestor); #38 (i5d stacked on i5c) is fully superseded by #39 (zero remaining diff) and left OPEN pending cleanup (no approval to close). - Update PR list, gate counts (577 passed / 17 configs; +I5c=18 +I5d=19), and next-step roadmap (I5d independent generalization). Docs-only; no code behavior change (phase0 ic 0.9600 / annual 0.8408 unchanged). AGENTS.md progress history predates this (stuck at P4-2/#25) and is a separate drift not resynced here.
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.
What changed
Docs-only progress update in
CLAUDE.mdrecording the merged minute-factor milestones:intraday.score_feature; first EXPLORATORY minute factor wired end-to-end as an opt-in alpha through the event engine. Daily close-to-close unchanged.main) — MMP 5-quantile grouped backtest of the I5c daily scoreintraday_mmp20_ew_0930_1450: each monthly rebalance ranks the cross-section into 5 equal-count buckets (Q1 low / Q5 high), each group runs as its own long-only equal-weight portfolio through the sameBacktestEngine+IntradayTailEventModel+SimExecution(fee_rate=0.001)with I5b rawstk_limitexecution feasibility ON.000905.SH), 2021-06-01 → 2026-05-31, 59 monthly rebalances; final NAV Q1→Q5 0.9822 / 1.0423 / 1.0495 / 1.1275 / 1.1577 (monotonic, Spearman 1.0000); synthetic Q5−Q1 spread +17.15% cumulative.Also updated: merged-PR list, quality-gate counts (577 passed / 17 configs; +I5c=18 +I5d=19), and the next-step roadmap (I5d independent generalization).
EXPLORATORY — not a performance/tradable claim
The MMP quintile monotonicity is the project's first positive intraday signal but is one overlapping 5-year window on one universe, no tuning, no robustness matrix, no learned weights. Q5 > Q1 is NOT framed as a performance claim.
Caveats preserved
covered=892/995— 103 minute-uncovered CSI500 constituents dropped (disclosed; the 5-year window is not shortened).stk_mins_live_calls=0(cache-only minute load).Superseded-PR note (#37 / #38)
feat/i5c-mmp-minute-factorbecame amainancestor (the 5 I5c commits were bundled into feat: I5d MMP minute-factor grouped backtest — standalone feasibility (incl. I5c plumbing) #39). Not a manual merge.feat/i5c-mmp-minute-factor) is fully superseded by feat: I5d MMP minute-factor grouped backtest — standalone feasibility (incl. I5c plumbing) #39 — zero remaining commit/file diff vsmain. Left OPEN pending cleanup; not closed (no explicit approval to close PRs).Verification
git diff --name-only main...HEAD→CLAUDE.mdonly (docs-only, no code change).git diff --check main...HEAD→ clean..config.jsontoken value 0 hits; noFAKE_TUSHARE_TOKEN;.config.json/tushare.tokenappear only as pre-existing config-key / scan-target descriptions.main:pytest577 passed,ruffclean, 17 configs validate,run-phase0→ic_mean=0.9600, annual_return=0.8408(no behavior drift).Docs-only, no code behavior change. (AGENTS.md progress history predates this — stuck at P4-2/#25 — and is a separate drift not resynced here.)