Bias-variance в трейдинге: как ИИ строит стратегию

Искусственный интеллект в финансовых инвестицияхBy 3L3C

Практичный разбор bias–variance в трейдинге: ML-пайплайн, walk-forward, PCA/VIF, стационарность и оценка стратегии. Чек-лист внедрения.

AI в инвестицияхАлгоритмическая торговляBias-VarianceWalk-forwardPCAGradient BoostingБэктестинг
Share:

Featured image for Bias-variance в трейдинге: как ИИ строит стратегию

Bias-variance в трейдинге: как ИИ строит стратегию

53–56% точности в прогнозе направления рынка звучит почти как монетка. И вот парадокс: при такой «скромной» точности ML-стратегия может дать Sharpe около 0,89 и максимальную просадку порядка −11% на длительном периоде, тогда как buy&hold может переживать −30–40% в плохие времена. Это не магия и не «секретная формула». Это дисциплина: правильная ML-проверка, контроль переобучения и внятная инженерия данных.

В нашей серии «Искусственный интеллект в финансовых инвестициях» мы обычно говорим, что ИИ в инвестициях — это не про угадывание цены. Это про управление ошибками и рисками. Разложение ошибки на смещение (bias) и разброс (variance) — один из самых практичных способов держать модель в тонусе и не превращать бэктест в самообман.

Ниже — цельный, прикладной разбор пайплайна ML-стратегии: от признаков и walk-forward до PCA/VIF, проверки стационарности и выбора модели через bias–variance decomposition. Плюс — мои комментарии о том, где чаще всего всё ломается в реальной торговле.

Почему компромисс bias–variance — это про деньги, а не про теорию

Суть простая:

  • Высокий bias = модель слишком упрощает рынок → стабильно ошибается → недообучение.
  • Высокий variance = модель слишком «влюбилась» в историю → отлично на обучении, плохо в будущем → переобучение.

В инвестициях это превращается в конкретику:

  • Переобучение даёт «красивую» equity curve в прошлом и неприятный сюрприз в реале.
  • Недообучение даёт ровную, но бесполезную стратегию — комиссию вы платите, альфы нет.

Bias–variance decomposition помогает сравнить модели не только по одной метрике (например, MSE), а по структуре ошибки. Это особенно полезно, когда вы строите стратегию на технических индикаторах и коротком горизонте (например, прогноз 5-дневной доходности): шум высокий, сигнал тонкий.

Практическое правило

Если две модели дают близкий MSE, я почти всегда выбираю ту, где ошибка распределена более «здорово»: умеренный bias и не нулевой variance (то есть модель видит паттерны, но не уходит в экстремальное переобучение).

Пайплайн ML-стратегии: от данных до сигналов

Надёжность ML в трейдинге рождается не из одной «крутой» модели, а из пайплайна, где каждая часть ограничивает риск ошибок.

1) Данные и цель: прогноз 5-дневной доходности

Базовая заготовка выглядит так:

  • Берём дневные OHLCV-данные (Open, High, Low, Close, Volume).
  • Строим набор технических индикаторов (скользящие, RSI, ATR, Bollinger, MACD, OBV и т. п.).
  • Целевая переменная — 5-дневная доходность close-to-close, сдвинутая так, чтобы признаки на дне t соответствовали будущей доходности t+5.

Это важная деталь: сдвиг целевой переменной защищает от «подглядывания в будущее» на уровне разметки.

2) Признаки: технические индикаторы — это нормально, если делать их честно

Техиндикаторы часто ругают за банальность. Я с этим не спорю — по отдельности они редко дают устойчивое преимущество. Но как сырьё для модели, особенно в ансамблях, они полезны.

Ключевое — не количество индикаторов, а то, как вы контролируете:

  • коррелированность признаков,
  • утечку данных,
  • стабильность во времени.

3) Walk-forward вместо «случайного» train/test

Ответ сначала: для временных рядов «случайное перемешивание» — почти всегда ошибка.

Walk-forward (скользящее окно) работает ближе к реальности:

  • обучаемся на последних, условно, 250 днях,
  • делаем прогноз на следующий день,
  • сдвигаем окно на 1 день,
  • повторяем.

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

PCA + VIF: как уменьшить шум и мультиколлинеарность

Когда у вас 20+ техиндикаторов, многие из них дублируют друг друга. Это увеличивает variance (модель начинает ловить «эхо» одного и того же сигнала в разных формах).

PCA: сжимаем признаки в объясняющие компоненты

PCA превращает исходные индикаторы в несколько компонент (например, 4), которые объясняют большую часть вариативности данных. Это:

  • уменьшает размерность,
  • ускоряет обучение,
  • делает модель менее чувствительной к «шумным» индикаторам.

VIF: выбрасываем компоненты с высокой взаимной зависимостью

VIF (Variance Inflation Factor) — индикатор мультиколлинеарности. В пайплайне удобно:

  • посчитать VIF по PCA-компонентам,
  • оставить те, где VIF ниже порога (например, < 3).

Это редкая, но сильная комбинация: PCA снижает размерность, VIF убирает «дубли» даже среди компонент.

Выбор модели через bias–variance decomposition: что это даёт на практике

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

В типовом сравнении регрессоров (линейная регрессия, Ridge, дерево решений, Bagging, Random Forest, Gradient Boosting) часто наблюдается картина:

  • линейные модели: высокий bias, низкий variance,
  • деревья: ниже bias, но variance растёт,
  • ансамбли (bagging/forest/boosting): балансируют ошибку лучше.

В разборе пайплайна логичный выбор — Gradient Boosting Regressor:

  • он обычно снижает total error,
  • сохраняет способность видеть нелинейности,
  • при разумных настройках не уходит в экстремальное переобучение.

Важная мысль для инвестора

Хорошая метрика модели ≠ хорошая торговая стратегия.

Модель может давать небольшой выигрыш в MSE, но стратегия может проигрывать из‑за:

  • неверного правила входа/выхода,
  • комиссий,
  • проскальзывания,
  • перекрывающихся позиций,
  • неверного риск-менеджмента.

ИИ в инвестициях ценен тем, что заставляет тестировать связку «модель → сигнал → исполнение», а не только «модель → метрика».

Стационарность: когда она помогает, а когда мешает

Ответ сначала: проверка стационарности полезна, но не универсальна — особенно для деревьев и бустинга.

В классическом временном анализе мы проверяем стационарность (например, ADF-тестом) и при необходимости делаем дифференцирование ряда. Это часто уменьшает ошибки в линейных моделях и ARIMA-подобных подходах.

Но есть нюанс:

  • Для tree-based моделей (Random Forest, Gradient Boosting) стационаризация признаков не всегда обязательна.
  • Более того, иногда дифференцирование «съедает» полезный уровень/структуру, и стратегия становится хуже.

Мой подход такой:

  1. Делайте две ветки эксперимента: как есть и со стационаризацией.
  2. Сравнивайте не только MSE/bias–variance, но и торговые метрики: Sharpe, просадка, стабильность по годам.
  3. Если результат «улучшился только в метриках модели», но стратегия ухудшилась — верьте стратегии.

Правила стратегии и оценка: что считать, чтобы не обманывать себя

В «скелете» стратегии логика очень проста:

  • прогноз 5-дневной доходности > 0 → лонг,
  • прогноз < 0 → шорт,
  • вход на open следующего дня,
  • выход на close через 5 дней,
  • фиксированная доля капитала на сделку (например, 20%), без реинвестирования.

Метрики, которые стоит держать на одном экране

Кроме equity curve:

  • Sharpe (с учётом безрисковой ставки),
  • max drawdown,
  • hit ratio (доля прибыльных сделок),
  • средний профит/убыток на сделку,
  • распределение доходностей (толстые хвосты важнее среднего),
  • CAGR.

Отдельно полезно перевести регрессию в «направление» и посчитать:

  • accuracy/precision/recall/F1 по знаку прогноза.

Но я бы не делал из accuracy фетиш: в трейдинге можно выигрывать при точности 52–55%, если матожидание на сделку положительное и хвосты контролируются.

Реальные ограничения: где бэктест чаще всего «подрисовывает» результат

Если цель — лиды (и реальные деньги клиентов), лучше честно проговорить ограничения заранее. В реальном исполнении чаще всего «съедают» результат:

  • Комиссии и спреды. При частых входах/выходах это главный враг.
  • Проскальзывание на open/close. На этих участках ликвидность и волатильность ведут себя особым образом.
  • Невозможность торговать индекс напрямую. Нужны ETF/фьючерсы/опционы, а там свои особенности (маржа, контанго/бэквордация, экспирации).
  • Дробные лоты и ограничение капитала. Бэктесты любят покупать 0,1 инструмента. На практике так бывает не всегда.
  • Налоги и режим налогообложения. Частая торговля меняет экономику стратегии.
  • Перекрывающиеся позиции. Если вы открываете сделку каждый день с удержанием 5 дней, позиции накладываются. Это риск и плечо «по умолчанию», который нужно считать.

Фраза, которую я повторяю командам: «Если ваш бэктест не учитывает издержки, он измеряет не прибыль, а фантазию».

Что делать дальше: быстрый план, если вы строите ML-стратегию в 2026 году

Декабрь — время, когда многие пересматривают инвестиционный процесс на следующий год. Если вы планируете внедрять ИИ в инвестициях (или выбирать поставщика/команду), вот практичный чек‑лист на 2–3 недели:

  1. Соберите базовый пайплайн: данные → признаки → walk-forward → прогноз.
  2. Сделайте bias–variance decomposition для 5–8 моделей и выберите 2 финалиста.
  3. Постройте торговые правила и посчитайте метрики стратегии, а не только MSE.
  4. Добавьте издержки (хотя бы грубо) и проверьте устойчивость.
  5. Проведите стресс‑тест: разные окна обучения, разные пороги входа, разные инструменты.

Если вы хотите ускорить этот путь, обычно быстрее всего помогает не «ещё одна модель», а:

  • нормальная walk-forward валидация,
  • контроль мультиколлинеарности,
  • честный учёт исполнения.

В следующем материале серии можно логично продолжить тему: как превратить прогноз доходности в портфельные веса (risk parity / mean-variance / CVaR) и как там проявляется bias–variance на уровне портфеля.

Если вы сейчас выбираете подход к AI‑инвестициям для себя или для компании: на каком этапе у вас чаще ломается процесс — признаки, валидация или исполнение сделок?

🇷🇺 Bias-variance в трейдинге: как ИИ строит стратегию - Russia | 3L3C