Bitcoin has seen exponential growth, not just in popularity, but also, in value. Today, 1 bitcoin is valued at close to 11,000 USD. This number is constantly changing. People around the world tweet and post statuses about these constant changes, so why not take advantage of these people’s feelings, and build a model that will predict when to buy or sell a bitcoin.
What it does
When a Facebook messenger chatbot is asked when it is best to invest in a bitcoin, the current trends are observed, and a model predicts how likely it is for the price to go up or down, and hence draws a conclusion as to when it would be a good time to invest or sell.
How we built it
Latest tweets and posts about Bitcoin are extracted from Twitter and Reddit. This data is sent through a Deep Convolutional Neural Network that has three convolution layers and three pooling layers. The input layer to the CNN is a word embedding (in addition to the sentiment analysis performed on the data), so the input text can be better interpreted. By hour, the data is compared to the historical price of the bitcoin and a softmax classifier is used to classify as 0 (price will not increase) or 1 (price will increase). We used Google’s NLP API for the sentiment analysis, and Keras and Tensorflow for the Machine Learning part. The training of the algorithm is done on Google Cloud Platform. All of this is sent to the Facebook messenger chatbot to convey to the user.
Challenges we ran into
We were not able to pull data from sources other than Twitter and Reddit. The machine learning module was challenging, it took a lot of time to train the model, and installing Tensorflow was a little difficult. The Facebook messenger chatbot also took a very long time to work. The weak WiFi signal slowed down our process a little bit.
Accomplishments that we're proud of
We really like our idea, and we are happy that we were able to come up with a Machine Learning model, and how the entire application came together in the end. We also liked the idea of a chatbot, to interactively tell the user when to invest. Hopefully, people will find this as useful as we think it is.
What we learned
We learned how to use Keras and Tensorflow to develop a Machine Learning model. We were also able to play around with the Facebook messenger chatbot. It was also interesting to observe the trends in the bitcoin market over the last few years.
What's next for Mad Invest
We will definitely expand our data collection reach. We also want to improve the NLP for the chatbot. The quality of the model needs to be improved. 70% of the Bitcoin traffic is from China, so we want be able to analyze their market (using their social media) and that would be an interesting addition to our project. This would potentially improve the prediction of our model. Most of the NLP APIs are focused on English, we think it would be interesting to explore APIs that focus on other languages (say, Chinese) - so we can analyze that market better.