Skip to content

feat: add audited SR breakout experiments and retain failed validation - #50

Merged
AlanFokCo merged 2 commits into
mainfrom
feat/sr-trend-improvement
Sep 15, 2026
Merged

AlanFokCo merged 2 commits into
mainfrom
feat/sr-trend-improvement

Conversation

@AlanFokCo

@AlanFokCo AlanFokCo commented Sep 15, 2026 •

Copy link
Copy Markdown
Owner

The baseline combines proximity to a 60-day low with an upward stock trend, producing no support-bounce signals in the frozen eight-stock history. Only 26 round trips completed, with six winners and 2.34% average exposure.

This PR adds an optional, completed-bar direct breakout entry and separate research switches for market slope and market-filter exits. All existing defaults and risk budgets are preserved. Example 25 supports --allow-breakout; ancillary online chart fetches are disabled during local snapshot runs.

A portable research CLI and bilingual documentation retain all 11 declared configurations, 30 original runs, input hashes, data treatment and failed selection gates. Existing result directories cannot be overwritten.

Result Baseline Provisional 60-day breakout
2020-01-02 to 2026-09-10 net return -0.11% +5.07%
Annual return -0.02% +0.75%
Maximum drawdown 3.96% 3.72%
Independent 2023–2024 return -1.30% -0.49%
Independent 2025-01-02 to 2026-09-10 return +2.37% -2.39%

No candidate passed the declared development/validation return gates. Full-period cost stress returned +4.09%, but validation stress was -0.70% and later stress -2.45%. The provisional candidate was frozen before the later check and was not retuned afterward. It is not promoted to the default or represented as reliably profitable.

Evidence: research/sr_risk_budget_2026_09/results.json. Three adaptive rounds reused validation; baseline full history was already inspected, so later checks are not pristine OOS. Inputs use the same static eight-stock watchlist and terminal-rebased Tencent hfq prices (not native qfq); raw-price/corporate-action accounting remains an approximation. No cash interest is credited.

Verification: the shipped CLI exactly reproduced all full-period and annual metrics for the provisional candidate and its cost-stress run. Baseline replay matched the previous report. Documentation sync and strict MkDocs build passed. Local full offline tests passed (1220 tests); 239 targeted strategy/example/workflow checks passed after the offline fix. Final-head CI passed on Python 3.10, 3.11 and 3.12, both offline evaluator jobs, and documentation sync/smoke/strict build. Behavioral regressions cover next-open fills, future-data isolation, breakout rejection, market switches and no external index fetches during snapshot analysis. The doc-sync checkout now fetches full history for the revision-date plugin.

@AlanFokCo
AlanFokCo merged commit b471e93 into main Sep 15, 2026
7 checks passed
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