Inspiration us to do this

About 5 years ago, when our team was in 6th grade, we had a simulated lesson in the stock market every week. During this time, we were given a simulated 100,000 dollars and an entire school year to invest and make as much money as we could out of it. While many of us didn't get far, we all gained a newfound interest in the art of finance. Fast forwarding 5 years, and many of us are now trading stock (with parental permission) on online apps and websites. The only issue was that as new investors, it is very difficult to predict and compare stocks, which were exactly the 2 things that we say were missing in the online systems. There was no way to directly compare a graphical analysis of 2 competing stocks, and there were no tools to help predict the value of a stock. Therefore, during this hackathon, we were inspired to create an app that would be able to complete these requirements and help investors decide on a stock to buy.

What it does

Our program works by creating a app where the user is able to look up an S&P500 stock from 2013-2018, and retrieve information regarding the stocks metrics, such as the the candlestick chart, volume distribution, and closing prices during that time frame, and be able to directly compare that stocks metrics in relation to another S&P500 companies metrics. With this information about the historical trends, the AI bot makes a prediction graph based off of the historical data.

How we built it

We based our project on a Python Library called Streamlit. Streamlit is an API that is very good for data visualization, and we used several of its components in order to create attractive and engaging graphical stock trends. We built an AI with a long-short term memory neural network, using Tensor Flow and Keras, and we trained it with historical data of the stocks in the S&P 500 from 2013-2018. We then used this neural network to generate predictions for the value of these stocks, and we visualized this using the Streamlit API in a graph. In these graphs, we compared the AI's predictions to the historical data in order to evaluate the performance of the model.

Challenges we ran into

Some major challenges that we ran into was accessing the data inside an API with real time data, downloading a useful API for the project, and extending the range of the AI model prediction. In regards to the accessing of the API data, we had issues accessing data from a real time stock data API, and as a result we decided to switch to historical data rather than real time. Another major issue was finding the goldilocks model size that would not require huge amount of processing before each graph was presented, but also not have too little data to not create an accurate AI graph prediction.

Accomplishments that we're proud of

That we were able to persevere through the 5 hours of attempting to download the real time API, and even after deciding that real time API was not a feasible option for our given project and current skill level, still having the motivation and drive to essentially throw away 5 hours of work in order to start from scratch.

What we learned

We learned a lot more about the depth of API's such as Streamlit, as it was our first time using this type of python library, as well as the amount of time and patience required to create a large scale collaborative coding project.

What's next for StockSight Projections

We would still like to be able to implement API's such as Yahoo Finance so users can view stock prices and choose stocks to buy in real time, and we would like to have AI predictions for the future rather than interpreting data in the past. We would also like to improve the performance of our model, and a big part of making this happen is finding a bigger dataset that allows us to train our model more thoroughly.

Built With

Share this project:

Updates