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.
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.
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
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.
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.
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
Train Case 1 - A1,
B2, ... , Zm. - positive
Train Case 2 - A9,
Bw, ... , Zr. - positive
Train Case m - Ak,
B6, ... , Zl - negative
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.
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 &
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
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.<
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.