Hello,
I am trying to decide what platform to use for backtesting some systematic trading strategies. What are the pros and cons for each of the following platforms
1. NinjaTrader free edition
2. Amibroker ($339)
3. BackTrader (free)
I have a computer science programming background and can pretty much teach myself any programming language, so the programming language is not a barrier.
I want to keep costs minimal as I get started.
Things that I know I care about:
1. Reasonable backtesting speed.
2. Ability to jump to the candle chart for a trade and see trade markers for buy and sell points.
3. Good way to analyze (sharpe ratio, alpha, equity curves, benchmark comparison etc etc)
In addition to these there are a lot of other things that I do not know yet and will discover as I dig deeper.
Any guidance from people who have experience backtesting in these platforms will be very helpful.
Thanks,
trader609
Can you help answer these questions from other members on futures io?
I am the "backtrader" author and therefore biased and was never a heavy user of neither AmiBroker nor NinjaTrader, so my statements may not be 100% right.
I am happy with the speed. Of course your mileage may vary. The specs here: intel i7 6700HQ, 16GBytes RAM
Also pretty sure that Ninja Trader and AmiBroker have the right speed for you. Maybe even better.
2. Ability to jump to the candle chart for a trade and see trade markers for buy and sell points.
backtrader is the weakest here if you want to move, pan, zoom. The charts produced by backtrader rely on matplotlib and although they look good, they are heavy and zooming and panning is not comfortable.
AmiBroker and NinjaTrader on the other hand are charting platforms and they have both the edge here.
If chart interactivity is not needed (I don't need it to visually evaluate my disasters) you could go for tie
If you know the name backtrader you have probably already seen charts. If not just go to the blog and see some posts.
3. Good way to analyze (sharpe ratio, alpha, equity curves, benchmark comparison etc etc)
backtrader provides you with analyzers which give you the raw values and observers which plot those. "alpha" is not in the arsenal (probably because it is uninteresting for me), but Sharpe Ratio, VWR, Time based Returns, benchmarking, DrawDown, Trade Analyzer are.
Cannot comment on NinjaTrader or AmiBroker. My tests with them never went so far.
4. Even if you can teach yourself any language I would go here for Python rather than proprietary scripting or VB/JScript.
5. Data Feed Integration
With backtrader you can read from CSV files, Yahoo Online, Pandas DataFrames, Interactive Brokers, Oanda and VisualChart.
But backtrader is NOT a data provider.
NinjaTrader and AmiBroker act as an integrated platform with data providers but subject to a fee.
For backtesting against daily bars you can live for a long time with Yahoo, I guess.
6. Jumping to live trading
I am very confident in the abilities of backtrader trading live, but there is no commercial commitment (as of today, the future will tell).
You pay for AmiBroker and NinjaTrader and that should grant you some level of support for bugs.
If it's only about testing many ideas, this may not be a consideration at the beginning.
7. There are other Python based platforms listed on the repository page of backtrader on github. You may want to have a look.
Best regards
The following user says Thank You to mementum for this post: