We were inspired by the recent volatility in the stock market, especially in stocks that retail investors are interested, and wanted to see if we could reliably predict the DIJA (Dow Jones Industrial Average).

What it does

Our project takes in a news headline as an input, and attempts to predict whether the DIJA will rise or fall based on that headline.

How we built it

Our dataset contained the top 25 news headlines everyday from 2008-2016 and whether or not the DJIA moved up or down. After cleaning the data, we used the NLTK (Natural Language Took Kit) to process our headline data into data that can be used by our machine learning model. We used the random forest classifier from scikit learn to train our model to predict the DJIA based on a given headline. For our front end, we used streamlit. This allowed us to quickly create our user interface.

Challenges we ran into

A big challenge we ran into was that our team is very new to machine learning. We were unsure which model to use but after testing a few models and doing some research, we settled on the random forest classifier.

Accomplishments that we're proud of

We are very proud to have successfully completed this project in this small timeframe, and that our app is functioning. While our predictions are hit or miss sometimes, we are happy that we were able to create something interesting and participate in HooHacks.

What we learned

This project was entirely meant to be a learning experience and our goal going in was not to win HooHacks. Instead, we wanted to learn as much as we could this weekend. Our team gained valuable experience with important python libraries like scikit learn and NLTK.

What's next for Stock Price Prediction Using News Headlines

We would like to improve our machine learning model perhaps by using different models or different datasets. We also would like to automate our application by having it scrape the web for the top news headlines and then automatically predict the DJIA without user input.

Built With

Share this project: