When Optimisation Becomes Curve Fitting
Posted: Tue Oct 27, 2026 3:55 am
Every optimiser will find a combination of inputs that looks brilliant on historical data. With enough parameters and enough runs, some setting will always fit past noise. The question is whether that setting describes a repeatable behaviour or merely memorises one stretch of price history.
Warning signs are easy to list. A very high number of tunable inputs relative to the number of trades, a single sharp peak in the results surface, and settings with oddly specific values such as a 13.7 period all suggest memorisation. Rules that make economic sense, such as a session filter tied to liquidity, tend to need fewer arbitrary numbers.
One practical discipline is to count degrees of freedom before testing. Each added filter, threshold or time window consumes some of the data's evidential value. A modest number of trades spread across many parameters leaves very little to support any conclusion.
Preferring broad plateaus over isolated peaks helps. A system whose results degrade gently when inputs shift slightly is more plausible than one that works only at exact values. Simpler logic with fewer inputs usually generalises better, even if the headline backtest looks less spectacular.
Warning signs are easy to list. A very high number of tunable inputs relative to the number of trades, a single sharp peak in the results surface, and settings with oddly specific values such as a 13.7 period all suggest memorisation. Rules that make economic sense, such as a session filter tied to liquidity, tend to need fewer arbitrary numbers.
One practical discipline is to count degrees of freedom before testing. Each added filter, threshold or time window consumes some of the data's evidential value. A modest number of trades spread across many parameters leaves very little to support any conclusion.
Preferring broad plateaus over isolated peaks helps. A system whose results degrade gently when inputs shift slightly is more plausible than one that works only at exact values. Simpler logic with fewer inputs usually generalises better, even if the headline backtest looks less spectacular.