This repository contains the code for the my final year project at Imperial College London. Specifically, it explores the application of neural networks for sentiment analysis of Twitter Data to predict price changes in thecryptocurrency market. All the necessary Twitter, sentiment and data is provided and can be run directly using the forecast.ipynb notebook to obtain the results and graphs detailed in the report.
Machine learning and neural networks have found extensive uses in financial institutions for time series forecasting. Whilst getting information used to be slow and difficult, social media has revolutionised access to financial news. The rise of cryptocurrencies has offered investors a new market open 24 hours a day with an extremely reactive asset class due to its volatile nature. This project aims to build a complete algorithm capable of analysing sentiments of social media posts using neural networks and other machine learning techniques in order to predict cryptocurrency prices. Furthermore, a strategy will be developed in order to profitably trade cryptocurrencies and outperform current techniques. Some state of the art techniques have previously attempted to predict short term price movement in Bitcoin using machine learning, and even using twitter sentiment data to improve accuracy. This project aims to build a complete algorithm from data collection to trading which will use customised sentiment features and financial evaluation metrics. Over the course of one month of testing, this method generated an average around between 3%, largely beating the benchmarks over the same time period. This method is still being tested under different market conditions and such returns might not be sustainable in real conditions.