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

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

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

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

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

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