Parameter-plateau robustness check (noise-injection analog) via fastbt sweep integration
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- Python
- Star
- 28
- Fork
- 17
- Merge trung bình
- 8 giờ 50 phút
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của uberdeveloper/fastbt
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
uberdeveloper/fastbt#31 ·
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
uberdeveloper/fastbt#30 ·
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
uberdeveloper/fastbt#28 ·
-
FB-008: close_trade mixes price and tick; stale exits are silent (zero-P&L fallback) [silent-wrong]Đang mởbug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 70/100
uberdeveloper/fastbt#27 ·
-
bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
uberdeveloper/fastbt#26 ·
Tất cả issue của uberdeveloper/fastbt
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
UKGovernmentBEIS/control-arena#917 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
debpalash/VoiceStudio#2937 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
aws-samples/sample-per-model-bedrock#261 ·
Maintainer thường phản hồi trong vòng 1 ngày