Trading Results

Although none of the machine learning models were able to predict the future with extremely high accuracy, many of the models had significant predictive power and also showed improvement over the baseline models. The best model was the fourth model I designed that combined the predictive power of the baseline models. This model likely performed best because it weighted the predictions of multiple models to form a more complete understanding of the interactions between features. A scatter plot of the predicted vs. actual change in prices are shown below. The model achieved the highest R^2 with a value of 0.01585, meaning that 1.585% of the variability in the future percent change in price was predictable by the model. The model also had a low mean squared error with a value of 0.01471, meaning that the average of the square of the difference between what was predicted and the actual value was 1.471%.

In addition to these statistical tests, I also created an algorithm that calculates the theoretical profitability of each of the models had it been trading over the testing period. For each trigger, the algorithm calculates a buy or sell amount proportional to the predicted change in price and places limit buy or sell order at the top of the orderbook. Since the exchange offers margin trading, the algorithm is allowed a net negative position in any cryptocurrency. The profitability algorithm accumulates all the buy and sell orders that were traded against before the next trigger and calculates the profit or loss of the trade over the next hour. Since the exchange charges a 0.10% fee for each limit order, 0.20% of each trade was deducted from the total profit for trading into and out of that position. The net profit of every trade was recorded in a new data table and graphed over the testing periods for each model. I also compared each model to a buy and hold strategy where each of the 10 cryptocurrencies were bought in equal amounts at the beginning of the testing period then sold at the end with no trading done in between. ThisĀ model achieved a fairly low risk profit of 11.378 bitcoins on an original 25 bitcoin investment over the month period, which equals a return on investment of 45.5%. However, it was not able to beat the the market index which acheived a profitĀ of 26.550 bitcoins for a total of 106.2% return on investment.