Inspired by the great Gamestop short squeeze of January 2021, we decided to build a tool to give users an insight into what and how people are talking about companies. Send your portolio the moon 🚀with MoonStock, and harness the power of social media and Natural Language Processing to make smarter stock decisions. As a part of the larger movement to democratize finance, the MoonStock team believes that what the public thinks about public companies is paramount.
What it does
MoonStock pulls up-to-date data from Reddit and Twitter, finds the sentiment of the comments/tweets, and provides a recommendation to "Buy", "Hold", or "Sell" based on the net sentiment, confidence score, and top comments from social media platforms like Twitter and Reddit. Users can also view the current prices of various stocks and create a personalized watchlist dashboard to save stocks of interest.
At its core, MoonStock is an NLP Sentiment Analysis tool that provides insight into what the public thinks of a company or stock.
How we built it
On the backend, we used Natural Language Processing tools like Sentiment Analysis, Text Summarization, and Keyword Detection in combination with the Twitter and Reddit APIs to generate the stock recommendations. Up-to-date stock price graphs for each company were created using the Yahoo Finance API.
On the frontend, we used React, along with Figma for design prototyping.
Challenges we ran into
An immediate challenge we ran into was making sure that the data we pulled from Twitter and Reddit was usable and added value. In order to account for this, we ran RegEx based data cleaning scripts on each comment before doing sentiment analysis. Additionally, we had to find a robust sentiment analysis model that can detect sarcasm and unconventional patterns, so we used flair, an NLP library with an advanced sentiment analysis model.
Figuring out how to recommend the user an action isn't as simple as "Buy" when positive and "Sell" when negative. After some trial and error, we calibrated a way to generate the recommendation based on how strong of a ratio there is between positive and negative comments, in combination with the confidence of each comment's prediction.
Accomplishments that we're proud of
We're very proud to have finished a working product with many components within the span of the Hackathon. NLP is something that can be difficult to pick up, so the opportunity to combine NLP with APIs in the finance domain was super cool and rewarding. Ultimately, we feel like we've made a product that adds value in addition to the investing tools currently on the market...and that makes us happy.
What we learned
Different members of our team picked up new skills while working on this project, ranging from API usage to NLP, RegEx, Frontend, Firebase, and more. This was a great learning experience for all of us.
What's next for MoonStock
MoonStock is already able to give investors an insight into what people feel about potential IPO companies like Robinhood. Adding this as a solid feature, perhaps a running list of IPO sentiments to watch would be a great next step. Additionally, we'd like to continue working on the user and personalization of MoonStock, ranging from notifications when recommendations change, to more dashboard features and improving the live stock price updating feature.
The Moon is the limit when it comes to what MoonStock can do!