A multiple model of perceptron neural network with sample selection through chicken swarm algorithm for financial forecasting

Because of the complications of stock market and high volume of information to be processed, often utilizing a simple system for forecasting will not give us satisfactory results. Therefore, researchers try to develop a system with lower sophistication and also higher efficiency and accuracy through combined models. In the most predictive models, the system predicts using the information of only one index; however, in the suggested model a two-layer structure is used. The first layer consists of multilayer perceptron neural network as predictor and each one independent of the other systems, are trained to predict a specific index from various data and in the second layer, also there is a combined multilayer perceptron neural network which is trained by using the mechanism of the best sample selection with the chicken swarm optimization algorithm and finally provided the final output of the model. The results indicate that the suggested model was able to perform with a lower prediction error compared to other models. In this research, considering the known factors in determining companies’ stock price, forecasting of the index of Tehran stock exchange is investigated with three sets of data including stock price index, turnover volume and output rate.


Introduction
In today's world, prediction is considered as a vital item in humans' life.Hope for a better and ideal life made human beings want to control the future events by their prediction and therefore improve them as much as possible, and/or by estimating harmful events reduce their cost.Among different problems, time series prediction carries a great importance.The prediction of the future values of the time series has applications in many areas such as economy, business, sale and control of products, weather forecasting, signal processing and control [1].The annoying problem with time series analysis, is the need for a formal model with a hypothetical probability distribution of data [2].On the other hand if the dynamic system is not stable the initial condition and start point would be considered as the most important parameter in time series response.This means that with a smallest variation in the start position the system will reach completely different answers.This status is called the sensitivity to initial condition and it is an indicator of the chaotic behavior of such dynamic systems [3], [4], [5].In addition the theory of time series probability mostly deals with static time series and subsequently in analysis of dynamic time series these dynamic systems must be converted to static series [6].Consequently, typical classic methods, such as box-Jenkins, when the system has varying dynamic behaviors in time, are not appropriate and suffer from some weaknesses and may reach an unacceptable result.Recently other methods which operate based on non-linear methods like soft computing are utilized, such as genetic algorithm, neural networks and fuzzy logic which are used in analysis and prediction of complicated time series and compared to classic statistical methods have clear advantages [7], [8].The main advantage of soft computing methods is the lack of need for determination of the structure of initial model despite classic regression analysis [9].In this paper, regarding the sophistications of stock market and the high volume of information for processing, a two level system of multilayer perceptron neural networks is proposed in which for better training of neural network and improving obtained results, the chicken swarm algorithm is used for the best sampling for training of neural network.The data set includes stock price, turnover volume and output rate in Tehran stock exchange which is collected from 24march2012 to 19june2016 [10].

Preliminaries and notations
Theorem 2.1.Chicken swarm optimization algorithm: From mathematical model, the chicken swarm optimization (CSO) algorithm contains three motion operators for hens, roosters and chickens which in this motion chickens move around hens and hens move around roosters looking for food (optimized).This algorithm is divided into sub-groups chicken swarms and each group has a rooster, hen and a number of chickens and the determination of chickens with respect to rooster, hen and chicken is based on their fitness.The chickens with higher fitness are rooster, and after that hen and the rest are chickens.Power hierarchy in each group varies occasionally which cause improvement in search process of the algorithm.At the end of the algorithm according to the motion of all chickens and hens toward the best rooster while the optimization function is not improved further than a specific limit, the algorithm stops [11].

Main section
Proposed algorithm contains a two-level structure.The first level is comprised of multilayer perceptron neural network as predictor with each being trained for a specific index prediction from different data.In other words, each prediction network of the base level, independently from other systems, predicts a specific index.In the second level as well there is a combiner multilayer perceptron neural network which is trained by the mechanism of the selection of best samples and at the end the final output of the model is provided.http://www.ispacs.com/journals/cacsa/2017/cacsa-00070/International Scientific Publications and Consulting Services The main feature of this model, is the utilization of different data and features for the final prediction of the behavior of the desired datum.In this structure the role of combiner layer, is the final prediction using information and data variations and other indexes of basic prediction networks for more accurate prediction and more efficiency.In the suggested model in the first layer, a window of data as the input and data after window is given to each network as output and each of these basic networks is trained separately.It means that in the first step training, the input of each neural network is data a specific index in a window from time t and earlier and the output is the prediction of that index at time t+1.In this way, the first level consists of neural network systems with each predicting a specific index.In the second layer, the neural network is trained by the best samples which are selected through CSO method.And in the step of using the data predicted in the first layer they are sent to the second step for the final prediction of financial index.The second layer neural network is trained by the best samples.The CSO method selects the best samples through the fitness which is obtained from neural network and these selected samples are moved to neural network for training and the neural network generates its output.The difference between neural network output and real output, under fitness function, determines the extent of fitness for selected samples.

The set of data to be investigated in this paper include stock price index, turnover volume and output rate of
Tehran stock exchange from 2012 to 2016.
In the following three important data of Tehran stock exchange used as the main data required for the final prediction of Tehran stock price index will be investigated.

Tehran stock price index
Tehran stock exchange has begun since 1369 calculation and publishing of its stock price index known as tepix.This index, is the indicator of the total market's price variations.
Tehran stock price index includes all accepted companies shares and if a company's title is closed or is not traded for a while, the last trade price is counted.The number of published shares of the companies, is the criterion for weighting in the mentioned index.The stock price index, is an index which illustrates the general level of the price of the shares of the accepted companies.In the market of tradable financial assets, decision makers are the stock price market agents.Investors in this market look at the latest news about the last status of prices and analyses of the prediction of future fluctuations in prices so that the analysis of prices done easily by everyone.However there are other influential factors such as turnover volume and output rate.

Turnover volume
Turnover volume consists of the number of transactions within a time range, for example one business day.
Because even valid and reliable patterns may be incorrect sometimes, the turnover volume can be utilized as another tool for understanding what's happening in the market and especially what happens in the patterns.One of the main criteria in short term investment, is the liquidity of investment.Stocks that have many purchasers and are widely traded have more liquidity.Undoubtedly the number of trades of each stock and the number of the traded stocks of a company can illustrate the liquidity of stocks.Stock change in Tehran stock exchange is done by trading, if turnover volume increase or decrease the stock price of a company the stock price of the company will change.
The thing that is important for Tehran stock exchange, brokers and tax officials is the turnover volume.Since wage and benefits of all mentioned organizations are determined via tariffs of turnover volumes and in fact all of them benefit more from turnover volume compared to increase or decrease in stock price.Buyers and sellers can also benefit from turnover volume.They can examine the status of supply and demand for any stock and use them in their decisions.Therefore, turnover volume can also be used as one of the effective factors in prediction.MacMillan of the role of turnover volume under title, prediction of stock range, indicates that the turnover volume analogous to price can carry helpful information and they also show the relationship between price and volume [12].

Output rate
Output rate (profit) is stated as the profit or income obtained from an investment which is stated in percent.
Output rate is one the important tools in the evaluation of stock price variations [13].
In the previous researches on Tehran stock exchange, more of the relationship between companies' internal information and their financial status and company's stock price has been investigated and rarely they considered the market itself and its internal indexes as an influential factor on the stock price of companies.Also in most researches, the effects of the publication of companies' information was studied, whereas in the present research, the publication of market information and application of them by traders is the subject.Therefore, the most basic information which is published on trades' status by Stock exchange organization is considered.
For measuring the conformity of a prediction with a time series data pattern, prediction error measurement criteria will be used, if y and y represent the real value and predicted variable, respectively in time t, http://www.ispacs.com/journals/cacsa/2017/cacsa-00070/International Scientific Publications and Consulting Services prediction error equals e=y-y' therefore for a time period and for n predicted values the criteria for prediction measurement is: Where y is the real value and y' is the predicted value by the model.In fact the more the estimates of a model is closer to reality, it has lesser error in prediction.So the mean square of error criteria is used which according to the experts is an acceptable measure.The results of this paper are from three different models of prediction by multilayer perceptron neural network: First model: direct prediction of stock price index without considering influential factors: Stock price index data of Tehran stock exchange from 2012 to 2016 with 1565 data is considered.Among these 1173 data is considered for training and 392 data for network test.The numerical value of the vertical axis is price index in scale 1000 and the horizontal axis is in days.
For predicting this set using perceptron neural network, windows with the length 50 data as network input and the next datum for the network output is set.This window for all training data moves forward one datum for neural network to be trained and subsequently test data is given to the network in the same way (window with length 50 data) for prediction.Selection of the best architecture of neural network is done through try and error method and setting of the hidden layer neurons of neural network.For training of the networks and prevention of overtraining, network test during training and supervision of the obtained error for test data and training data is used.The best numerical result of the comparison of the errors obtained from different architectures of neural networks is given in table 1.

Comparison of the results of the three simulated models:
The results obtained from three simulated models for prediction of stock price index in Tehran stock exchange indicate that the suggested model (third model) is able to predict with lesser error.In this algorithm each chicken is represented as an array of samples index number: chicken=[x 1 ,x 2 ,..., x n ] X 1 is the initial position of the sample which contributes in network training and X n is the last one.Components of each chicken can include number 1 and or 0. Number 1 means that the sample number corresponding to that component is selected and 0 means not selecting.In CSO algorithm, the initial population, include a number of roosters, hen and chicken as the following: The number of roosters equals to R The number of hens equals to a*R The number of chickens equals to a*(a*R)

First factor Final factor
Second factor http://www.ispacs.com/journals/cacsa/2017/cacsa-00070/International Scientific Publications and Consulting Services This division was chosen because the operators of the CSO algorithm for the selection of the best samples must change discretely so that with division of the population in a form of a ratio dependent on coefficient a, the motion of the chickens as a matrix can be done.
In simulations, for simplicity, the fitness function of the CSO algorithm is considered as a maximizing form: Our suggested approach is a sample of evolutionary methods.The point that should be taken into account in evolutionary methods is that with the progress of algorithm steps and evolution steps the solutions found must converge to an optimized value.If the convergence is not occurred in a given time, this means that the evolution is not proceeding correctly.To ensure the correctness of evolution path in the suggested method, the convergence test is done in this part.In order to do that, the progress of algorithm steps to the best solution found in each generation is examined.It is observed in the figure that with increasing the number of repeats and proceeding of the algorithm, the evolution improves and the value of the fitness function for optimized solution in each step increases.eventually algorithm reach a step in which there is no improvement in fitness function value.In this state we say that the convergence is occurred.For the finishing of the algorithm, the convergence condition must be met.Convergence condition means that there is no more observable change in the value of optimized function.In this state the best solution is the rooster with the highest fitness. in initial repetitions of the algorithm, the improvement in the solutions is done with a higher rate.The reason for this is the dispersion of solutions in the whole space of the problem which are in evolution rapidly.However with increasing the number of repeats and the focusing of the algorithm to one point or some specific points of the solution domains, the rate of the increase of target function decreases.

Conclusion
In this paper, regarding the sophistications of stock market and the high volume of information for processing, a two level system of multilayer perceptron neural networks is proposed in which for better training of neural network and improving obtained results, the chicken swarm algorithm is used for the best sampling for training of neural network.The data set includes stock price, turnover volume and output rate in Tehran stock exchange which is collected from 24march2012 to 19june2016.In the suggested model, in the first level the time series of turnover volume and output rate is predicted and in the second level the stock price index was predicted using the best samples.For comparison of the simulation results of the three models including First model: direct prediction of stock price index without considering influential factors, Second model: prediction of price index in two level form with considering influential factors and without sample selection and Third model: prediction of price index in two level form with considering influential factors and sample selection is used.In the first model, the Selection of the best architecture of neural network is done through try and error method and setting of the hidden layer neurons of neural network.For training of the networks and prevention of overtraining, network test during training and supervision of the obtained error for test data and training data is used.In the second model the prediction of price index is done with considering the influential factors, turnover volume and output rate in a way that neural network training in first level for turnover volume time series and output rate is designed and for the second level all the samples is considered in training of the neural network for price index prediction.In the third model the prediction of price index is done with considering the influential factors, turnover volume and output rate in a way that neural network training in first level for turnover volume time series and output rate is designed and for the second level the samples selected via the CSO algorithm in training of the neural network for price index prediction is considered.For evaluating the performance of the CSO algorithm in the suggested model, this algorithm was examined in terms of convergence.Convergence evaluation illustrates the problem of the progress of algorithm steps and evolution steps and convergence of that to an optimized value.The numerical results obtained from Tehran stock exchange data sets including three data sets of stock price index, turnover volume and output rate using tested three models including direct prediction of stock price index without considering influential factors and the model for prediction of price index in two level form considering all the samples of the influential factors in it and the model for prediction of price index in two level form considering the best samples of the influential factors indicates that the suggested method is able to predict with less error compared to other models.

Figure 2 :
Figure 2: The structure of the second level of the suggested model

Figure 3 :
Figure 3: result of prediction from model 1 Second model: prediction of price index in two level form with considering influential factors and without sample selection: In this model the prediction of price index is done with considering the influential factors, turnover volume and output rate in a way that neural network training in first level for turnover volume time series and output rate is designed and for the second level all the samples is considered in training of the neural network for price index prediction.Selection of the best architecture of neural network is done through try and error method and setting of the hidden layer neurons of neural network.For training of the networks and prevention of overtraining, network test during training and supervision of the obtained error for test data and training data is used.The best numerical result given in table 2.

Figure 4 :
Figure 4: result of prediction from model 2

Figure 5 :
Figure 5: result of prediction from suggested model

Figure 6 :
Figure 6: The structure of a chicken in the suggested method

Figure 7 ,
Figure 7, shows the results of the convergence test.The horizontal axis in each moment indicates current (repeat) and vertical axis shows the function value of the best solution found corresponding to each repeat.It is observed in the figure that with increasing the number of repeats and proceeding of the algorithm, the evolution improves and the value of the fitness function for optimized solution in each step increases.eventually algorithm reach a step in which there is no improvement in fitness function value.In this state we say that the convergence is occurred.For the finishing of the algorithm, the convergence condition must be met.Convergence condition means that there is no more observable change in the value of optimized function.In this state the best solution is the rooster with the highest fitness. in initial repetitions of the algorithm, the improvement in the solutions is done with a higher rate.The reason for this is the dispersion of solutions in the whole space of the problem which are in evolution rapidly.However with increasing the number of repeats and the focusing of the algorithm to one point or some specific points of the solution domains, the rate of the increase of target function decreases.

Figure 7 :
Figure 7: Convergence of CSO algorithm for the selection of samples in model 3 (suggested)

Table 1 :
best result of model 1.
International Scientific Publications and Consulting Services

Table 3 :
best result of the suggested model MSE Suggested model (third) 1.2654 Best network architecture with 10 neurons in a hidden layer for turnover volume (first level) 1.5524 Best network architecture with 8 neurons in a hidden layer for output rate (first level) 0.7281 Best network architecture with 7 neurons in a hidden layer for price index (first level)

Table 4 :
comparison of three models.

Table 5 :
The values of required parameters for convergence test.