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

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

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

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

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

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

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

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

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

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

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

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

Иными словами: совершили вы убыточную сделку, или лучше ряд убыточных сделок. Что это? Просто «человеческая» оплошность? Полоса неудач? Неправильный выбор стратегии? И если последнее, то можно ли этого избежать подкорректировав стратегию? Обычными методами эти вопросы как минимум можно обдумать (а возможно и получить правильный ответ). Используя алгоритмы на основе машинного обучения вам останется только надеяться, что все ок.
26 Комментариев
  • 3Qu
    10 марта 2021, 13:00
    Можно ли делать деньги на бирже с помощью создав методами машинного обучения алгоритм совершения сделок? Ответ на этот вопрос напрямую зависит от другого вопроса: можно ли делать деньги теханализом? Если да — то тогда вполне возможно создать торговую стратегию, основанную на методах машинного обучения.
    К сожалению ТА не работает, не работал, и не может работать.
    Как написано в одной из книг по ТА — ТА это не наука, а искусство. ТА — кисти и краски — бери, и рисуй что хошь. Результат не от красок зависит, а от художника.
    Т.е., работоспособность или неработоспособность ТА ничего не говорит о работоспособности МО.
    Скорее всего, работоспособность МО будет также зависеть только от художника.
  • Simix
    10 марта 2021, 13:27
    В принципе на циклических рынках работает стратегия — покупай внизу, продавай там где жадность позволяет.
    Но просто цикл очень долгий, глупо для этого держать робота.
    А роботы хорошо работают на HFT- та же стратегия возврата к среднему.
    Всё прочее — это фантастика
  • chizhan
    10 марта 2021, 13:41
    Грубо говоря, методы машинного обучения о том, как из множества параметров составить сложного вида функцию, подобрать к ней коэффициенты так, чтобы на выходе получался хороший результат.
    Чем больше параметров вы задействуете, тем больше вы получите курвафитинг(подгонку под данные). То есть, если в начале и заработаете, то потом неминуемо сольетесь, ну или стоп сработает. 
  • Михаил
    10 марта 2021, 13:52
    > А как влияет тот или иной параметр на результат (и влияет ли вообще) вам никто не скажет, да и проанализировать это по сути невозможно.

    Это прямо скажем не так — практически все классические ML можно проанализировать и понять, что и как повлияло на результат. С DL посложнее, но и тут часто возможна понять, что повлияло на результат. 

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

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