Associative
self-building neural net builder generates neural network only
during train. When the system foretells future trade periods
it only activates receptors in the receptor layer based on result
of work of the preprocessor. The builder contains a set of learning
rules that define way of the network construction. These rules
provide Artificial Foreteller with mechanism to extract regularities
that can be used to predict future price of a stock from the
tick data itself. When associative self-building neural network
learns it fixes historical trading data in its structure that
it met during train. It can be said that network remembers and
compares them with new case trying to find analogies and make
conclusion if it is favorable for trade or not. Attempt to implement
this approach with conventional programs failed because of dimension
problem. Associative neural network is able to overcome this
problem because it can extract only that part of data that have
some associations with processed case.
Train
of Network
Main
objective of train is to develop network that can wrongly generated
by preprocessor trade signal and advise user not to trade during
this trade periods.
As it can be seen from figure 1, initially associative self-organazed
neural network consists of only receptor layer. Quantity of
receptors are limited only with quantity of criteria that user
wants to use and PC processing power. Each receptor represents
one of values of indicators or moving averages, or any other
useful information that preprocessor defines when it processes
tick data. Receptor becomes activated only when its relevant
indicator gets a value.

figure
1.
During
training session we should use historic tick data. Why do we use
them? There exists very simple answer - because in that case Preprocessor
can peep at "future" trade periods. In other words,
it processes historic data like a real one but with one very important
difference. After it processed current trade period it verifies
next adjoining one and determines if next period is favorable
for trade or not. If next period is favorable for trade then Preprocessor
gives current trade period positive value. If it is bad for trade
then Preprocessor gives current trade period negative value. If
next period is on-balance period then Preprocessor gives current
trade period neutral value.
Each
period is described with a set of indicators and/or moving averages.
Trainer can select different indicators. Range of values of each
indicator or moving average is split up to 50 sub ranges and can
be presented as shown below.
Indicator
A - A1, A2, ... , An.,where Indicator
1 is a range of values, and A1, A2, ... , An
- set of sub ranges.
Indicator
B - B1, B2, ... , Bm.
........
Indicator
Z - Z1, Z2, ... , Zs.
When
preprocessor generates trade signal it describes current trade
period with set of values of indicators like A1,B2,
... , Zm. For the period of trades preprocessor
can generate as a set of trade periods:
Trade
Period 1 - A1,B2, ... , Zm.
Trade Period 2 - A9, Bw, ... , Zr.
........
Trade Period m - Ak, B6, ... , Zl
, where A1,A9,..., Ak - values of
indicator A, B2, Bw,..., B6
- values of indicator B, ...., and Zm, Zr,...,Zl
- values of indicator Z.
When
preprocessor works on historical trade data it derives trade signal
and describes current trade period as Train Case 1 - A1,
B2, ... , Zm. At same time, it assesses next
trade period as positive/negative/neutral, where "positive"
means that the description of the trade period followed change
of trend, "negative" means that trade period did not
followed with change of trade. Preprocessor forms train set of
examples like:
Train
Case 1 - A1, B2, ... , Zm. -
positive
Train
Case 2 - A9, Bw, ... , Zr.
- positive
........
Train Case m - Ak, B6, ... , Zl - negative
This
set of cases is used for train of Artificial Foreteller and generating
of associative self-building neural network. During train Artificial
Foreteller processes the set to find combinations of values of
different features that are typical for positive and negative
train cases. Let's see how the Artificial Foreteller processes
shown below train set. Trade period 1 describes situation at the
market, and its description is marked as positive if following
trade period 2 is favorable for trade. Trade period 2 describes
situation at the market, and its description is marked as positive
if following trade period 3 is favorable for trade. Trade period
3 describes situation at the market, and its description is marked
as positive if following trade period 4 is not favorable for trade.
Neural
Net Builder derives combinations of indicator values and represents
them with nodes and their connections in the neural network. As
follows from example give above, Neural Net Builder forms four
main nodes that represent two positive, and two negative trade
periods. At same time it will generate three new nodes that are
common for more than one trade period. One of them ( A1&B2&C5&G11&K13
) belongs to positive trade periods, one - belongs to negative
trade period (A10&B21), and one node (D11&E13&G11)
belongs both positive and negative trade periods. As a whole,
generated network can be represented like sum of products and
dispersions
((A1
& B2 & C5 & G11 & K13)
& D1 & E23 & F43 &
L7 & M8 & N22 & O11
)OR((A1 & B2 & C5
& G11 & K13) &
(D11 & E13 & G11)
& F33 & L8 & M19
& N21 & O17)OR
NOT((A10 & B21)
& C15 & (D11 &
E13 & G11) &
F23 & K18 & L5 & M14
& N11 & O2)OR
NOT((A10 & B21)
& C14 & D8 & E11 &
F3 & G1 & K19 & L6
& M4 & N1 & O4)
Associative self-building neural network is not a "black
box". The formula given above can be analyzed by a user to
separate most important combinations of indicators from minor
ones. It can be used as a powerful tool for technical analysis.
Based on analysis of indicators user selects only those indicators
that were used in positive periods and removes those indicators
that were used in both positive and negative trade periods. Then
user trains Artificial Foreteller on a new set of indicators and
assesses quality of prediction. Using this approach user can select
most important indicators.
In
example shown above a combination of indicator values A1&B2&C5&G11&K13
is common for two trade periods. Combination
of features A10&B21 is common for two trade
periods. And combination of features D11&E13&G11
is common for two trade periods that belong both positive and
negative trade periods. When Artificial Foreteller predicts situation
it assesses activated nodes and if activated node represents combination
of features A1&B2&C5&G11&K13
then its prediction is positive. If a node that represents combination
of feature's values A10&B21 is activated
then Artificial Foreteller predicts that next trade period is
not favorable for trade. In case when a node D11&E13&G11
is activated Artificial Foreteller can give only assessment of
future trade period. It can predict that the trade will be profitable
with % probability.
User
who trains the system can analyze network and decide if it necessary
to keep features D, E, and G, or remove only
sub ranges D11, E13, and G11. After
that Artificial Foreteller can be trained again to check if its
prediction becomes better or not. This way user can select most
important and representative features that describe market condition
and remove less important ones.
Associative
Self-Building Neural Network Generation
Network
Builder receives result of analysis made by Preprocessor on its
input. According to description of trade period Network Builder
activates a set of corresponding receptors and forms fragment
of network that represents not only current trade period but also
finds associations with periods that have already are in the network.
Then Network Builder applies a set of learning rules to attach
relevant weights and stimulus to the activated part of the network.
In this way Network Builder forms associations and patterns that
will be used for predictions. On figure 2 a small fragment of
associative self-building neural network is demonstrated.<

figure
2.
Quantity
of layers and nodes does not predefined in the associated
self-building neural network. Their quantity depends on complexity
and quantity of train data. If relationships in the data are
well defined then network will be compact. If there are no
any relationship in train data then network will be a collection
of not correlated data cases. User has no way to interfere
directly into forming of neural network. He cannot order number
of nodes of layers. But user can influence on the network
structure with selecting different sets of indicators. The
more representative set of indicators was selected the more
compact network will be generated by Network Builder.
|