Марат
Марат Торговые сигналы!
27 июля 2020, 13:29

ML для поиска закономерностей по Atamanу.

Жил был такой трейдер Ataman и были у него критерии робастности системы: фичей не больше трех и параметры фича не должна выглядеть «тут читаю, тут не читаю, тут рыбу заворачиваю». В чем проблема когда мы используем нейросети, или там случайный лес или градиентый бустинг? В том это условие внутрь не засунуть, нейросеть (случайный лес) будет использовать все фичи, и нарежет их, как захочет, хоть в мелкую стружку. Что делать и как с этим бороться?
Я сделал три цикла с GradientBoosting, и ограничил глубину деревьев 3. Вуаля!
Здесь  можно посмотреть как это выглядит на питоне + база данных+ код WealthLab.
Результаты?
Ну вот например на тренировочной выборке 2010-04.2018 нашлось такое:

if ((AroonDownClose_20_[Bar] >= 75.0)&&(AroonDownClose_20_[Bar] <= 100.0)) //
if ((StochD14_5_[Bar] >= 1.9416)&&(StochD14_5_[Bar] <= 10.3487)) //
Загоняем, считаем:

Названия строк Коли    Profit %
test 374 0,36
2006 17 0,50
2007 43 0,83
2008 79 0,04
2009 35 0,52
2018 61 0,56
2019 87 0,41
2020 52 -0,03
train 647 0,88
2010 57 1,89
2011 78 0,59
2012 65 0,55
2013 112 -0,33
2014 85 2,45
2015 85 0,40
2016 56 1,86
2017 89 0,26
2018 20 2,28
Общий итог 1021 0,69

Видим что если на трайне доходность была 0,88, то на тесте доходность упала до 0,36. Таки дела. По графику видно что это  система из разряда «ловли ножа». Дело такое 
Или вот система только с одной фичей:

if ((TRIXClose_10_[Bar]  >= -4.0825)&&(TRIXClose_10_[Bar]  <= -0.799)) //

Названия строк Коли    Profit %
test 154 -0,13
2006 11 7,03
2007 7 6,07
2008 72 -9,41
2009 29 9,29
2019 3 5,51
2020 32 7,86
train 176 4,35
2010 12 5,29
2011 47 6,37
2012 18 -2,32
2013 24 0,22
2014 46 6,07
2015 6 5,76
2016 4 1,12
2017 10 4,64
2018 9 8,24
Общий итог 330 2,26


Тут с трейна доходность в 4,35 упала до теста -0,13. «Виноват» 2008 год с его 72 сделками по -9,41%. 

Тоже система из разряда «ловля ножей».
Ну вот как то так






37 Комментариев
  • SergeyJu
    27 июля 2020, 14:11
    Атаман же руками торговал и ML не юзал ни в каком виде. 
    Но, насколько я помню, он именно на контртренде специализировался. Так что ловля ножей это похоже.
    Я тоже, кстати, считаю, что больше 3 фич — перебор почти всегда. Хотя есть системы с 4 фичами. А если фичи всего 3, то GB становится совсем уж вырожденный.
  • Vanches
    27 июля 2020, 16:08
    Тут есть робастность?
    Похоже, сеткой вы выцепили статистический артефакт.
  • Replikant_mih
    27 июля 2020, 16:20

    Мож я чего не догоняю, но: 

    — Случайный лес не склонен к переобучению.
    — Бустинг с неглубокой глубиной тоже не особо переобучается.
    — Ограничение глубины в 3 при кол-ве фичей 3 — разве дерево может быть глубже, чем кол-во фичей?
    — Для одного признака ML особо нужен, да и для двух тоже.

  • Пафос Респектыч
    27 июля 2020, 16:36
    — Ограничение глубины в 3 при кол-ве фичей 3 — разве дерево может быть глубже, чем кол-во фичей?

    А почему нет-то? Ты точно чего-то не догоняешь ))

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн