Replikant_mih
Replikant_mih личный блог
17 сентября 2022, 12:34

Результаты небольшого исследования про модели ML vs участки данных.

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

Когда скрипты уже отлажены ты просто их гоняешь, оцениваешь результаты, принимаешь решения. Часто при этом в голове всплывают неотвеченные вопросы, одни помечаешь себе, другие нет. Одними из таких вопросов были: это модель хреновая или OOS неудачный для модели, или в целом неудачный, а есть для него удачная модель, а для удачной модели есть неудачные участки данных тоже? В общем если убрать за скобки ML – классическая тема про переоптимизацию про то, что рынок может благоприятствовать стратегии (а скорее целому классу стратегий), а может нет. Но как с этим у моделей обстоит. В общем до этого момента только фантазировал на эту тему, закрыть вопрос через исследование было не сложно, но как-то руки не доходили, а теперь дошли.

 

Что делал: условно, взял много данных, единое признаковое пространство, по-всякому нарезал данные таким образом чтобы разные модели обучались на разных участках данных и было так же сопоставимое с кол-вом моделей кол-во OOS участков. Убедился, что OOS в конкретной паре модель-OOS не участвовал в обучении данной модели и погнал тестить разные модели на разных OOS кусках.

 

Какие основные граалегипотезы проверял:

— В зависимости от участка данных модель может обучиться заметно лучше или заметно хуже.

— Или все-таки не так важно, как хороша модель – важно на какие данные её пустили предиктить.

Ну и так по мелочи ещё.

 

 

Сразу к результатам переходим чё.

 

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

 

 

Выводы.

 

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

Теперь будет один фиксированный кусок данных брать всегда. Ну или 3, но всегда одни и те же и сравнивать в разрезе отдельных кусков.

 

 

Возможные направления дальнейшего развития (исследования) этой темы:

 

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

— А если так можно делать (обучаться «у лучших» и быть лучше), то, вероятно, концепт «модель, специализирующаяся на данных с конкретными характеристиками» не лишен смысла. И можно одной моделью размечать данные, другие пытаться целенаправленно натаскивать на данные, на которые первая модель плохо себя показывает, или же учить модель различать сами состояния (которые мы опять же теперь умеем размечать).

— Ну и кстати, если можно понять, что конкретный кусок данных хреново подходит данной модели, то, вероятно, можно пробовать сокращать размер такого куска (читай, повышать чувствительность) и пробовать в риал-тайме определять, благоприятствует ли состояние рынка модели.
60 Комментариев
  • Александр Сережкин
    17 сентября 2022, 13:01
    Как всегда всё уперлось в качество данных. А идеального качества данных на рынке не существует, т.к. условия на рынке меняются.
  • Александр Сережкин
    17 сентября 2022, 13:22
    Данные учитывают условия во времени котором они торгуются, т.е. в грубом приближении данные как функция от условий торговли. Я на ты, без обидок, так, что если ты построишь модель с условиями, которые коррелируют с условиями торговли на рынке, то и не стационарность данных станет заложена в модель ML. 
    В остальных случаях только оптимизация данных на ML.
      • Александр Сережкин
        17 сентября 2022, 13:49
        Replikant_mih, да об этом
  • 3Qu
    17 сентября 2022, 14:10
    Честно говоря (а я не всегда говорю честно), ни фига не понял. Потому, если че не то написал, сильно не пинайте.) Хотя, переживу как-нибудь.)
    1. Обучит МЛ на всех данных ВР или их производных принципиально невозможно.
    2. Для обучения выделяю куски ВР на которых обучение возможно согласно предварительной гипотезе. Остальные участки ВР опускаются.
    2. Проверка и последующая работа МЛ осуществляется только на участках соответствующих гипотезе. На остальных участках МЛ не применяется. Такие участки из работы исключаются.
    Если гипотеза подтверждается, то МЛ и на реальных данных неплохо функционирует. Наша задача только селектировать такие участки до подачи на МЛ.
    Ну, и такой подход новизной не отличается, описан практически повсеместно.
      • 3Qu
        17 сентября 2022, 14:16
        Replikant_mih, временной ряд.
  • Илья Нечаев
    17 сентября 2022, 14:08
    Replikant_mih, в итоге подтвердилось что-то из гипотез?
    Я просто пока не нашел чего-то что обычным теханализом нельзя подтвердить.

  • Sergey Pavlov
    17 сентября 2022, 16:07
    в конкретной связке модель-данные (OOS) решают данные, а не модель
    Это же говорит об оверфиттинге?
    То есть получаем одни артефакты?
  • Roman Ivanov
    17 сентября 2022, 22:37
    Бери интервал ширее
      • Roman Ivanov
        17 сентября 2022, 22:54
        Replikant_mih, чем ширее интервал, тем больше усреднятся результаты от разных состояниев рынка, тем точнее будет оценка. У тебя сколько ширина интервала на обучение? 5 лет есть хоть?
          • Roman Ivanov
            18 сентября 2022, 00:05
            Replikant_mih, ну тогда конечно, результат будет сильно зависеть от состояния рынка. Ведь флет на 10 дней вполне себе норма.
            По мне так 10 дней данных это очень мало, это гарантия подгонки алгоритма под данные.
          • SergeyJu
            18 сентября 2022, 12:31
            Replikant_mih, я стараюсь брать более 10 лет. 
            Для фр России типично с 2007 года. Чтобы зацепить зоны низкой волы и зоны кризисов. 
              • SergeyJu
                18 сентября 2022, 14:00
                Replikant_mih, качните минутки с финама.
                  • Sprite
                    18 сентября 2022, 17:10
                    Replikant_mih, скачайте архив полных ордерлогов и постройте свои «секретные несвечные данные» за любой период. Всяко лучше чем копить и строить во время торгов. Да и всё копить нереально, может вам завтра захочется изучить новый инструмент, а данных по нему нет. И что, ждать пока достаточно проторгуется/накопится?
                      • Sprite
                        18 сентября 2022, 19:00
                        Replikant_mih, т.е. вы копите какие-то внебиржевые данные?
                          • Sprite
                            18 сентября 2022, 20:41
                            Replikant_mih, интересно, что же вам такое брокер от себя выдает, чего нет в биржевых логах. Видимо ну очень секретно.
                            • Андрей К
                              19 сентября 2022, 07:57
                              Sprite, ответ вроде простой ) если ордерлог не подходит, то юзается level 2 data, которой нет в ордерлоге )
                              • Sprite
                                19 сентября 2022, 12:47
                                Андрей К, которую, омг, тоже можно скачать )
                                  • Андрей К
                                    19 сентября 2022, 13:01
                                    Replikant_mih, да что ты творишь )) тогда что? бывает ордерлог, level I и level II )
                                    • Sprite
                                      19 сентября 2022, 13:05
                                      Андрей К, а ещё бывает от Михал Иваныча брокера
                                      • Sprite
                                        19 сентября 2022, 18:44
                                        Replikant_mih, не, ну правда интересно, какие ещё бывают вертикали? Парсить блумберг? Межбиржевой арбитраж?
  • reserved
    17 сентября 2022, 23:15
    Replikant_mih, при всем уважении — с млькой вам не решить задачу предикта цены или тренда.
    не вытяните вы фьючи для модели из рынка которые будут давать высокий accuracy на unseen data, без разницы какой алго вы юзаете (svm,knn,regression etc.)🤷
    потратил кучу времени на исследование разных техник и только reinforcement learning с правильно описанной средой агента даёт кое какой результат.
  • wrmngr
    18 сентября 2022, 03:46
    Какие странные результаты применения количественных методов. Текста много а цифра только одна
      • ezomm
        18 сентября 2022, 13:54
        Replikant_mih, Я ничего не понял, но… продолжай копать.Глядишь… и до фракталов докопаешь.
          • ezomm
            18 сентября 2022, 19:38
            Replikant_mih, подсказка — фрактал тренд(импульс) из нечетных групп свечей.Фрактал коррекция из четных.
              • ezomm
                18 сентября 2022, 22:03
                Replikant_mih, знание о графике конечно. Волновики ищут лишь описание формы графика через цифры и буквы.Это 2й шаг закономерности. 1й шаг — VSA… работа объема в одной свече. 3й шаг — свечи(фракталы из многих свечей ) как циклы времени. 4 малых фрактала рождают 1 больший в 2 раза по амплитуде.Это правило дает многое для системы. Это и стоп лосс и прибыль и размер участия. Тебе как идущему к знанию это пригодится. Интерпретация — сумма объема в тенях в 2 раза меньше объема в теле свечи (для идеального солдата).Идеальный солдат — сумма теней равна телу свечи.Все эти знания и формулировки  мои. Этого нет в книгах. Про свечной  вообще нет книг .
                Свечной  может открыться волновику на последнем этапе познания циклов времени  на графике если волновик будет читать волны через свечной график, а не график в линию. Подсказки в графике Аши и рендж графике.
                  • ezomm
                    19 сентября 2022, 10:52
                    Replikant_mih, еще запомни- расставаться с индикаторами мучительно больно за потерянные годы. Сделай усилие -не изобретай колесо.Эллиот уже забрал из свечного анализа его правила формы.Открой книгу, прочитай правила и просто рисуй карандашем волны цены.Тогда и увидишь как фракталы собираются по 4 в 1. Это танец цены и он бесконечен во времени.Сейчас человечество вошло в фазу коррекции а-в-с  40-30-50 лет.
  • CloseToAlgoTrading
    19 сентября 2022, 12:01
    Т.е. вы обучаете модель скажем на трендовых участках, и другую на флэтовых, и все это скажем за период от 0 до 10. Потом тестируете на трендовых и флэтовых соответственно но уже на 11..20 скажем. Так?
    А как вы определяете, что участок будет трендовым или флэтовым?
      • CloseToAlgoTrading
        19 сентября 2022, 13:04
        Replikant_mih, Ну, флэт и тренд это как пример. Я к тому, что если эти участки невозможно предсказать, то получается мы стоим опять перед выбором какую или в каких долях модели нам использовать, разве нет?
          • CloseToAlgoTrading
            19 сентября 2022, 15:21
            Replikant_mih, Я думаю, что вне зависимости от мл, сам факт понимания в каком состоянии мы находимся довольно важен, еще более важно его продолжитльность. 
            Машики по большому отвечают на этот вопрос… сглаживая колебания мы видим растущий тренд, однако мы все еще не знаем как долго он будет расти. Тоже и с моделями, если некоторая модель сможет сделать предположение, хотя бы вероятности, на продолжительность текущего состояния, то :) дальше уже можно и нихило обогатиться. 

            Текущее состояние можно попробовать методами кластеризации или какой нить сетью типа автоэнкодера распознать.
            — целенаправленный поиск моделей хорошо себя чувствующих на состояних, где другие модели не очень хорошо себя чувствуют и т.д.
            Тут на смартлабе кто то же похожий подход делал, рассказывали что имеют тыщу простеньких моделей, и они все участвуют в торговле, но активируются на остове некоторых вспомогательных алгоритмов которые выдают веса моделям… Если я ничего не путаю :) вроде на этом сайте было.
              • CloseToAlgoTrading
                19 сентября 2022, 16:24
                Replikant_mih, как идея… возможно не нужно обучать переключатель, а работать изходя из вероятностей… по мере изменения вероятностей менять вовлеченность активных моделей. Далее на каждом шаге, ежели модель может подтвердить предыдущее состояние, веса нужных моделей будут увеличиваться. Ну это я так… как вариант для раздумий :)
                  • ezomm
                    20 сентября 2022, 02:21
                    Replikant_mih, исследуйте фрактал Билла В. там простые правила.От середины по 2шага снижения.Достаточно уточнить форму 2го и 5го шага и вы сделаете шаг вперед.Но про объем тоже не забывем. Каждый тик это объем. И как ляжет объем по фракталу (свече ) так свечу и назовем… толкающая или разворачивающая. Понимание риска и ММ придет когда глаза откроются  на правила рисования графика.



    • ezomm
      20 сентября 2022, 01:56
      CloseToAlgoTrading,  за тренд -не тренд отвечает такое понятие как — перекрытие  волн.Пока перекрытия нет идет тренд типа L>ref(H,-2) для роста.
      Главная модель — фрактал Эллиота (танец цены 3-2 это мое название ).На свечах это свеча -приседающий.График Аши весь из приседающих.В идеале это 3 белых солдата и коррекция против из 2х шагов а-в-с .
      Напрасно вы — программисты изобретаете колесо. Проги уже давно написаны. Им лет 30.Я начинал с этих прог в 2000г. EWA 3.0 ...ELWave  размечают график в любых таймах… типа они читают график на предмет трендов и флетов. Нам же трейдерам предстоит только понять волновой принцип и применить для торговли.Я уже много раз советовал прямой путь познания .
      1- VSA. 2- ВА Эллиота .3- с помощью первых двух понять свечной анализ .4 — понять как собираются фракталы времени из свечей .
      Сигналом является свеча -поглощение.Это правая часть пин бара… типа пин бар и поглощение это одно и тоже. Более точно сигнал- поглощение 5й волны от С волны.
  • robomakerr
    10 октября 2022, 12:45
    Привет. Не пробовал экстремумы в ML загонять?

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

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