This is a machine learning extension of the Elliott Wave principle.

- Blogs
- Elliottware: machine learning extension of Elliott Wave principle
- December 2011 tests of Elliotware with Neuroshell

By JohnLast 3527 days ago Comments (13)

Elliotware with Neuroshell training range from 31 October 2011 |

Now I made some new tests of the same principle of Elliottware with Neuroshell Here I share the signals generated out of sample. For now all the three systems are working fine. Everything is running on full optimization.

According to the elliotware approach the choice of the training /testing period is everything. Here I use a training range from 31 october and the beginning of the downtrend.

As you cannot do an analysis for robustness in this software you really need to clearly examine the data (In metatrader 4 you can make an analysis of robustness by seeing if you are sitting on plateau of good solutions or a peak).

The first system is the

1. **The Regression slope system**

This system is based on linear regression slope with different bar lenght.

Estimated 1 year return on account

Optimization 151 %

Paper Trading 90.9 %

Trading 43.5 %

**2. The second system is a custom system**

Estimated 1 year return on account

Optimization 89.1 %

Paper Trading 103.1 %

Trading 43.5 %

I use two inputs:

2.1 A classify 3 network (Classification network with 3 inputs that are JMANSDT inputs)

2.2 Hurst exponent

**3. The Third network **

The Third network uses as inputs 4 Wavelts Daubechies 20.

Estimated 1 year return on account

Optimization 144.8 %

Paper Trading 196.4 %

Trading 120.9 %

## Comments

Hi

Regarding the third network , how to use as inputs 4 Wavelts Daubechies 20 ?

Which indicator do you use for fetching such values ?

You just put the indicators as inputs and the genetic algorythm finds the best values and the neural net makes the prediction.

The Elliotware is that what matters most is how you are going to choose the training range, the work on the system is entropy of human work, an authomatic system development works. You just need to like the results. Anyway this software does not allow any analysis of the robustness of the solutions. So you take as it is.

Daubechies-20 Wavelet Coefficient Value Calculation (Professional Only)

Abbreviation: WaveletValDaub20

Category: Wavelet

Input Parameters:

Name Range Default

Time Series Close

Window Exponent 1 <= Int <= 10 6

Wavelet Number 1 <= Int <= 2^WinExponent 1

Calculation:

Daubechies20Wavelet(X,n)(W)

Calculates discrete Daubechies-20 wavelet transform of X over the last n points. Returns value of Wth wavelet coefficient. W=1 returns the value of Smoothing (bias) coefficient,

where

X = Time Series

n = 2^Window Exponent

W = Wavelet Number

Discussion:

Wavelet transform performs decomposition of the time series into a row of wavelets, each with its own coefficient. Wavelets of different hierarchy levels (wavelets with numbers 1; 2; 3..4; 5..8; 9..16; ...; 2^(k-1)+1..2^k) describe different scale details in the decomposed time series, with level of detail increasing from level to level. For more information on Wavelets refer to Wavelet Discussion.

For more details, refer to Wavelets and Filter Banks, by Gilbert Strang and Truong Nguyen (Wellesley – Cambridge Press, 1996).

I would like to show some images showing what a spike in the performance looks like. This is from the book of Pardo, The evaluation and optimization of Trading Strategies.

Please check this article, it is about how this search is implemented in Meta Trader. It is funny how some sophisticated softwares lack this basic functionality.

I think that with a proper understanding of the market state we can overcome this by other means.

damn be careful so u dont stumble on a himmelayen its the bigegst mountain on the world

Here I add the continuation of those systems at out of sample performance.

We observe a drop in the performance of the first system, while it wahs equally performing as the second. However the system failed to respond when a break - out occured.

The second system uses not only directional imputs but also a Hurst exponent as an input.

1.

The Regression slope systemThis systm is based on linear regression slope with different bar lenght.

Estimated 1 year return on account

Optimization 151 %

Paper Trading 90.9 %

Trading -9.1 %

2. The second system is a custom systemEstimated 1 year return on account

Optimization 89.1 %

Paper Trading 103.1 %

Trading 53.8 %

I use two inputs:

2.1 A classify 3 network (Classification network with 3 inputs that are JMANSDT inputs)

2.2 Hurst exponent

3. The Third networkThe Third network uses as inputs 4 Wavelts Daubechies 20.

Estimated 1 year return on account

Optimization 144.8 %

Paper Trading 196.4 %

Trading 72.2 %

For now I will restrain myslef from doing comments about the profitability of those systems. What I means that the key is to select correctly the training range. And to know when to stop a system.

It looks kile the art part in the science of the Neural net but really what counts most for me is that.

I know that I can't prove anything, just sharing information.

At my limited experience there are two key factors that deternine the success.

1. How are you going to preprocess the data

I have selected some instruments that help a lot the neural net. Those instruments are helping the neural net and compensating some weaknesses like getting stuck in local optima.

* Singular Spectrum Analysis. I use end-pointed version.

* Wavelets

* Independent Component Analysis

* Principal Component Analyisis

1. How are you going to select your training window and how much you are going to trade your system

I think here is the real edge of the power neural net users because this is critical for your success.

I have a possible answer and it is about using market state analysis. I look for a particular market state and I train on it. If the market state remains stable for a while the neural net has to give me good entries.

Inevitably there is a moment in which you have only to cross the fingers. And that is the moment.

According to what I know the key factor is the data you are going to feed the NN, its internal architecture is secondary.

By the trem "Singular Spectrum Analysis. I use end-pointed version." you mean the casual Noxa indi ?

No I mean the End point version we all have. The Noxa indicators are not end - pointed.

They use a kind of a neural network with a training range in order to predict the values necessary for the current bars.

The end - point version of SSA is using every calculation point and stores it and freezes it one calculation point. That is why when vgc who created this version of SSA he has called SSA freeze (as you know the SSA has a future leak and the future bars are changing the past calculations causing the system to repaint pas history, and that makes it difficult to use in traditional rule base strategy).

Here I would like to post the contunuation of the out of sample analysis if the performance.

I would like to mention that lately after the downward break - out there is a a shift in the market state. Until the shift of the market state the three neural network performed quite well while the market was in relatively the same market state.

At the shift one of the neural net failed to cope with the new market conditions.

We have a shift from a more complex market state towards a simpler market state. When we have a break - out we have a larger Hurst exponent at the current market conditions. We could classify it as trending ans quiet (low volatility arround the directionnal impulse).

There is another factor that should be taken into account. As the neural nets need some data to compute even if thhey have the same training range they do not use the same data. That is due because it looks like some data a needed for the calculations of the valuses and that makes that we may be missing important part if the data.

Here the impulse at the beginning of the training range is important. It is important because the latest break - out had somewaht similar caracteristics, by missing this part of the data we can lack an important pattern in the model.

Here the first model lacked part of the impulse and it failed from the break - out of the euro.

The second model performed quite well.

The third model with the wavelet even if it is missing some data is quite good.

Here are the results:

1.

The Regression slope systemThis systm is based on linear regression slope with different bar lenght.

Estimated 1 year return on account

Optimization 151 %

Paper Trading 90.9 %

Trading -40.9 %

2. The second system is a custom systemEstimated 1 year return on account

Optimization 89.1 %

Paper Trading 103.1 %

Trading 76.1 %

I use two inputs:

2.1 A classify 3 network (Classification network with 3 inputs that are JMANSDT inputs)

2.2 Hurst exponent

3. The Third networkThe Third network uses as inputs 4 Wavelts Daubechies 20.

Estimated 1 year return on account

Optimization 144.8 %

Paper Trading 196.4 %

Trading 64.5 %

It looks like there there may be some ideas:

-Do not put all the eggs in the same basket: It is a good idea not to use only one model. Here we had three models 1 performed moderlately good and two were excellent.

-Never let a winner to become a looser. Here the first model generated a profit before the break - out of the Euro. To tell the truth until the last moment I believed that it was correct.

-Stop trading a model when it shows to become weak. As the market is chaotic and is loosing information with every new bar you could not expect a model to last forever. Here the Wavelet model shows signs of weaknesses it has to be stopped from trading.

I would like to mention that according to my hypothesis the results were due mainly to the correct use of the training range. A sophisticated software has some build in fool proof (in the direct sense) mechanisms in order to protect the customer to do something stupid with the neural net. Mainly it is about to avoid the overfitting that would result if you do not know how to work with neural nets.

Neuroshell has one type of mechanisms Trading Solution has others as they use different kind of neural nets. Neuroshell use a kind of cascade neural nets (maybe we do not know), those nets are adding neurons authomatically one by one. The cascade correlation algorithm constructs an ANN by adding hidden units one by one. There are two training stages: (1) maximising correlation between the

networkresidual error and the newly added hidden neuron's output (learning the weights from input to hidden layers); (2) minimisingnetworkerror while freezing all weights to the hidden node (from the hidden to output layers).The other possibility is that it has something to do with the quick prop. You know their neural nets are turbo props that makes me think that they use some things from the quick prop to speed up the training. Assumptions of course.

And they use also the genetic algorythms in order to select the best imputs. It is optionnal I used full optimization in the tests. That means that the system made the system on its own.

I used a commercial software because it allows me to have proper statistics of the trading model in order to see if our hypothesis is working. Of course statistically we can't prove anything but still...

You can check this address for a free quick prop software.

In trading solution they used completely different architecture. There is a full control over the neural net architecture, and they have also some built in fool proof defense giving you generic parameters in order to avoid overfitting (e.g. The ratio of data samples in the training set to the weights in the neural network topology can greatly effect the ability of a neural network to model the data. While the neural network topology is being modified, TradingSolutions will automatically monitor the ratio of samples to weights and display it on this page.).

Here on this example the Trading Solution model also performed nicely.

1.

The Regression slope systemThis systm is based on linear regression slope with different bar lenght.

Estimated 1 year return on account

Optimization 151 %

Paper Trading 90.9 %

Trading -13.5 %

2. The second system is a custom systemEstimated 1 year return on account

Optimization 89.1 %

Paper Trading 103.1 %

Trading 54.0 %

I use two inputs:

2.1 A classify 3 network (Classification network with 3 inputs that are JMANSDT inputs)

2.2 Hurst exponent

3. The Third networkThe Third network uses as inputs 4 Wavelts Daubechies 20.

Estimated 1 year return on account

Optimization 144.8 %

Paper Trading 196.4 %

Trading 63.1 %

For the last system I plot an equity curve.

As the market conditions did not change dramatically, the systems remain stable. However as the market is chaotic they are loosing in their efficacity because they loose predictive “power" with the time.

At the end of the year the results are still positive. I think that the system worked because the market conditions remained overall the same during the out of sample period. I can say the same in other way that the patterns learned by the neural net during the optimization period were valid for the out of sample period.

If you allow me I would say that the 1 h time frame was a stable frame during this period. And this has a lot to do with the market state analysis, for me the market state analysis and the elliotware are connected each other.

Here I would prefer to use Neural nets instead of rigid trading rules system. I considered that it was better to let the Neural net find the rules and not to force the market into a rigid scheme of rules.

And of course sometimes some imputs or combinations of imputs will work better than others and that is a lot of trial and error.

I would add even a human intuitive check you need to like the results from the optimization you need to feel good about it, and if it is going to work it would work right from the start, there in no point to endure a bif drow down.

And as you can remark I use three different nets (you can use more) but I think it is better to diversify because as you do not know the inner workings of the system maybeou something wrong may have happen with the training (the wrong optimization peak). When you train again the same neural net you would have different results, really every training in Neuroshell is unique.

1.

The Regression slope systemThis systm is based on linear regression slope with different bar lenght.

Estimated 1 year return on account

Optimization 151 %

Paper Trading 90.9 %

Trading 1.1 %

Ratio gross profit/loss 1.05

% Profitable trades 66.7 %

2. The second system is a custom systemEstimated 1 year return on account

Optimization 89.1 %

Paper Trading 103.1 %

Trading 48.1 %

I use two inputs:

2.1 A classify 3 network (Classification network with 3 inputs that are JMANSDT inputs)

2.2 Hurst exponent

Ratio gross profit/loss 4.28

% Profitable trades 58.8 %

3. The Third networkThe Third network uses as inputs 4 Wavelts Daubechies 20.

Estimated 1 year return on account

Optimization 144.8 %

Paper Trading 196.4 %

Trading 54.3 %

Ratio gross profit/loss 10.57

% Profitable trades 69.2 %

As you can see the effectivity of the neural nets decrease with the time. And that is normal because as the market is chaotic it looses information with every new bar. The patterns learned are becoming less and less effective. So there is no holy grail system or neural net or whatever. A constant tuning, observation, data mining, adaptation and last but not least RISK TAKING are required to stay with the current market patterns.

So that equals of a lot of work, something completely different from the easy money.