Inspiration
Many people who start investing don't have any experience with financial data or analysis. They rely on hype, "top stock picks", and other information that doesn't necessarily have a strong foundation. As a result, many people lose their money. Those that do make it are lucky. There isn't a good, free way to train yourself on making decent predictions especially if you want to day trade. That's where our game comes in.
What it does
Creates a fun and interactive way for people to learn and test their skills on some of the top S&P 500 stock's prices in the past based of data from sentiment analysis, charts, and technical analysis indicators.
How we built it
- Flask for the backend
- Textblob for sentiment analysis
- Alpaca Markets API for stock and news data
- Researched formulas for technical analysis indicators and programmed them
- Used frontend technologies to develop a simple but intuitive UI
Challenges we ran into
- Sometimes, there would be no data for a given symbol and date. We had to add in checks to make sure the stock data for the current day, next day, and news were all available.
- The news API gives a list of articles each with a header and summary. To be as precise as possible, we had to fine tune an algorithm to consider the header and summary of each article using weighted averages and then find the mean sentiment for all articles.
- Figure out which technical analysis indicators would be useful with numerical values.
- Integrating the frontend with the backend.
- Creating the graph posed a challenge due to the large amount of data, which would have resulted in over 500 candle charts, making it unreadable. The solution was to group the data into 1-hour chunks, allowing for a clearer and more comprehensible graph.
Accomplishments that we're proud of
- Creating custom graphs that represent our data
- Created a game without hardcoding data and instead relying on APIs
What we learned
- How to synthesize data from an API with locally built models.
- How to check for discrepancies in API data to make sure the game doesn't crash.
- How to create a candlestick graph in matplotlib.
What's next for Elevate
- Interactive graphs that can show different time periods rather than just a 24 hr one.
- User authentication to keep track of progress.
- An AI that plays against the user with the same information.
Will you make it, or lose it.
Make it!
Built With
- ai-applied-sentiment-analysis
- alpaca
- css3
- flask
- html5
- textblob
Log in or sign up for Devpost to join the conversation.