Trend-Following Backtester · Guide · Concepts 한국어

Concepts

What is backtesting? How simulated trading works and when not to believe it

Backtesting answers “what if I had followed this rule for the last five years?” It sounds simple. There are more ways to inflate the answer than to get it right.

How it works: walk forward one day at a time

Start at the first day of history and step forward. On each day, evaluate the rule using only data available up to that day, act on the result, and accumulate the balance.

That constraint is the whole game. If tomorrow's price leaks into today's decision, the backtest is void — you were trading with knowledge of the future, and the result will not reproduce.

How this site avoids it — signals are computed only from bars whose close is final. A bar still forming keeps changing, so it never decides anything. Indicators that revise their own history, like Parabolic SAR, get a dedicated test proving no future reference.

Four numbers to read

Ethereum, 2017-09-25 to 2026-07-30. Buy and hold returned 27.1% CAGR with a -95.6% drawdown.

StrategyCAGRMax DDSharpeTrades
Supertrend97.2% -48.5%1.5493
Parabolic SAR95.0% -47.8%1.54149
Bollinger band breakout94.8% -48.6%1.5671
SMA crossover89.6% -49.0%1.42107
EMA crossover85.9% -51.4%1.39121

Five ways results get inflated

1. Look-ahead bias

Unconfirmed information entering the decision. The most common and most fatal.

2. Survivorship bias

Testing only on what still exists today. Drop the delisted names and every strategy looks good.

3. Ignoring costs

Worse the more often you trade. This site charges 0.5% round trip by default.

4. Overfitting

Fitting parameters to the past. Measured directly in optimization and overfitting.

5. Cherry-picking

Showing only the windows that worked. Which is why the asset pages here publish the unflattering results too.

A good backtest is not a promise. Gaps, thin liquidity, taxes and rejected orders are not fully modelled by any simulation. Backtesting is a tool for rejecting bad rules, not for proving good ones.
Run a backtestSee the overfitting trap

Read next