Common mistakes when backtesting an investment plan

A backtest runs an investment plan against historical data to see how it would have done. It is a useful tool for building intuition, and an easy one to fool yourself with. These are the mistakes that come up most often, and how to avoid them.

1. Survivorship bias

You can only backtest investments that still have price history available. Companies that went bankrupt, were acquired, or were delisted, and funds that were closed because they performed poorly, often disappear from the data. What remains is a population of survivors.

This tilts results in a predictable direction. If you pick a well-known company today and test it over the past twenty years, you are, almost by definition, testing a company that did well enough to still be well known. Investors at the start of that period had no way of knowing which companies would make it.

How to avoid it: be especially skeptical of backtests on individual stocks you chose because they are successful today. Broad index funds suffer less from this problem, because the index itself replaced failing companies over time, but even then, the choice of which market or index to test can carry hindsight.

2. Ignoring fees, taxes, and other costs

Most simple backtests, including InvestGraph's, assume you buy at exactly the closing price with no costs at all. Real investing involves some combination of:

Each of these can look small in a single year, but they compound over long periods just as returns do. How to avoid it: treat a cost-free backtest as an upper bound, and mentally subtract a realistic amount for your own situation, or compare strategies that would incur similar costs.

3. Cherry-picking dates

The start and end dates of a backtest can change its conclusion entirely. Starting just after a major market low makes almost any plan look brilliant. Starting just before a long decline can make the same plan look terrible. Ending at a market peak versus a trough can shift the result dramatically.

This happens even without bad intentions. It is natural to choose round-number periods, or a period you remember, and those choices can unknowingly favor one outcome. It is also the most common way that impressive-looking charts are produced for marketing.

How to avoid it: run the same plan over many different start and end dates. Shift the start date forward and back by a year or two at a time. A robust conclusion should hold up across most of those windows. If it only holds for one specific window, it is a fact about that window, not about the plan.

4. Currency effects

If you live in one country and invest in assets priced in another currency, your actual return depends on both the asset's performance and the change in the exchange rate. A foreign stock that rose in its own currency may have gained much less, or even lost money, after converting back to your home currency, and the reverse can also be true.

InvestGraph shows results in the security's own trading currency. The currency label you enter is only text; no conversion is applied. A US ETF simulated with the label "KRW" is still showing dollar amounts. How to avoid it: keep the label consistent with the security, and remember that for foreign holdings, the exchange-rate path over your period could have changed the real result substantially.

5. Look-ahead bias

Look-ahead bias means using information in a backtest that would not have been available at the time. A classic example is choosing a strategy or investment because of how it later performed, and then "testing" it over the same period. The test only confirms what you already knew when you chose it.

How to avoid it: decide what you are testing based on reasoning you could have applied at the start of the period, and be wary of repeatedly tweaking a plan until the backtest looks good. Each tweak tends to fit the plan more closely to the past, and makes it less likely to work in the future.

6. Treating one path as the answer

History happened only once. A backtest shows one sequence of returns, but a slightly different sequence, with the same crash arriving a few years earlier or later, could have produced a very different result for a contribution plan. That matters a great deal for DCA, where the timing of declines relative to your contributions shapes the outcome.

How to avoid it: use backtests to understand behavior, such as how deep drawdowns got, how long recoveries took, and how contributions interacted with declines, rather than to forecast a specific number.

7. Forgetting about behavior

A simulated investor never panics, never pauses contributions after a scary headline, and never sells at the bottom. Real people sometimes do, and those decisions can matter more than the choice of strategy. How to avoid it: watch the whole path, not just the final value. If the plan spent years below the amount invested, ask yourself honestly whether you would have kept going.

8. Trusting the data unconditionally

Historical data from any source can contain errors, missing days, incorrect dividend records, or adjustments made after corporate actions. Older data and less widely traded securities are more prone to problems. How to avoid it: if a result looks surprising, check the transaction list for odd prices, and compare against another source. See our data sources page for the limitations of the data InvestGraph uses.

A short checklist

With these in mind, the simulator becomes a much more useful tool. For an explanation of exactly what the simulator assumes, see How to use InvestGraph.

Try it in the simulator →