With the rise in popularity of cryptocurrencies lately a lot of people have been getting rich or getting burned on their investments. We wanted to see if there was a way that we could accurately predict the price fluctuations so people will be able to more safely invest their money in cryptocurrencies.
What it does
We pull data from Reddit in the r/Cryptocurrency subreddit and analyze it with sentiment analysis to determine if it is a positive or negative comment about the currency. We take all of this data and compare it to the stock price data. We are running a regression algorithm on this data. We have a number of parameters we can work with including how long it takes for the sentiment to effect price, positive and negative sentiment values, the algorithms effectiveness of predicting short term vs long term, etc.
How we built it
23 hours of intense focus and 1 hour of intense sleep. Written in python.
Challenges we ran into
Finding a proper deep learning model for sentiment analysis. Most of the really good datasets are hogged by greedy companies. Computational complexity on our equipment resulted in a slow testing process.
Accomplishments that we're proud of
Getting sentiment analysis to work and data mining from reddit to write an initial machine learning algorithm to predict the prices of cryptocurrencies.
What we learned
We learned about regression algorithms, natural language processing, and data mining.
What's next for CryptoPredictor
Implementing more data, more parameters, and a more accurate machine learning algorithm. We will need to get either better hardware or use Google Cloud ML services. We want to make sure we are using the best possible sentiment analysis architecture. We want to look into training sentiment analysis based on the prices of the stock rather than using sentiment analysis to train the stock prediction. I.e. Classify comments on the currency the day before a good day as good and the day before a bad day as bad. This way the data will potentially be able to recognize the best possible patterns. The best natural language processing deep learning architectures perform significantly better when they are trained on the task they need to do. We want a significant amount of training and experimentation with different time intervals and different parameters to best get the data to give us accurate results.