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

 
Mihail Marchukajtes:

This is the first option, and the second is to build small models without adaptation for a relatively short period of time. So to speak, to raid the market. Came in, optimized, took away from the commoners a couple of good deals and was off until the next time....

If you have a good memory you can switch it off and every day it will be born again, but absence of long-term experience is always a fiasco and groundhog day

 
SanSanych Fomenko:

I do not need to think - for me it is a passed phase with a fairly large archive of experimental results.

I will repeat what I wrote many times.

1. 1. Targeted ZZ.

2. I have invented about 200 predictors for this target

3. 27 predictors were chosen out of 200 using the "influence on the target" algorithm

I select predictors from 27 predicators on every bar. The number of selected predictors varies from 6-7 to 15 out of 27.

5. I adjust rf. Fitting error is just under 30%.


No infinite cycles. 30% is a very good result, but in theory. I have not managed to build a practical Expert Advisor based on this result, I had to add trend indicators. At present I am changing indicators for GARCH.

As I needed to prove, the approaches are identical because it is a principle, but what is rfe?

P.S. I have models in indicators whose output has an up or down arrow. The Expert Advisor has the function of a reliable "opener"

 
SanSanych Fomenko:

I do not need to think - for me it is a passed phase with a fairly large archive of experimental results.

Well, we don't have to do it, since you didn't succeed

you'd think we were smarter than you :)

P.S. accustom myself to learn from other people's experience

 
Maxim Dmitrievsky:

You can just turn off the long-term memory of the bot and it will be reborn every day, but the lack of long-term experience is always a fiasco and groundhog day

Daily over-optimization in the morning is not good, here I agree. For TC to work it needs a bit more prolonged interval. For me on M15 a week is good enough. If I consider 40 signals in training where the confidence interval for the model is about 20 including 5 on OOS (Friday) the other 15 are already working, usually 3-4 deals per day, that's a week for you! And then again Groundhog Day, or rather Groundhog Week, so it's work ... Can't help it :-) Although I like it and Steve Jobs was right. "There is no better job than a well-paid hobby.

 
Maxim Dmitrievsky:

Well, we don't have to do it if you can't do it.

You'd think we were smarter than you :)

P.S. I'm learning from other people's experiences.

I did not say that it did not work. It worked, and very much so - I managed to solve some financial problems.

I have solved some financial problems, but my Expert Advisor has been retrained and the indicators I've been trying to get rid of have been the source.

 
Mihail Marchukajtes:

"There is no better job than a high-paying hobby."

Saint-Simon put this statement 200 years before Jobs as the basis for utopian socialism.

 
SanSanych Fomenko:

Saint-Simon, 200 years before Jobs, based utopian socialism on the same premise.

It is quite possible. I'm not going to argue...

 
Mihail Marchukajtes:

But I think that one VI metric will not be enough. We should try to calculate redundancy and try to reduce the number of columns.

Maybe there are already ready functions allowing to estimate input data to output besides mutual information????

There are many libraries (packages) in R for many cases, including selection of predictors (columns).
https://cran.r-project.org/web/packages/available_packages_by_name.html are officially supported libraries, and there are hundreds more on githab. You can search there by keywords for what you need.

For determination of VI of each predictor with purpose works well the package vtreat (function designTreatments, search by its name on this site, it will give a lot of links to this topic with examples).
I also recently gave an example of how to use the FSelector package to find a good set of predictors -https://www.mql5.com/ru/forum/86386/page643#comment_6472393
There are some other packages offered - FSelectorRcpp, CORElearn, VSURF, VarSelRF, Boruta.

Boruta seems to me the easiest to use (but maybe not the best), you just have to run such code and wait -

#  install.packages("Boruta", dependencies=T) #  эту строчку нужно запустить всего 1 раз чтобы автоматически установить пакет
# library(Boruta) #  эту строчку нужно запустить каждый раз когда вы заново открываете R или RStudio, чтоб загрузить пакет в память
forexFeatures <- read.csv2("Qwe.txt", dec=".")
Boruta(TargetProf ~ . , data = forexFeatures) #запуск  с дефолтными параметрами
Boruta(TargetProf ~ . , data = forexFeatures, doTrace = 1, maxRuns = 1000) #больше  логов на экране, и больше итераций алгоритма, результат должен быть качественней чем дефолтный
The code will give out"4 attributes confirmed important: AD10, Del, Del2, N;", so you can take only these 4 and try to teach the model with them.
N (ordinal number) is also considered good because class 1 is concentrated in the beginning of the file with small N. In general, it is better to first remove from the table such columns, which carry just information for the user and not for models.
forexFeatures <- forexFeatures[,-1]
Boruta(TargetProf ~ . , data = forexFeatures, doTrace = 1, maxRuns = 1000)
# 2 attributes confirmed important: AD10, Del;
 
Dr. Trader:

R has many libraries (packages) for many uses, including predictor (column) selection.
https://cran.r-project.org/web/packages/available_packages_by_name.html are officially supported libraries, and there are hundreds more on githab. You can search there by keywords for what you need.

For determination of VI of each predictor with purpose works well the package vtreat (function designTreatments, search by its name on this site, it will give a lot of links to this topic with examples).
I also recently gave an example of how to use the FSelector package to find a good set of predictors -https://www.mql5.com/ru/forum/86386/page643#comment_6472393
There are some other packages offered - FSelectorRcpp, CORElearn, VSURF, VarSelRF, Boruta.

Boruta seems to me the easiest to use (but maybe not the best), you just have to run this code and wait

Mm-hmm. I've already downloaded a bunch of stuff, but my knowledge of R is poor, that's why there's a lot of tambourine going on. But thanks for the info. I think we should stop at a specific set of metrics, which will be sufficient for analysis. I even liked the VI, looking at the models and test results, but I feel that this is not enough. After defining a set of metrics, all that remains is to expand the set of inputs, so that there is something to choose from, and the main thing is the quality of the input in relation to the output. Finding good inputs for your TS is more than half the battle... so to....

 
Dr. Trader:

R has many libraries (packages) for many uses, including the selection of predictors (columns).
https://cran.r-project.org/web/packages/available_packages_by_name.html are officially supported libraries, and there are hundreds more on githab. You can search there by keywords for what you need.

For determination of VI of each predictor with purpose works well the package vtreat (function designTreatments, search by its name on this site, it will give a lot of links to this topic with examples).
I also recently gave an example of how to use the FSelector package to find a good set of predictors -https://www.mql5.com/ru/forum/86386/page643#comment_6472393
There are some other packages offered - FSelectorRcpp, CORElearn, VSURF, VarSelRF, Boruta.

Boruta seems to me the easiest to use (but maybe not the best), you just have to run this code and wait

The code will give"4 attributes confirmed important: AD10, Del, Del2, N;", so you can take only these 4 and try to train the model with them.
N (ordinal number) is also considered good because class 1 is concentrated in the beginning of the file with small N. In general, it is better to first remove from the table such columns, which carry just information for the user and not for models.

Wait, I'll try to do it again. Just wanted to ask an example of code using....

Reason: