Inspiration
After a module in Computer Science about intelligence systems, we decided that we wanted to attempt to make our 'intelligent' program. We also saw the competition that we'd be facing from the likes of JP Morgan, Blackrock etc and we wanted to see how our skills would match up in 24 hours in comparison to developers at companies that are valued at billions of dollars.
What it does
Our project uses sentiment analysis to (attempt to) predict stock prices. What is sentiment analysis? It's a form of machine learning which takes text as an input and returns a score of how positive that text is. We applied this to tweets about companies in the S&P100, and came up with a System Similarity Model (SSM) to come up with predictions about whether the stock price will increase or decrease. We wrote our own version of cron to run scripts periodically and mine data which is read by the Flask webpage.
How I built it
We initially started by using a Flask web server and a Raspberry Pi to run the periodic tasks. We wrote it all it all in Python. We made use of the NLTK for some text processing.
Challenges I ran into
For many of our members, this was our first hackathon and first experience of programming in Python. While the python learning curve isn't as steep as other languages, the environment in which we were developing our project (e.g. late night, we're very sleepy) made it difficult. We encountered significant problems when trying to get cron to run the scripts we needed, so much so that we wrote an alternative to it. We also encountered problems synchronising Python versions between members of our group. Finally, we spent a significant amount of time setting up the Flask server (as it was also the first time using flask for many of our members) and also developing features which didn't run on the Raspberry Pi.
Accomplishments that I'm proud of
The mathematical side of this project is really awesome. There's a lot of complicated maths in the SSM as we developed it ourselves (instead of using prebuilt modules). Coming into this hackathon, we also decided that we wanted to mock as little functionality as possible, and in our MVP there is very little that is currently mocked. We also think that the NLP used in the project is some really cool code which we're proud of.
What I learned
For many of our team, it was their introduction to Python and Flask. We came to know the maths behind algorithm trading better, because of how much research we had to do at the start of the project about this. We also came to understand git a lot better (especially solving merge conflicts).
What's next for White Stocks sentiment analysis stock predictor
Throughout this project, we've all become really invested and said that it's definitely something we want to continue working on in our own time. There are some bugs that we'd like to remove. It would be nice to add further functionality to the UI, including live graphs and more interactive UI elements. We'd also like to expand the predictor to work on different stock markets outside of the S&P100.
Log in or sign up for Devpost to join the conversation.