Every trader who has written a strategy has met the same ghost: an equity curve that looks wonderful in the backtest and falls apart the moment real money touches it. The comfortable explanation is bad luck, or "the market changed." The more useful explanation, most of the time, is that the backtest was lying from the start and nobody interrogated it.
Backtests rarely lie because the code is broken. They lie because the test quietly answers an easier question than the one you asked. You wanted to know "would this rule have made money if I had traded it?" The test answered "does this rule fit this particular slice of history, given information I would not have had, at prices I could not have gotten?" Those are very different questions, and the gap between them is where accounts go to die.
Here are the five most common lies, each with a concrete example and a check you can run on your own strategy this week.
1. Look-ahead bias: trading on information you did not have
This is the most frequent and the most embarrassing, because it usually hides in one innocent-looking line. The classic case: a daily strategy computes its signal from today's close, then "enters" at today's close. In live trading you cannot do that. By the time the close is printed, the session is over. A subtler version: using split- or dividend-adjusted price series where the adjustment factor is derived from events that had not happened yet, or ranking a universe of symbols using statistics computed over the full test period.
The damage is not small. A momentum rule that enters on the same bar that triggers it can show double the return of the honest version that enters on the next open, simply because it captures the very move that generated the signal.
Self-check: go through every input to your entry and exit logic and ask one question: was this number printable at the moment the order would have been sent? If the answer requires the close of the current bar, force next-bar execution and rerun. If performance collapses, you were not testing a strategy. You were testing a time machine.
2. Survivorship bias: only testing the winners
Take the current constituents of a major index and backtest a buy-the-dip strategy over the past ten years. It will look great. It has to: every symbol in your universe is there because it survived and grew enough to be in the index today. The companies that dipped and never came back are not in your test, and they are exactly the trades that would have hurt.
This bias flatters almost any long-biased, mean-reversion, or "quality" strategy tested on equities. It is invisible in the equity curve and it does not show up as a bug. The code is fine; the sample is rigged.
Self-check: ask where your symbol list came from. If it is "the index as of today" or "the 50 most traded names right now," your universe was selected with future information. Prefer point-in-time universes that include delisted symbols. If you cannot get that data, at least rebuild the universe using only information available at each rebalance date, and treat any stock-picking backtest without this treatment as an upper bound, not an estimate.
3. The zero-cost fantasy: fees, spread, and slippage
Costs feel like a rounding error, so they get left out "for now." Then "for now" ships. Run the numbers on a concrete case: a strategy that trades 400 round trips a year with an average gross edge of 0.12% per trade. Assume 0.03% commission per round trip and 0.05% lost to spread and slippage. That is 0.08% of cost against 0.12% of edge. Two-thirds of the profit was never real, and one bad fill week pushes the whole thing underwater.
High-frequency of trading plus thin average edge is the profile most vulnerable here, and it is exactly the profile that beginner strategies tend to have, because frequent small wins produce the smoothest-looking curves.
Self-check: rerun the backtest under three cost scenarios: optimistic, realistic, and 1.5x realistic. If the strategy ranking flips or the sign of the return changes between scenarios, the edge is cost-fragile and the burden of proof goes way up. As a rule of thumb, be suspicious of any strategy whose average profit per trade is less than three times your realistic round-trip cost.
4. Overfitting: the strategy memorized the past
If you tune parameters long enough on the same data, the curve improves. It always improves. That is not evidence; that is arithmetic. The tell is fragility: a crossover system that works beautifully with a 13-period and 47-period average and a 2.3% stop, but falls apart at 12/45 or 14/50, has not found structure in the market. It has found a coincidence in one dataset.
Every parameter you add, and every rejected experiment you ran before landing on the final version, silently spends statistical credibility. Ten indicators with ten thresholds can "explain" almost any price history, the same way a conspiracy theory can explain almost any news cycle.
Self-check: two habits. First, test the neighborhood: perturb each parameter by 10-20% and look at the whole grid, not the single best cell. A real edge is a plateau; an overfit one is a spike. Second, keep an honest count of how many variants you tried. If the winning configuration is one of two hundred attempts, the appropriate reaction to its backtest is not excitement. It is a hold-out test.
5. In-sample-only reporting: grading your own homework
The final lie is structural. You tuned the strategy on 2020-2024 data, and the performance report covers 2020-2024. Whatever that number is, it is not an estimate of future performance. It is a description of how well the optimizer did its job, and the optimizer always does its job.
Self-check: before tuning anything, fence off a slice of history, typically the most recent 20-30%, and do not touch it until the strategy is frozen. Then evaluate on that slice exactly once. If you evaluate, tweak, and evaluate again, the hold-out has become training data and you are back where you started. The more systematic version of this idea is walk-forward analysis, which repeats the tune-then-test cycle across rolling windows and gives you a whole distribution of honest results instead of one.
The habit that fixes most of this
None of these five require advanced math to catch. They require treating a good backtest the way an editor treats a sensational draft: as an unverified claim. Before believing any equity curve, ask, in order: Could every input have been known at order time? Was the universe chosen without future knowledge? Do realistic costs survive a 1.5x stress? Does the parameter neighborhood hold up? Has this exact configuration ever been run on data it was not tuned on?
A strategy that passes all five is not guaranteed to make money. Nothing is. But a strategy that fails any one of them has told you, in advance and for free, exactly how it plans to disappoint you. Listening at this stage is the cheapest risk management you will ever do.
For research and education only. Not investment advice.