Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 1998

 
Evgeniy Chumakov:


А там алгоритм сложный? Можно его сразу внедрить в mql4/5 или то что я спрашиваю это бред?

можно

есть, скажем так, наработанный стек технологий. Можно сразу в мт5, можно сначала на питоне, потом экспортировать в мт5. Можно просто на питоне, но торговать на мт5. Вообще хоть как.

 
Evgeniy Chumakov:

Вроде ошибок нет. На глаз не вижу, что задумал то в файл и записало.

Вопрос к Максиму, когда прогнозировал знак + -  обучение проходило на ряде что в файле? Или на нормализованном 0 - 1 ряде ?  

на том же ряде, но ответы нормализованы 0-1

 
Maxim Dmitrievsky:

можно

есть, скажем так, наработанный стек технологий. Можно сразу в мт5, можно сначала на питоне, потом экспортировать в мт5. Можно просто на питоне, но торговать на мт5. Вообще хоть как.


А с четвёркой вообще не дружит?

Сложно там устанавливать Питон на win 10 x64, нет танцев с бубнами?

 
Evgeniy Chumakov:


А с четвёркой вообще не дружит?

Сложно там устанавливать Питон на win 10 x64, нет танцев с бубнами?

4-ка это атавизм 

наверное нет, если ты не бурятский шаман

 
Maxim Dmitrievsky:

4-ка это атавизм 

наверное нет, если ты не бурятский шаман

Да сделай ему модель в виде лог. правил, пусть себе внедрит в свой код, зачем мучить человека питоном?

Или мне сделать?

 
Evgeniy Chumakov:
 condition                                                                                                       
 [1,] "X[,10]<=-0.025 & X[,10]>-0.08201612905"                                                                        
 [2,] "X[,9]>-0.057983871 & X[,9]<=-0.01129032255 & X[,10]>0.0219354839"                                              
 [3,] "X[,9]<=-0.057983871"                                                                                           
 [4,] "X[,9]>0.0702419355"                                                                                            
 [5,] "X[,8]>0.01362903225 & X[,8]<=0.0564516129 & X[,9]>0.00153225805"                                               
 [6,] "X[,8]<=0.0564516129 & X[,8]>-0.01153225805 & X[,9]<=0.0040322581 & X[,10]<=-0.00596774195"                     
 [7,] "X[,8]>-0.03370967745 & X[,8]<=-0.00403225805 & X[,10]>0.00032258065"                                           
 [8,] "X[,8]<=-0.03370967745 & X[,10]>0.02814516125"                                                                  
 [9,] "X[,8]<=-0.03370967745 & X[,10]<=0.02443548385"                                                                 
[10,] "X[,7]>-0.025 & X[,7]<=-0.00403225805 & X[,8]>-0.03370967745"                                                   
[11,] "X[,8]>-0.0266935484 & X[,8]<=-0.025"                                                                           
[12,] "X[,9]>0.0091129032 & X[,9]<=0.0277419355 & X[,10]<=-0.00096774195"                                             
[13,] "X[,9]<=0.0564516129 & X[,9]>0.03935483875"                                                                     
[14,] "X[,8]>0.02346774195 & X[,9]>-0.057983871 & X[,9]<=-0.0212903226"                                               
[15,] "X[,8]>-0.03370967745 & X[,8]<=0.0233870968 & X[,9]<=0.0233870968 & X[,10]>0.0091129032 & X[,10]<=0.02766129035"
[16,] "X[,8]>-0.03370967745 & X[,9]<=-0.00120967745 & X[,10]>-0.00596774195 & X[,10]<=0.0229032258"                   
[17,] "X[,10]>0.0012903226"                                                                                           
[18,] "X[,1]==X[,1]"                                                                                                  
      pred
 [1,] "1" 
 [2,] "-1"
 [3,] "1" 
 [4,] "-1"
 [5,] "-1"
 [6,] "-1"
 [7,] "1" 
 [8,] "-1"
 [9,] "-1"
[10,] "1" 
[11,] "-1"
[12,] "1" 
[13,] "1" 
[14,] "-1"
[15,] "1" 
[16,] "1" 
[17,] "-1"
[18,] "1"

Данные представлены в виде скользящего окна размером 10, правила построены по таким данным..

первый элемент     X[ , 1] .......   X[ , 10]   последний (текущая свеча)

pred

это то что прогнозирует правило

модель прогнозирует знак   , больше ноля "1", меньше "-1"

точность модели 97-99%


======================================================================================

вот весь код на R... такой большой и непонятный )))

d <- read.csv(file = "C:\\..........\\EURUSD_returns.csv")
d <- d[,1]

X <- embed(d, 10)[ , 10:1]  
Y <- as.factor(sign(  c(X[-1,ncol(X)] , 1)  ))

library(inTrees)
library(RRF)
rf <- RRF(X,Y,ntree=100) 
treeList <- RF2List(rf)
ruleExec <- unique(extractRules(treeList,X,maxdepth = 10))
ruleMetric <- getRuleMetric(ruleExec,X,Y) # measure rules
ruleMetric <- pruneRule(ruleMetric,X,Y) # prune each rule
learner <- buildLearner(ruleMetric,X,Y)

learner
 

mytarmailS:

такой большой и непонятный )))


Та даже не смешно)) ничего не понял что с этим делать.?

 
Evgeniy Chumakov:

Та даже не смешно)) ничего не понял что с этим делать.?

А ты не смейся, а  вникни лучше...

Код тебе не нужен, тебе нужны лог. правила (ето и есть модель)  , берешь эти правила и вставляешь себе в код, сумма по предсказаниям от правил и будет ответ модели - "1" или "-1"

Если не понятно то спрашивай 

пока я добрый ))
 
mytarmailS:

А ты не смейся, а  вникни лучше...

Код тебе не нужен, тебе нужны лог. правила (ето и есть модель)  , берешь эти правила и вставляешь себе в код, сумма по предсказаниям от правил и будет ответ модели - "1" или "-1"

Если не понятно то спрашивай 

пока я добрый ))


 condition                                                                                                       
 [1,] "X[,10]<=-0.025 & X[,10]>-0.08201612905"                                                                        
 [2,] "X[,9]>-0.057983871 & X[,9]<=-0.01129032255 & X[,10]>0.0219354839"                                              
 [3,] "X[,9]<=-0.057983871"                                                                                           
 [4,] "X[,9]>0.0702419355"                                                                                            
 [5,] "X[,8]>0.01362903225 & X[,8]<=0.0564516129 & X[,9]>0.00153225805"                                               
 [6,] "X[,8]<=0.0564516129 & X[,8]>-0.01153225805 & X[,9]<=0.0040322581 & X[,10]<=-0.00596774195"                     
 [7,] "X[,8]>-0.03370967745 & X[,8]<=-0.00403225805 & X[,10]>0.00032258065"                                           
 [8,] "X[,8]<=-0.03370967745 & X[,10]>0.02814516125"                                                                  
 [9,] "X[,8]<=-0.03370967745 & X[,10]<=0.02443548385"                                                                 
[10,] "X[,7]>-0.025 & X[,7]<=-0.00403225805 & X[,8]>-0.03370967745"                                                   
[11,] "X[,8]>-0.0266935484 & X[,8]<=-0.025"                                                                           
[12,] "X[,9]>0.0091129032 & X[,9]<=0.0277419355 & X[,10]<=-0.00096774195"                                             
[13,] "X[,9]<=0.0564516129 & X[,9]>0.03935483875"                                                                     
[14,] "X[,8]>0.02346774195 & X[,9]>-0.057983871 & X[,9]<=-0.0212903226"                                               
[15,] "X[,8]>-0.03370967745 & X[,8]<=0.0233870968 & X[,9]<=0.0233870968 & X[,10]>0.0091129032 & X[,10]<=0.02766129035"
[16,] "X[,8]>-0.03370967745 & X[,9]<=-0.00120967745 & X[,10]>-0.00596774195 & X[,10]<=0.0229032258"                   
[17,] "X[,10]>0.0012903226"                                                                                           
[18,] "X[,1]==X[,1]"                                                                                                  
      pred
 [1,] "1" 
 [2,] "-1"
 [3,] "1" 
 [4,] "-1"
 [5,] "-1"
 [6,] "-1"
 [7,] "1" 
 [8,] "-1"
 [9,] "-1"
[10,] "1" 
[11,] "-1"
[12,] "1" 
[13,] "1" 
[14,] "-1"
[15,] "1" 
[16,] "1" 
[17,] "-1"
[18,] "1"


Только сильно не бейте, если что...

Как я понял, беру и прохожу по скользящему окну по предыдущим 10 значениям, если условие на шаге удовлетворяет, например

condition "X[,1]==X[,1]" , то суммирую к прогнозу pred [18,]  "1" и так. далее.

p/s (добавлено) хотя что-то не так понял..


condition - это коэффициенты после обучения?  Если характеристика ряда изменится (будут другие цифры) , то надо переобучать. 



 
 
Evgeniy Chumakov:

Как я понял, беру и прохожу по скользящему окну по предыдущим 10 значениям, если условие на шаге удовлетворяет, например

condition "X[,1]==X[,1]" , то суммирую к прогнозу pred [18,]  "1" и так. далее.

Да, именно так...   

Только учти что Х[10] у меня это поледняя свеча а у вас в мт4 вроде последняя будет  Х[1], те нужно сделать реверс

Evgeniy Chumakov:

condition - это коэффициенты после обучения?

condition - это правила, обычные лог. правила, которые есть результат обучения..


Evgeniy Chumakov:

  Если характеристика ряда изменится (будут другие цифры) , то надо переобучать. 

ну другое обучение на других данных (характеристиках)  ==  другие правила ( другие цифры )

Причина обращения: