Team members: Emma Truong, Hai Dang Nguyen, Nathan Chen
Inspiration
How do we predict whether a stock will increase or decrease after it releases earnings to better support our investment decisions, prevent losses, and record gains?
What it does
Predicts a stock's price movement from when it releases it earnings to the following trading day.
How we built it
We created a program that uses Yahoo Finance' s API to collect financial statement data from over 150 stocks across the technology, healthcare, and financial sector. Then, we did data analysis by calculating the fundamental measures for the stock after it released its earnings, such as quarter revenue growth, then used it as features for machine learning. We fit the datasets into machine learning algorithms and improved the accuracy using data normalization and feature selection techniques.
Challenges we ran into
Yahoo Finance's API has a lot of missing data and its functions often have limited times for access. Therefore, the process to collect data using our code took longer and more patience.
Accomplishments that we're proud of
We created an entirely new dataset consisting of 150 stocks, and 15 columns of the stock's fundamental measures. We also performed machine learning algorithms while figuring out how to increase model accuracy using data normalization and feature selection, while consistently answering all of our research questions.
What we learned
We found that separating the dataset into three datasets of technology stocks, financial stocks, and healthcare stocks significantly improved the machine learning algorithm accuracy compared to training the data on the combined dataset. therefore, to predict future stocks, our model needs to be tailored towards stocks in the specific industry in order to produce high accuracy.
What's next for Predicting Stock Movement
Predict percent change rather than just increase/decrease. Developed a dataset of more stocks across more industries.
Built With
- machine-learning
- python
- yahoo-fin
Log in or sign up for Devpost to join the conversation.