Methods

I first calculated features of percent change in price, volume traded, and volatility over 12 time intervals from 1 hour to 12 hours and used these as inputs in each model. Then, after implementing the baseline machine learning models using python, I focused on designing machine learning systems that would be improvements over the baseline model. I created four different machine learning systems that each used a combination of the baseline machine learning models and features from the original feature vector, as well as new features derived from the original features.

The first model I created used the recurrent neural network to predict values of the three distinct features over the future hour interval and then used a random forest on only the future features to predict the percent change in price over the next hour. The second model I created was similar to the last model, except I used the recurrent neural network and hidden markov model to predict future features over 12 equally spaced time intervals ranging from 1 hour to 12 hours in the future. I again used a random forest on these new features to predict the percent change in price. The third model I created was also similar to the last model except I input the future features and the past features together into a random forest model to predict the percent change in price. The fourth model I created went in a different direction than the last three models. Instead of using predicted features as inputs to a final model, I ran all five baseline machine learning models to come up with five different values for the 1 hour predicted change in price. I then input these values as features in a random forest to combine the original predicted values into a single value.