Войти
Главная / Data science в трейдинге / Почему ML-модели в трейдинге не работают: кейсы с LSTM, XGBoost и Random Forest
Хотите зарабатывать на трейдинге?

Подписывайтесь на наш телеграм-канал для трейдеров — с глубокой аналитикой и рабочими стратегиями

Подписаться

Как собрать свой журнал для тестирования стратегии? Заберите бесплатный гайд

Гайд от нашей команды поможет вам систематизировать торговлю и принимать взвешенные решения

Подтвердите согласие

Почему ML-модели в трейдинге не работают: кейсы с LSTM, XGBoost и Random Forest

Привет, на связи Григорий, CTO Trade2Good. По первому образованию я финансист, и в трейдинге я уже почти 17 лет. За это время видел десятки взлётов и падений — как на рынках, так и в подходах к анализу данных. За последние 5 лет я глубоко работаю с машинным обучением: тестировал и внедрял модели от простых Random Forest до сложных LSTM-архитектур.

И вот к какому выводу я пришёл: большинство ML-моделей не работают в реальной торговле, несмотря на все те красивые цифры точности и графики на тренировочных выборках. Но почему? Ведь в бэктестах они показывают 80-90% точности! Проблема в том, что между академическими экспериментами и реальным трейдингом — пропасть. Сегодня разберём реальные кейсы и ошибки, которые превращают «прибыльные» модели в убыточные.

LSTM: Когда нейросети «забывают» о рынке

LSTM-сети часто подаются как «золотой стандарт» для временных рядов. Они действительно умеют учитывать долгосрочные зависимости и работать с нелинейными паттернами. Всё звучит красиво на бумаге — до момента, пока вы не начнёте торговать по ней в реальном времени.

Кейс 1: Переобучение на шумы

Я обучил LSTM на пятилетней истории по S&P 500. На тестовой выборке — 92% точности. Казалось бы, всё отлично. Но в реальности:

  • Модель реагировала на микрофлуктуации (шум)
  • Пропускала сильные тренды
  • Давала ложные сигналы при выходе важных новостей

Ошибка: LSTM выучила поведение рынка в прошлом, но не смогла абстрагироваться от шумов и научиться выделять значимые рыночные режимы.

Как исправить?

— Использовать фильтрацию шума, например, через вейвлет-преобразования;

— Комбинировать LSTM с более простыми и интерпретируемыми признаками (например, тех. индикаторы)

— Обязательно тестировать модель на стрессовых периодах: 2008, 2020, 2022 — это ключевые тесты на устойчивость.

XGBoost: Почему «чемпион» Kaggle проигрывает в трейдинге?

XGBoost — один из самых мощных инструментов для табличных данных. Он доминирует на Kaggle, и во многих задачах показывает отличные результаты. Но рынок — это не Kaggle.

Кейс: иллюзия фичей

Я собрал массивную feature-систему: более 150 признаков — от RSI и MACD до макростатистики и данных по опционам. На истории всё выглядело прекрасно: Sharpe Ratio — 2.5. В реальной торговле за месяц — -15%.

Что пошло не так?

  • 80% фичей оказались статистически бесполезны
  • Модель переобучилась на случайные корреляции
  • Не учтены транзакционные издержки

Как исправить?

  • Жестко отбирать фичи через SHAP-анализ, корреляции и тест Грэнджера
  • Учитывать реальные торговые условия — комиссии, спреды, исполнение — они могут «съесть» треть прибыли
  • Использовать простые ансамбли (XGBoost + логистическая регрессия)

Random Forest: Когда «простота» убивает стратегию

Random Forest — старый добрый алгоритм, надёжный, стабильный и неприхотливый. И всё бы хорошо, если бы рынок не менялся так быстро.

Кейс: проклятие стационарности

Я разработал RF-модель для предсказания движений BTC:

  • Модель обучалась на данных по BTC с 2017 по 2023 год. Всё, включая бычий тренд 2021 года
  • Цель: Прогноз на 24 часа

Что пошло не так? В 2024 рынок резко поменял волатильность, модель продолжала действовать по «старым» паттернам — и за один месяц допустила 11 подряд убыточных сделок.

Проблема: Random Forest не умеет работать с нестационарными данными — а рынок именно такой.

Как исправить?

  • Использовать адаптивные веса — придавать больше значения свежим данным;
  • Переобучать модель по скользящему окну (rolling retrain)
  • Включать online-алгоритмы, которые адаптируются в реальном времени (например, градиентный бустинг)

4. Главные ошибки, которые «убивают» ML-модели в трейдинге

Из моего опыта, вот из-за чего даже хорошие идеи проваливаются при реализации:

ПроблемаРешение
Look-ahead bias — утечка будущих данных в фичах (например, использование завтрашнего VIX)Строгий temporal split (обучение на данных до 2023, тест — на 2024)
Игнорирование транзакционных издержек —комиссии и спреды могут съесть 30-50% прибыли Включать издержки в бэктест
Отсутствие системы контроля позиций — модель не отслеживает открытые сделкиОбязательна система управления позицией: стопы, трейлинг, контроль риска.
Неправильное управление капиталом — если риск на сделку выше 2%, депозит может закончиться раньше, чем вы это заметите.Использовать консервативный риск-менеджмент: фиксированный процент от капитала.

Вывод: что делать, если вы хотите, чтобы ML-модель действительно работала?

  1. Начните с простых и интерпретируемых моделей. Линейная регрессия, логистическая регрессия, Random Forest — отличная стартовая точка.
  2. Тестируйте на реалистичных данных (комиссии, slippage, макрошоки)
  3. Не забывайте, что рынок — нестационарен. Всё меняется: волатильность, поведение, связи между активами. Адаптируйте вашу модель.
  4. И главное — избегайте избыточной сложности. Сложная модель ≠ прибыльная модель.

Машинное обучение в трейдинге — это не «чёрный ящик, который предсказывает рынок», а инструмент, который требует постоянной адаптации, валидации и контроля.

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

Оставьте заявку через форму обратной связи или просто напишите нам на info@trade2good.com — обсудим ваш проект и предложим лучшее решение.

Хотите разбираться в рынках и зарабатывать на них при любых условиях?

Подписывайтесь на наш Telegram-канал о финансах и Data Science в трейдинге:
– Делаем глубокую аналитику
– Тестируем и разрабатываем торговые стратегии
– Кодим индикаторы и алгоритмы
– Собираем базу знаний для трейдеров

Подписаться
Хотите разбираться в рынках и зарабатывать на них при любых условиях?

Подписывайтесь на наш Telegram-канал о финансах и Data Science в трейдинге:
– Делаем глубокую аналитику
– Тестируем и разрабатываем торговые стратегии
– Кодим индикаторы и алгоритмы
– Собираем базу знаний для трейдеров

Подписаться

Научитесь читать графики всего за 15 минут

Заберите простой мини-гайд для быстрого старта в трейдинге. Идеально для новичков

Подтвердите согласие
Метод обучения трейдингу Trade2good: структурный подход на основе данных и системного анализа
Сегодня обучение трейдингу часто превращается либо в теоретический марафон, либо в набор случайных советов от «гуру». Мы выбрали другой путь....
Читать далее
📈 Как создать индикатор боллинджера в трейдинге на Python
Индикатор полосы боллинджера (волны боллинджера, боллинджер бандс) — один из самых популярных индикаторов для технического анализа. Он помогает трейдерам определять...
Читать далее
Аналитика XRPUSDT на новую неделю (#29)
XRPUSDT закончил неделю уверенной победой покупателей и обновлением трехмесячного максимума. Тренд цены сменил свое направление и движется наверх. Мы действуем...
Читать далее