FinRL-X: модульная инфраструктура для количественной торговли
Хунъян Ян, Боюй Чжан, Ян Шэ, Синьюй Ляо, Сяоли Чжан · AI4Finance Foundation · 22 марта 2026. Все авторы внесли равный вклад.
Оригинал: Yang, H., Zhang, B., She, Y., Liao, X., Zhang, X. «FinRL-X: An AI-Native Modular Infrastructure for Quantitative Trading», 2026 — arxiv.org/abs/2603.21330 (PDF).
Код: github.com/AI4Finance-Foundation/FinRL-Trading (Apache 2.0)
Рисунки воспроизведены из оригинальной публикации. Оригинал распространяется по стандартной лицензии arXiv (non-exclusive distribution), которая производных произведений не разрешает: все права на оригинальный текст принадлежат авторам, перевод выполнен для личного ознакомления с указанием источника.
Ключевые слова: системы количественной торговли, глубокое обучение с подкреплением, оптимизация финансового портфеля, систематическая торговля.
Аннотация
Мы представляем FinRL-X — модульную и согласованную с развёртыванием торговую архитектуру, объединяющую обработку данных, построение стратегии, тестирование на истории и исполнение через брокера единым интерфейсом на основе весов. Существующие открытые платформы обычно ориентированы либо на бэктест, либо на модели, и редко обеспечивают системную согласованность между исследовательской оценкой и живым развёртыванием. FinRL-X закрывает этот пробел компонуемым конвейером стратегии, объединяющим отбор акций, распределение портфеля, тайминг и надстройки управления риском на уровне портфеля в рамках единого протокола. Каркас поддерживает как правиловые, так и основанные на ИИ компоненты, включая распределители на обучении с подкреплением и сигналы настроений на основе больших языковых моделей, не меняя семантики исполнения ниже по конвейеру.
1. Введение
Исследования в количественной торговле быстро продвинулись за последние годы, породив всё более изощрённые сигнальные модели, техники построения портфеля и обучаемых торговых агентов. Однако многие исследовательские прототипы трудно воспроизвести и развернуть. Практические торговые системы должны решать более широкие инженерные задачи: надёжность данных, согласованность интерфейсов, реалистичность исполнения и устойчивость системы.
Существующие открытые каркасы обычно закрывают изолированные стадии конвейера. Недавние подходы на основе больших языковых моделей — BloombergGPT, FinGPT, FinRobot — улучшают понимание финансовых текстов и генерацию сигналов, но остаются сосредоточены на моделировании, а не на сквозной системной интеграции. Исследовательские платформы вроде FinRL и TensorTrade позволяют быстро экспериментировать с агентами обучения с подкреплением, но сфокусированы на средах обучения, а не на архитектурах, согласованных с развёртыванием. Инженерные библиотеки — Backtrader, Zipline, bt, vectorbt, Qlib, TradingAgents — дают надёжные средства тестирования и оценки, но обычно используются как отдельные компоненты. На практике пользователю всё равно приходится самому интегрировать загрузку данных, обеспечивать согласованные интерфейсы стратегии и реализовывать связь с брокером и мониторинг.
Переход от исследовательского бэктеста к живому развёртыванию вносит системные искажения, редко формализуемые в академических каркасах. Мы делим их на два основных разрыва развёртывания.
(1) Разрыв между бэктестом и бумажной торговлей. Офлайновые среды тестирования опираются на упрощённые допущения об исполнении, расходящиеся с брокерской средой. Типичные искажения: чрезмерно упрощённая логика исполнения (мгновенное исполнение по ценам бара), нереалистичное моделирование транзакционных издержек, отсутствие симуляции рыночного воздействия, отсутствие динамики стакана, систематическая ошибка выжившего и несогласованность лент данных. Всё это создаёт расхождение между смоделированной и брокерской реальностью, ведя к завышенным метрикам и нестабильному поведению после подключения к торговому API.
(2) Разрыв между бумажной и живой торговлей. Даже когда стратегии проходят бумажную торговлю через брокера, в живых рынках возникают дополнительные риски исполнения и операционные риски: реалистичная неопределённость исполнения (задержки, частичные исполнения, проскальзывание), эффекты ликвидности и позиции в очереди, различия в поведении API, хрупкость инфраструктуры (сбои серверов, разрывы связи), отказы восстановления состояния, ограничения реального капитала (маржинальные правила, сроки расчётов) и экстремальные системные события — мгновенные обвалы или ошибочные развёртывания кода.
Эти два разрыва показывают, что одной воспроизводимости моделирования недостаточно. Требуется архитектура, осознающая развёртывание, сохраняющая согласованность интерфейсов между исследованием, бэктестом, брокерской симуляцией и живым исполнением.
Вклады работы:
- Архитектура, осознающая развёртывание. Мы формализуем и устраняем разрывы через слоистую конструкцию, центрированную на весах, объединяющую исследовательские и исполнительные интерфейсы.
- Компонуемая торговая абстракция. Мы структурируем рабочие процессы как модульные преобразования (отбор — распределение — тайминг — риск), позволяя бесшовно интегрировать правиловые и обучаемые стратегии.
- Оценка, согласованная с исполнением. Стандартизованный бэктест, исполнение через брокера (например, Alpaca) и механизмы мониторинга.
- Открытая публикация расширяемой библиотеки с воспроизводимыми процессами и работающими примерами.
Рисунок 1 — смотреть в оригинале (PDF)
2. Связанные работы
Открытые платформы количественной торговли обычно привязаны к стадии: Zipline, Backtrader, bt и vectorbt сосредоточены на тестировании, тогда как ориентированные на ИИ системы — Qlib, TradingAgents, TensorTrade — на офлайновых исследованиях машинного обучения. QuantConnect Lean предлагает торговлю через брокера, но не устроен как модульная исследовательская архитектура. FinRL-X, напротив, принимает конструкцию, осознающую развёртывание и центрированную на весах.
| Свойство | FinRL-X | Qlib | TradingAgents | Zipline / Backtrader | QuantConnect Lean |
|---|---|---|---|---|---|
| Основная ориентация | сквозная система | исследования ML | агентная торговля | бэктест | сквозная платформа |
| Интеграция с брокером | да | нет | нет | нет | да |
| Интерфейс, согласованный с развёртыванием | да | нет | нет | нет | частично |
| Поддержка обучения с подкреплением | да | ограниченная | да | нет | частично |
| Модульный конвейер стратегии | да | нет | нет | нет | частично |
| Надстройка риска на уровне портфеля | да | нет | нет | нет | частично |
| Лицензия | Apache 2.0 | MIT | Apache 2.0 | Apache 2.0 | Apache 2.0 |
3. Каркас
3.1. Слой данных
Слой данных предоставляет единый конвейер загрузки и нормализации структурированных (рыночные, фундаментальные, макро) и неструктурированных (новости) входов с основной интеграцией к провайдеру FMP и расширяемой поддержкой прочих. Все источники выравниваются по общему торговому календарю ради согласованной ребалансировки и оценки, а новостной текст преобразуется в структурированные сигналы настроений через предобработку языковой моделью. Воспроизводимость обеспечивается постоянным хранением сырых снимков и обработанных признаков.
3.2. Слой стратегии
Слой стратегии принимает архитектурный принцип, центрированный на весах. В FinRL-X целевой вектор весов портфеля $w_t \in \mathbb{R}^n$ трактуется как единственный интерфейсный контракт между логикой стратегии и модулями оценки или исполнения. Вместо торговых сигналов, приращений позиций или брокероспецифичных заявок каждый компонент стратегии выдаёт вектор целевого распределения, задающий желаемую долю капитала на каждый актив в момент $t$.
Формально, пусть $U_t$ — вселенная торгуемых активов в момент $t$. Слой стратегии определяет последовательность сохраняющих контракт преобразований:
$$w_t = R_t\Big(T_t\big(A_t(S_t(X_{\le t}))\big)\Big)$$
где $S$ — отбор акций, $A$ — распределение портфеля, $T$ — корректировка по таймингу, $R$ — надстройка риска на уровне портфеля.
Такая абстракция даёт три системных преимущества: она отвязывает построение стратегии от деталей реализации брокера; позволяет компоновать преобразования разнородных правиловых и обучаемых модулей; и обеспечивает согласованность развёртывания, поскольку и бэктест, и живое исполнение потребляют одно и то же представление весов.
Алгоритм 1. Торговый конвейер, центрированный на весах
Требуется: потоки данных $D$, $F$, $T$, $R$; моменты ребалансировки $\{t_1, \ldots, t_n\}$.
- Инициализировать стоимость портфеля $P_0$
- для каждого $t$:
- $C_t \leftarrow \operatorname{Select}(F_{\le t},\ U_t)$
- $w_t^{\text{base}} \leftarrow \operatorname{Allocate}(C_t)$
- $w_t^{\text{timing}} \leftarrow \operatorname{TimeAdjust}(w_t^{\text{base}},\ T_{\le t})$
- $w_t \leftarrow \operatorname{RiskOverlay}(w_t^{\text{timing}},\ R_{\le t})$
- Наблюдать реализованные доходности $r_t$
- $P_t \leftarrow P_{t-1}\left(1 + w_t^{\mathsf{T}} r_t\right)$
- вернуть $P_n$
Модульные компоненты. Конвейер состоит из четырёх сохраняющих контракт преобразований. Отбор акций строит набор кандидатов $C_t \subseteq U_t$ по фундаментальным показателям или обучаемым моделям оценки при строгом запрете заглядывания в будущее. Распределение портфеля отображает $C_t$ в допустимые базовые веса (равновзвешенные, среднедисперсионные, минимально-дисперсионные или политики на глубоком RL) при согласованной нормировке и ограничениях на плечо. Корректировка по таймингу преобразует базовые веса, используя трендовые или обучаемые сигналы, не меняя интерфейса. Надстройка риска применяет масштабирование экспозиции с учётом волатильности (например, по индексу VIX) на уровне портфеля, меняя совокупную экспозицию, но сохраняя относительные доли.
3.3. Слой тестирования и исполнения
FinRL-X переиспользует единый интерфейс весов и для офлайнового тестирования (через библиотеку bt), и для живого исполнения через брокера, обеспечивая согласованную портфельную семантику. Исполнитель превращает целевые веса в заявки с настраиваемыми предохранителями и записывает реализованные распределения для последующей сверки.
3.4. Конструкция, осознающая развёртывание
Пусть $S_{\text{research}}$, $S_{\text{paper}}$ и $S_{\text{live}}$ обозначают поведение системы при офлайновой симуляции, бумажной торговле через брокера и живом исполнении. На практике
$$S_{\text{research}} \ne S_{\text{paper}} \ne S_{\text{live}}$$
из-за упрощений исполнения, нестабильности инфраструктуры и операционных ограничений.
FinRL-X сужает эти разрывы архитектурно. Разрыв «бэктест — бумажная торговля» уменьшается за счёт единой семантики исполнения: стратегии выдают брокеронезависимые векторы весов, а симуляция включает транзакционные издержки, модель проскальзывания и событийную обработку заявок, согласованную с API брокера. Загрузка данных следует единой схеме, чтобы обеспечить согласованность исторического воспроизведения и живых лент.
Для смягчения разрыва «бумажная — живая торговля» на уровне исполнения вводятся предохранители: сохранение состояния для восстановления после сбоя, структурированное журналирование для послеторговой сверки и отказоустойчивые механизмы взаимодействия с брокером, обрабатывающие перерывы API и аномалии исполнения. Существенно, что эти механизмы работают независимо от логики стратегии, сохраняя модульность.
4. Оценка
4.1. Постановка эксперимента и метрики
Эксперименты проводятся на ликвидных акциях и биржевых фондах США, с индексами SPY и QQQ в качестве эталонов. Исторический период тестирования — с 7 января 2018 по 24 октября 2025 года при пропорциональных транзакционных издержках 10 базисных пунктов на сторону. Оценка бумажной торговли через брокера (Alpaca) проводится с 26 октября 2025 по 12 марта 2026 года. Все решения в момент $t$ опираются строго на информацию, доступную до $t$, а обучаемые модели оцениваются скользящей вневыборочной валидацией.
Метрики: доходность (накопленная, годовая), риск (волатильность, максимальная просадка), доходность с поправкой на риск (Шарп, Сортино, Кальмар) и пригодность к развёртыванию (оборот портфеля).
4.2. Базовые методы
- Классическое распределение: равновзвешенный портфель как опорный ориентир, а также среднедисперсионная оптимизация и распределение минимальной дисперсии.
- Обучаемое распределение: распределители на глубоком обучении с подкреплением, порождающие непрерывные веса через последовательные решения.
- Стратегии тайминга: следование тренду, включая моментум временных рядов (TSMOM) и адаптивную скользящую среднюю Кауфмана (KAMA).
- Надстройки риска: масштабирование экспозиции по волатильности на основе VIX.
4.3. Результаты портфеля и анализ с исключением компонент
Абляция тайминга (DRL). Вариант с таймингом достигает более высокой накопленной доходности и меньших просадок, показывая, что тайминг можно интегрировать без изменения интерфейсов бэктеста или исполнения.
Рисунок 2 — смотреть в оригинале (PDF)
| Стратегия | Накопл. дох. | Годовая дох. | Годовая вол. | Шарп | Сортино | Кальмар | Макс. просадка | Длит. просадки |
|---|---|---|---|---|---|---|---|---|
| SPY | 2,63 | 0,14 | 0,17 | 0,84 | 0,76 | 0,60 | −0,23 | 23 |
| QQQ | 3,61 | 0,19 | 0,20 | 0,95 | 0,93 | 0,60 | −0,33 | 23 |
| KAMA | 2,40 | 0,12 | 0,21 | 0,57 | 0,60 | 0,43 | −0,29 | 23 |
| Среднедисп. (без тайминга) | 2,19 | 0,11 | 0,22 | 0,53 | 0,56 | 0,37 | −0,31 | 41 |
| Среднедисп. (с таймингом) | 2,59 | 0,14 | 0,19 | 0,74 | 0,76 | 0,52 | −0,27 | 38 |
| Мин. дисперсия (без тайминга) | 2,49 | 0,13 | 0,21 | 0,63 | 0,68 | 0,47 | −0,28 | 25 |
| Мин. дисперсия (с таймингом) | 2,97 | 0,16 | 0,18 | 0,90 | 0,94 | 0,60 | −0,27 | 23 |
| Равновзвеш. (без тайминга) | 2,11 | 0,11 | 0,20 | 0,54 | 0,53 | 0,40 | −0,27 | 27 |
| Равновзвеш. (с таймингом) | 2,64 | 0,14 | 0,16 | 0,87 | 0,85 | 0,62 | −0,23 | 23 |
| DRL (без тайминга) | 2,33 | 0,12 | 0,22 | 0,55 | 0,54 | 0,40 | −0,31 | 18 |
| DRL (с таймингом) | 3,03 | 0,17 | 0,18 | 0,89 | 0,87 | 0,61 | −0,27 | 18 |
Кросс-стратегическая абляция. По конфигурациям среднедисперсионной, минимально-дисперсионной, равновзвешенной и DRL варианты с включённым таймингом стабильно улучшают доходность с поправкой на риск и смягчают просадку относительно базовых аналогов.
4.4. Демонстрация сценариев использования
Рисунок 3 — смотреть в оригинале (PDF)
| Метрика | Скользящий отбор | Адаптивная ротация | QQQ | SPY |
|---|---|---|---|---|
| Накопленная доходность | 5,98 | 4,80 | 4,02 | 2,80 |
| Годовая доходность, % | 25,85 | 22,32 | 19,56 | 14,14 |
| Годовая волатильность, % | 27,85 | 20,30 | 24,20 | 19,61 |
| Коэффициент Шарпа | 0,93 | 1,10 | 0,81 | 0,72 |
| Максимальная просадка, % | −38,95 | −21,46 | −35,12 | −33,72 |
| Коэффициент Кальмара | 0,66 | 1,04 | 0,56 | 0,42 |
| Доля выигрышных периодов, % | 54,36 | 54,77 | 56,25 | 55,28 |
Сценарий 1: парадигмы распределения портфеля. Мы оцениваем разнородные механизмы распределения в рамках единого интерфейса весов: обучаемое распределение DRL, классические методы оптимизации, равновзвешенные базовые линии и сигнальные стратегии тайминга вроде KAMA как самостоятельные пути взвешивания. Обеспечивая идентичную семантику данных и исполнения, FinRL-X позволяет честно сравнивать принципиально разные парадигмы без изменения архитектуры.
Сценарий 2: скользящий отбор акций. Проверяется модуль скользящего отбора, где вселенная обновляется при выходе новых квартальных отчётов. В качестве кандидатов берутся все компоненты индекса NASDAQ 100, из которых отбираются верхние 25% для построения портфеля с распределением на основе DRL.
Сценарий 3: адаптивная многоактивная ротация. Стратегия нацелена на устойчивую избыточную доходность относительно QQQ в разных режимах. Активы группируются в корзины «рост», «реальные активы» и «защитные», причём при еженедельной ребалансировке активны не более двух групп. Выбор группы управляется коэффициентом информации относительно QQQ, а распределение внутри группы — остаточным моментумом с надёжной обработкой исключений. Индикаторы режима используются для управления риском, а не для генерации альфы.
4.5. Бумажная торговля и проверка развёртывания
Рисунок 4 — смотреть в оригинале (PDF)
Чтобы навести мост между офлайновой оценкой и живым развёртыванием, мы исполняем ансамблевую стратегию, сочетающую скользящий отбор и адаптивную ротацию, в среде бумажной торговли Alpaca с октября 2025 по март 2026 года при ежедневной ребалансировке. Хотя горизонт оценки ограничен, результаты демонстрируют стабильное поведение при развёртывании и согласованное исполнение в реальных брокерских условиях. Эксперимент служит проверкой операционной надёжности и согласованности между офлайновыми целевыми весами и исполнением на уровне брокера.
| Метрика | Стратегия | SPY | QQQ |
|---|---|---|---|
| Накопленная доходность | 1,20 | 0,97 | 0,95 |
| Полная доходность, % | 19,76 | −2,51 | −4,79 |
| Годовая доходность, % | 62,16 | −6,60 | −12,32 |
| Годовая волатильность, % | 31,75 | 11,96 | 16,79 |
| Коэффициент Шарпа | 1,96 | −0,55 | −0,73 |
| Максимальная просадка, % | −12,22 | −5,35 | −7,88 |
| Коэффициент Кальмара | 5,09 | −1,23 | −1,56 |
| Доля выигрышных периодов, % | 64,89 | 52,13 | 54,02 |
Помимо метрик доходности мы отслеживаем показатели, ориентированные на развёртывание: долю отклонённых заявок, срабатывания предохранителей исполнения и ошибку слежения между целевыми и реализованными весами портфеля. Эти показатели остаются стабильно низкими на протяжении всего периода, что говорит об устойчивом поведении исполнения и высокой точности соответствия целевых и реализованных портфелей.
Важная оговорка авторов: ввиду ограниченного горизонта эти результаты не предназначены для установления статистически значимой альфы. Эксперимент проверяет сквозной конвейер исполнения — формирование портфеля, связь с брокером, маршрутизацию заявок, мониторинг исполнения и послеторговую сверку — в условиях, близких к живым.
Рисунок 5 — смотреть в оригинале (PDF)
Наблюдаемые сдвиги распределения отражают корректировки с учётом режима, управляемые относительным моментумом и сигналами риска. Существенно, что при переходе от офлайнового бэктеста к исполнению на уровне брокера не потребовалось никаких архитектурных изменений.
Стрессовое событие как проверка модуля риска. Период бумажной торговли включает неблагоприятный эпизод: портфель испытал просадку от пика к минимуму примерно в 12,2% после экстремального движения в инструменте с плечом. Мы трактуем это как значимый для развёртывания стресс-случай, а не как заголовок о результате: он подчёркивает нелинейный риск инструментов с плечом и мотивирует такие предохранители, как масштабирование с учётом волатильности и ограничения экспозиции по конкретным инструментам. Поскольку исполнение управляется единым интерфейсом весов, тот же конвейер послеторгового учёта и атрибуции применяется без изменения логики стратегии.
5. Заключение
FinRL-X — согласованная с развёртыванием модульная торговая система, объединяющая обработку данных, компоновку стратегии, оценку и исполнение через брокера в единой архитектуре. Приняв интерфейс, центрированный на весах, каркас обеспечивает согласованную семантику решений в исследовании, бэктесте и живой торговле, снижая расхождения между офлайновой оценкой и реальным развёртыванием.
Модульная конструкция поддерживает гибкую интеграцию разнородных стратегий, сохраняя воспроизводимость и компонуемость. Эмпирическая оценка, включая бумажную торговлю через брокера, демонстрирует стабильное поведение исполнения в реалистичных условиях. Будущая работа расширит FinRL-X на более широкий круг классов активов и более продвинутые стратегии, учитывающие исполнение.
Литература
- Alpaca, документация API для бумажной торговли (2025).
- A. Ang, Factor investing, Columbia Business School Research Paper (2013).
- Backtrader — библиотека тестирования и торговли на Python (2015).
- Zipline, bt, vectorbt — библиотеки тестирования стратегий.
- Qlib — платформа количественных инвестиций, ориентированная на ИИ.
- TensorTrade, TradingAgents — среды для исследований RL и агентной торговли.
- QuantConnect Lean — платформа с интеграцией брокеров.
- S. Wu и соавторы, BloombergGPT: a large language model for finance.
- H. Yang и соавторы, FinGPT и FinRobot — открытые финансовые языковые модели и агентные системы.
- X.-Y. Liu и соавторы, FinRL — библиотека глубокого обучения с подкреплением для автоматизированной торговли.
- H. Markowitz, Portfolio selection (среднедисперсионная оптимизация).
- Работы по минимально-дисперсионному распределению, моментуму временных рядов (TSMOM) и адаптивной скользящей средней Кауфмана (KAMA).
- Работы по масштабированию экспозиции на основе VIX.
Оригинал статьи: Yang, H., Zhang, B., She, Y., Liao, X., Zhang, X., «FinRL-X: An AI-Native Modular Infrastructure for Quantitative Trading», arXiv:2603.21330 · код: AI4Finance-Foundation/FinRL-Trading