BANGER
Product status: Banger’s public beta is paper-only. References to live execution are future-looking. Venue rules and legal claims can change; verify current primary sources for your jurisdiction.
2026-10-07 · 4 min read · reviewed 2026-10-14

Compare Two Strategy Versions Without Cherry-Picking

A higher reported return after a change is a finding to investigate. First check whether the strategy version, data, period and execution assumptions are comparable. This guide describes a reproducible research comparison without treating a selected historical winner as proof.

Paper research evaluates simulated behavior, with no need for a trading-volume statistic or an implication that real money is being deployed. Keep the intended comparison narrow enough that a result can be traced to the declared change.

What one comparison establishes

Searching many variants and reporting only the selected winner can inflate confidence. The Deflated Sharpe Ratio literature analyzes selection and non-normal-return effects under a specified model. A ledger of trials supplies important context; it is not itself a completed statistical correction.

A result from one historical cohort cannot set a universal predictive-power bound for a new event-contract strategy. Instead, preserve the actual path, available data and selection process used in this comparison, and define which additional evidence would answer its unresolved questions.

A backtest can expose mistakes and investigate a hypothesis under stated assumptions. Improving an implementation is not automatically overfitting; repeatedly choosing a rule because it fits inspected outcomes creates a different selection question. Record why a change was made.

Hold everything constant except the one change

A fair comparison isolates the variable you are testing. Everything else must be identical between version A and version B:

Specify the comparison before inspecting its results. If several changes must be evaluated together, record them as a batch and avoid attributing the result to just one. A later adjusted window is another comparison with its own evidence.

Keep the failures and the zero-trade runs

Keep losses, errors and zero-order outcomes with their reasons. Zero orders can be correct for an observer or an untriggered rule, but can also reflect missing data or failed initialization. A runtime error is not a completed negative financial result; distinguish the two rather than deleting either.

Preserve every attempted version and research choice, including discarded trials. Dependence between variants also matters to formal selection corrections; a count alone cannot establish significance.

A later paper run is a different sample, not a rerun

A forward run uses later observations and can reveal new operational behavior, but it is a different sample and potentially a different simulator. Record its overlap with development information and exact instrument selection. Do not use a direct historical-versus-forward metric difference as proof that the code change caused it.

If forward results disappoint, diagnose before you label. Deterioration can come from overfitting, but also from changed market conditions, data timing, or a signal that was real but temporary. A weak later result does not by itself prove overfitting, just as a strong backtest does not prove a durable edge. Investigate the cause rather than assigning an automatic verdict.

Doing this in practice

Use frozen historical inputs for the controlled comparison and preserve the actual result records. The illustration below is a manual research note, not a shipped automated comparison feature or a command that replays the same sample:

# Illustrative research records, not Banger CLI options or actual results.
comparison = {
    "dataset": "same-frozen-fixture",
    "window": "same-predeclared-window",
    "fee_and_fill_model": "same-explicit-model",
    "runs": [
        {"version": "A", "changed_input": "baseline", "result_id": "save-A"},
        {"version": "B", "changed_input": "one-declared-change", "result_id": "save-B"},
    ],
}
# Preserve failures and zero-order outcomes alongside any computed metrics.

Banger’s public beta supports versioned paper research. Sequential banger run sessions observe different live windows; those commands alone cannot hold the sample fixed. Where the product exposes supported comparison or parameter controls, save their accepted configuration and result identity. Follow the actual CLI/setup documentation for a separate bounded forward observer. Public observation requires no venue trading keys, and provider costs and capacity remain separate considerations.

The short version

A controlled record makes a discrepancy easier to interpret. It does not guarantee that an apparent edge is real. Preserve mode-specific fees, assumed passive fills, unknown coverage and completed shutdown when carrying a candidate into a later paper experiment.

Sources

Keep reading

Run your first strategy free

Paper-trade on Polymarket and Kalshi market data without venue keys.

Start free