Article Preview
TopIntroduction
Forecasting is important for financial institution for two reasons: to decrease loss and to increase return on investment. Technical analysis and fundamental analysis are two techniques that could be used for forecasting. Technical analysis identifies internal and external variables that could factor the stock price. Important indicators of technical analysis are filter and momentum indicators, cycle theory, volume indicators and pattern analysis. Fundamental analysis forecasts the market direction based upon the underlying economic factors. Sometimes, decision making is not straightforward using these two techniques. Besides, it requires considerable effort from the front end traders in using these two techniques. Averages of the consecutive values of the variables are found to follow some invariant pattern and are found useful. Moving averages of some quantities are also found to be transparent for analysis and became prominent in predicting future values. In finance, moving averages were initially used for stock price forecasting. One of the important models developed is called Auto Regressive Moving Average (ARMA) which is more scientific with reproducible results and hence is applied successfully for decision making. The nonlinear and non-parametric behaviour of financial markets sometimes could not be captured by the time-series analysis. Artificial Neural Networks (NN) is one of the techniques developed from artificial intelligence research (Fausett, 1994) that can be used for stock price forecasting. The novelty of NN lies in their ability to model the nonlinear process with few prior assumptions.
NNs are applied for many problems in finance including, mortgage risk assessment, economic prediction, risk rating of exchange-traded fixed-income investments, portfolio selection/diversification, simulation of market behaviour, index construction and identification of explanatory economic factors (Trippi & Turban, 1993; Weigend et al., 1997). NN is designed to learn certain aspects of the application to solve a given problem. To predict a future value the neural network needs to be trained. BackPropagation (BP) is one of the most commonly used training algorithms for multi-layer neural networks (McCulloch & Pitts, 1998). The standard Backpropagation algorithm employs an optimization method to map the inputs to the outputs of the network. The optimization method poses serious challenges when the network under consideration has a large number of processing elements. Sixty hours of training with certain parametric conditions is not uncommon (Hamm, Brorsen & Sharda, 1993). This huge amount of training time is sometimes unacceptable for quick decision making that is generally required in financial markets.
In our current research, we study and implement parallel algorithms for stock price forecasting. To the best of our knowledge, we first attempt to use the parallel algorithms on neural network for stock price forecasting. We implement two techniques, namely Training Set Parallelism (TSP) and Neuron Parallelism (NP) on distributed and shared memory multiprocessor architectures. Our goal in this research is to test whether parallel processing could expedite the training process of neural network to facilitate quick decision making for stock price forecasting. Our aim is not in rigorous statistical testing of the forecasted results or even study and implement our techniques in all of the different parallel architectures addressed in literature (for example PVM, Systolic Arrays, Pthreads, MPI, POSIX threads etc.). Moreover, we want to mention that the study of parallel algorithms for financial forecasting has been limited due to multi-disciplinary nature and our current attempt reveals the importance and necessity of parallel computing in the financial area.
Rest of the paper is organized as follows. We describe some of the forecasting models including time series forecasting with ARMA model in related work section, as well as the neural network and general Backpropagation algorithm. We then discuss distributed and multithreaded NN training algorithms used in this research. We present theoretical analysis of these algorithms and discuss the experimental results. Finally, we conclude and give directions of future research.