backte.st

Parameter robustness: does your strategy survive nearby settings?

Why a strategy that only works at one exact setting is suspicious, how to test nearby parameters, and how to read a sensitivity result.

Most trading rules have numbers in them: a 14-bar RSI, a 50-bar moving average, a 20-bar breakout. A robust strategy keeps working when those numbers move a little. A fragile one only works at one exact setting, which usually means it was fitted to noise.

Plateaus and peaks

Imagine plotting a strategy’s return for every possible lookback length.

If you picked your parameters by trying many values and keeping the best, you are more likely to be sitting on a peak. See overfitting in backtesting.

How the nearby-parameters check works

Backte.st’s Nearby parameters check shifts every indicator period in your rules by ±10% and ±20% at the same time and re-runs the backtest for each. It reports the worst of those results, and you can see the return for each scaling in the report.

For example, a 20-bar and 50-bar moving-average rule is also tested at roughly 16/40, 18/45, 22/55 and 24/60 bars.

Reading the result

Other ways to build robustness

  1. Use round, conventional numbers unless you have a reason not to. They are less likely to be the product of a search.
  2. Prefer fewer parameters. Every extra one is another dimension to overfit.
  3. Test across markets and timeframes. Robust ideas tend to transfer, at least partly.

Try a moving-average trend strategy, such as the 50/200 golden cross, in the lab and open the robustness checks to see the return at each scaling.

Try it in the lab

Build a strategy from indicators, no code needed, run it on a few markets and see this check on your own rules. It’s free and runs in your browser.

Open the lab