![](bg2.png)
decision rule which transforms the tree into a pow-
erful functional approximation while remaining eas-
ily interpretable, and a global optimization algorithm
fixes the parameters of the fuzzy splits. (Mookerjee
and Mannino, 1997) introduced a sequential decision
model to optimize an expert system when the cost or
time to collect inputs is significant and inputs are not
known until the system operates. (Liang et al., 2010)
used a decision rule to handle uncertain concepts, so
the dynamic data stream with uncertain numerical at-
tributes can be classified efficiently.
The paper is organized as follow. We provide a
survey on related works in Section II. In Section III,
our proposed a model is discussed. In Section IV, we
provide two practical scenarios, investing in financial
market and gaming in chess competition, as the test
beds for the performance evaluation of the proposed
method. In Section V, we draw a conclusion and make
some suggestions on our future work.
2 METHODOLOGY
In stock market, people usually use technical analysis
(TA) indicators to analyze the trend of market.In this
paper, we mainly use indicators including MA, CCI,
RSI, KDJ and MACD to build strategy trees, and to
evaluate fitness values of each strategy tree.
2.1 System Architecture
Our system consists of a GP Engine, a control core
and a market data input module. The system architec-
ture is given in figure 1.
GP controls
parameter
Market data
controls
parameter
System
Controls kernel
GP Engine Market data
Optimized
strategies
Figure 1: System architecture.
In our system, the function of control kernel is
to control whole system’s working, the parameters
such as population size, crossover rate, mutation rate
and period are defined by users before the system
gets launched. After users submitted control parame-
ters, the control kernel transmits control parameters to
GP engine for operation. Besides, it receives market
data from market data module, and users can choose
whether to train several strategy trees using sample
data, or use some specific strategy trees to perform
out-of-sample testing using unseen data or live data.
In training, the control kernel calculates fitness value
of each individual in population. After calculated fit-
ness, it determines whether to do more operation or
to terminate the system. In testing, the control kernel
also calculates the fitness values, then it summarizes
the results of calculation and draws some diagram to
show strategy trees’ performance.
In the system, the outcomes of each generation of
population, and the program running condition are re-
coded in the ’System log’, for the information of ev-
ery aspects about system running. People can use it
to do more analyze or collect good individuals.
2.2 Strategy Trees
In our system, strategy trees should be constructed by
allowing the GP engine to combine several technical
indicator-based rules (see the appendix) with boolean
operators, AND, OR and XOR. According to the cor-
responding rule, each indicator can be evaluated as
two values as TRUE and FALSE. Once a strategy tree
has been constructed, it can represent a trading rule,
and the tree also can be evaluated as TRUE and other-
wise FALSE. For example, a strategy tree is given in
figure 2. In this tree, it represents the rule of the form:
• IF RULE RSI IS TRUE OR RULE CCI IS FALSE
XOR (RULE MACD IS TRUE AND RULE KDJ
IS TRUE) THEN OPERATION
Where RULE RSI is TRUE could be, for ex-
ample, the value of RSI is above 70, then it stand
for overbought, RULE RSI would. If the value of
RSI is below 30, then it stand for oversold, therefore
RULE RSI would be FALSE. Similarly, RULE CCI
and RULE MACD should meet their conditions using
similar judgement methods.
XOR
OR AND
RSI=TRUE CCI=FALSE MACD=TRUE KDJ=TRUE
Figure 2: Strategy tree.
Each individual in population consists of two
strategy trees, one is buy tree, while another one is
sell tree. Evaluating the tree’s value, when buy tree’s
value is true, it emits buy signal, the system will per-
form buy operation. While sell tree’s value is true, it
ICAART2013-InternationalConferenceonAgentsandArtificialIntelligence
426