Deep dive
Overfitting means training a model so closely to past data that it learns the noise instead of the signal. The model gets very good at explaining what already happened and very bad at handling anything new. Most people associate overfitting with machine learning, but it shows up just as cleanly in systematic trading whenever you look at recent results, decide the parameters are wrong, and adjust them to fit. That adjustment is not research. It is retrofitting. You are not discovering how markets work; you are discovering how last month worked, which is a different and much less useful thing.
The trap is seductive because it looks like diligence. A strategy underperforms for three weeks, so you run an optimization sweep, find a parameter set that would have worked beautifully over those three weeks, and update the live settings. Performance improves briefly — almost certainly because the new parameters happen to fit the next short window too — and then degrades again. So you tune again. Each cycle, the parameter set drifts further from anything grounded in the underlying logic of the strategy and closer to a curve-fitted artifact of recent price history. Quant funds fall for this. Retail algos fall for this. The cost is not just underperformance; it is the gradual erosion of any signal that was real, replaced by a system that is essentially chasing its own tail through recent data.
What v3 actually showed
During the development of WiseBot's v3 systematic two-sleeve book — a 0.6 carry / 0.4 trend blend run against on-chain perpetuals with a taker fee of 0.045% on Hyperliquid — walk-forward testing was used to validate the backtest results. The backtest itself had produced a Sharpe ratio of approximately 0.93 against a buy-and-hold Sharpe of 0.62, with a maximum drawdown of roughly -21% compared to buy-and-hold's -59%. Those are backtest figures; they describe historical simulation, not live results. The walk-forward setup was meant to stress-test whether the parameters held out-of-sample. What happened instead was instructive and uncomfortable: when the walk-forward procedure was allowed to re-optimize parameters at the start of each new period — picking the best-performing settings from the immediately preceding window — the out-of-sample performance deteriorated relative to simply fixing the parameters once and leaving them alone. The re-optimized variants did not preserve the backtest Sharpe. They chased the recent past and arrived at the next period miscalibrated for it. The version that held its parameters fixed across all walk-forward windows was more stable. Not perfect, not guaranteed to hold in live trading, but measurably more consistent out-of-sample than the one that kept updating. The lesson was plain: the optimization pass had already been done. Running it again on shorter, more recent windows was not additional rigor; it was additional noise ingestion.
The discipline that followed was specific: parameters for the carry and trend sleeves are set during the initial research phase using the full available historical window, documented, and then fixed. They are not adjusted in response to recent drawdown or recent outperformance. If the underlying thesis changes — if there is a structural reason to believe the carry or trend dynamics in the target market have shifted permanently — that is a research question that gets treated as a research question, not a tuning knob that gets turned whenever the last few weeks look bad. The bar for changing a parameter is a documented, logic-driven argument, not a recent equity curve.
The portable rule: set your parameters once on the best data you have, write down the reason for each choice, and treat any urge to re-optimize after a losing period as a red flag, not a solution.
The parameter history for v3, along with the on-chain trade record it is being tested against, is publicly verifiable at the-wisebot.com — which is the point: if the parameters were being quietly adjusted, the record would show it.