Machine learning in trading: theory, models, practice and algo-trading - page 362

 
Dr. Trader:

A summary of the previous hundred pages :)

Neuronics and almost all other popular models are very far from artificial intelligence. They can simply find such combinations of predictor values that achieve the desired learning accuracy, and in the future, when predicting, they sort of interpolate (or extrapolate) the past results to get a new prediction.

This means that if we take, for example, Ma, Rci, and Stochastic for predictors, and train the neural network using zigzag reversals as a learning objective - then we tell the neural network "these three predictors can predict reversals. And the neuronics itself won't be able to figure out if these predictors really fit. It will memorize those data with tolerable accuracy and in trading we will hope that the same combinations of Ma, Rci and Stochastic will be preserved before the reversal. But they won't, and we will be out of the money.

A model trained on useless predictors will fail even if it is gbm, even if it is neuronics, even if it is regression. You can even generate random series and use them as predictors, the neuron will find among them and remember recurring combinations.
It is the task of a human data miner to select predictors and the purpose of training, using other tools. And training the model (neuronics) is a tiny penultimate step.

Predictors must keep correlation with the target on training data, both in the past and in the future. That's why SanSanych talks about testing the model on different files, just to make sure that the dependencies found don't disappear with new data.
I.e. we carefully study and select predictors and the target, train the model and test it. Then we test it on completely new data for the model. If the forecast accuracy in both cases did not coincide, then the predictors or the target are not suitable. You should look for other ones.


In my opinion neuronics is completely unsuitable for predicting nonstationary time series. The price behavior is constantly changing, found patterns stop working after hours, everything is chaotic. And then someone takes a neuronics, gives it a price for a couple of months and requires to find the dependencies repeating during all that time. But there are no repeating dependencies, and what the neuron can find and remember will be just a 100% random coincidence.

If we take a neuron, then we can give it only processed prices (and not pure ohlc), such as indicators.


Why are you so narrow-minded, everyone here writes as if they've never seen anything sweeter than a carrot )) Don't bother with predictors, train neuron to find those predictors, train neuron to teach neuron, experiment :) Of course it's too dumb to just take indicators, feed them to the input and output zigzag, I don't know why everybody is discussing it :) And of course this is not AI, it's just classification, you don't need a neuron at all! You can do with a Bayesian classifier
 
Maxim Dmitrievsky:

Why think so narrowly, everyone here writes as if he had never seen anything sweeter than a carrot )) Fuck predictors, teach the neuron to find these predictors, teach the neuron to teach the neuron, experiment :)
I think that neuronka should set useless predictors to 0 - and they won't affect the output! The only difference will be in calculation speed between all predictors and with half of the most important ones. But this is also important.
 
elibrarius:
Well, it seems to me too, that neuronics should set the useless predictors to 0 - and they won't affect the output! The only difference will be the computation speed between all predictors and half of the most important ones.

That's how neuronics were created for resource-intensive tasks, the only problem is that in mt5 everything is very limited with it now. You can create very complex, original and non-obvious models, only then the potential of applying NS will be disclosed, but certainly not in those techniques, which are discussed here, it's like the basics for beginners :) Not enough power - there are servers for NS training... Anything that can be trained in 5-30 minutes on an ordinary PC is, in my opinion, not neuronics and primitive at all :)
 
Maxim Dmitrievsky:

This is how neuronics were created for resource-intensive tasks, the only problem is that in mt5 it's very scarce now. You can create very complex, original and non-obvious models, only then the potential of the NS application will be disclosed, but certainly not in those techniques, which are discussed here, it's like the basics for beginners :)

Why? I'm planning to use neuronics in pure MQL for optimization (to select parameters of indicators) and run it on a network or in the cloud. 20000 agents can count - it's hard to compare with any R as far as speed is concerned. Although it seems that R also has distribution of tasks in the cloud Azure

 
elibrarius:

Well, why? I'm planning to use neuronics in pure MQL for optimization (to select parameters for indicators) and run it on the network or in the cloud. 20000 agents may count - no R is as fast as that


I mean that neuron in MT5 is not enough, only one :)
 
Maxim Dmitrievsky:

I meant that there are not many neurons in MT5, only one :)
Well, the most important thing is still the quality of input data, if you have it, then even 1 neuron will solve the problem
 
elibrarius:
Well the most important thing is still qualitative input data, if you have it, then even 1 neuron will solve the problem

No, it won't. If you increase the sample, your neuron will shrink from stress and burst :) It won't be able to approximate such a sample and will constantly output 0.5
 
Maxim Dmitrievsky:

No, it won't. If you increase the sample, your neion will shrink from stress and burst :) It won't be able to approximate such a sample and will constantly output 0.5

0.5 will be 0.5 if the multiplier of all inputs = 1. But if the network learns and sets the multiplier to 0 for insignificant inputs, and to 1 for the most important ones, then everything will be ok. At the output of course will not be 1, but for example react if the output >0.8

But unfortunately there are no indicators that would correlate with the correct outputs. Therefore drawdowns will definitely occur. We only need to bend the probability to our side
 
elibrarius:

0.5 will be if all inputs have multiplier = 1. And if the network learns and sets the insignificant inputs multiplier to 0, and the most important to 1, then everything will be okay. The output of course will not be 1, but for example react if the output is >0.8

But unfortunately there are no indicators that would correlate with the correct outputs. Therefore drawdowns will definitely occur. All we need is to bend the probability in our direction.

It is not that they are not correlated, they will contradict themselves when the sample increases, yes, as a result either the output is always 0 or 1, or 0.5... moreover for 1 neuron. That is, if >0.5 sell and <0.5 buy. You set correct (in your opinion) predictors and correct answers, that if psi is oversold and the market grows on the next n-bars, then output 0, and if psi is overbought and the market goes down, then output 0. But there will be a lot of cases when it will be the other way round and it will blunt, mix signals and go in a trance. As a result the output will always be around 0.5 with very small deviations in one direction or another... and so it will be with all oscillators, because they are not predictors, but derivatives of the price :)
 
Dr. Trader:

So if we take, for example, Ma, Rci, and Stochastic for predictors, and train the neural network using zigzag reversals as a training target - then we tell the neural network "these three predictors can predict reversals. And the neuronics itself won't be able to figure out if these predictors really fit. It will memorize those data with tolerable accuracy and in trading we will hope that the same combinations of Ma, Rci and Stochastic will be preserved before the reversal. But they won't, and we will be out of the money.

IMHO it is more correct to think of classification and regression as different kinds of averaging points in N-d, in the vicinity of some kernel, as it happens for example in kNN which is said to be an "ideal" approximator, but slow and not practical. In classification, only the responses are averaged, in regression, the fiches and responses are averaged. Obviously, if this averaging mixes contradictory points, the result will be noisy, not pronounced.

Reason: