Crypto backtesting software
Most tools will tell you they handle crypto. Far fewer ship the data.
The finding
17 of the 20 platforms assessed here list crypto. 7 support it natively. The other 10 qualify it: you bring the data, or it depends on the broker you connect, or the support stops short of a full backtest.
That distinction is the page. A list of asset classes counts all 17 the same way, which is how people end up choosing a tool and discovering the gap afterwards.
Who ships crypto, and how
| Platform | Support | Rigour |
|---|---|---|
| QuantConnect | Nativecrypto (spot) | 6.8 |
| NautilusTrader | NativeCrypto (spot and perpetuals) | 5.8 |
| Wealth-Lab | Native | 5.8 |
| Forex Tester | Native | 4.3 |
| TradingView | Native | 4.3 |
| Freqtrade | Nativecrypto (spot) | 4.0 |
| TrendSpider | Native | 3.8 |
| NinjaTrader | Broker-dependentcrypto (data via Coinbase adapter) | 5.5 |
| MetaTrader 5 | Broker-dependentCFDs (indices, commodities, crypto) | 5.3 |
| Composer | Broker-dependentCrypto (state-eligible, via Alpaca Crypto) | 3.3 |
| TradeStation | Limited | 5.5 |
| StrategyQuant X | Bring your own datacrypto (via Binance data import) | 5.8 |
| Zipline Reloaded | Bring your own datacrypto/other via custom bundles and calendars (community workarounds) | 5.5 |
| VectorBT | Bring your own data | 5.3 |
| AmiBroker | Bring your own datacrypto (via imported data) | 4.5 |
| Backtrader | Bring your own datacrypto (via community data feeds) | 3.8 |
| Backtesting.py | Bring your own data | 3.5 |
Levels come from a structured field on every platform, normalised from each vendor's own wording, with the original qualifier kept and shown above.
Why the gap is so wide here
Crypto is where the gap between listing an asset class and supporting it is widest. Exchanges are fragmented, history is uneven across venues, and perpetual futures have funding rates that a spot engine ignores entirely. A platform can honestly say it handles crypto and still expect you to arrive with a CSV.
If a platform needs you to supply the data, the quality of your backtest becomes the quality of your download: which exchange, which pairs, whether gaps and outages are marked, and whether the timestamps are exchange time or yours.
Support is not trustworthiness
Reading the two columns together is the point. Whether a platform can load crypto is a data question. Whether the number it hands back means anything is a different one, and it is the one almost nobody checks: only 2 of 20 platforms correct a result for how many variants you tried. A tool can have perfect crypto data and still hand you a number that is mostly search luck, which is what overfitting is.
Frequently asked questions
Which backtesting platforms support crypto natively?
7 of the 20 assessed here: QuantConnect, NautilusTrader, Wealth-Lab, Forex Tester, TradingView, Freqtrade, TrendSpider. A further 10 list crypto but qualify it, either because you supply the data yourself or because it depends on the broker you connect.
Why do so many tools list crypto without really supporting it?
Crypto is where the gap between listing an asset class and supporting it is widest. Exchanges are fragmented, history is uneven across venues, and perpetual futures have funding rates that a spot engine ignores entirely. A platform can honestly say it handles crypto and still expect you to arrive with a CSV.
What goes wrong when I supply my own crypto data?
If a platform needs you to supply the data, the quality of your backtest becomes the quality of your download: which exchange, which pairs, whether gaps and outages are marked, and whether the timestamps are exchange time or yours.
Does native support mean the backtest is trustworthy?
No. Support is about data and plumbing. Whether the number is trustworthy depends on whether the engine controls look-ahead, models fills honestly, and corrects for how many variants you tried, which is what the rigour column measures and where most platforms score badly. Check both.
Related
Educational content only, not investment advice.