Cryptocurrency Price Prediction Using Social Media Sentiment Data

Bashir Sani Sabo and Bashir Shehu Galadanci

KeywordsCryptocurrency, Decision Tree, Gradient Boosting Regressor, CATBOOST Regressor, Random Forest


Due to the boom and bust of Bitcoin in 2017, there has been increased interest in cryptocurrency by organizations, academia, businesses, industries, and individuals with many considering cryptocurrencies as investment assets rather than just digital coins. However, due to the sudden drop in Bitcoin price, academic researchers’ attention has been drawn to developing a prediction model on which to base investment. Although there is existing research work done on predicting cryptocurrency price, very few consider the two major data sources (Social media sentiment data and Historical price data) for comparison purposes, and to the best of our knowledge, none has considered merging the two data sources for price prediction. This paper proposed a novel cryptocurrency price prediction model based on tree-based machine learning algorithms namely: Decision Tree, Gradient Boosting Regressor, CATBOOST Regressor, and Random Forest using social media sentiment data (tweets) and cryptocurrency historical price data for the three most popular cryptocurrencies: Bitcoin, Ethereum, and XRP. We scrap data from Twitter with a sample size of 100 tweets daily for 2 years. We then pre-process the data and run sentiment analysis on the 100 tweets to arrive at a single sentiment for the 100 tweets. The historical price data obtained from Yahoo Finance is then merged with the tweet sentiment for prediction using our machine learning algorithms. The proposed model performs best with Gradient Boosting Regressor with an accuracy of 98.94%, Mean Absolute Error (MAE) of 0.00400, Means Squared Error (MSE) of 0.00028, and R2 score of 0.93 for XRP. The gradient Boosting regressor also performs best for the BTC model with an accuracy of 97.65%, MAE: 482.2100, MSE: 508309.8100, RMSE: 712.9600, and an R2 score of 0.96. The same is also applied to the Ethereum model with an accuracy of 99%, MAE: 12.7133, MSE: 295.1983 RMSE: 17.1813, and R2 score of 0.99