120 likes | 536 Vues
Artificial Neural Networks Approach to Stock Prediction. Presented by Justin Jaeck. Project Outline. Project Description Explanation of neural network usage and procedure Method Formatting of Data Matlab implementation Results from experimentation Conclusion. Project Description.
E N D
Artificial Neural Networks Approach to Stock Prediction Presented by Justin Jaeck
Project Outline • Project Description • Explanation of neural network usage and procedure • Method • Formatting of Data • Matlab implementation • Results from experimentation • Conclusion
Project Description Being a very interested and active trader in the stock market, I thought it would be informative to apply particular stock data to a neural network and extrapolate predictions to use in my own investments.
Method After some research and some trial and error, I decided to use a feed-forward neural network. This network has one hidden layer and is trained with a back-propagation algorithm. The network was implemented with Matlab and the neural network toolbox. I picked three possible inputs with which to train the network. The first is the closing price of the stock. The second is the volume traded of the stock. The third is the product of the closing price and the volume. The output of the network is the day to day difference of the closing price. All data used was obtained from http://www.amex.com. However, this data was not suitable for direct implementation into Matlab. I therefore wrote a java program which formats the data into a useful format.
Formatting of Data Data is taken from the website for the stock of interest. It can be saved to a text file. A java program takes this text file, formats the dates, removes extra white space, and scales the volume accordingly.
Matlab Implementation My matlab program takes the output of the java program and does some additional formatting. This includes storing the date in serial format as well as calculating the product of volume and closing price. The user can then select what data is to be used for training. Upon selection, he/she selects the amount of data to be used, the number of points used to predict the next point, and the number of neurons in the hidden layer.
Results Once the user has input the file and selected the options, training of the network is begun. The trained network is then used to simulate and form predictions. These predictions are plotted along with the actual values. An additional plot is also generated which shows the difference between the actual and predicted values
Output with product of closing price and volume used for training
Conclusion In general, I found that the product of volume and closing price consistently yielded the best results. I experimented with stocks that are highly volatile and others which are very stable. Regardless of the stock, the results were the same. I had hoped to be able to predict future values of the stock, but was unable to do this. The best I could do was to predict one day into the future. However, this was found to have no accuracy whatsoever. I feel that there are too many outside factors which effect the price of a stock to simply pick a few and expect a good prediction. Many of the most influential factors are also such that they cannot be characterized into data for training purposes. Such things include press releases and earnings reports, as well as the actions of the Federal Reserve Board.
References • Neural Networks Toolbox documentation. http://www.mathworks.com/access/helpdesk/help/toolbox/nnet/nnettoc.shtml • ECE 539 Class Notes on feed forward networks and back-propagation algorithms. • American Stock Exchange Web page http://www.amex.com • Multi-Task Learning for Stock Selection, Joumana Ghosn http://www.iro.umontreal.ca/labs/neuro/pointeurs/ghosn-nips9.ps