AlphaForge: фреймворк для добычи и динамического комбинирования формульных альфа-факторов

7.5/10

Хао Ши, Вэйли Сун, Синьтин Чжан, Цзяхэ Ши, Цуйцуй Ло, Сян Ао, Хамид Ариан, Луис Секо · Университет Китайской академии наук; Renaissance Era Investment Management; Шанцюский педагогический университет; Институт вычислительных технологий КАН; Йоркский университет, Торонто; Университет Торонто · v5, 12 декабря 2024

Оригинал: Shi, H., Song, W., Zhang, X., Shi, J., Luo, C., Ao, X., Arian, H., Seco, L. «AlphaForge: A Framework to Mine and Dynamically Combine Formulaic Alpha Factors», AAAI 2025 — arxiv.org/abs/2406.18394 (PDF).

Код: github.com/DulyHao/AlphaForge

Рисунки воспроизведены из оригинальной публикации. Оригинал распространяется по стандартной лицензии arXiv (non-exclusive distribution), которая производных произведений не разрешает: все права на оригинальный текст принадлежат авторам, перевод выполнен для личного ознакомления с указанием источника.

Аннотация

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

Для решения этой проблемы предлагается двухэтапный фреймворк генерации формульных альфа-факторов AlphaForge — для добычи факторов и их комбинирования. Фреймворк использует генеративно-предсказательную нейросеть для порождения факторов, опираясь на мощные способности глубокого обучения к исследованию пространства и одновременно сохраняя разнообразие. Комбинационная модель внутри фреймворка учитывает временну́ю динамику результативности факторов при отборе и динамически подстраивает веса каждого компонентного фактора. Эксперименты на реальных данных показывают, что предложенная модель превосходит современные эталоны в добыче формульных альфа-факторов, а также даёт заметный прирост доходности портфеля — как в симуляции, так и при инвестировании реальных денег.

Введение

Центральная задача количественного инвестирования — прогноз тренда акций. Трудность возникает из внутренних свойств данных по акциям: низкого отношения сигнала к шуму и значительного шума. Практики и исследователи обычно применяют стратегию извлечения альфа-факторов из сырых исторических данных для прогноза будущих доходностей. Современные подходы к добыче альфа-факторов делятся на две основные методологии: методы машинного обучения и формульные альфа-методы.

Модели глубокого обучения, такие как LSTM и трансформеры исторических последовательностей (HIST), обычно применяются для порождения более сложных альф, которым часто недостаёт интерпретируемости. Формульная же добыча альф нацелена на поиск простых формул, способных заменить альфа-факторы. Ранние подходы строились на ручном извлечении факторов с экономическим смыслом — таких, как трёхфакторная модель Фамы и Френча. Однако по мере того как эти факторы становились широко известными и используемыми, их предсказательная способность падала. Со временем, преодолевая ограничения традиционных факторов, исследователи обратились к альтернативным методам — например, к генетическому программированию для автоматической генерации более действенных факторов. Работа Какушадзе анализирует 101 формульный альфа-фактор на рынке США: с помощью генетического алгоритма систематически исследуются отдельные некоррелированные факторы через генетические вариации деревьев формул. Текущий метод предполагает использование алгоритмов обучения с подкреплением для одновременного нахождения комбинации альфа-факторов и связанных с ними весов.

В инвестиционной практике управляющие обычно собирают большую партию альфа-факторов в библиотеку. Эти факторы объединяются комбинационной моделью в «мега-альфу» — итоговый сигнал для торговли. С приходом каждой новой порции данных значения факторов пересчитываются, и мега-альфа вычисляется для торговых решений. Из-за важности интерпретируемости на финансовых рынках модели комбинирования обычно имеют линейную структуру. Передовые методы на обучении с подкреплением объединяют комбинационную модель и процесс добычи в единый каркас. Однако, несмотря на обширное исследование пространства факторов, в реальном инвестировании обычно используется лишь фиксированное подмножество. Кроме того, необходимо учитывать цикличность способности каждого альфа-фактора отбирать акции и возможность разворота этой способности со временем. Фиксированные факторы и веса подчас делают части мега-альфы неэффективными или даже обращают их действие вспять.

Чтобы повысить коэффициент использования альфа-факторов и учесть их колебания, мы предлагаем двухэтапный фреймворк добычи и комбинирования. Он состоит из генеративно-предсказательной нейросети для добычи факторов и составной модели, динамически отбирающей и комбинирующей факторы по их текущей результативности.

Модель добычи использует суррогатную модель для выучивания распределения оценок альфа-факторов. Генеративная модель обучается максимизировать выход суррогатной, что способствует порождению высокооценённых факторов. Градиентные методы обеспечивают порождение желаемых факторов даже в крайне разреженном пространстве оценок, позволяя корректировать функцию оценки с учётом ранее добытых факторов ради низкой корреляции.

Составная модель выковывает динамическую мега-альфу из порождённых факторов. С каждым новым торговым днём она переоценивает результативность факторов, отбирает те, что несут информацию для торговли следующего дня, и вычисляет оптимальные веса комбинации. Такой метод учитывает изменения в утрате факторами силы и максимизирует использование добытых факторов в пределах их действенности, достигая эффективности по принципу «добывай столько, сколько используешь».

Основные вклады работы:

  1. Введена генеративно-предсказательная модель добычи факторов, использующая мощные способности глубокого обучения к исследованию пространства для эффективной добычи альф даже при разреженной и сложной целевой функции. При этом целевая функция в процессе добычи может изменяться.
  2. Предложена динамическая модель комбинирования альфа-факторов для порождения мега-альфы. Подход улучшает традиционное использование мега-альфы с фиксированными весами, допуская динамический учёт меняющихся во времени эффектов новых рыночных данных через веса реального времени.
  3. Проведён комплексный набор экспериментов, подтверждающий действенность методологии. Дополнительные эксперименты и реальное инвестирование дали свидетельства того, что тайминг факторов может приносить прибыль.

Предварительные сведения

Определение альфа-фактора

На рынке с $n$ акциями за $T$ торговых дней, где $t \in \{1, 2, \ldots, T\}$, каждой акции в каждый торговый день сопоставлен вектор признаков $x_{ti} \in \mathbb{R}^{m\tau}$. Набор данных $X = \{X_t\}$ включает $m$ исходных признаков и данные скользящего окна за прошлые $\tau$ дней. Кроме того, для каждой акции в данный день существует соответствующая будущая доходность $y_{ti} \in \mathbb{R}$, образующая матрицу доходностей $Y = \{y_t\}$. В работе используются шесть исходных признаков: цены открытия, максимума, закрытия, минимума, объём и средневзвешенная по объёму цена (VWAP).

Альфа-фактор $f$ определяется как функция, отображающая исходную матрицу признаков $X_t \in \mathbb{R}^{n \times m\tau}$ для $n$ акций в конкретный день в вектор значений фактора $v_t = f(X) \in \mathbb{R}^n$.

Метрики альфа-факторов

Метрики оценки включают IC, ICIR, ранговый IC и ранговый ICIR. Величина IC фактора $f$ есть среднее по времени значение коэффициента корреляции Пирсона между значением фактора $v_t$ в момент $t$ и прогнозируемой доходностью $y_t$:

$$\operatorname{IC}(f, X, Y) = \mathbb{E}_t\left[\rho(v_t, y_t)\right] = \frac{1}{T}\sum_{t=1}^{T}\rho(v_t, y_t) \tag{1}$$

Корреляция $\rho(v_t, y_t)$ для каждого поперечного среза описывает связь между значением фактора и доходностью следующего периода. IC характеризует общую способность фактора отбирать акции: чем выше значение, тем лучше отбор. Кроме того, из-за неустойчивости корреляции Пирсона необходимо дополнять измерения ранговым IC.

Формульная альфа

Формализация альфа-фактора представляется математическим выражением. Формульный оператор $f$ отображает сырую матрицу признаков $X_t \in \mathbb{R}^{n \times m\tau}$ для $n$ акций в данный день в вектор значений $v_t = f(X) \in \mathbb{R}^n$ через математическое выражение. Доступные данные включают $m$ базовых признаков за каждый из предшествующих $\tau$ дней.

Выражение состоит из операторов и операндов. Операнды — это $m$ базовых признаков и опциональные константы. Операторы включают унарные (abs, log), бинарные ($+$, $-$, $\times$, $/$) и операторы, учитывающие временны́е ряды, — например, Sum($volume, 5d), означающий суммирование объёма за прошлые 5 дней.

Традиционно формулы представляются деревьями выражений, где операнды — листья, а операторы — внутренние узлы. Первые попытки генерации формул использовали генетическое программирование на таких деревьях. В согласии с современными методами глубокого обучения мы представляем формулы обратной польской записью, получаемой обходом дерева формулы в постпорядке. Это позволяет представлять формулы в виде матрицы прямого кодирования, совместимой с нейросетями.

Методология

Наш фреймворк состоит из двух неотъемлемых компонент: (1) сети добычи альфа-факторов генеративно-предсказательной структуры, где предиктор служит суррогатной моделью, выучивающей распределение приспособленности факторов (то есть целевую функцию), а генератор обучается максимизировать предсказанные значения предиктора, порождая факторы с высокой приспособленностью; (2) модели тайминга факторов, учитывающей их временны́е свойства. Эта модель назначает факторам веса, стремясь максимизировать IC мега-альфы, образуемой комбинацией весов на каждом поперечном срезе.

Рисунок 1
Рисунок 1. Иллюстрация общего фреймворка. (A) Модель генерации альфа-факторов, порождающая «зоопарк факторов». (B) Процесс сборки мега-альфы в день $t$, выполняемый итеративно для каждого торгового дня.

Модель добычи факторов

Алгоритм 1. Конвейер добычи факторов

Вход: данные по акциям $X = \{X_t\}$ и цель $Y = \{y_t\}$. Выход: группа взаимно слабо коррелированных сильных факторов — «зоопарк факторов» $Z = \{f_1, \ldots, f_k\}$.

  1. Инициализировать зоопарк $Z = \varnothing$
  2. Сэмплировать группу случайных матриц факторов $R = \{x_1, \ldots, x_r\}$
  3. пока $|Z| <$ целевого числа факторов:
    • $R_{\text{fitness}} = \{\pi(x_1, Z, X, Y), \ldots, \pi(x_r, Z, X, Y)\}$
    • обучить сеть $P$ на $R$ и $R_{\text{fitness}}$
    • для каждой эпохи:
      • $z_1, z_2 \sim \mathcal{N}(0,1)^Q$; $x_1 = M(G(z_1))$, $x_2 = M(G(z_2))$
      • $L(\theta_G) = L_G(z_1, z_2, x_1, x_2, \theta_P)$; шаг градиентного спуска по $\theta_G$
      • $Z_{\text{new}} = \operatorname{parse}(x_1) \cup \operatorname{parse}(x_2)$
      • для каждого $f_{\text{new}}$ из $Z_{\text{new}}$: если фактор проходит критерии и ещё не в $Z$, добавить его в $Z$
      • $R \leftarrow R \cup \{x_1, x_2\}$
  4. вернуть $Z$

Модель добычи включает генератор $G$ и дифференцируемый предиктор $P$. Сеть $P(x)$ моделирует оценку приспособленности и обучается прежде сети $G$; здесь $x \in \{0,1\}^{D \times S}$ — матрица прямого кодирования альфа-фактора, $S$ — максимальная длина формулы, $D$ — число всех доступных операторов и признаков. Обучающие данные берутся из оценки всех существующих факторов в библиотеке $R$. Функция потерь — среднеквадратичная ошибка между выходом $P$ и фактической приспособленностью:

$$L_P = \sqrt{\frac{1}{n}\sum_{i=1}^{n}\left(P(x_i) - \operatorname{fitness}(x_i)\right)^2} \tag{2}$$

Сеть-генератор $G(z)$ принимает $Q$-мерный нормальный шум $z \in \mathbb{R}^Q$. Выход $G(z)$ — матрица логитов размера $D \times S$, преобразуемая в матрицу прямого кодирования $x = M(G(z)) \in \{0,1\}^{D \times S}$. Преобразование включает применение оператора $M(\cdot)$ для маски правил последовательности и Gumbel-softmax. Важно, что процесс $M(\cdot)$ сохраняет дифференцируемость, позволяя градиентам распространяться.

После обучения $P$ служит сетью оценки приспособленности формулы. Затем параметры $P$ замораживаются, и цель обучения смещается к максимизации выхода $P$:

$$L_{\text{Fitness}} = -P\left(M(G(z))\right) \tag{3}$$

Однако оптимизация только по высокой приспособленности может привести к преждевременной сходимости $G$ к локальному оптимуму. Поэтому необходимо ввести потерю разнообразия, вынуждающую генератор порождать разнообразный набор формул. Для этого мы генерируем два набора факторов по двум выборкам $z_1$ и $z_2$ и штрафуем корреляцию между этими наборами. Итоговая функция потерь генератора:

$$L_G = L_{\text{Fitness}} + L_{\text{Diversity}} = -P(x_1) + \lambda_{\text{onehot}}\cdot\operatorname{Sim}_{\text{onehot}}\left(f(z_1), f(z_2)\right) + \lambda_{\text{hidden}}\cdot\operatorname{Sim}_{\text{hidden}}\left(f(z_1), f(z_2)\right) \tag{4}$$

Наш фреймворк нацелен на выявление набора высокоэффективных сильных факторов на этапе добычи. Поддерживается строгий критерий включения в библиотеку. С учётом предметных знаний критерии включают три основных аспекта: IC и ICIR фильтруют способность к отбору акций и её стабильность, а корреляция доходностей с уже имеющимися факторами предотвращает дублирование их способности. Благодаря генеративно-предсказательной архитектуре в сочетании с градиентными алгоритмами генератор способен улавливать существенные характеристики факторов «направленно» даже при значительной разреженности функции приспособленности:

$$\pi(x, Z, X, Y) = \begin{cases} \left|\operatorname{IC}(f, X, Y)\right| & \text{если } f \text{ корректен и } \psi(f, Z, X, Y) < \text{CORR}' \\ 0 & \text{иначе} \end{cases} \tag{5}$$

где $f = \operatorname{parse}(x)$ — формула, разобранная из представления $x$, а $Z$ — существующий зоопарк факторов. Абсолютное значение IC берётся потому, что фактор с отрицательным IC превращается в фактор с положительным IC обращением знака. Функция $\psi$ вычисляет максимальное по модулю значение корреляции между $f$ и каждым существующим фактором в $Z$; $\text{CORR}'$ — задаваемый вручную параметр. При $|Z| = 0$ функция возвращает абсолютное значение IC фактора.

Комбинирование альф

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

Учитывая возможную периодическую или постоянную утрату действенности отдельными факторами — из-за перегруженности стратегии, смены рыночного стиля и прочего, — использование фиксированных весов оказывается недостаточным для своевременной подстройки. Это может приводить к переобучению на обучающей выборке. Метрики факторов суть показатели результативности за определённый период; с приходом новых данных они меняются. Благодаря эффекту моментума в результативности факторов те, что были успешны в прошлом, склонны показывать положительный результат и в будущем.

Алгоритм 2. Конвейер комбинирования факторов

Вход: зоопарк факторов $Z = \{f_1, \ldots, f_k\}$, максимальное число факторов $N$, данные $X$, $Y$. Выход: прогноз $\hat{Y}$.

  1. для $t$ от 1 до $T$:
    • $Z_t = \varnothing$
    • для каждого $f \in Z$: вычислить $\operatorname{IC}_t(f)$ и $\operatorname{ICIR}_t(f)$; если оба превышают пороги $\operatorname{IC}'$ и $\operatorname{ICIR}'$, добавить $f$ в $Z_t$
    • отсортировать $Z_t$ по $\operatorname{IC}_t(f)$ и выбрать первые $N$ факторов
    • обучить линейную регрессию на выбранных факторах и $y_t$
    • получить прогноз $\hat{y}_t$ и добавить его в $\hat{Y}$
  2. вернуть $\hat{Y}$

В каждый момент $t$, опираясь на данные предшествующих $n$ дней, мы переоцениваем факторы зоопарка $Z$. Факторы переранжируются и отбираются по свежим метрикам результативности — ICIR, IC, ранговый IC и другим. Затем по последним данным подгоняется наилучшая линейная модель для предсказания текущей комбинации из $N$ факторов, и эта модель применяется к текущей точке данных.

Разработанный алгоритм комбинирования способен оперативно подстраивать состав и веса итоговой мега-альфы в соответствии с результативностью факторов. Такая интуитивная адаптивность повышает эффективность отклика на рыночные изменения, одновременно сохраняя требование объяснимости.

Общая схема

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

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

Эксперименты

Эксперименты отвечают на следующие вопросы:

Данные и постановка

Выбраны наборы CSI300 и CSI500, поскольку акции этих индексов покрывают большую часть капитализации китайского рынка A-акций. Рыночные стили разнообразны и постоянно меняются, что потенциально ведёт к переобучению при разбиении на обучающую, валидационную и тестовую выборки. В реальной практике переобучение часто даёт неблагоприятные исходы; кроме того, необходимо периодически перекалибровать модели по мере поступления новых данных.

Чтобы смягчить переобучение и точнее воспроизвести реальный инвестиционный процесс, тестирование проводилось с 2018 по 2022 год с ежегодным переобучением на обновлённых данных, причём год, предшествующий тестовому, служил валидационной выборкой, — всего пять сессий обучения. Первые обучающая, валидационная и тестовая выборки — соответственно 01.01.2010–31.12.2016, 2017 год и 2018 год. В качестве целевой переменной используется Ref(VWAP,-21)/Ref(VWAP,-1) - 1, поскольку это ближе к реальным условиям.

Сравниваемые методы. Для оценки отличия нашего фреймворка от традиционных формульных методов взяты три подхода: генетическое программирование (GP) с IC в качестве цели оптимизации; метод глубокой символьной оптимизации (DSO) как представитель символьной регрессии; и обучение с подкреплением (RL), где целью оптимизации служит IC мега-альфы, составленной из порождённых факторов. Во избежание влияния случайных зерён каждая модель запускалась 5 раз. Дополнительно включены три модели машинного обучения: XGBoost, LightGBM и многослойный перцептрон.

Основные результаты

По вопросу В1. Наш метод демонстрирует превосходство по различным метрикам, включая показатели способности отбирать акции — IC и ранговый IC. Метод превосходит все сравниваемые как на CSI300, так и на CSI500.

Таблица 1. Сравнение методов на CSI300 и CSI500 (в скобках — стандартное отклонение). «Static» — использование нашей модели добычи с комбинированием по схеме RL; «Ours» — полная версия с динамическим комбинированием.
МетодCSI 300, IC (%)CSI 300, RankIC (%)CSI 500, IC (%)CSI 500, RankIC (%)
XGBoost0,411,630,332,87
MLP1,22 (0,16)1,75 (0,28)1,94 (0,11)3,31 (0,23)
LightGBM0,841,851,753,81
GP1,29 (0,44)2,72 (0,58)0,37 (0,76)2,34 (1,07)
DSO2,55 (0,69)3,88 (1,12)1,38 (0,57)4,56 (0,61)
RL2,09 (0,26)2,72 (0,42)1,91 (0,49)4,03 (0,62)
Static2,43 (0,57)3,67 (0,46)2,05 (0,29)4,48 (0,46)
Ours4,40 (0,56)5,89 (0,69)2,84 (0,58)5,57 (0,58)

Влияние размера пула

Рисунок 2
Рисунок 2. Значение IC на CSI300 при разных размерах пула факторов.

По вопросу В2. Размер пула варьировался как 1, 10, 20, 50 и 100. Поскольку модель динамически определяет веса, состав мега-альфы меняется во времени при общем числе факторов не выше размера пула. Результаты обнаруживают немонотонную связь между результативностью и размером пула: наивысший результат достигается при размере 10. Мы объясняем это динамическим отбором факторов: не все факторы действенны постоянно, и в любой момент примерно десяток факторов улавливает наиболее релевантную ценовую информацию. Дальнейшее увеличение библиотеки, таким образом, даёт убывающую отдачу.

Исследование с исключением компонент

По вопросу В3. «Static» означает использование нашей модели добычи для порождения альф с последующей сборкой мега-альфы тем же способом, что и в RL; «Dynamic» — полная версия модели. Результаты показывают, что наш предсказательно-генеративный метод добычи превосходит прежний передовой алгоритм, а превосходство «Dynamic» над «Static» подтверждает действенность динамического комбинирования.

Разбор случая

Для иллюстрации способности фреймворка к динамическому таймингу факторов извлечён пример работы составной модели. Генеративная модель произвела зоопарк из 100 альфа-факторов при лимите пула комбинационной модели в 10.

Таблица 2. Факторы, использованные в день 1.
ВыражениеВес
1S_log1p(ts_cov(high, volume, 20))−0,00092
2S_log1p(ts_min(ts_corr(high, volume, 5), 10))−0,00180
3S_log1p((−10.0 − ts_corr((close+0.01), (0.5+volume), 30)))−0,00014
4S_log1p(ts_min(ts_cov(high, volume, 5), 1))−0,00178
5S_log1p(ts_min(ts_corr(close, volume, 10), 1))−0,00029
10(Inv((Inv(S_log1p(ts_mad((S_log1p(ts_corr(high,volume,10)) * Inv((S_log1p(volume) − 30.0))), 20))) / 30.0)) + 2.0)0,00171
32Inv((((ts_cov(vwap, (((−30.0 − S_log1p((volume/−2.0))) + −10.0) * 10.0), 30) + 5.0) / 5.0) − 30.0))0,00174
36ts_cov(close, volume, 10)−0,00031
45ts_std((Inv((−2.0 − ts_mad(S_log1p(volume), 50))) * 2.0), 40)−0,00145
54(S_log1p(((−30.0 + (S_log1p(ts_std(S_log1p((volume*−10.0)), 40)) / −0.01)) * 2.0)) − −30.0)0,00132
Таблица 3. Факторы, использованные в день 2.
ВыражениеВес
2S_log1p(ts_min(ts_corr(high, volume, 5), 10))−0,00239
3S_log1p((−10.0 − ts_corr((close+0.01), (0.5+volume), 30)))0,00168
6(((30.0 − ts_mad(Ref(ts_delta(ts_corr(volume, vwap, 10), 1), 10), 50)) − −10.0) + −1.0)−0,00200
36ts_cov(close, volume, 10)−0,00143
45ts_std((Inv((−2.0 − ts_mad(S_log1p(volume), 50))) * 2.0), 40)−0,00040
46((((10.0 − ts_min(((ts_corr(volume, (close/−0.01), 40) ** 10.0) * −5.0), 20)) − −10.0) * 10.0) − 5.0)−0,00020
54(S_log1p(((−30.0 + (S_log1p(ts_std(S_log1p((volume*−10.0)), 40)) / −0.01)) * 2.0)) − −30.0)0,00167
62Inv(((((ts_mad((30.0 * (S_log1p(ts_var(S_log1p(volume), 50)) * 5.0)), 20) + 2.0) − −0.01) + −1.0) − −0.01))−0,00018
63(Inv(Inv((S_log1p(ts_std((30.0 * (S_log1p(ts_std(S_log1p(volume), 50)) * −0.01)), 20)) − 0.5))) − 10.0)−0,00148
99(((Inv(((30.0 * (S_log1p(ts_std(S_log1p(volume), 50)) * 5.0)) − 0.01)) − 0.5) + 30.0) − 5.0)0,00127

Видно, что из 10 факторов, отобранных в первый торговый день, во второй используются лишь 5. Примечательно, что фактор 3 имел вес −0,00014 в первый день, тогда как во второй его вес сменился на 0,00168. Это показывает, что один и тот же фактор вносил различный вклад в мега-альфу в разные даты, — то есть во фреймворке происходит именно тайминг альфа-факторов.

Интерпретируемость альфа-факторов

Возьмём фактор 1 из таблицы 2. Его можно истолковать как вопрос о том, совпадают ли тренды максимальной цены и объёма за последние 20 дней. Отрицательный вес этого фактора отражает следующую инвестиционную логику: когда цены растут, но привлекают мало внимания, стоит подумать о покупке; когда цены падают и толпа панически распродаёт, это тоже может быть возможностью купить.

Другой пример — фактор -1*ts_mean(volume,20), представляющий противоположность среднего объёма торгов за 20 дней. Этот фактор сильно коррелирует с рыночной капитализацией акции. Если его вес в модели слишком велик, портфель начинает крениться в сторону акций малой капитализации, что ведёт к опасной подверженности риску. Обычно грамотный управляющий стремится снизить вес такого фактора или иными способами избежать избыточной экспозиции к малой капитализации.

Симулированная торговля и инвестирование реальных денег

По вопросу В4. Для оценки практической действенности проведена симулированная торговля по результатам предсказаний. Период симуляции — с 1 января 2018 по 31 декабря 2022 года на пуле акций CSI300 с использованием фреймворка Qlib. Стратегия состояла в ежедневном равновзвешенном удержании 50 акций с наивысшими значениями мега-альфы. Дополнительно наложен дневной лимит замены не более 5 акций во избежание избыточных торговых издержек.

Рисунок 3
Рисунок 3. Результаты реальной (вверху) и симулированной (внизу) торговли.

Верхняя часть показывает результаты фактической торговли: использовался реальный счёт с вложением 3 млн юаней в CSI500. К настоящему моменту, примерно за 9 месяцев инвестирования, получена избыточная доходность на 21,68% выше CSI500. Нижняя часть иллюстрирует накопленные доходности разных алгоритмов: наш фреймворк достигает наилучшей стоимости счёта в пятилетней симуляции и оказывается сильнейшим среди всех сравниваемых моделей.

Связанные работы

Формульные альфа-факторы. Пространство поиска формулировок альфа-факторов огромно. Генетическое программирование исторически применялось для порождения факторов через мутации деревьев. Ранние достижения, в частности в пакете GPLearn, ввели операторы временны́х рядов, заложив первый генетический метод добычи альф. Позднее в качестве цели добычи использовалась взаимная информация — для обнаружения факторов на основе нелинейных связей. Применялась и фильтрация чрезмерно похожих альф по IC между ними ради повышения разнообразия. AlphaEvolve был нацелен на улучшение уже существующих факторов. Ныне подход на обучении с подкреплением предлагает синергетическую добычу альф, выходящую за рамки генетического программирования. Однако существующие методы часто не учитывают меняющиеся во времени эффекты факторов, обычно принимая фиксированные веса комбинации и неизменную целевую функцию при добыче.

Альфа-факторы на основе машинного обучения. Методы предсказания доходностей акций глубоким обучением также процветают. Ранние подходы не учитывали взаимодействия между акциями, используя лишь исторические ряды каждой бумаги: многослойный перцептрон, трансформер, LSTM, а также древесные методы LightGBM и XGBoost. Последующие разработки привели к моделям, специально спроектированным под эту задачу, — таким как HIST.

Литература

Оригинал статьи: Shi, H. и соавторы, «AlphaForge: A Framework to Mine and Dynamically Combine Formulaic Alpha Factors», arXiv:2406.18394 · код: DulyHao/AlphaForge