# 程序代写代做代考 AI algorithm finance Bayesian Microsoft Word – S. Parasuraman.doc

Microsoft Word – S. Parasuraman.doc

Abstract—In this paper, we propose a hybrid machine learning

system based on Genetic Algorithm (GA) and Support Vector

Machines (SVM) for stock market prediction. A variety of indicators

from the technical analysis field of study are used as input features.

We also make use of the correlation between stock prices of different

companies to forecast the price of a stock, making use of technical

indicators of highly correlated stocks, not only the stock to be

predicted. The genetic algorithm is used to select the set of most

informative input features from among all the technical indicators.

The results show that the hybrid GA-SVM system outperforms the

stand alone SVM system.

Keywords—Genetic Algorithms, Support Vector Machines,

Stock Market Forecasting.

I. INTRODUCTION

TOCK market prediction is regarded as a challenging task

in financial time-series forecasting. This is primarily

because of the uncertainties involved in the movement of the

market. Many factors interact in the stock market including

political events, general economic conditions, and traders’

expectations. Therefore, predicting market price movements is

quite difficult. Increasingly, according to academic

investigations, movements in market prices are not random.

Rather, they behave in a highly non-linear, dynamic manner.

Also, the ability to predict the direction and not the exact

value of the future stock prices is the most important factor in

making money using financial prediction. All the investor

needs to know to make a buying or selling decision is the

expected direction of the stock. Studies have also shown that

predicting direction as compared to value can generate higher

profits [1].

The rest of this paper is organized as follows: In section 2,

we give an overview of previous studies in this area. In

sections 3 and 4, we give a brief introduction to the basic

concepts behind the theory of technical analysis and SVM

respectively. In section 5, the stock prediction problem is

explained. In section 6, we describe our proposed system. In

section 7, the experimental results are given. Conclusions and

directions for further work are given in section 8.

Manuscript received March 29, 2008. Rohit Choudhry is a Masters’

student at the Electronics & Computer Engineering Department, Indian

Institute of Technology Roorkee, India (e-mail: rohetuec@iitr.ernet.in).

Kumkum Garg is Professor at the Electronics & Computer Engineering

Department, Indian Institute of Technology Roorkee, India (e-mail:

kgargfec@iitr.ernet.in).

II. RELATED RESEARCH

A number of artificial intelligence and machine learning

techniques have been used over the past decade to predict the

stock market. Neural Networks are by far the most widely

used technique. Time Delay Neural Networks have been used

in [2] for stock market trend prediction. Probabilistic Neural

Networks have been used in [3] to model it as a classification

problem, the 2 classes being a rise or a fall in the market.

Recurrent Neural Nets have been used in [4] for predicting the

next day’s price of the stock index. Other methods that have

been used to forecast the stock market include Bayesian belief

networks [5], evolutionary algorithms [6] [7], classifier

systems [8], and fuzzy sets [9].

Recent research tends to hybridize other AI techniques with

ANN. Kim & Shin [10] have proposed a hybrid model of

Genetic Algorithms and Neural Networks for optimization of

the number of time delays and network architectural factors

using GA, to improve the effectiveness of constructing the

ANN model. The study in [11] integrated the rule-based

technique and ANN to predict the direction of change of the

S&P 500 stock index futures on a daily basis. Kohara et al

[12] incorporated prior knowledge in ANN to improve the

performance of stock market prediction.

In the last few years, the use of SVMs for stock market

forecasting has made significant progress. SVMs were first

used by Tay & Cao for financial time series forecasting [13],

[14], [15]. Kim has proposed an algorithm to predict the stock

market direction by using technical analysis indicators as

input to SVMs [16]. Studies have compared SVM with Back

Propagation Neural Networks (BPN). The experimental

results showed that SVM outperformed BPN most often

though there are some markets for which BPN have been

found to be better [17]. These results may be attributable to

the fact that the SVM implements the structural risk

minimization principle and this leads to better generalization

than Neural Networks, which implement the empirical risk

minimization principle.

III. TECHNICAL ANALYSIS

Technical analysis is the study of market action using past

prices and trading volumes for the purpose of forecasting

future price trends. Technical analysis assumes that stock

prices move in trends, and that the information which affects

prices enters the market over a finite period of time, not

instantaneously. Technical analysis contradicts the long held

Efficient Market Hypothesis (EMH). EMH states that market

A Hybrid Machine Learning System for Stock

Market Forecasting

Rohit Choudhry, and Kumkum Garg

S

World Academy of Science, Engineering and Technology 15 2008

315

vagrant

vagrant

vagrant

vagrant

prices follow a random walk and cannot be predicted based on

their past behavior. According to EMH, all information that

enters the market affects the prices instantaneously. If the

EMH were true, it would not be possible to use AI techniques

to predict the market. However, due to the success of technical

analysts in the financial world and a number of studies

appearing in academic literature successfully using AI

techniques to predict the market, EMH is widely believed to

be a null hypothesis now.

Technical analysts make use of technical indicators, which

are mathematical formulations which give us clues about the

trend of the market. An example of a technical indicator is the

famous stochastic oscillator %K:

%K = (P(c) – P (l))/(P(h) – P(l))

where P(c), P (h), and P (l) represent closing price, highest

price and lowest price of a security over any time period.

Technical analysts normally use a number of such indicators

and judgment gained from experience to decide which pattern

a particular instrument reflects at a given time, and what the

interpretation of that pattern should be. Technical analysts

may disagree among themselves over the interpretation of a

given chart. These technical indicators have been successfully

used as input features to AI techniques, for example, in [16].

IV. SUPPORT VECTOR MACHINES

The Support Vector Machines (SVMs) were proposed by

Vapnik [18]. SVMs are a type of maximum margin classifiers.

They seek to find a maximum margin hyperplane to separate

the classes, i.e., they maximize the distance of the hyperplane

from the nearest training examples. The hyperplane thus

obtained is called the optimal separating hyperplane (OSH)

and the training examples that are closest to the maximum

margin hyperplane are called support vectors.

If the data is linearly separable, a hyperplane separating the

binary decision classes in the two attribute case can be

represented as the following equation:

y = w0 + w1x1 + w2x2 (1)

where y is the outcome, xi are the attribute values, and there

are three weights wi to be learned by the learning algorithm.

The maximum margin hyperplane can be represented as the

following equation in terms of the support vectors:

y = b + ∑αiyix(i).x (2)

where y is the class value of training example x(i), the vector

x represents a test example, the vectors x(i) are the support

vectors and · represents the dot product.. In this equation, b

and αi are parameters that determine the hyperplane. Finding

the support vectors and determining the parameters b and αi is

equivalent to solving a linearly constrained quadratic

programming problem.

If the data is not linearly separable, as in this case, SVM

transforms the inputs into the high-dimensional feature space.

This is done by using a kernel function as follows:

y = b + ∑αiyiK(x(i),x) (3)

There are many different kernels for generating the inner

products to construct machines with different types of

nonlinear decision surfaces in the input space. Common

examples of the kernel function are the polynomial kernel

K(x; y) = (xy+1)n and the Gaussian radial basis function(RBF)

K(x; y) = exp(−1/δ2(x − y)2) where n is the degree of the

polynomial kernel and δ2 is the bandwidth of the Gaussian

RBF kernel.

A unique feature of SVMs is that they are resistant to the

over-fitting problem. This is because while many traditional

neural network models have implemented the empirical risk

minimization principle, SVM implements the structural risk

minimization principle. The former seeks to minimize the

misclassification error or deviation from correct solution of

the training data, but the latter searches to minimize an upper

bound of generalization error.

V. THE STOCK DIRECTION PREDICTION PROBLEM

The stock market direction problem is modeled as a two

class classification problem. The directions are categorized as

0 & 1 in the data. A class value of 0 means that the present

day’s price is less than the previous day, i.e., a fall in the

stock, and a class value of 1 means that the present day’s price

is more than the previous day, i.e., a rise in the stock price.

We chose the Indian stock market for the study. In the past,

most of the work in this area has focused on the American and

Korean stock markets; there exists little published work using

an AI technique for predicting the Indian market. This is

significant as studies have shown that different stock markets

have different characteristics and results obtained for one are

not necessarily true for another [17]. In the Indian stock

market, we have chosen 3 stocks; Tata consultancy services

(TCS), Infosys, and Reliance industries limited (RIL) for our

experiments as these are the most prominent stocks on India’s

stock exchange.

VI. PROPOSED SYSTEM

A. Correlation between Stocks

Studies have shown that the price of a stock does not move

in isolation. There is statistically significant correlation

between prices of certain stocks and thus, price movements in

one stock can often be used to predict the movement of other

stocks [19] [20].

Let the two stocks whose correlation we want to find be

denoted by S and T. The correlation between these stocks is

given by:

Cor(S, T) = ∑ ((S (i) – SA) (T (i) – TA))/ (σSσTn)

where S(i) & T(i) are closing prices of the stock on the ith

day, SA & TA are the mean prices of the stocks, σS and σT are

the standard deviations, and n is the number of days over

which the correlation is to be found.

As an example, Fig. 1 shows five companies having the

highest absolute value of correlation with TCS, which is a

major IT services provider and a part of the Tata

World Academy of Science, Engineering and Technology 15 2008

316

conglomerate. It can be seen that the companies having the

highest level of correlation with TCS are the ones which are in

the same industry or a part of the same group; a result that was

expected.

Tata Consultancy Services – An IT services firm

Highly Correlated Companies:

• Infosys Technologies – An IT services firm

• Wipro Technologies – An IT services firm

• Tata Motors – A motor company, also part of the

Tata group

• Bharti – India’s largest telecom company

Fig. 1 Correlation example of a company

B. Input Features

Technical analysts make use of technical indicators, which

are mathematical formulations which give us clues about the

trend of the market. We use a set of 35 such technical

indicators as candidates for input features that are being used

by financial experts [21]. Some of the more important features

are given in Table I.

We first find the m companies which exhibit the highest

correlation with the stock to be predicted. One of these m

stocks will always be the target stock itself as it will have

perfect correlation with itself. Then, these 35 features are

calculated for each of these m companies by using their past

prices and trading volumes. Thus, we obtain a set of 35*m

candidate features.

C. Genetic Algorithm

As explained above, we obtain a set of 35*m candidate

features. A Genetic Algorithm is now used to select a set of

salient features from among them. The selected features are

used as inputs to a Support Vector Machine. The purpose here

is to obtain an optimal subset of features which produce the

best possible results. The various steps in the GA are

described below:

• Representation: We represent a chromosome by a binary

vector of size 35*m, where each bit of the chromosome

tells whether the corresponding input feature is selected

or not.

• Fitness Evaluation: The following fitness function is

used for evaluating the fitness of a chromosome i:

fitness = (A(i) – AR)/( ∑ (A(i) – AR) )

where, A(i) is the classification accuracy obtained by the

SVM with the input feature set as described

by chromosome I and AR is the accuracy of a random

guess, which, in this case is 0.5.

• Selection: Roulette Wheel selection is used for parent

selection. Thus, chromosomes with high fitness scores get

selected more often.

• Crossover and Mutation are then carried out to produce

a new generation.

• Stopping Condition: The GA stops when it does not

find a better solution for a fixed number of generations.

D. Support Vector Machine

The optimal set of features as selected by the genetic

algorithm above is then used as input to the SVM. The

original input features are scaled into the range of [−1,1]. The

goal of linear scaling is to independently normalize each

feature component to the specified range. It ensures the larger

value input attributes do not overwhelm smaller value inputs,

and thus helps to reduce prediction errors. The SVM Light

software package [22] was used to perform the experiment.

The kernel function used for transforming the input space to

the higher dimension space is the Gaussian radial basis

function kernel. This kernel function was selected as it gave

better experimental results than the other common kernel

functions.

TABLE I

SOME OF THE INPUT FEATURES AND THEIR FORMULAS

Feature Name Formula

Momentum (C(i)/C(i-N))* 100

Williams %R (HH(n)-C(t))/

(HH(n)-LL(n))*100

Rate of Change (ROC) (C(t) – C(t-n))/C(t-n)

5 Day Disparity (C(t)/MA(5))*100

10 Day Disparity (C(t)/MA(10))*100

Stochastic %K (C(t) – L(t))/(H(t) – L(t))

Price Volume Trend

(PVT)

((C (t) – C (t-1)) / C(t-1)) *

V

VII. EXPERIMENTAL RESULTS

We tested our approach with three stocks, TCS, Infosys and

RIL as mentioned above. The data used for this study were

obtained from the Yahoo Finance website [23]. We collected

in all 1386 trading days’ data from August 12, 2002 to

January 18, 2008. For each day, the opening, highest, lowest

and closing values of the stock price were obtained. Further,

the trading volumes were also obtained. The data were

collected for the 30 companies which comprise the Bombay

Stock Exchange’s representative index ‘Sensex’. 60% of the

data was used for training, 20% for validation and 20% for

testing the system.

The prediction performance is measured in terms of ‘hit

ratio’, which is the percentage of times our system’s

prediction for direction was correct. The results of our

approach were compared with the results obtained by the

stand alone SVM, where the 35 features for the target

World Academy of Science, Engineering and Technology 15 2008

317

company alone are used as input. The results of the stand

alone SVM were found to match very closely with the results

reported by Kim [16] for a similar model. Also, our GA-SVM

hybrid model significantly outperformed the SVM. For

example, for TCS, the hit ratio of our GA-SVM was

61.7328% while that of the SVM was found to be 58.0903%.

The hit ratios for all the three stocks are given in Table II.

TABLE II

HIT RATIOS OF SVM AND GA-SVM (%)

VIII. CONCLUSION

In this paper, we proposed a hybrid GA-SVM system for

predicting the future direction of stock prices. A set of

technical indicators, obtained from the stock to be predicted,

and also from the stocks exhibiting high correlation with that

stock were used as input features. The results showed that the

correlation concept & the GA helped in improving the

performance of the SVM system significantly.

There is a lot of scope for further work in this area. If

various political & economic factors which affect the stock

market are also taken into consideration other than the

technical indicators as input variables, better results may be

obtained. Also, incorporating market specific domain

knowledge into the system might help in achieving better

performance.

REFERENCES

[1] Chen, A.S., Leung, M.T., and Daouk, H. Application of Neural

Networks to an Emerging Financial Market: Forecasting and Trading the

Taiwan Stock Index. Computers and Operations Research 30, 2003, 901-

923.

[2] W. Kreesuradej, D. Wunsch, and M. Lane, Time-delay neural network

for small time series data sets, in World Cong. Neural Networks, San

Diego, CA, June 1994.

[3] H. Tan, D. Prokhorov, and D. Wunsch, Probabilistic and time-delay

neural-network techniques for conservative short-term stock trend

prediction, in Proc. World Congr. Neural Networks, Washington, D.C.,

July 1995.

[4] E. Saad, D. Prokhorov, and D. Wunsch, Advanced neural-network

training methods for low false alarm stock trend prediction, in Proc.

IEEE Int. Conf. Neural Networks, Washington, D.C., June 1996.

[5] R. K. Wolfe, Turning point identification and Bayesian forecasting of a

volatile time series, Computers and Industrial Engineering, 1988, pp

378–386.

[6] M. A. Kanoudan, Genetic programming prediction of stock prices.

Computational Economics, 16, 2000, pp 207–236.

[7] K. J. Kim. Genetic algorithms approach to feature discretization in

artificial neural networks for the prediction of stock price index. Expert

Systems with Applications, 19(2), 2000, pp 125–132.

[8] S. Schulenburg and P. Ross, Explorations in LCS models of stock

trading, Advances in Learning Classifier Systems, 2001, pages 151–180.

[9] O. Castillo and P. Melin, Simulation and forecasting complex financial

time series using neural networks and fuzzy logic, Proceedings of IEEE

Conference on Systems, Man, and Cybernetics, 2001, pages 2664–2669.

[10] H Kim and K Shin, A hybrid approach based on neural networks and

genetic algorithms for detecting temporal patterns in stock markets,

Applied Soft Computing, Volume 7, Issue 2, March 2007, Pages 569-

576.

[11] Tsaih, R., Hsu, Y. and Lai, C.C., Forecasting S&P 500 stock index

futures with a hybrid AI system. Decision Support Systems 23 2, 1998,

pp. 161–174.

[12] Kohara, K., Ishikawa, T., Fukuhara, Y. and Nakamura, Y., Stock price

prediction using prior knowledge and neural networks. International

Journal of Intelligent Systems in Accounting, Finance and Management

6 1, 1997, pp. 11–22.

[13] L.J. Cao and F.E.H. Tay, Financial forecasting using support vector

machines, Neural Computing Applications 10, 2001, pp. 184–192.

[14] F.E.H. Tay and L.J. Cao, Application of support vector machines in

financial time series forecasting. Omega 29, 2001, pp. 309–317.

[15] F.E.H. Tay and L.J. Cao, Improved financial time series forecasting by

combining support vector machines with self-organizing feature map.

Intelligent Data Analysis 5, 2001, pp. 339–354.

[16] K Kim, Financial time series forecasting using Support Vector

Machines, Neurocomputing 55, May 2003, Pages 307 – 319.

[17] Wun-Hua Chen and Jen-Ying Shih, Comparison of support-vector

machines and back propagation neural networks in forecasting the six

major Asian stock markets, Int. J. Electronic Finance, Vol. 1, No. 1,

2006.

[18] V.N. Vapnik, An overview of statistical learning theory. IEEE

Transactions of Neural Networks 10, 1999, pp. 988–999.

[19] H. J. Kim, Y. K. Lee, B. N. Kahng, and I. M. Kim, Weighted scale-free

network in financial correlation, Journal of the Physical Society of

Japan, 71(9), 2002, pp 2133–2136.

[20] Y. K. Kwon, S. S. Choi, B. R. Moon, Stock prediction based on financial

correlation, GECCO, 2005, pp 2061-2066.

[21] P. J. Kaufman, Trading Systems and Methods, John Wiley & Sons,

1998.

[22] http://svmlight.joachims.org/

[23] http://in.finance.yahoo.com/

SVM GA-SVM

TCS 58.09 61.732

Infosys 56.748 60.285

Reliance 55.643 59.534

World Academy of Science, Engineering and Technology 15 2008

318