Перейти к содержимому

Глава 212: AutoML в финансах

1. Введение

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

В контексте алгоритмической торговли AutoML — это не просто инструмент удобства. Это структурированный подход к комбинаторному взрыву вариантов, возникающему при построении торговых моделей. Рассмотрим типичный пайплайн: вы можете выбирать из сотен технических индикаторов для конструирования признаков, десятков семейств моделей для предсказания и непрерывных пространств гиперпараметров для каждой модели. Число допустимых конфигураций пайплайна может легко превысить миллионы. Фреймворки AutoML навигируют по этому пространству, используя принципиальные стратегии поиска — мета-обучение, байесовскую оптимизацию, эволюционные алгоритмы и многоуровневые методы — для эффективного выявления высокопроизводительных пайплайнов.

В этой главе рассматривается AutoML в применении к количественным финансам: его основные компоненты, математические основы, практические трудности, специфичные для финансовых данных, и полная реализация на Rust с интеграцией данных биржи Bybit в реальном времени.

2. Компоненты AutoML

Система AutoML для торговли состоит из нескольких взаимосвязанных модулей, каждый из которых автоматизирует традиционно ручной этап:

2.1 Автоматизированное конструирование признаков

Конструирование признаков в финансах включает преобразование необработанных данных OHLCV (Open, High, Low, Close, Volume) в информативные сигналы. AutoML автоматизирует это через:

  • Генерация технических индикаторов: Систематическое вычисление скользящих средних, RSI, MACD, полос Боллинджера и других индикаторов с различными настройками параметров (например, SMA с окнами 5, 10, 20, 50, 100).
  • Отбор признаков: Фильтрация сгенерированного набора признаков с использованием статистических методов — взаимной информации, корреляционной фильтрации и порогов дисперсии. Взаимная информация улавливает нелинейные зависимости между признаками и целевой переменной, тогда как корреляционная фильтрация удаляет избыточные признаки, несущие перекрывающуюся информацию.
  • Трансформация признаков: Применение нормализации, логарифмических преобразований или дифференцирования для стабилизации распределений и улучшения производительности моделей.

2.2 Выбор модели

Вместо привязки к одному семейству моделей AutoML поддерживает зоопарк моделей — коллекцию разнообразных алгоритмов:

  • Линейные модели: Ридж-регрессия, Lasso и эластичная сеть обеспечивают интерпретируемые базовые модели с регуляризацией для предотвращения переобучения.
  • Древовидные модели: Деревья решений и ансамблевые методы (случайные леса, градиентный бустинг) улавливают нелинейные взаимодействия признаков без ручной спецификации.
  • Нейронные сети: Многослойные перцептроны и более сложные архитектуры могут аппроксимировать произвольные функции при наличии достаточного количества данных.

Оркестратор AutoML оценивает каждое семейство моделей на одних и тех же разбиениях кросс-валидации, обеспечивая справедливое сравнение.

2.3 Оптимизация гиперпараметров (HPO)

Каждая модель имеет гиперпараметры, контролирующие её сложность и поведение обучения. HPO систематически ищет оптимальные настройки:

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

2.4 Построение ансамблей

Лучшие модели из фазы поиска объединяются в ансамбль. Ансамблевые методы снижают дисперсию и повышают устойчивость:

  • Простое усреднение: Комбинация предсказаний с равными весами от top-k моделей.
  • Взвешенное усреднение: Веса пропорциональны качеству на валидации.
  • Стекинг: Обучение мета-модели на выходах базовых моделей.

3. Математические основы

3.1 Мета-обучение

Мета-обучение, или «обучение учиться», ускоряет AutoML, используя опыт предыдущих задач. Имея коллекцию наборов данных D_1, …, D_n и их оптимальные конфигурации пайплайнов c_1*, …, c_n*, мета-обучатель выявляет закономерности, предсказывающие, какие конфигурации будут хорошо работать на новом наборе данных D_{n+1}.

Формально мы обучаем отображение:

f: MetaFeatures(D) -> Configuration Space

где MetaFeatures(D) характеризуют набор данных: размерность, объём выборки, корреляции признаков и баланс классов. Это обеспечивает «тёплый старт» процесса поиска, избегая неэффективных областей пространства конфигураций.

3.2 Байесовская оптимизация для HPO

Байесовская оптимизация моделирует целевую функцию (качество на валидации как функцию гиперпараметров) с помощью гауссовского процесса (GP):

f(x) ~ GP(mu(x), k(x, x'))

где mu(x) — функция среднего, k(x, x’) — ковариационное ядро (обычно Matern или RBF). После наблюдения t вычислений {(x_1, y_1), …, (x_t, y_t)} апостериорное предиктивное распределение даёт как среднее предсказание, так и оценку неопределённости в любой точке-кандидате x.

Функция приобретения Expected Improvement (EI) балансирует исследование и эксплуатацию:

EI(x) = E[max(f(x) - f(x+), 0)]

где f(x+) — лучшее наблюдённое значение. EI высок там, где модель предсказывает либо высокое среднее (эксплуатация), либо высокую неопределённость (исследование). Следующая точка выбирается как:

x_{t+1} = argmax_x EI(x)

3.3 Многоуровневая оптимизация (Hyperband)

Hyperband ускоряет HPO за счёт ранней остановки слабых конфигураций. Он формулирует HPO как задачу распределения ресурсов: имея бюджет B (например, общее число эпох обучения), как распределить ресурсы среди конфигураций-кандидатов?

Алгоритм работает в раундах, называемых «скобками». В каждой скобке с n начальными конфигурациями и минимальным ресурсом r:

  1. Обучить все n конфигураций в течение r эпох
  2. Оценить и оставить лучшую долю 1/eta
  3. Увеличить распределение ресурсов в eta раз
  4. Повторять, пока не останется одна конфигурация

Схема последовательного деления гарантирует, что наиболее перспективные конфигурации получают больше всего ресурсов, а явно слабые отсекаются рано. Общее использование ресурсов составляет O(B * log(n)) вместо O(B * n) при исчерпывающем вычислении.

4. Применение в торговле

4.1 Автоматическое построение пайплайнов альфа-факторов

Альфа-фактор — это сигнал, предсказывающий будущую доходность. AutoML может систематически:

  1. Генерировать кандидатные альфа-факторы из необработанных данных (технические индикаторы, статистические признаки, кросс-активные сигналы)
  2. Оценивать предсказательную силу каждого фактора через информационный коэффициент (IC) — ранговую корреляцию между значениями фактора и последующей доходностью
  3. Комбинировать лучшие факторы в составной сигнал с обученными весами

Этот процесс заменяет традиционный «мозговой штурм квант-исследователя» систематическим исследованием.

4.2 Автоматизированная разработка стратегий

Помимо отдельных сигналов, AutoML может оптимизировать целые торговые стратегии:

  • Правила входа/выхода: Оптимизация порогов для сигнальной торговли
  • Размер позиций: Параметры критерия Келли, целевая волатильность
  • Управление рисками: Уровни стоп-лоссов, ограничения максимальной просадки

4.3 Walk-Forward оптимизация

Walk-forward оптимизация необходима для финансового AutoML. В отличие от стандартной кросс-валидации, она уважает временной порядок:

[Train_1][Val_1]
[Train_2][Val_2]
[Train_3][Val_3]

Каждый фолд обучается на исторических данных и валидируется на непосредственно следующем периоде. Это предотвращает lookahead bias — главный грех бэктестирования — когда будущая информация просачивается в процесс обучения.

5. Фреймворки AutoML в применении к торговле

5.1 Auto-sklearn

Auto-sklearn расширяет scikit-learn мета-обучением и байесовской оптимизацией. Для торговли ключевые вклады:

  • Тёплый старт мета-обучения: Инициализация поиска на основе схожих финансовых наборов данных
  • Выбор ансамбля: Автоматическое построение ансамблей из оценённых моделей
  • Учёт ресурсов: Соблюдение вычислительных бюджетов

5.2 Auto-PyTorch

Auto-PyTorch автоматизирует поиск нейронных архитектур (NAS) для табличных данных. В контексте торговли:

  • Поиск по глубине сети, ширине, функциям активации и регуляризации
  • Поддержка пользовательских функций потерь (например, максимизация коэффициента Шарпа)
  • Интеграция с экосистемой PyTorch для ускорения на GPU

5.3 TPOT (Tree-based Pipeline Optimization Tool)

TPOT использует генетическое программирование для эволюции целых пайплайнов. Каждый пайплайн представлен в виде дерева:

  • Листовые узлы: источники данных и признаки
  • Внутренние узлы: трансформации, селекторы признаков и модели
  • Корневой узел: финальное предсказание

Операторы эволюции (кроссовер, мутация) рекомбинируют успешные фрагменты пайплайнов, позволяя обнаруживать новые архитектуры, которые исследователь мог бы не рассмотреть.

6. Трудности в финансах

6.1 Нестационарность

Финансовые рынки фундаментально нестационарны. Процесс генерации данных меняется со временем из-за смены режимов, изменений политики и эволюции рыночной микроструктуры. AutoML должен:

  • Использовать адаптивные окна валидации, придающие больший вес недавним данным
  • Реализовывать детекцию режимов для разделения данных на стационарные сегменты
  • Регулярно перезапускать процесс поиска для адаптации к новым рыночным условиям

6.2 Предотвращение Lookahead Bias

Автоматизированная природа AutoML делает его особенно подверженным lookahead bias. Меры защиты включают:

  • Строгий временной порядок: Все разбиения кросс-валидации должны уважать время
  • Барьеры вычисления признаков: Признаки в момент времени t могут использовать только данные из моментов <= t
  • Периоды эмбарго: Вставка промежутков между обучающим и валидационным наборами для учёта автокорреляции доходностей

6.3 Кросс-валидация временных рядов

Стандартная k-fold кросс-валидация непригодна для временных рядов, поскольку позволяет будущим данным влиять на прошлые предсказания. Walk-forward валидация решает эту проблему, но вносит свои сложности:

  • Меньше эффективных фолдов: Последовательное разбиение даёт меньше валидационных периодов, чем случайное
  • Смещение к недавности: Поздние фолды могут быть более репрезентативными для будущей производительности, но имеют меньше обучающих данных
  • Комбинаторная очистка: Удаление обучающих наблюдений, метки которых перекрываются с валидационным периодом

6.4 Переобучение процесса поиска

При достаточном числе оценённых конфигураций даже случайный шум даст якобы высокопроизводительные пайплайны. Это проблема множественного тестирования в применении к HPO. Меры включают:

  • Удержанная тестовая выборка: Никогда не используется в процессе поиска
  • Тесты статистической значимости: Сравнение результатов AutoML с осмысленным базовым уровнем
  • Регуляризация поиска: Штрафование сложности пайплайна

7. Обзор реализации

Реализация на Rust в этой главе предоставляет полную систему AutoML для торговли. Ключевые компоненты:

Оркестратор пайплайна

Структура AutoMLPipeline координирует весь процесс поиска. Она принимает необработанные данные OHLCV, генерирует признаки, оценивает множество конфигураций моделей через walk-forward валидацию, выполняет оптимизацию гиперпараметров и строит ансамбль из лучших моделей.

Конструирование признаков

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

Зоопарк моделей

Реализованы три семейства моделей:

  • LinearModel: Ридж-регрессия с параметром L2-регуляризации alpha
  • DecisionTreeModel: Упрощённое дерево решений с настраиваемой максимальной глубиной
  • NeuralNetModel: Двухслойный перцептрон с настраиваемым размером скрытого слоя и скоростью обучения

Поиск гиперпараметров

HPOEngine реализует как случайный поиск, так и байесовско-вдохновлённый поиск. Случайный поиск равномерно выбирает конфигурации гиперпараметров. Байесовский вариант ведёт историю пар (конфигурация, оценка) и смещает выборку к областям вблизи ранее успешных конфигураций.

Walk-Forward кросс-валидация

WalkForwardCV разбивает данные на последовательные пары обучение/валидация. Каждый фолд использует расширяющееся или скользящее окно для обучения и окно фиксированного размера для валидации. Период эмбарго между обучением и валидацией предотвращает утечку меток.

Ансамбль

EnsembleBuilder собирает предсказания от top-k моделей и комбинирует их с помощью взвешенного усреднения, где веса пропорциональны качеству на валидации.

Смотрите rust/src/lib.rs для полной реализации и rust/examples/trading_example.rs для сквозного примера с использованием данных Bybit в реальном времени.

8. Интеграция данных Bybit

Реализация получает реальные рыночные данные из REST API Bybit. Эндпоинт /v5/market/kline предоставляет исторические свечи OHLCV для любой поддерживаемой торговой пары. Ключевые детали интеграции:

  • Эндпоинт: https://api.bybit.com/v5/market/kline
  • Параметры: category=linear, symbol=BTCUSDT, interval=60 (часовые свечи), limit=200
  • Ограничение частоты: Реализация соблюдает лимиты запросов Bybit с соответствующими интервалами
  • Формат данных: JSON-ответ парсится в структуру Candle с полями open_time, open, high, low, close и volume

Полученные данные напрямую поступают в пайплайн AutoML, демонстрируя полный рабочий процесс от данных рынка в реальном времени до оценки моделей.

9. Ключевые выводы

  1. AutoML автоматизирует полный ML-пайплайн для торговли: конструирование признаков, выбор модели, оптимизацию гиперпараметров и построение ансамбля. Этот систематический подход исследует гораздо больше конфигураций, чем ручное экспериментирование.

  2. Байесовская оптимизация и многоуровневые методы (Hyperband) делают поиск вычислительно реализуемым, интеллектуально выбирая конфигурации для оценки и рано останавливая неперспективные.

  3. Финансовые данные требуют специальной обработки. Нестационарность, lookahead bias и временные зависимости требуют walk-forward валидации, периодов эмбарго и адаптивных стратегий поиска. Стандартная кросс-валидация неприменима.

  4. Проблема множественного тестирования усиливается AutoML. Оценка тысяч конфигураций пайплайнов увеличивает риск выбора одной, показывающей хороший результат случайно. Удержанные тестовые выборки, статистические тесты и штрафы за сложность — необходимые меры защиты.

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

  6. Мета-обучение ускоряет будущие поиски, используя знания из предыдущих наборов данных и рынков. По мере применения системы AutoML к большему числу инструментов и таймфреймов её способность тёплого старта становится всё более ценной.

  7. Rust обеспечивает преимущества производительности для AutoML в торговле. Вычислительно интенсивный процесс поиска выигрывает от абстракций с нулевой стоимостью Rust, безопасности памяти без сборки мусора и простой параллелизации.

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