This backtester is an educational tool, not financial advice. A good-looking backtest is not a promise of future returns. Read this before acting on any result.
What we found
Backtests are extremely easy to fool yourself with. A shared strategy (SMA crossover, fast 2 / slow 3, 1% stop on VGT) reported +219.8% vs +122.5% buy & hold. The numbers were arithmetically correct but completely untradeable:
- Look-ahead bias: the original engine detected a signal on the day's close and bought/sold at that same close — a price you can't actually trade.
- Magic stop fills: the 1% stop filled at the exact theoretical price with no slippage and no gaps.
Fixing just those two assumptions (fill at the next open, real intraday stop fills, slippage) collapsed the same strategy to roughly +18% — far below simply holding. A walk-forward test (parameters re-selected out-of-sample, realistic execution) showed SMA crossovers losing to buy & hold on every ticker tested, winning only ~20–30% of periods.
How to use this tool responsibly
- Keep Execution = Realistic for anything you intend to trust. "Idealized" exists only to show how misleading look-ahead results are.
- Always compare against Buy & Hold net of costs. Beating it is hard.
- Be very skeptical of high returns from tight stops or extreme parameters (e.g. very short SMAs) — these are where artifacts hide.
- If the Optimizer finds a "winner," treat it as a hypothesis to validate out-of-sample, not a strategy.
Known limitations (reality is usually worse)
- Bar resolution — Daily bars cannot see the intraday price path, so tight stops/targets (≤ ~2–3%) cannot be modeled accurately. Hourly and 15-minute intervals improve execution modeling but cover shorter lookback periods (2Y / 1Y respectively). Data available from June 2021.
- Taxes are modeled but simplified — set ST/LT rates to estimate after-tax returns (0 = tax-advantaged account). The model assumes annual payment of net realized gains with loss carryforward, but ignores wash-sale rules, the $3k ordinary-income loss deduction, NIIT, state-specific rules and your exact brackets. Frequent trading is taxed as short-term (ordinary income), which is often the biggest drag versus tax-deferred buy & hold.
- Flat slippage, no market impact — real costs grow with order size, volatility and thin liquidity.
- Perfect fills — assumes every order executes fully; no partial fills, rejects, halts or auction slippage.
- One historical path — past performance, even modeled realistically, does not predict the future.
Bottom line: use this to learn and to disprove ideas, not to find a money machine. Before risking real capital, validate out-of-sample, account for taxes and costs, paper-trade, and start with tiny size.