Artificial Neural Networks Appro

Document Sample
Artificial Neural Networks Appro Powered By Docstoc
					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 closing price used for training
Output with volume used for training
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
1.   Neural Networks Toolbox documentation.
     http://www.mathworks.com/access/helpdesk/help/toolbox/nnet/nnettoc.shtml
2.   ECE 539 Class Notes on feed forward networks and
     back-propagation algorithms.
3.   American Stock Exchange Web page
     http://www.amex.com
4.   Multi-Task Learning for Stock Selection, Joumana Ghosn
     http://www.iro.umontreal.ca/labs/neuro/pointeurs/ghosn-nips9.ps

				
DOCUMENT INFO