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

 
mytarmailS:

I'm the one who showed you this package, remember, when I asked you to make a script for mt4, there was a neuron from the nnfor package, and the target was PIP- Perceptually Important Points (repr_pip) from TSrepr :)


Vladimir! I have a few questions, if you allow me...

Tellme what maximal error you managed to achieve on the classification of zigzag direction on the EURUSD? And did you use noisefilter while doing it?

2) Does "discretization" of predictors, that you described in your articles, worsen the quality of learning?



3) I want to try to do some kind of meta-learning, at the lowest level, the gist of the idea is as follows:

n1. train let forrest on the data

n2. We pull out all the rules that Forest has generated and apply them as new predictors; each rule is a predictor and there will be 500-1000 rules. Predictors turn out to be "sparse", but what can we do?

n.3 Let's train a new model on predictor rules...

The idea is to

1) to increase the number of predictors

2) obtaining more complex and deeper rules, i.e. more hierarchically complex rules

3) Forest show prediction as sum of all rules predictions (trees), it seems to me that if we consider not rules sum but rules separately then we can better separate class labels, maybe find some unique combinations of rules etc.

The question is: isn't what I just wrote the usual gradient boosting?

4) And also, where to get those spectral indicators that you use satl, fatl etc.

1. I remember this story about the package. Promising package.

The best result with ELM ensemble is Acc=0.8+-0.1. It can be done not only withnoisefilter. Accuracy is not the most important quality parameter for TC. For our purposes it is more important to have the maximum average reward per bar on a particular time interval.

3. Discretization removes the problem of outliers and makes the relation of predictors to the target more linear. But I have not yet received a significant improvement in the quality of classification. I continue to dig in this direction. Many new techniques have emerged.

4. I don't understand why you got bogged down in a simple forest. This area is now plowed up and down. There are dozens of new RF options. The latest exotic and still raw is gensemble. A forest in the nodes of which can be any model, not just a decision tree.

Try off-the-shelf solutions, no need to reinvent the wheel, better to learn to ride the ready-made ones well.

I'm in the process of implementing a Python integration package with MT5 right now. Too bad they stopped the integration with R.

Good luck

 
Interesting topic. Although I am not a mathematician and far from machine learning, but I see what the problem is. And I know how to solve it. It is impossible to create a self-training system if it is not clear when the market will start to move, if it will start at all, and if it will start when it will end, and if it is possible to make money on this movement. It is necessary to create a working model, that is, to create a profitable system. And then, relying on it, set the algorithm for comparison and improvement of the system. I went this way and created a simple algorithm, though for manual trading. See the interesting topic How to increase your account by 1000 times.https://www.mql5.com/ru/forum/330313
Как увеличить счет в 1000 раз.
Как увеличить счет в 1000 раз.
  • 2020.01.12
  • www.mql5.com
Как увеличить счет в 1000 раз. Мне удалось пройти почти половину пути к этой цели. Результат счет за четыре месяца удалось увеличить в 28 раз...
 
Vladimir Perervenko:

The best result with the ELM ensemble is Acc=0.8+-0.1. Noise processing is mandatory. It can be done not only withnoisefilter.

Well look, here is the result of xgboost

zigzag, classification, eura watchman , without removing noise examples, predictors (pca and indicators) , no data preparation, just pile everything up and go

error on OOS

[1] "Final Accuracy = 77.16%"

So the trees are not bad either, and if we remove noise...

Vladimir Perervenko:

Accuracy is not the most important quality factor for TS. For our purposes it is more important to have the maximum value of the average reward per bar on a certain time interval.

And how it can be expressed as a target variable?


Vladimir Perervenko:

3. Discretization removes the problem of outliers, makes the relationship of predictors to the target more linear. But I have not yet received a significant improvement in the quality of classification. I keep digging in this direction. A lot of new techniques have appeared.

The main thing is not to make it worse, I personally need discretization for transformation into categorical data, preferably without information loss. All this is necessary again for constructing rules.

Vladimir Perervenko:

4. I don't understand why you are bogged down in a simple forest.

I'm rather bogged down in decisive rules in general... You are interested in the researcher of the model I understand, I have my heart set on the research of the process itself, and there you need interpretability.

The "standard learning" that you and (99.9% of others) do has a flaw in relation to the market.

By "standard training" I mean that the data are represented as a matrix (a row is a set of training with a class label), and this model sees nothing but the matrix row.

If we imagine that the market is an event-driven model, and I'm sure it is, then let's model a situation.


if event 1then event 2 then event 3 then Y == 1

As you see this rule ))) (this is another answer as to why I got bogged down in the rules)

What if event 1 happened a week ago and event 2 happened yesterday ?

What if event 1 can happen a week ago and 5 minutes ago and so on with each event, the main thing is that the events occurred and in the right order.

No AMO will ever find these regularities when the data is in the form of a matrix with data plotted using the sliding window method.

So that's what I'm talking about, huh. How can you look for patterns that occur over a non-regular time range?

Here are my attempts to find something that should try to answer these questions


looking for associative rules - the arules package.

You can find such rules with which Y is associated, and it doesn't matter in what sequence those rules occurred

search for associative rule sequences arules seqence

You can find such rules which are associated with Y but taking into account the sequence of these rules.

Deep analysis and clustering ofTraMineR sequences

Genetic rule generation SDEFSR

The essence of the package is not to predict Y but to explain it, the algorithm tries to explain what events should happen in the learning matrix so that Y appears


All these approaches in theory should greatly expand the potential of our current prediction capabilities

And as you can see all of them are based on logical rules)

 
MrBobr1:
Interesting topic. Although I'm not a mathematician and far from machine learning, but I see what the problem is. And I know how to solve it. It is not possible to create a self-training system, if it is not clear, when the market begins to move, if it begins at all, and if it begins when it ends and if it is possible to make profit from this movement. It is necessary to create a working model, i.e. to create a profitable system. And then, relying on it, set the algorithm for comparison and improvement of the system. I went this way and created a simple algorithm, though for manual trading. See the interesting topic How to increase your account by 1000 times.https://www. mql5.com/ru/forum/330313

looked through half of the thread, still do not understand what the point is )

 
mytarmailS:

I have looked through half of the branch, I still do not understand what the essence is.)

The point is a single run has a different probability from the ensemble run and can be anything.

 
mytarmailS:

I've looked through half this thread, I still don't understand what the point is.)

It's simple. You should not try to understand the whole market. And don't trust the robot to look for these regularities in the entire market. Take only a very small part of the market. And trust the robot to look for patterns in only similar parts of the market. Or find these regularities yourself. There are situations in the market where the probability of profit is much higher than to lose. And there are situations when it is better to stay out of the market. And there are most of these situations. So take only this part of the market and ignore all the other movements, and create a trading algorithm.

 
mytarmailS:

I looked through half of this thread, I still do not understand what the point is.)

It's like reading half a book and not understanding anything. Some people managed to increase their accounts by hundreds of times, and I repeatedly by dozens of times, and one author wrote in the branch, that he managed to increase his accounts by 1000 times. So, there are regularities in the market. It's with these regularities and it's necessary to work.https://www.mql5.com/ru/forum/330313


Как увеличить счет в 1000 раз.
Как увеличить счет в 1000 раз.
  • 2020.01.12
  • www.mql5.com
Как увеличить счет в 1000 раз. Мне удалось пройти почти половину пути к этой цели. Результат счет за четыре месяца удалось увеличить в 28 раз...
 
MrBobr:

It's simple. You don't have to try to understand the whole market. And don't trust a robot to look for these patterns in the whole market. Take only a small part of the market. And trust the robot to look for patterns only in similar parts of the market. Or find those patterns yourself. There are situations in the market where the probability of profit is much higher than to lose. And there are situations when it is better to stay out of the market. And there are most of these situations. So, take only this part of the market, and ignore all of the other movements, and create a trading algorithm.

That's what we do here, but at a different level...

Here's an algorithm -- a solving tree or desing tree.

What is it?

This is a logical rule that can be regarded as marking some part of the market, or you can imagine that this is a micro trading system for this part of the market. Then we go further and add many such rules(microsystems), sometimes thousands in one, it will be a Forest algorithm

 
MrBobr1:

It's simple. You don't have to try to understand the whole market. And don't trust a robot to look for these patterns in the whole market. Take only a small part of the market. And trust the robot to look for patterns only in similar parts of the market. Or find these regularities yourself. There are situations in the market where the probability of profit is much higher than to lose. And there are situations when it is better to stay out of the market. And there are most of these situations. So, take only this part of the market and ignore all the other movements and create a trading algorithm.

No, he won't.
 
MrBobr1:

It's like reading half a book and not understanding anything. Some people were able to increase their accounts by hundreds of times, and I repeatedly increased them by dozens of times, and one author wrote in a branch that he managed to increase his accounts by 1000 times. So, there are regularities in the market. So these regularities are necessary to work with.https://www.mql5.com/ru/forum/330313

I looked it up and did not understand it, because I didn't see any clear algorithm of actions. I didn't see any not so clear either, I didn't see any pictures and posts with 1000% of profit in them.

Reason: