### Stock Direction Prediciton

This project uses 2 Neural Networks to predict the movement of stocks on a daily or monthly basis.

Daily stock return prediction is a notoriously difficult task as the returns are generated by non-startionary time series processes causing them to be drawn from fat-tailed probability distributions which are hard to model. Over longer term horizons, e.g. monthly or annual returns, the returns tend towards a normal distribution and are easier to model. Because of this one should expect more accurate results when trying to fit a model to monthly returns. In fact, the neural networks used in this project, although having similar architectures, performed ~22% better when using monthly vs. daily data even though there were far more training samples for the daily data.

The input data was generated by retrieving historical data via Yahoo Finance for all of the tickers in the S&P 500 and Russell 2000 indexes. This data was used to compute different moving averages (simple moving averages and exponential moving averages) of different lengths (e.g. 5-, 10-, 20-, 50-, 100-, and 200-day moving averages). These averages were used as input to the neural network and the direction of the stock price was predicted.

In future iterations of these models more variables are planned for input including more moving averages, measurements of volatility, and other technical analysis measurements.

The models are hosted and much of the processing is done via Azure Functions.

Enter a stock ticker symbol to get started. **Note: entering many symbols may take some time to process.**