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

 
Maxim Dmitrievsky #:
Я не пользуюсь 

Ну, нет так нет.

 
Maxim Dmitrievsky #:
Я не пользуюсь 

А что в яблоке и винде и андроиде работает? Энидеск пользую с телефона на комп и обратно)

 
Valeriy Yastremskiy #:

А что в яблоке и винде и андроиде работает? Энидеск пользую с телефона на комп и обратно)

Не знаю
 
Valeriy Yastremskiy #:

А что в яблоке и винде и андроиде работает? Энидеск пользую с телефона на комп и обратно)

Teamviewer раньше работал нормально.

 
anotherfxtrader #:

Teamviewer раньше работал нормально.

Слишком дорогая лицензия, да и вроде они уже не работают с РФ. В последние годы они слишком анализируют рабочий стол пользователя, и если видят профессиональный софт без лицензии их, то сразу блокируют - типа нельзя использовать для заработка денег их софт без лицензии.

 
Aleksey Vyazmikin #:

Я не понял, как делается разметка целевой в предлагаемом методе, как устанавливается связь с предикторами.

Почему я хочу осмысленное нечто - так как задача у меня понизить ошибку классификации через оценку не устойчивых квантовых отрезков, а для этого я хочу посмотреть на участки, где происходит ошибка - визуализировать, возможно их. Попробовать разный подход к оценке и видеть результат достоверный, что к примеру на значимом предикторе выявили только 5 полезных участков из 10, нужно понять, чем они отличаются. 

Кроме квантования можно еще много чего интересного делать. Почему выбрано именно оно?


 

Ваш подход заключается в поиске отрезков из имеющихся во ВР с целью экстраполяции результатов в будущее. Он имеет право на жизнь, но вы всегда ограничены в данных.

Обычно практикуется наоборот добавление синтетических данных. Ну или комбинации 1-го и 2-го. Так вы как бы повышаете вероятность найти паттерны, которые на самом деле являются устойчивыми, но недопредставлены в исходной выборке.
 
Maxim Dmitrievsky #:

Кроме квантования можно еще много чего интересного делать. Почему выбрано именно оно?

Так исторически сложилось - мне нужен был метод ускорения вычислений для построения дерева на генетике и метод создания разных подвыборок, из которых можно было бы получать листья, - можно представлять это как кластеризацию и обучение на отдельном кластере. Разнообразие листьев должно было обеспечить покрытие всех участков данных группами похожих листьев по месту отклика, но разных по своим компонентам (предикторам и по сути - паттернам), что обеспечило бы устойчивую систему голосования и принятия решения.

В итоге я увлёкся квантовыми отрезками, и наглядно через них увидел, что препятствует созданию устойчивых моделей. Начал думать как устранить эти причины. Со временем ускорил код свой в тысячи раз, придумал метрики и аналитику... Разработал метод очистки данных, который в теории должен улучшать классификацию стандартными методами. Пока есть ещё идеи, куда там развиваться.

Maxim Dmitrievsky #:

Ваш подход заключается в поиске отрезков из имеющихся во ВР с целью экстраполяции результатов в будущее. Он имеет право на жизнь, но вы всегда ограничены в данных.

Обычно практикуется наоборот добавление синтетических данных. Ну или комбинации 1-го и 2-го. Так вы как бы повышаете вероятность найти паттерны, которые на самом деле являются устойчивыми, но недопредставлены в исходной выборке.

На сколько я понимаю, есть два направления в аугументации данных:

1. Генерация новой выборки (или её насыщение) в виде шума из заданных распределений на основе имеющихся данных.

2. Генерация исходных данных, на которых вычисляются предикторы.

Первый вариант вызывает сомнение, так как шума и так хватает, а вопрос разметки целевой становится уже не однозначным решением. При использовании CatBoost эффект будет не очевиден, так как используется квантование данных и часто получим просто равномерное увеличение примеров в квантовых отрезках, что не скажется на улучшении обучения. И, вроде как мы уже пробовали это с Вами ранее - эффект чаще не был, чем был.

Второй вариант кажется более интересным, но это если мы уверенны в наличии этих закономерностей, а как показывают мои эксперименты - в данных тех же квантовых отрезков с устойчивым смещением в пределах 20%-35% (ну это на отдельно взятых данных - надо больше исследовать выборок), таким образом может получиться, что мы культивируем ложные закономерности. Конечно, меняя настройки и методы, можно построить хорошую модель, но это будет случайно. Пройдёт модель все мыслимые тесты, но на новых данных опять гарантий нет. Но, исследовать возможности подхода можно будет - вдруг я ошибаюсь.

Я хочу генерировать времяные ряды с заложенными закономерностями и шумом - и уже на них оценивать те или иные методы. Так, надеюсь, увидеть в чём сложность возникает у разных известных алгоритмов классификации и улучшить свои методы предобработки данных и построения моделей. Набросал план, что нужно делать, но пока не ясно, как реализовывать лучше некоторые моменты.

 
Второй вариант, да. 
Много способов как это делать. Я даже пробовал крайний, типа функции В-М :)
И для каждого ВР нужно подбирать что-то свое.
Если устойчивость найдена и проверена через cv etc., мало сомнений остаётся.
 
Maxim Dmitrievsky #:

Кроме квантования можно еще много чего интересного делать. Почему выбрано именно оно?


или хотябы линейный тренд моделировать..

пишем функцию которая считает линейную регресию

find_lr <- function(p){
  y <- coredata(p$Open)[,1]
  x <-  1:nrow(p)
  lr <- lm(y ~ x)
  
  a <- coef(lr)[1]
  b <- coef(lr)[2]
  
  reg_line <- a + b * x
  reg_line
}

потом берем какие то цены и считаем линейный тренд фунцией find_lr

library(quantmod)
n <- 5000
p <- rnorm(n) |> cumsum() |> xts(Sys.time()+1:n) |> to.minutes(name = NULL)

chart_Series(p)
reg_line <- find_lr(p)
lines(reg_line)

удаляем тренд и переходим к остаткам

res <- p - reg_line
chart_Series(res)
abline(h=0)

а теперь добавляем свой тренд какой хотим

par(mfrow=c(3,3))
for(i in seq(-100,100,by=25)){
  trend <- seq(-i,i, length.out=nrow(p))
  Sys.sleep(0.2)
  yy <- res+trend
  print(chart_Series(yy))
  lines(find_lr(yy))
}

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

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