We've been very interested in the stock market for a long time and have tried our hand in trading with varying success. So we had an idea, what if we could create a refined Stochastic Oscillator trading algorithm that also looks at volume to better inform our trading strategy.
What it does
We then create a stochastic oscillator on the stock data and save it to a data frame. The Stochastic Oscillator itself isn't accurate, its a measure of the momentum of a stock over the past 14 days. We look at whether the Oscillator signals to long or short a stock but take it a step further and look at the Volume of the stock. Ideally, if the volume is abnormally high and the Oscillator signals to long or short, it is more likely to move in that direction.
How we built it
We built everything with Python and Jupyter. Our web scraper used a python script to gather and clean the data, and our Stochastic Oscillator script uses Jupyter to analyze and walk through the script.
Challenges we ran into
We found it challenging troubleshooting some the of issues gathering and cleaning data. We spent a good amount of time trying to figure out bugs and getting the output to be exactly how we wanted it.
Accomplishments that we're proud of
Being able to take in raw data and through our ideas create an algorithm, and simulation for trading.
What we learned
We learned a lot about data munging, making calculations and working with pandas to store and clean information as well as use matplotlib and Tableau for visualizations.
What's next for Stock Predictions with Enhanced Stochastic Oscillator
With more time, we want to utilize Natural Language models using N-Grams. Ideally we'd like to be able to look at quarterly reports and other company statements to analyze the contents and predict how the stock would be affected if a new report were to come out. This is important because while the numbers influence a stock, there's much more useful information that comes with Natural Language from articles and outside sources.