What if you could have the iterable power of a computer and then based on that iteration a computer program creates trading-strategies for you? That could be useful for a number of applications such as: objectively confirm already established trading-strategies, objectively enlighten the investor with new ideas or work as a standalone data-driven strategy.
With Python packages such as scikit-learn this is rather easy to set up. The difficulty lies in the quality of the strategies. In this context, a high-quality strategy could be defined as a strategy that on average makes more wins than losses in absolute terms for all time periods. A low-quality strategy could be defined as a strategy that on average makes more wins than losses in absolute terms for just one specific period in time.
Due to the low signal-to-noise ratio that characterize financial time series, the out-of-the-box strategies and predictions from machine learning models are likely to be too specific to the time period that the algorithm has iterated over and will therefore likely fail out-of-sample.
In this project, quant analyst Niclas Wölner-Hanssen creates a data-driven asset allocation strategy using the machine learning algorithm Random Forest where strategy-quality or “backtest overfitting prevention” is the main goal. The strategy allocates between the stock market and the bonds market and is then compared to a traditional 60/40 strategy.
The results indicate that the strategy selected by the Random Forest has some quality in it by having a rather high rate of correct predictions on the training period that is maintained out-of-sample. In addition, the results also show that the Random Forest strategy outperforms the 60/40 strategy benchmark in terms of risk-adjusted returns.
To read the full report, please see attached PDF below: