Using Neural Networks in Trading. - page 2

 
a common mistake is not including "level" and "volume" measurements (volumes on futures)
 
Neutron писал(а) >> feed as input the already dissected time series, i.e. not every bar, but the likely key points

In general, it is not recommended to interrupt time series, particularly financial ones - information is lost.....

 
StatBars писал(а) >>

A sigmoidal function by itself does not flatten the distribution... In my opinion, it is more important to solve the problem of stationarity of the data during preprocessing.

By the way, the formula you gave me has W=420, d=14, so P>50400 - don't you think the sample is a bit too large?

No, neither singhmoid nor hyperbolic function equalizes the distribution. You can easily check this by plotting the distribution before and after the function is applied. You need to apply special methods here.

As for the "bigness" of the sample, a compromise is possible. For example it is possible, at smaller length of available historical data, to recommend an early stop of training, it will allow to avoid effect of retraining, but classifying abilities of NS at such way of training, will in any case be inferior to NS trained on enough big history.

In my experience (small) and articles the number of examples in a sample does not depend as you offer ...

And in my experience - there is no contradiction - everything is according to theory.

LeoV wrote >>

In general, time series, in particular financial ones, are not recommended to interrupt - information is lost.....

Due to complexity of NS training, we are always forced to find a compromise between architectural complexity and computational power. With the limiting complexity of the architecture we use, we naturally have a limit on the limiting dimension of the NS input, as a consequence, we can feed a vector no longer than some (a hundred other at most) to the input and have to choose between data loss and history coverage. Sometimes, it is important to cover as much as possible and comprehend what is covered in reasonable time (in terms of AI).

 
Neutron писал(а) >> Because of the complexity of training the NS, we are always forced to find a compromise between architectural complexity and computational power. With the limiting complexity of the architecture we use, we naturally have a limit on the limiting dimensionality of the NS input, as a consequence, we can feed the input with a vector no longer than some (a hundred others at most) and have to choose between loss of data and coverage of history. Sometimes, it is important to cover more and comprehend what is covered in a reasonable time (in terms of AI).

It makes no sense to chase the complexity of a neural network architecture, as 10-15 neurons will easily and smoothly learn the history of 1500-2000 bars, or even more. But the better they learn the history, the worse they will work in the future - the effect of overtraining comes. It is much more effective and productive to find "correct" entries, which will give the correct information to the NS about the symbol movement.

 

Leonid, there is no problem with retraining the NS - it is from not understanding the essence of what is going on inside this box with a beautiful name and three nails inside. Don't take a training sample shorter than minimal and you won't have to decide by gut feeling what is better and what is worse!

About "correct" inputs I agree with you 100% that's the key to success - everything that can be solved for NS-ku - must be solved independently. It needs to be left with things that the solution doesn't have or are unjustifiably difficult. For example, it does not make sense at all to feed the Zig-Zag input. The behaviour of NS in this case is obvious - it will learn what lies on the surface - sign alternation of ZZ's shoulders, and the use of such input data is zero.

 
Neutron писал(а) >>

Leonid, there is no problem with retraining the NS - it is from not understanding the essence of what is going on inside this box with a beautiful name and three nails inside. Don't take a training sample shorter than the minimum and you won't have to decide by gut feeling what's better or worse!

There are also problems with sampling - it is clear that in Forex there are certain laws of motion, which change over time. So if the sample is too big - the network will not find these laws of movement because there are too many of them and they are too different, too small - they will quickly retrain. And it is impossible to find the exact formula - so here too much depends on the trader, not on the complexity of the NS architecture.

 

That's right. Straight to the point!

Actually, if we solve the problem straightforwardly, it turns out that the optimal sampling length is P>(W^2)/d, and taking into account non-stationarity of processes on the market, the optimum is

P=(4-8)*(W^2)/d. This is what you are talking about.

 
Neutron писал(а) >>

This is roughly what happens: before conversion, after, Pictures not from the same sample, but nevertheless have done it many times the effect is the same...

 

I can see that it's level.

But it can't be like that if you just influence the input signal with a function like sigmoid and/or something like that. Most likely, if we extend the left and right axis on the lower chart by the distance of half as much as the last bar in the histogram (in order to see it), the miracle will disappear and we will see a bell.

Or else there is a hole in the analysis.

 
Neutron писал(а) >>

I can see that it's even now.

But it can't be like that. Most likely, if we extend the left and right axis on the lower chart one and a half times as far apart as the last bar in the histogram (in order to see it), the miracle will disappear and we will see a bell.

Well, or else there is a puncture in the analysis.

In the pictures is not normalized data and in addition to the different data, I just gave an example of what did (as it looks as a result)

And here's the script, you can use it to see what the output will look like (but don't be too picky about the input data - this script was made just for illustration ...)

//Type 0 - linear normalization, 1 - non-linear

Files:
Reason: