zzznth
zzznth личный блог
10 марта 2021, 12:30

Машинное обучеине и трейдинг

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

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

Предположим есть задача: зная силу, с которой ударяют по мячику и его массу описать его движение. Можно ли эту задачу решить методами ML? Ну, наверное можно, но не нужно :) Классическая механика сделает это куда быстрее, надежнее, точнее. Или же пример поближе: зная себестоимость, среднюю цену продажи и объем продаж можно предсказать валовую прибыль.

А что если мы не знаем массу мячика? Ну, можно провести один или несколько опытов, а по ним уже, зная (из механики) уравнения движения, её определить, чтобы в дальнейшем использовать для предсказаний. Опять пример поближе: узнав маржу по первому кварталу, и зная производственные планы, можно прикинуть прибыль за год (привет, СарНПЗ)!

Однако, у примеров выше есть особенность: 1) количество неизвестных параметров невелико, и, что еще более важно 2) функциональная зависимость от параметров примерно понятна. Впрочем, существует множество задач, где и число параметров, которые нужно варьировать велико и/или где функциональную зависимость так просто не описать. Вот именно для таких задач и нужно машинное обучение!

Например, чтобы выиграть в шахматы надо не иметь больше фигур на доске, а поставить сопернику мат. Однако, число возможных вариантов развития событий — последовательностей ходов, относительно невелико. Поэтому, успешно реализовав алгоритм «брутфорса», компьютер уже давно стал выигрывать у человека. Но например в го, цель игры проще — иметь больше очков на конец игры. Только вот вариантов на порядки больше — создать алгоритм игры так, чтобы машина выигрывала у человека не получалось. Однако методами ML это сделать получилось — смогли придумать как возможным ходам приписать функцию «полезности» которая каким-то сложным образом зависит от каких-то других известных параметров и подобрать в этой сложной функции нужные коэффициенты. Разумный вопрос: а почему обычными методами то не получалось? Потому что все попытки описать «полезность» хода через какие-то разумные функциональные зависимости терпели крах. Ну на островке невежества живем, ничего с этим поделать нельзя. Пришлось уплывать туда, что и описать никаким человеческим языком то нельзя.

Резюмируя эту часть поста: отнюдь не верно считать, что «машина умеет думать». Не умеет. Компьютер лишь умеет осуществлять математические операции; точно и куда быстрее человека. А то что суслика не видно, не означает, что его нет :)) Грубо говоря, методы машинного обучения о том, как из множества параметров составить сложного вида функцию, подобрать к ней коэффициенты так, чтобы на выходе получался хороший результат. Сложная многомерная оптимизация одной фразой.

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

Тебе не придется описывать монстров, если ты назовешь их неописуемыми

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

Иными словами: совершили вы убыточную сделку, или лучше ряд убыточных сделок. Что это? Просто «человеческая» оплошность? Полоса неудач? Неправильный выбор стратегии? И если последнее, то можно ли этого избежать подкорректировав стратегию? Обычными методами эти вопросы как минимум можно обдумать (а возможно и получить правильный ответ). Используя алгоритмы на основе машинного обучения вам останется только надеяться, что все ок.
26 Комментариев
  • 3Qu
    10 марта 2021, 13:00
    Можно ли делать деньги на бирже с помощью создав методами машинного обучения алгоритм совершения сделок? Ответ на этот вопрос напрямую зависит от другого вопроса: можно ли делать деньги теханализом? Если да — то тогда вполне возможно создать торговую стратегию, основанную на методах машинного обучения.
    К сожалению ТА не работает, не работал, и не может работать.
    Как написано в одной из книг по ТА — ТА это не наука, а искусство. ТА — кисти и краски — бери, и рисуй что хошь. Результат не от красок зависит, а от художника.
    Т.е., работоспособность или неработоспособность ТА ничего не говорит о работоспособности МО.
    Скорее всего, работоспособность МО будет также зависеть только от художника.
      • 3Qu
        10 марта 2021, 14:08
        zzznth, воще-то, я это и написал.))
  • Simix
    10 марта 2021, 13:27
    В принципе на циклических рынках работает стратегия — покупай внизу, продавай там где жадность позволяет.
    Но просто цикл очень долгий, глупо для этого держать робота.
    А роботы хорошо работают на HFT- та же стратегия возврата к среднему.
    Всё прочее — это фантастика
    • _sg_
      10 марта 2021, 13:45
      Simix,
      У Вас mean reversion работает в настоящее время?
      На каком инструменте?
      • Simix
        10 марта 2021, 16:20
        _sg_, На синтетическом. Состав ингредиентов — увы секрет ;)
        • _sg_
          10 марта 2021, 18:08
          Simix,
          сколько средняя сделка в комиссиях? ( мы на активных стратегиях среднюю сделку в комиссиях измеряли).
          На синтетике большая комиссия будет.
          Трудно выживать на активных стратегиях в таких условиях.
          • Дмитрий Овчинников
            10 марта 2021, 20:10
            _sg_, 
            ответа не будет, видимо <=1
          • Simix
            11 марта 2021, 14:59
            _sg_, Чойта не будет? Комиссия «на сделку» составляет 10%, но это только комиссия.
            Не считаем здесь всякие прочие накладные потери.
  • chizhan
    10 марта 2021, 13:41
    Грубо говоря, методы машинного обучения о том, как из множества параметров составить сложного вида функцию, подобрать к ней коэффициенты так, чтобы на выходе получался хороший результат.
    Чем больше параметров вы задействуете, тем больше вы получите курвафитинг(подгонку под данные). То есть, если в начале и заработаете, то потом неминуемо сольетесь, ну или стоп сработает. 
  • Михаил
    10 марта 2021, 13:52
    > А как влияет тот или иной параметр на результат (и влияет ли вообще) вам никто не скажет, да и проанализировать это по сути невозможно.

    Это прямо скажем не так — практически все классические ML можно проанализировать и понять, что и как повлияло на результат. С DL посложнее, но и тут часто возможна понять, что повлияло на результат. 
      • Михаил
        10 марта 2021, 14:16
        zzznth, ну не так это, деревянные модели (GBM и RF) интерпретируются с помощью с помощью Shapley Values и решают очень сложные задачи, где без машинного обучения не обойтись. 
          • Михаил
            10 марта 2021, 14:46
            zzznth, Shapley Values позволяет разложить любое предсказание на сумму вкладов значений отдельных признаков. Собственно это обычно и называют интерпретацией результата. 

            Если вас интересует форма зависимости, то есть partial dependence plot — для деревьев его опять же достаточно легко можно построить.
              • Михаил
                10 марта 2021, 15:20
                zzznth, у вас почему-то весь анализ сводится к аналитической форме — это очень узкая интерпретация и к деревьям не сильно применимая — они строятся на дискретных признаках, там производной и быть не может. Да и наличие аналитической формы тоже очень мало дает, если у вас пространство признаков достаточно многомерное — все равно человек не сильно адекватно воспринимает такие функции. 

                Вот строите вы зависимость вероятности рака легких от много факторов и получаете. В среднем по популяции вероятность рака 1%. А вот Shapley Values для признака курит +20%, бегает два раза в неделю -5% итого 16%. Вполне понятный инсайт — курить не надо вы очень сильно повышаете вероятность рака, бегать надо, но это не перекроет ваше курение.
                  • Михаил
                    10 марта 2021, 15:42
                    zzznth, да примерно так же как, это делается для не ML моделей — часто это определенное искусство нарабатываемое с опытом, но есть и вполне формальные приемы.

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

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

                    В более сложных ситуациях часто применяют критерий Колмогорова-Смирнова для анализа распределения признаков у сильно ошибочных прогнозов и в обучающей выборке.
  • Seroja
    10 марта 2021, 14:02
    Тема интересная. Подскажите, Вы уже экспериментировали с ML?
  • Андрей Алферов
    10 марта 2021, 18:20
    С временными рядами лучше регрессии ещё ничего не придумали (в той или иной интерпретации), на кэгл кстати не так давно был конкурс, как раз по трейдингу, от какой то солидной компашки с уол стрит, с хорошими призовыми. Это показывает, что даже с большими бабками они не сильно далеко продвинулись в предсказаниях
    • Stas Dzyuba
      16 марта 2021, 14:33
      Причем DL применительно к трейдингу зачастую так и сводится к авторегрессии временных рядов.
  • ELab
    14 марта 2021, 10:49
    Любая проверка гипотезы устойчивости (например, cross validation) ставит на ML крест

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

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