Parameter-plateau robustness check (noise-injection analog) via fastbt sweep integration
还没有人认领这个 Issue。
评估
调研方向
Start by reading the statistical-testing skill section and AGENTS.md, especially its notes on strategy state isolation and concurrent parameter sweeps. Define the Tier 1 sweep table input and plateau verdict first, then investigate the fastbt sweep entry points for Tier 2. Done means both tiers produce a neighborhood report with the specified SPIKE DETECTED or PLATEAU verdict.
由索引模型根据 Issue 内容生成。
描述
Context
The QuantGPT noise-injection test (add Gaussian noise to factor values, 0.1–2.0× std; pass if IC at 0.5× noise retains ≥50%) ports to strategy validation only as a parameter-perturbation check: perturb strategy parameters slightly and verify performance degrades gracefully. An optimum sitting on a plateau is robust; a spike means the backtest is overfit to that exact parameter value.
This requires data the statistical-testing skill cannot generate alone: a parameter-sweep results table (param value → metric) or engine re-runs.
Proposal
Two-tier integration:
Tier 1 — sweep table input (data-only, skill-side):
- Accept a sweep results file (e.g.
threshold,sharpecolumns). - For chosen optimum θ*, evaluate neighbors θ* ± δ (and optionally ±2δ):
- Pass:
min(neighbor_metric) / optimal_metric ≥ 0.5(mirrors QuantGPT 50% noise retention) - Also check smoothness: fit local quadratic/loess, flag high-curvature optima
- Pass:
- Report: heatmap-style ASCII table of parameter neighborhood + plateau verdict
Tier 2 — engine integration (fastbt-side):
- Given a Strategy class + perturbation grid, run backtests via fastbt's
concurrent.futuresparameter sweeps (AGENTS.md: strategy state isolation exists for exactly this). - Feed resulting sweep table into Tier 1 check.
Acceptance
- Tier 1: skill section handles
param sweep → plateau verdictwith no engine dependency - Tier 2: helper that takes Strategy + grid, runs sweeps in parallel, returns sweep table
- Output uses existing tweet-style format with ⚠️ SPIKE DETECTED / ✅ PLATEAU verdicts
- 主要语言
- Python
- 星标
- 28
- 派生
- 17
- 平均合并
- 5 小时 7 分钟
- 30 天内合并 PR
- 1
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
uberdeveloper/fastbt 的其他 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 72/100
uberdeveloper/fastbt#29 · 2 条评论 ·
-
bug
难度 4/5 3-5 天 新手友好度 48/100
uberdeveloper/fastbt#31 ·
-
bug
难度 4/5 3-5 天 新手友好度 52/100
uberdeveloper/fastbt#30 ·
-
bug
难度 4/5 3-5 天 新手友好度 48/100
uberdeveloper/fastbt#28 ·
-
FB-008: close_trade mixes price and tick; stale exits are silent (zero-P&L fallback) [silent-wrong]未关闭bug
难度 3/5 1-2 天 新手友好度 70/100
uberdeveloper/fastbt#27 ·
查看 uberdeveloper/fastbt 的全部 Issue
相似的 Issue
-
难度 1/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 85/100
tharje/spooler-v2#20 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
维护者通常 1 天内回复
-
Bump version of azure-servicebus可能已有人在做 @joostlek 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 68/100
home-assistant/core#186275 ·
维护者通常 1 天内回复
-
documentation
难度 1/5 1 小时以内 新手友好度 72/100