Inspiration
Our goal was to create a project that aids in financial literacy. One big issue that young investors and students face is learning about the stock market and all the possible details that can affect their investments, and in turn, their lives. Even experienced individuals need some way of prioritizing important data in order to balance a portfolio. We decided to tackle both of these challenges by harnessing the power of Artificial Intelligence and other APIs paired with a simple to use UI. Stockington lets you get summaries of in-depth reports before anyone has made it past the first page.
What it does
Stockington will take a user inputted company ticker symbol and search through the SEC database for the latest filing under that name. The filing is then preprocessed to keep large sentences and remove data that doesn't contain relevant information. We then pass this through the OpenAI Davinci model with custom parameters to generate a summary of the SEC filing. The summary is displayed to the user in a visually pleasing format.
How we built it
Stockington is a Web Application built with a Node JS backend and a React Frontend. We used API calls from SEC, OpenAI, and Stock Validation. Our website was hosted using Google Firebase, and the Domain Name was from Domain.com. The custom logo was designed on Sketch. We also had a partially working implementation for user SMS subscriptions using the Twilio service. Lastly, we tested the project with the help of the fellow hackers around us!
Challenges we ran into
API calls were a big issue for us, since the OpenAI API charges based on the http request size and the SEC filing rest API limits the number of requests to 100. We also tried preprocessing using the rake-nltk API, which stands for Rapid Automatic Keyword Extraction. These keywords could be displayed over the summary text to give even more insight on the contents, but the SEC filings were too large and the algorithm returned us lists of words that were too large to display in a user friendly format.
Accomplishments that we're proud of
We are proud of being able to use the new OpenAI api, as well as figure out a lot of issues with HTTP request syntax and security. We were also able to create a logo and a polished UI, which showcases our work well. The model which generates the text and our use of GTP-3 text generation and comprehension was honed in after many iterations to provide maximum accuracy.
What we learned
During VT Hacks we learned how splitting up the tasks and working asynchronously helped us finish work fast, but it can also be detrimental if one person hits a roadblock and has to find a workaround that affects the others. To get around this, we used version control on Git so we can roll back code easily if we ended up at a dead end.
What's next for Stockington
One improvement that we planned for the future is utilizing Google Firestore Database. We would store the results of the paid API calls in the cloud, and when another user requests the same ticker we would fetch it at a much lower cost. Similarly, we could also store a relational database with the date, ticker, and file data for the SEC filings as well and not have to be limited by the number of requests we can make.
Another feature that we implemented a portion of was push notifications with Twilio. Users can subscribe for a SMS update and when a new SEC filing for the given ticker has been made, a short summary will be sent to them automatically.
Built With
- ai
- finance
- firebase
- machine-learning
- node.js
- openai
- react
Log in or sign up for Devpost to join the conversation.