Backtesting is a great way to get a sense for a strategy and how it has performed in the past.
That said, there are some important limitations to keep in mind:
- Backtesting assumes $0 broker fees.There is no accounting for any trade-related costs of any kind. In real life, you will have costs, commissions, etc.
- Backtesting assumes perfect execution. In other words, it assumes you have perfect liquidity, and your limit orders fill at a specific, pre-defined price every time (either the open, close, low, high, or some average of these). You can use Trade by next to help make more realistic assumptions.
- Backtesting is backward-looking.As the name implies, you are testing how something would have worked if you traded it perfectly in the past. Past performance does not indicate future performance and you should not assume it does.
- Backtesting assumes you are a robot.It assumes you never miss-fire, that you get in and out at the exactly perfect moment each time. You won’t, because you’re only human.