… Сложнее, чем кажется.

Некоторые спички заключаются на небесах. Зерновые и молоко. Арахисовое масло и желе. Netflix и отдых. Моя любовь и я - все еще ждем, когда она ответит мне. В любой день. А как насчет машинного обучения и торговли? Соедините действительно быстрые машины, которые хорошо разбираются в математике, со свободным рынком, где вы можете заработать кучу денег. Похоже, мечта сбылась. Что возможно могло пойти не так? Или, на самом деле, лучший вопрос: какой цвет отделки сидений вы хотите на сиденьях вашего нового Lamborghini?

Вы думаете, я шучу, но несколько месяцев назад моя голова действительно витала в облаках. Когда мы с моей командой начали создавать Chartmaster, инструмент для тестирования продвинутых торговых стратегий на истории. Это всего лишь серверная часть Go, подключенная к некоторым диаграммам JavaScript. Мы используем его для моделирования эффективности торговой стратегии на исторических данных. Просто чтобы посмотреть, где что-то пошло не так. Надеюсь избежать подобных неприятностей в будущем. Звучит здорово, пока не покажет вам то, что вы не хотите видеть.

Вот что пошло не так: мы быстро скорректировали наши стратегии. Нашел настройки, которые работали в разные периоды. Но ручной процесс набора номера занял слишком много времени. Поэтому мы подумали: «Почему бы не обучить модель машинного обучения генерировать настройки на лету?» Идеально. Спустя несколько десятков строк позорного кода Python у нас была модель. Но после некоторого обучения и тестирования мы обнаружили проблему.

Динамическая установка параметров стратегии отлично работает, если вы используете правильные обучающие данные. Но проблема в том, что при использовании в реальной жизни прогнозы менее надежны. Как только вы вводите текущие данные в уравнение, все разваливается. Мы можем столкнуться с ошибками обучения и ограничениями машинного обучения из-за присущей ему природы распознавания образов. Но чтобы избавить нас от головной боли, просто поверьте мне на слово: это не сработало. Нам никогда не удавалось интегрировать машинное обучение в основную роль ни в одной из наших стратегий. Но это ключевое слово: «Основная роль».

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

И это именно то, на что способно машинное обучение: помогать в сборе данных. Найдите оптимальные настройки. Укажите закономерности в наборах данных. Это по-прежнему полезно, но это не то, о чем мы думаем, когда представляем машинное обучение в торговле. Думаю, этим сиденьям из алькантары придется подождать.