Machine Learning Based Investment Strategy
The goal of this project was to develop a machine learning backed investment strategy based on multiple binary positive and negative signals sourced from price, market, and environment analysis. The strategy I have developed performed 4x better than the baseline.
The client provided me with a set of around 50 binary signals their financial analysts use to create investment recommendations for their clients. Along with the signals I also received the asset price overtime. I was asked to deliver a machine learning backed investment strategy balancing performance and risk. I was also asked to backtest the strategy and compare it with a baseline strategy the financial analysts created.
In this project first, based on the asset price I created labels indicated price movement and the strength of the movement. Then, I trained an XGBoost classification model predicting price movement and strength indicators. Following, based on this indicators I created an algorithm suggesting what part of the portfolio should be invested in the asset. Finally, I backtested this strategy and compared ith with the baseline provided by the client.
My algorithm achieved 4x better performance measured in the portfolio size at the end of the time period. From the initial portfolio size of 100, the baseline made 400, and my algorithm made 1500. To compare risk I used a maximum drawdown indicator. Both strategies achieved similar results of around 20%.
As the preliminary results were very promising currently, the client is considering further research in this area. Moreover, they are consulting with their advisory board and clients implementing such an investment strategy in production.