Overview of the Technology

Top  Previous  Next

Ward Systems Group Adaptive Net Indicators do pattern matching by comparing each new pattern encountered with a number of immediately previous known patterns. They do not use weights like most neural nets. The Net "output" (i.e., the output of the indicator) is derived from the outputs of the immediately previous patterns. It is most heavily influenced by the most closely matching of the known patterns, and so the output of any new pattern encountered will be much like similar known patterns. You the user can set the number of immediately previous patterns which the Net compares to the new pattern.

 

The Net indicator has "inputs" in which the pattern is stored, just like other indicators and neural nets. If a Net has three inputs, you can feed in the current values of the RSI, a CCI, and the Momentum to form the pattern, for example. Or you could feed the Net todays close, yesterdays close (lag 1 of close), and the close the day before (lag 2 of close). You can feed Net outputs into a Net, just as you could do with any other indicator.

 

Nets also have another type of input, called the "Actual" value. This is where you show the Net what you want the outputs to be like. In other words, you "train" the Nets to produce values like the Actual value whenever the corresponding inputs are closely matched. You want the Net to predict for you the Actual value X bars in advance. The output of the Net is the prediction signal of the Actual value X bars ahead. You get to pick what X is for each Net. This is just like the neural nets in the NeuroShell Trader. Furthermore, you can even optimize the value of X in a Trading Strategy.

 

There is another big difference between Ward Systems Group Adaptive Nets and the neural nets in the NeuroShell Trader. The contribution factors for each input are also inputs. Thats right, instead of the net telling you the contribution of each input variable, you get to tell the Net what the contribution should be. The higher the contribution, the heavier the Net will weigh that input when it does pattern matching. Of course, if youd rather have the contribution factors figured out for you, the NeuroShell Trader Professional could optimize them.

 

There are two kinds of Adaptive Nets, depending on the type of output they produce. There are "Prediction Nets" whose outputs are predicted values (like price change, percent change in price, predicted indicator values, etc.). There are also "Classifier Nets" whose output is a probability of the pattern being of one type or another. Types might be "Buy" and "Hold", for example. Other types can be "Good" and "Bad", or "Up" and "Down", etc.

 

The Classifier Nets dont actually read or produce the strings like "Buy" and "Hold". You use positive numbers in the Actual for one category such as "Buy", and zero or negative numbers for the other category such as "Sell". The predicted output will be a number between –1 (strong probability of sell) and 1 (strong probability of buy). Numbers close to zero could be considered "Hold" (YOU would decide how close to zero a prediction should be to be considered a "Hold").

 

There are also two kinds of Prediction Nets and two kinds of Classifier Nets.  Each of these types has "lagged" and "unlagged" subtypes.  The unlagged subtypes get all of their input values from the current bar.  For example, suppose there are two inputs, high and low.  The unlagged nets will have exactly two inputs:  the current bars high and the current bars low.  However, the lagged nets, given the same specified inputs high and low, will have the following actual inputs:

 

high, lag(high,1), lag(high,2), lag(high,3), etc.

low, lag(low,1), lag(low,2), lag(low,3), etc.

 

The number of lagged values used as inputs is specified by the user in the parameter called "lag".  So if lag=3, then there will be a total of 8 inputs in the example above (the high, three lags of the high, the low, and three lags of the low).

 

There are a total of 18 Adaptive Nets, nine Prediction Nets and nine Classifier Nets. There are nine of each type because each of the nine takes a different number of inputs, and some are lagged and some are unlagged as follows:

 

Predict2  -  Prediction Net which takes 2 inputs

Predict3  -  Prediction Net which takes 3 inputs

Predict4  -  Prediction Net which takes 4 inputs

Predict5  -  Prediction Net which takes 5 inputs

Predict6  -  Prediction Net which takes 6 inputs

 

LagPredict1 – lagged Prediction Net which takes 1 input

LagPredict2 – lagged Prediction Net which takes 2 inputs

LagPredict3 – lagged Prediction Net which takes 3 inputs

LagPredict4 – lagged Prediction Net which takes 4 inputs

 

Classify2  - Classifier Net which takes 2 inputs

Classify3  - Classifier Net which takes 3 inputs

Classify4  - Classifier Net which takes 4 inputs

Classify5  - Classifier Net which takes 5 inputs

Classify6  - Classifier Net which takes 6 inputs

 

LagClassify1 – lagged Classifier Net which takes 1 input

LagClassify2 – lagged Classifier Net which takes 2 inputs

LagClassify3 – lagged Classifier Net which takes 3 inputs

LagClassify4 – lagged Classifier Net which takes 4 inputs