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

 

По моим наблюдением, скользящее окно признаков это не абсолютное зло, поскольку для предсказуемых рядов оно работает

Абсолютным злом является чрезмерное дифференцирование на слабопредсказуемых, которое убивает информацию о ценовых уровнях, которые сами по себе несут некоторую информацию

Но машинное обучение привыкло работать только со стационарными признаками, за исключением линейной регрессии

 
Maxim Dmitrievsky #:

По моим наблюдением, скользящее окно признаков это не абсолютное зло, поскольку для предсказуемых рядов оно работает

Абсолютным злом является чрезмерное дифференцирование на слабопредсказуемых, которое убивает информацию о ценовых уровнях, которые сами по себе несут некоторую информацию

Но машинное обучение привыкло работать только со стационарными признаками, за исключением линейной регрессии

И то и то зло.
И уровни надо помнить и инвариант к времени надо иметь
===========
Кстати интересная мысль у тебя была на счёт копирования ТС с маркета..  Задумка канешно наивная,  но это может быть неким критерием интелектуальности самого алгоритма поиска решений.  Если алгоритм смог разгадать правила работы ТС, то значит что то он умеет...  И вообще полезно поразсуждать на тему : А какой он должен быть этот алгоритм,  чтобы он мог разшыфрововать чужые ТС
 
mytarmailS #:
И то и то зло.
И уровни надо помнить и инвариант к времени надо иметь
===========
Кстати интересная мысль у тебя была на счёт копирования ТС с маркета..  Задумка канешно наивная,  но это может быть неким критерием интелектуальности самого алгоритма поиска решений.  Если алгоритм смог разгадать правила работы ТС, то значит что то он умеет...  И вообще полезно поразсуждать на тему : А какой он должен быть этот алгоритм,  чтобы он мог разшыфрововать чужые ТС

надо просто спарсить отчеты MT5 тестера, они в xlsx формате. Там все, время и прибыль сделок любого бота с маркета (тестировать можно любого платного бота бесплатно, потом сохранять отчет)

правда там много лишней инфы типа таблицы и графика сверху, не работал с xlsx в питоне, буду разбираться

то есть сначала сделать удобную загрузку отчетов ботов, потом уже думать над алгоритмом обучения

ирония в том, что в Маркете не так-то много стоящих ботов, тоже льют через какое-то время

 
Maxim Dmitrievsky #:

надо просто спарсить отчеты MT5 тестера, они в xlsx формате. Там все, время и прибыль сделок любого бота с маркета (тестировать можно любого платного бота бесплатно, потом сохранять отчет)

правда там много лишней инфы типа таблицы и графика сверху, не работал с xlsx в питоне, буду разбираться

то есть сначала сделать удобную загрузку отчетов ботов, потом уже думать над алгоритмом обучения

ирония в том, что в Маркете не так-то много стоящих ботов, тоже льют через какое-то время

Да спарсить это эрунда,  мой посыл в том чтобы подумать над алгоритмом который смог бы разгадать ТС, ты же понимаешь  что просто обучить МОшку не выйдет

1. Нужно придумать как алгоритм будет помнить уровни

2. Как будет строить правила как на основе индексов так и на событиях(без индексов) 

3. Автоматическое создание и перебор миллиардов признаков

4. Разгадка ТС это не апроксимацыя,  не приближение к результату,  это чёткая разгадка,   как пароль в энигме.  Это  иная парадигма



 
mytarmailS #:
Да спарсить это эрунда,  мой посыл в том чтобы подумать над алгоритмом который смог бы разгадать ТС, ты же понимаешь  что просто обучить МОшку не выйдет
Если был бы миллион примеров, то может и смогла бы МО усреднить примеры к любой логике или комбинации индикаторов и т.п. Если 1000 примеров, то уже будет что-то очень усредненное и вряд ли будет совпадать с оригинальным экспертом.
 
mytarmailS #:
Да спарсить это эрунда,  мой посыл в том чтобы подумать над алгоритмом который смог бы разгадать ТС, ты же понимаешь  что просто обучить МОшку не выйдет

1. Нужно придумать как алгоритм будет помнить уровни

2. Как будет строить правила как на основе индексов так и на событиях(без индексов) 

3. Автоматическое создание и перебор миллиардов признаков

4. Разгадка ТС это не апроксимацыя,  не приближение к результату,  это чёткая разгадка,   как пароль в энигме.  Это  иная парадигма
Типа творческий подход, заранее неизвестно 
Сделки прибыльной ТС должны указывать на закономерность. Если она использует только цену/время, то подбор/аппроксимация видится возможным 
 
Думаю самое оптимальное - прогнать индюк в тестере на всех возможных инструментах за все время, и на кастомном символе сгенерированном ГСЧ. Набрать миллионы сделок на всевозможных комбинациях графика и на этом обучить. Только так можно приблизиться к любой логике заложенной в советнике.
 
Maxim Dmitrievsky #:
Типа творческий подход, заранее неизвестно 
Сделки прибыльной ТС должны указывать на закономерность. Если она использует только цену/время, то подбор/аппроксимация видится возможным 
Наапроксимировать можно чего угодно, а ТС это чёткая логика в коде, без приближений
 
mytarmailS #:
Наапроксимировать можно чего угодно, а ТС это чёткая логика в коде, без приближений
Четкая логика нам неизвестна, прикинь.. это не декомпиляция. Остаётся нечёткая, “по образу и подобию”. Кроссовки abibas 
 
Maxim Dmitrievsky #:
Четкая логика нам неизвестна, прикинь.. это не декомпиляция. Остаётся нечёткая, “по образу и подобию”. Кроссовки abibas 

кароч , если взять стратегию пересечения двух машек , и не давать прямой признак пересечения в модельку.

То довольно не плохо распознает, я даже удивлен, но это же примитивнейшый алгоритм..

синим оригинальный сигнал, красный предикт

Reference
Prediction   0   1
         0 106   4
         1   1  89
                                          
               Accuracy : 0.975           
                 95% CI : (0.9426, 0.9918)
    No Information Rate : 0.535           
    P-Value [Acc > NIR] : <2e-16          
                                          
                  Kappa : 0.9496     


А если без нормализаций то вообще 

Prediction   0   1
         0  96   0
         1   0 104
                                     
               Accuracy : 1          
                 95% CI : (0.9817, 1)
    No Information Rate : 0.52       
    P-Value [Acc > NIR] : < 2.2e-16  
                                     
                  Kappa : 1          
x <- cumsum(rnorm(10000))

m5 <- TTR::SMA(x,5)
m15 <- TTR::SMA(x,15)

X <- matrix(ncol = 20,nrow = length(x))

for(i in 20:length(x)){
  ii <- (i-19):i
  X[i,] <- m5[ii] - m15[ii]
}


Yn <- (m5>m15)*1
Y <-  as.factor(Yn)

tr <- 50:9800
ts <- 9801:10000

library(randomForest)
rf <- randomForest(Y[tr]~., X[tr,])
pr <- predict(rf ,X[c(tr,ts),])

prN <- as.numeric(as.character(pr))

par(mar=c(2,2,0,0))
layout(1:3, heights = c(10,1,1)) # Heights of the two rows
      
plot(tail(x,200),t="l",col=8)
lines(tail(m5[c(tr,ts)],200),col=2,lwd=1)
lines(tail(m15[c(tr,ts)],200),col=4,lwd=1)
plot(tail(Yn,200),t="h",col=4,lwd=2)
plot(tail(prN,200),t="h",col=2,lwd=2)


caret::confusionMatrix(predict(rf ,X[ts,]) , Y[ts])
Причина обращения: