Parameter-plateau robustness check (noise-injection analog) via fastbt sweep integration
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Python
- Stelle
- 28
- Fork
- 17
- Merge medio
- 8h 50m
- PR unite (30g)
- 2
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di uberdeveloper/fastbt
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
uberdeveloper/fastbt#31 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
uberdeveloper/fastbt#30 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
uberdeveloper/fastbt#28 ·
-
FB-008: close_trade mixes price and tick; stale exits are silent (zero-P&L fallback) [silent-wrong]Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 70/100
uberdeveloper/fastbt#27 ·
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
uberdeveloper/fastbt#26 ·
Tutte le issue di uberdeveloper/fastbt
Issue simili
-
approved Good First Issue scope: docs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
hiero-ledger/hiero-sdk-python#2730 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
wemake-services/wemake-django-template#3178 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
md/asciidoc/csv: an explicit `encoding="utf-8"` keeps a leading BOM, the auto-detect path drops itAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
docling-project/docling#4846 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
neurostuff/NiMARE#1181 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
pytest-dev/pytest#15180 ·
I maintainer di solito rispondono entro 1 giorno