Creating strategies for Cryptocurrencies with StrategyQuant
In this article, I discuss ways how you can create strategies for a crypto market in StrategyQuant. Cryptocurrencies have been here for several years now. Some traders consider them as the gold of the 21st century while the others just as an instrument for transferring money and interesting technology. I will discuss ways how to create strategies for Crypto from a technical perspective.
I create strategies for bitcoin futures. Why I decided for this option? A futures contract is a product regulated by the US government therefore I consider it to be the safest environment for trading of this volatile instrument. TradeStation broker, which is known for the best quality data, have data available from 17.12.2017. StrategyQuant also supports export strategies into TradeStation therefore we can test created strategy right-away in the broker’s platform.
Bitcoin futures contract specs
Practice: Creating Crypto strategies for Futures
BTC data import into StrategyQuant
For this step, I use an approach which is described in this article: https://strategyquant.com/blog/importing-data-tradestation-strategyquant/
You can use @BTC ticker and M1 data precision.
Instrument definition in StrategyQuant
I use the StrategyQuant default setting with several updates.
The default StrategyQuant building setting. After loading finishes, stop generating process because we want to make some updates in the settings.
StrategyQuant data setting
In the data setting, we select the TradeStation engine and the BTC symbol. As we have quite short data sample (three years) we need to create strategies for higher timeframes. The H1 timeframe seems like a good compromise. Also, I select a different distribution of data used into IS and OOS intervals.
In the ranking options, I use an approach that is suitable in case you have just started to research creating strategies for a new symbol. In this case you need to disable as much ranking criteria as possible to be able to generate a large enough initial sample of strategies. Once you get some strategies then you can turn ranking criteria on one by one to filter strategies with the best parameters. Simply we need to start with a basic concept and later make it more complex. Now let’s start generating strategies.
After a few seconds of generating process runs, the first strategies appears in the databank. Let’s review one of them:
Generated strategies in databank.
Backtest in StrategyQuant
Backtest in TradeStation
As the last step we performed a control backtest in TradeStation. It looks like equities differ but strategy is profitable.
Report in TradeStation
As you can see, StrategyQuant can create strategies for almost any kind of trading symbol. Me personally, I prefer to trade symbols which have long history and are on the market for the long time. However, for experimental purposes it would be interesting to put these generated strategies on a demo account. Also, it is a question how to perform robustness tests in this case as we used only three years of historical data to generate strategies. You might write your ideas into the comments below.