Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Parameter-plateau robustness check (noise-injection analog) via fastbt sweep integration

Open
#19 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
python
Domain
data, testing

Research direction

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.

Written by the indexing model from the issue text.

Description

enhancement

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, sharpe columns).
  • 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
  • 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.futures parameter 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 verdict with 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
Dominant language
Python
Stars
28
Forks
17
Avg merge
8h 50m
Merged PRs (30d)
2

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from uberdeveloper/fastbt

All issues in uberdeveloper/fastbt

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.