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

 
СанСаныч Фоменко:

GARCH называется, в отличии от машинного обучения, мэйнстрим на финансовых рынка (наряду с коинтеграцией и портфелями). 

Модели учитывают кучу статистических нюансов приращений, включая толстые хвосты и долговременную память а ля Херст (long memory).

Например, есть публикация о выборе параметров моделей GARCH на ВСЕХ акциях, входящих в индекс S&P500!

Полно публикаций по применению на форексе. Прекрасно развит инструментарий. Например, пакет rugarch.

 а тут в википедии именно про фрактальную волатильность, это не гарч а аналог какой-то

гарч сильно тяжелый для моей  тс, либлю когда все по быстрому считается
 
Не хватает яростной прыти Миши... Увлек его за собой Грааль и пропала страждущая душа...
 
Запилю короче сначала прогноз волатильности, а потом придумаю что с этим делать :)
 
Maxim Dmitrievsky:

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

И есть даже всякие модели типа https://en.wikipedia.org/wiki/Markov_switching_multifractal

что это дает, как правильно заюзить, кто-нибдь занимался?

Ну, окей предсказали волатильность,  что это дает?

Все стратегии на форексе, что проверял, пробовал ограничивать по волатильности. Порогом выше или наоборот ниже, ничего это не дало.

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

 
forexman77:

Ну, окей предсказали волатильность,  что это дает?

Все стратегии на форексе, что проверял, пробовал ограничивать по волатильности. Порогом выше или наоборот ниже, ничего это не дало.

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

я пытаюсь идти по стопам корифеев )) они писали что надо прогнозировать волатильность

 
Maxim Dmitrievsky:

я пытаюсь идти по стопам корифеев )) они писали что надо прогнозировать волатильность

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

 
forexman77:

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

дождитесь статьи по лесам, скоро будет

насчет волатильности - можно использовать для переключения режимов ТС, в зависимости от вол.

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

это как я это понимаю

 
Dr. Trader:

Вот заодно и пример с vtreat, 

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

library(vtreat)


#designTreatmentsC подходит только для классификации с двумя классами
treatmentsC <- designTreatmentsC(dframe = forexFeatures,
                                 varlist=colnames(forexFeatures)[-ncol(forexFeatures)], #названия колонок с предикторами (тут - все кроме последней колонки)
                                 outcomename = colnames(forexFeatures)[ncol(forexFeatures)], #названия колонок с таргетом (тут - последняя колонка)
                                 outcometarget = "1") #текст или цифра одного из классов
#обработка, сортировка результата
treatmensC_scores <- treatmentsC$scoreFrame[order(treatmentsC$scoreFrame$sig),]
treatmensC_scores <- treatmensC_scores[!duplicated(treatmensC_scores$origName),]
treatmensC_scores <- treatmensC_scores[,c("origName","sig")] 
treatmensC_scores$is_good <- treatmensC_scores$sig <= 1/nrow(forexFeatures)
treatmensC_scores #вывод на экран таблички результатов. Лучшие предикторы вверху таблицы. Чем оценка sig меньше тем лучше. Желательно (колонка is_good==TRUE) чтоб sig была меньше чем 1/nrow(forexFeatures), всё что больше - плохо 

Поэкспериментиовал с vtreat.

Вот матрица результатов
      [,1]                  [,2]
 [1,]    5 8.12444537234629e-196
 [2,]    1 1.98504271239423e-144
 [3,]    7 2.36022454522949e-109
 [4,]   11 5.68901830573741e-102
 [5,]    4  6.60631002751930e-96
 [6,]   10  2.95535252032342e-73
 [7,]    3  2.43324301115409e-71
 [8,]    9  4.51329770717951e-67
 [9,]    6  3.11264518399281e-37
[10,]    2  5.77058632985908e-13
[11,]   12  3.76158923428915e-12
[12,]    8  8.18815163303239e-01

Формула

 treatmensC_scores$sig <= 1/nrow(forexFeatures)

Не очень хорошо отбирает. Например он пропустиk 3-й снизу после сортировки вход с sig=5.77e-13 при 1/nrow(df)=2е-4. А он является шумовым и портит обучение.
Т.е. на несколько порядков надо бы ужесточить отбор. И желательно делать это автоматически.

 
elibrarius:

Поэкспериментиовал с vtreat.

Вот матрица результатов
      [,1]                  [,2]
 [1,]    5 8.12444537234629e-196
 [2,]    1 1.98504271239423e-144
 [3,]    7 2.36022454522949e-109
 [4,]   11 5.68901830573741e-102
 [5,]    4  6.60631002751930e-96
 [6,]   10  2.95535252032342e-73
 [7,]    3  2.43324301115409e-71
 [8,]    9  4.51329770717951e-67
 [9,]    6  3.11264518399281e-37
[10,]    2  5.77058632985908e-13
[11,]   12  3.76158923428915e-12
[12,]    8  8.18815163303239e-01

Не очень хорошо отбирает. Например он пропустиk 3-й снизу после сортировки вход с sig=5.77e-13 при 1/nrow(df)=2е-4. А он является шумовым и портит обучение.
Т.е. на несколько порядков надо бы ужесточить отбор. И желательно делать это автоматически.

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

 
Mihail Marchukajtes:

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

ну что, Михаил, ты отошел от своего бешенства, скоро начнешь здраво и без фанатизма оценивать свою тс? :)

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