I have a specific backtesting challenge and I’d like to get your advice.
I need to run a backtest of a strategy on a basket of about 20 coins (cryptocurrency symbols). The strategy rules and parameter settings will be exactly the same for all of them. The difference is that for each coin there will be only one single entry point (a predefined timestamp where the trade would have been opened).
My goal is to:
Evaluate the overall results of this strategy across the entire basket of 20 coins.
Run optimization on the strategy parameters to see how the performance would change on the whole set, not just on a single symbol.
In other tools (TW, etc) this is not really possible — their backtesting engine is limited to one instrument at a time.
So here’s my question: Can AmiBroker handle this type of multi-symbol, one-entry-per-symbol backtest? Which tools, features, or workflow inside AmiBroker should I be looking at to implement this kind of testing and optimization?
Any guidance, examples, or best practices would be greatly appreciated.
Thank you! One more question – is there a native way to feed cryptocurrency quotes into AmiBroker?
In particular, I’m interested in futures contract data from Gate.io.
Stick with Amibroker. It really is second to none in terms of retail facing portfolio level backtesting. You'd have to go an learn a programming language to a comptent degree to even experiment with something that would even come close, and htne if you wanted to implement live charting you'd need to build out your own gui, so unless you have 4000 hours to spare.,...
First in terms of the backtesting on historic data. Yes, you'll be able to achieve this with Amibroker very easily. Create a database that you are going to use for your Gate.io symbols, and if you have the csv files, then use the import wizard in Amibroker to import them.
I'm planning on putting a crypto implementation on there soon. I think I have one somewhere in a folder which I can dig out which I got working a few months ago on my owen machine and I have imprved upon the data parsing on the server side since then.
I can include gate.io if I haven't already, as the guys over on ccxt have done that stuff, and its just a matter of a new python dictionary key as they've done the rest. Their watch_trades() and watch_ohlcv(), and watch_tickers() can all be used to parse futures data from gate.io.
I have other things on my list atm though , as well as a full time job, so I can't give you an ETA of when I can get that available. As soon as i have it available for me, you can have it too.
Its python though, I haven't compiled it to a .exe at this stage.