Almost every financial predictive model for stocks is highly speculative, and usually inaccurate. We wanted to find a way that we can use up-to-date information, and use it to project stock prices.
What it does
We have a pre-defined set of stocks chosen in our program, and we use the New York Times API to deliver the latest articles about our companies straight to our app. Our program is able to dissect and read the article, ultimately making a prediction on where the stock price is going.
The project is hosted by Linode, and also includes a feature to send a text update to the user if there is a significant stock prediction for the day.
We tested our algorithm with a group of Fortune 500 company stocks... our predictions were all correct within 99% accuracy, more than almost every other public model.
How we built it
Our program receives an article from the New York Times API about one of the companies in our portfolio.
We wrote a python script that splits the entire article into a list of words, where the program then iterates over the list and looks for a set of key words (We created a list of keywords and assigned a point system, with words like 'unethical' being worth one point, while a word with more weight like 'scandal' being worth three)
To ensure accuracy, the article goes through IBM bluemix, which takes into account the article author's sentiment, which will also factor into our algorithm.
Using some key financial indicators, as well as the data from IBM and our python script, we created an incredibly accurate formula.
Challenges we ran into
One of the most difficult parts was creating a formula that was both accurate and relevant. We spent a lot of the competition researching financial ratios and their meaning and relevance to stock price
Accomplishments that we're proud of
We are incredibly proud of the results we got when we were testing our program. Some of the most accurate predictive model tend to be able to predict stock changes within a 3% margin of error:
We've managed to keep ours to around 1%.
What we learned
We learned a lot about logic for using statistical models in our programming. We mentioned that coming up with the formula was a big challenge we ran into, but once we figured it out, implementing it into our program was a battle of its own.
What's next for Smart Stocks
Because it is a weekend, we had to use past data (we found the date an article on a Wells Fargo article came out, and then used our algorithm to make a prediction, and then checked the weekly stock price to confirm our accuracy. We would like to see the program live and in action once the market opens again tomorrow, and continue to refine it.