Глубокое обучение с подкреплением для торговли с предсказуемыми доходностями

8/10

Alessio Brini, Daniele Tantari

Duke University, Durham, NC, USA · University of Bologna, Bologna, Italy · 17 мая 2023 (v3)

Оригинал: Brini, A. and Tantari, D. «Deep Reinforcement Trading with Predictable Returns», v3 — arxiv.org/abs/2104.14683 (PDF).

Рис. 1–12 воспроизведены из оригинальной публикации. Детали алгоритмов, гиперпараметры и доказательства устойчивости — в приложении PDF.

Ключевые слова: machine learning, reinforcement learning, financial trading, portfolio optimization.

Классификация arXiv: q-fin.PM

Аннотация

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

Чтобы разделить эффекты, связанные с непредсказуемостью доходностей, от эффектов, связанных с необучаемостью алгоритма, мы исследуем производительность model-free DRL-трейдеров в рыночной среде с различными известными факторами возврата к среднему, определяющими динамику. Когда фреймворк допускает точное решение методом динамического программирования, мы можем оценить пределы и возможности различных value-based алгоритмов в извлечении осмысленных торговых сигналов data-driven способом.

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

1. Введение

Важной вехой современной портфельной теории Markowitz (1952) стало начало финансовой оптимизации портфеля как активной области исследований. Исходная формулировка имеет ряд недостатков (Kolm et al. 2014) и была расширена от однопериодной к многопериодной, чтобы учесть межвременные эффекты и допустить динамическую ребалансировку портфеля (Grinold 2006; Engle and Ferstenberg 2007; Tutuncu 2011; Kolm and Maclin 2012; Kolm and Ritter 2014). Однако добавление временного измерения ещё больше усложняет оценку оптимальной стратегии, поскольку требует прогнозирования финансовых величин — рисков и доходностей — на несколько периодов вперёд.

Однопериодные модели по-прежнему часто применяются, потому что их динамические аналоги непрактичны, а этап прогнозирования может приводить к систематическим ошибкам из-за неопределённости выбранной модели или из-за присущего финансовым данным низкого отношения сигнал/шум. Даже когда многопериодная модель эффективно захватывает market impact или alpha decay, классические методы оптимального управления опираются на набор ограничивающих предположений, которые не могут адекватно представлять реальный финансовый мир.

В этой работе мы используем обучение с подкреплением (RL) (Sutton and Barto 2018; Szepesvári 2010) как удобный фреймворк для моделирования последовательных задач принятия решений финансовой природы без необходимости напрямую моделировать динамику базовых активов. RL восходит к теории оптимального управления и литературе по динамическому программированию (Bertsekas 2005) и пережило огромное возрождение благодаря прогрессу глубокого обучения (DL) за последнее десятилетие. Так возникло глубокое RL (DRL), уже давшее значимые результаты в играх (Silver et al. 2016; Mnih et al. 2015) и робототехнике (Levine et al. 2016). Обзор методов DRL и областей их применения — в Arulkumaran et al. (2017).

Подход RL не нов для финансовой сферы: есть примеры практического применения в торговле и управлении портфелем (Zhang et al. 2020; Jiang et al. 2017). Однако современные DRL-алгоритмы часто представляют собой «домашние рецепты» без теоретического контроля. Поэтому изучение их производительности на реальных финансовых торговых задачах всегда представляет собой запутанную комбинацию разных эффектов: часть связана с качеством датасета и сигналов для прогноза доходностей, часть — с конкретным алгоритмом и проблемами его обучаемости.

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

Аналогично Kolm and Ritter (2019) и Chaouki et al. (2020), мы симулируем доходности финансовых активов, содержащие предсказуемые факторы, и позволяем агенту торговать в среде, чья связанная задача оптимизации допускает точное решение (Gârleanu and Pedersen 2013). Оптимальная бенчмарк-стратегия позволяет оценить сильные и слабые стороны DRL-подхода — как с точки зрения точности, так и эффективности.

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

Мы показываем, что model-free DRL-алгоритмы могут достигать производительности бенчмарк-стратегии, когда она оптимальна, а также превосходить её при misspecification модели — например, при экстремальных событиях и кластеризации волатильности. Это открывает возможность использовать DRL не только напрямую на реальных данных, но и как инструмент поиска оптимальных стратегий для богатых и реалистичных (отступающих от гипотезы эффективного рынка) генеративных моделей финансовых рынков, где время и нехватка данных не проблема.

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

2. Финансовая рыночная среда

Агент действует на финансовом рынке, где в каждый момент времени $t \in \mathbb{Z}$ он может торговать $N$ ценными бумагами, чьи избыточные доходности $y_{t+1} = p_{t+1} - (1 + r_f)p_t$ задаются как

\[ y_{t+1} = B f_{t+1} + u_{t+1}, \]

где $f_t$ — вектор размерности $K \times 1$ факторов, предсказывающих доходность, $B$ — матрица factor loadings, $u_{t+1}$ — шумовой член с $\mathbb{E}[u_{t+1}] = 0$ и $\mathrm{Var}[u_{t+1}] = \Sigma$.

Факторы могут быть value-факторами, описывающими доходность актива относительно фундаментальной меры, или momentum-факторами, опирающимися на прошлые движения цены для прогноза будущего (Moskowitz et al. 2012). Мы предполагаем, что они эволюционируют согласно дискретизации mean-reverting процесса (Uhlenbeck and Ornstein 1930):

\[ \Delta f_{t+1} = -\Phi f_t + \epsilon_{t+1}, \]

где $\Phi$ — матрица $K \times K$ коэффициентов возврата к среднему, $\epsilon_{t+1}$ — стохастический шок с $\mathbb{E}[\epsilon_{t+1}] = 0$ и $\mathrm{Var}[\epsilon_{t+1}] = \Omega$.

Торговля в этой среде порождает транзакционные издержки, которые мы предполагаем квадратичной функцией торгуемого объёма $\Delta h_t = h_t - h_{t-1}$:

\[ C(\Delta h_t) = \frac{1}{2}\,\Delta h_t^\top \Lambda \Delta h_t, \]

где $\Lambda$ — симметричная положительно определённая матрица, обеспечивающая выпуклость транзакционных издержек, как обычно требует эмпирическая литература (Lillo et al. 2003; Gârleanu et al. 2008), и согласована с предположением линейного price impact. Далее мы также предполагаем $\Lambda = \lambda \Sigma$, то есть торговые издержки — компенсация риска дилера, принимающего противоположную сторону сделки. В этом контексте $\lambda$ интерпретируется как неприятие риска дилера и контролирует степень ликвидности актива.

Цель агента — найти динамическую портфельную стратегию $(h_0, h_1, \ldots)$, максимизируя приведённую стоимость всех будущих доходностей с штрафом за риск и за вычетом транзакционных издержек:

\[ \max_{(h_0,h_1,\ldots)} \mathbb{E}_0 \sum_t \rho^{t+1}\left(h_t^\top y_{t+1} - \frac{\gamma}{2}\,\rho^t h_t^\top \Sigma h_t\right) - \frac{1}{2}\,\Delta h_t^\top \Lambda \Delta h_t, \]

где $\rho \in (0,1)$ — discount rate, $\gamma$ — коэффициент неприятия риска.

Когда шумовые члены $u_t$ и $\epsilon_t$ предполагаются гауссовскими, модель совпадает с Gârleanu and Pedersen (2013), имеющей closed-form решение:

\[ h_t = \left(1 - \frac{a}{\lambda}\right) h_{t-1} + \frac{a}{\lambda}\, h_t^{\mathrm{aim}}, \]

то есть оптимальная стратегия — выпуклая комбинация удержания предыдущего портфеля и торговли в направлении целевого портфеля $h_t^{\mathrm{aim}}$ с trading rate $a/\lambda$. Напомним, что $\lambda$ — скалярный параметр, контролирующий величину матрицы транзакционных издержек $\Lambda = \lambda \Sigma$. Trading rate $a/\lambda < 1$, где

\[ a = \frac{-\left(\gamma(1-r_f) + \lambda r_f\right) + \sqrt{\left(\gamma(1-r_f) + \lambda r_f\right)^2 + 4\gamma\lambda(1-r_f)^2}}{2(1-r_f)} \]

— убывающая функция транзакционных издержек через $\lambda$ и возрастающая функция неприятия риска $\gamma$. Целевой портфель $h_t^{\mathrm{aim}}$ определяется как

\[ h_t^{\mathrm{aim}} = (\gamma \Sigma)^{-1} B\left(I + \frac{a}{\gamma}\,\Phi\right)^{-1} f_t, \]

где $B$ и $\Phi$ заданы в уравнениях (1) и (2). Это обобщение известного портфеля Markowitz (1952):

\[ h_t^M = (\gamma \Sigma)^{-1} B f_t, \]

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

Если матрица коэффициентов возврата к среднему $\Phi$ диагональна, целевой портфель принимает вид

\[ h_t^{\mathrm{aim}} = (\gamma \Sigma)^{-1} B\left(\frac{f_t^1}{1 + \Phi_1 \gamma/a}, \ldots, \frac{f_t^K}{1 + \Phi_K \gamma/a}\right)^\top, \]

где $K$ факторов масштабируются вниз скоростью их mean-reversion $\Phi$. Фактор $i$ с более медленной скоростью возврата к среднему масштабируется меньше, чем более быстрый фактор $j$, а относительный вес $f^i$ по сравнению с $f^j$, $\frac{1+\Phi_j \gamma/a}{1+\Phi_i \gamma/a}$, возрастает с транзакционными издержками $\lambda$. Издержки приводят инвестора к замедлению ребалансировки портфеля, а более быстрые факторы требуют закрытия позиции в более коротком горизонте.

Далее мы используем оптимальную стратегию (5) гауссовской модели как бенчмарк для производительности DRL при решении задачи (4), но также рассматриваем другие спецификации модели, для которых явное оптимальное решение недоступно. В частности, мы вводим fat-tailed шоки и гетероскедастическую волатильность как интересные misspecification, отражающие общие свойства эмпирических доходностей активов (Cont 2001).

Более рискованная среда с множеством экстремальных событий строится предположением, что шум активов отклоняется от гауссовского распределения: в частности, $u_t$ и $\epsilon_t$ распределены как Student's T с $\nu$ степенями свободы. Гетероскедастичность вводится через generalized autoregressive conditional heteroskedastic (GARCH) процесс (Bollerslev 1987) для дисперсии доходностей активов, моделирующий кластеризацию волатильности. Для одного актива это означает $u_t = \sigma_t z_t$, где

\[ \sigma_t^2 = \omega + \sum_{j=1}^{p} \alpha_j |u_{t-j}|^2 + \sum_{k=1}^{q} \beta_k \sigma_{t-k}^2, \]

и $z_t$ — шум, который может быть стандартным гауссовским или Student's T с $\nu$ степенями свободы.

3. Методы глубокого обучения с подкреплением

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

Задача RL формулируется в контексте марковского процесса принятия решений (MDP), задаваемого множеством состояний $S_t \in \mathcal{S}$, множеством действий $A_t \in \mathcal{A}$ и вероятностью перехода $P_{ss'}^a = \Pr[S_{t+1} = s' \mid S_t = s, A_t = a]$. Это (стохастическая) задача управления: найти

\[ \max_{\{\pi\}} \mathbb{E}\left[\sum_{t=0}^{\infty} \rho^t R_{t+1}(S_t, A_t, S_{t+1})\right], \]

где $\pi$ определяет стратегию агента, сопоставляющую вероятность $\pi(a \mid s)$ действию $A_t = a$ при состоянии $S_t = s$. RL-агент стремится максимизировать ожидаемую сумму (дисконтированных) наград, находя лучшее действие при текущем состоянии. Мы рассматриваем model-free контекст, в котором агент не знает внутренней динамики среды — вероятность перехода неизвестна, и единственный источник информации — последовательность состояний, действий и наград.

Value-based методы вводят функцию action-value $Q^\pi(s,a) \equiv \mathbb{E}\left[\sum_{k=0}^{\infty} \rho^k R_{t+1+k} \mid S_t = s, A_t = a, \pi\right]$, отражающую долгосрочную награду, связанную с действием $a$ в состоянии $s$, если далее следуется стратегия $\pi$. Оценка (12) позволяет вывести детерминированную оптимальную политику как действие с наивысшей ценностью в каждом состоянии. В зависимости от того, как агент оценивает action-value функцию (12), вводятся разные классы value-based алгоритмов. Напротив, direct policy search — альтернативные методы, напрямую исследующие пространство политик (или его подмножество) как частный случай стохастической оптимизации.

3.1 Табличное обучение с подкреплением

Табличные RL-методы практичны, когда возможных состояний и действий достаточно мало для представления в таблице с записью для каждой пары $(s,a)$. Тогда агент может исследовать множество state-action пар за разумное вычислительное время и получить хорошую аппроксимацию value function.

Q-learning (Watkins and Dayan 1992b) — табличный метод, в котором на каждом шаге агент пробует действие $A_t$, получает награду $R_{t+1}$ и обновляет текущую оценку action-value функции $Q(S_t, A_t)$ как

\[ Q(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha\left(T_t^Q - Q(S_t, A_t)\right), \]

где $\alpha$ — learning rate, а target

\[ T_t^Q = R_{t+1} + \rho \max_a Q(S_{t+1}, a) \]

— разложение value function на текущую награду и текущую оценку будущей ценности, дисконтированную на $\rho$. В конце обучения оптимальная политика — greedy стратегия $A_t = \arg\max_a Q(S_t, a)$, но Q-learning обучается off-policy, поскольку агент выбирает $A_t$ по $\epsilon$-greedy политике, обеспечивающей адекватное исследование state-action пространства.

Когда состояния и действия непрерывны — как в реалистичной финансовой среде — Q-learning едва ли получает хорошие оценки value function за feasible вычислительное время. Кроме того, дискретизация state space сама по себе может приводить к потере релевантной информации в зависимости от granularity. В этом контексте фреймворк DRL особенно необходим.

3.2 Аппроксимативное обучение с подкреплением

DRL-алгоритмы решают ранее неразрешимые задачи, аппроксимируя (12) через нейросеть, допускающую непрерывное представление state space.

Deep Q-Network (DQN) (Mnih et al. 2015) — расширение Q-learning, позволяющее обучать параметризованную value function $Q^*(s,a) \approx Q(s,a;\theta)$. $Q(s,a;\theta)$ — многослойная нейросеть, которая для входного состояния $s$ возвращает вектор action values. Стандартное обновление (13) становится

\[ \theta_{t+1} = \theta_t + \alpha\left(T_t^{\mathrm{DQN}} - Q(S_t, A_t; \theta_t)\right)\nabla_{\theta_t} Q(S_t, A_t; \theta_t), \]

что напоминает gradient descent к target

\[ T_t^{\mathrm{DQN}} = R_{t+1} + \rho \max_a Q(S_{t+1}, a; \theta_t). \]

Хотя табличные методы сходятся к оптимальной функции (Watkins and Dayan 1992b), они не обобщаются на ранее невидимые состояния. DRL обладает хорошими обобщающими способностями, но даёт нестабильное поведение при обучении, когда function approximation сочетается с off-policy алгоритмом и обучением по оценкам (Sutton and Barto 2018). Проблема нестабильности обучения частично решается двумя ингредиентами: experience replay buffer и fixed target. Experience buffer — конечное множество $\mathcal{D} = \{e_1, \ldots, e_N\}$ фиксированной мощности $N$, куда на каждом шаге $t$ сохраняется поток опыта агента $e_t = (S_t, A_t, R_{t+1}, S_{t+1})$, заменяя одну из старых записей. Replay buffer используется для batch update параметров сети. Fixed target — как online target, но его параметры $\theta^-$ обновляются ($\theta_t^- = \theta_t$) и затем фиксируются на $\tau$ итераций. Комбинируя оба ингредиента, gradient step (15) становится

\[ \mathbb{E}_e\left[\left(r + \rho \max_{a'} Q(s', a'; \theta_t^-) - Q(s,a;\theta_t)\right)\nabla_{\theta_t} Q(s,a;\theta_t)\right], \]

где $e = (s,a,r,s')$ равномерно выбирается из $\mathcal{D}$.

Далее мы используем вариант алгоритма double DQN (DDQN) (Van Hasselt et al. 2016), предотвращающий некоторые проблемы переоценки value function. Для удобства мы по-прежнему называем выбранный value-based алгоритм DQN, хотя реализация следует варианту DDQN. Технические детали value-based алгоритмов, использованных в численных экспериментах, — в приложении PDF.

Задачу оптимизации (11) можно эквивалентно решить policy gradient алгоритмом вроде Proximal Policy Optimization (PPO) (Schulman et al. 2017). Policy gradient алгоритм напрямую параметризует оптимальную стратегию внутри заданного класса политик $\pi_\theta = \pi(A_t \mid S_t; \theta)$ — например, многослойной нейросети с параметрами $\theta$. Задача оптимизации приближённо решается вычислением градиента performance measure $J(\theta) = \sum_{t=0}^{\infty} \rho^t R_{t+1}(S_t, A_t, S_{t+1}; \pi_\theta)$ и gradient ascent обновлениями

\[ \theta_{t+1} = \theta_t + \alpha \nabla_\theta J(\theta_t), \]

где $\alpha$ — scalar learning rate. Policy gradient theorem (Sutton et al. 2000; Marbach and Tsitsiklis 2001) даёт аналитическое выражение для $\nabla_\theta J(\theta)$:

\[ \nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta}\left[\frac{\nabla_\theta \pi(A_t \mid S_t; \theta)}{\pi(A_t \mid S_t; \theta)}\, Q^{\pi_\theta}(S_t, A_t)\right] = \mathbb{E}_{\pi_\theta}\left[\nabla_\theta \log \pi(A_t \mid S_t; \theta)\, Q^{\pi_\theta}(S_t, A_t)\right], \]

где ожидание по $(S_t, A_t)$ берётся вдоль траектории (эпизода) при политике $\pi_\theta$. Можно доказать, что action value function $Q^\pi(s,a)$ в (19) можно модифицировать вычитанием baseline $V^\pi(s)$, снижающего дисперсию эмпирического среднего вдоль эпизода при неизменном среднем. Популярный выбор baseline — state-value function

\[ V^\pi(s) \equiv \mathbb{E}\left[\sum_{k=0}^{\infty} \rho^k R_{t+1+k} \mid S_t = s, \pi\right], \]

отражающая долгосрочную награду, начиная из состояния $s$ при стратегии $\pi$ далее. Градиент переписывается как

\[ \nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta}\left[\nabla_\theta \log \pi(A_t \mid S_t; \theta_t)\, A^{\pi_\theta}(S_t, A_t)\right], \]

где

\[ A^\pi(s,a) \equiv Q^\pi(s,a) - V^\pi(s) \]

— advantage function, количественно измеряющая выигрыш от выбора конкретного действия в данном состоянии относительно средней ценности для политики $\pi$. Разные policy gradient алгоритмы различаются способом оценки advantage function. В PPO advantage estimator $A(s,a;\psi)$ параметризован другой нейросетью с параметрами $\psi$. Это actor-critic: actor — policy estimator $\pi(a \mid s; \theta)$, выдающий mean и standard deviation гауссовского распределения, из которого агент семплирует действия; critic — advantage function estimator $A(s,a;\psi)$ с одним scalar выходом. Две сети взаимодействуют в процессе обучения: critic направляет обновления actor, который собирает новые последовательности для обновления critic и последующей оценки. PPO описывается расширенной objective function

\[ J^{\mathrm{PPO}}(\theta, \psi) = J(\theta) - c_1 L_{\mathrm{AF}}(\psi) + c_2 H(\pi(a \mid s; \theta)). \]

Второй член — loss между advantage estimator $A(s,a;\psi)$ и target $A^{\mathrm{targ}}$, представленным кумулятивной суммой дисконтированных наград, для обучения critic. Последний член — entropy bonus для адекватного exploration. Детали выбора losses, target и параметризации нейросетей, а также дополнительная информация о реализации — в приложении PDF.

4. Численные эксперименты

В этом разделе мы проводим синтетические эксперименты в контролируемой финансовой среде, описанной в разделе 2. Представлены две группы экспериментов, где агенты наблюдают финансовые временные ряды из разных data-generating processes. Первая группа — случай, когда динамика доходностей определяется гауссовскими mean-reverting факторами как в (2), и оптимальная стратегия известна как (5). Вторая группа — набор случаев, где модель, генерирующая динамику, допускает больше экстремальных событий и гетероскедастической волатильности. Здесь (5) по-прежнему используется как представительная классическая стратегия динамической оптимизации портфеля.

Во всех экспериментах агенты торгуют одним активом, но фреймворк достаточно общ для multi-asset торговли. Мы тестируем Q-learning и DQN параллельно в одной среде, обучение PPO несколько отличается. Первые два алгоритма обучаются in-sample числом обновлений, равным длине $T_{\mathrm{in}}$ симулированного ряда, а выученная политика оценивается out-of-sample в нескольких промежуточных моментах обучения на разных рядах длины $T_{\mathrm{out}}$. Та же логика для PPO, который работает episodic: обучение in-sample и оценка out-of-sample на $E_{\mathrm{in}}$ и $E_{\mathrm{out}}$ эпизодах длины 2000 timesteps. Каждый агент действует в model-free контексте без prior информации о data-generating process.

Чтобы перенести RL-формализм на задачу оптимизации портфеля (4), действия — объём торгуемых акций $A_t = \Delta h_t$, состояние — пара return–holding $S_t = (y_t, h_{t-1})$. Мы включаем доходность актива в представление состояния вместо предсказывающих факторов, поскольку нас интересует оценка DRL как чисто data-driven подхода. Выбор финансовых факторов — нетривиальная и часто дискреционная задача. Для каждого эксперимента мы также адаптируем границы action space $\mathcal{A}$ к масштабу действий бенчмарка. Детали этой эвристики — в приложении PDF.

После действия и изменения портфельной позиции агент наблюдает следующее движение цены и сигнал награды:

\[ R_{t+1}(y_{t+1}, h_{t-1}, \Delta h_t) = h_t^\top y_{t+1} - \frac{\gamma}{2}\, h_t^\top \Sigma h_t - \frac{1}{2}\,\Delta h_t^\top \Lambda \Delta h_t. \]

Мы позволяем бенчмарк-агенту быть perfectly informed: он точно знает предсказывающие факторы динамики цены. RL-агенты получают информацию только из наблюдаемой доходности, на которую влияет дополнительный шум. Это явный недостаток RL-агента, но шаг к более гибкому подходу, когда динамика неизвестна и производительность сильно зависит от выбора факторов. Альтернатива — полностью информированные RL-агенты с заменой $y_t$ на $f_t$ в определении состояния. Для сравнения отметим, что value-based алгоритмы в этом исследовании выполняют discrete control, тогда как бенчмарк может использовать continuous стратегию по (5). PPO может выражать и discrete, и continuous политики; мы тестируем continuous версию для более выразительной политики и сравнения двух постановок.

Для всех алгоритмов выбраны две метрики производительности: чистый денежный выигрыш и риск. Вычисляем cumulative net PnL — gross return портфеля за вычетом транзакционных издержек:

\[ \mathrm{PnL}^{\mathrm{net}}_{t+1}(y_{t+1}, h_t, \Delta h_t) = h_t^\top y_{t+1} - \frac{1}{2}\,\Delta h_t^\top \Lambda \Delta h_t, \]

и annualized Sharpe ratio (SR) (Sharpe 1994):

\[ \mathrm{SR} = \sqrt{252}\,\frac{\mathbb{E}[\mathrm{PnL}^{\mathrm{net}}]}{\sqrt{\mathrm{Var}[\mathrm{PnL}^{\mathrm{net}}]}}, \]

определяющий ожидаемую доходность портфеля на единицу риска в годовом выражении — common метрика trade-off между риском и доходностью, особенно в mean-variance framework.

Параметры симуляции финансовых данных и hyperparameters обучения нейросетей — в приложении PDF. Эксперименты запускались параллельно на 64-ядерном Linux-сервере Intel Xeon CPU E5-2683 v4 @ 2.10GHz. Время обучения одного value-based эксперимента длины $T_{\mathrm{in}} = 300000$ — от двух до четырёх часов при архитектуре нейросети не глубже двух hidden layers. Примерно то же время для PPO при $E_{\mathrm{in}} = 300$. Исходный код на Python доступен на GitHub. Ниже обсуждаются результаты двух групп экспериментов.

4.1 Следование бенчмарку

Рисунок 1 показывает эволюцию out-of-sample производительности нескольких Q-learning и DQN агентов, когда динамика определяется одним (верхний ряд) и двумя (нижний ряд) mean-reverting факторами. Первый столбец — cumulative net PnL (25), второй — SR (26) по мере роста размера обучающего ряда до $T_{\mathrm{in}} = 300000$ на оси $x$. Каждая точка — среднее по 10 out-of-sample тестам длины $T_{\mathrm{out}} = 5000$ для конкретного агента из 20 протестированных. Горизонтальная пунктирная линия — оптимальный бенчмарк, сплошные линии — средняя производительность всех агентов в процентах от бенчмарка.

Рисунок 1. DQN и Q-learning при гауссовской динамике
Рисунок 1. Результаты DQN и Q-learning при гауссовской динамике с одним (верхний ряд) и двумя (нижний ряд) mean-reverting факторами. Cumulative net PnL (первый столбец) и SR (второй столбец) по мере роста обучающего ряда до $T_{\mathrm{in}} = 300000$. Каждая точка — среднее по 10 out-of-sample тестам длины $T_{\mathrm{out}} = 5000$ для одного из 20 агентов. Пунктир — оптимальный бенчмарк, сплошные линии — средняя производительность агентов в % от бенчмарка.

Из рис. 1 видно, что примерно после половины времени обучения DQN в среднем достигает close-to-optimal cumulative net PnL. Обученные DQN-агенты извлекают mean-reverting сигналы в данных и контролируют транзакционные издержки, не зная data-generating process базовой динамики. Q-learning агенты едва достигают половины cumulative net PnL оптимального бенчмарка за то же время обучения.

Производительность табличного алгоритма строго зависит от granularity дискретизации состояния. Q-learning может достичь бенчмарка только при $T_{\mathrm{in}} \to \infty$ и достаточно плотном $\mathcal{S}$, чтобы близко представлять непрерывную торговую среду. Однако даже при относительно небольшой Q-table (обычно ниже 100000) она может быть очень sparse для этого диапазона $T_{\mathrm{in}}$. Это особенно заметно при двух гауссовских факторах, где многие агенты имеют negligible cumulative net PnL просто потому, что не совершают buy/sell действий. Увеличение Q-table при фиксированном $T_{\mathrm{in}}$ даёт ещё худшие результаты.

DQN избегает неэффективной табличной параметризации action-value function, используя меньше параметров, чем записей в Q-table. Нейросеть как approximator action-value function критична в этой финансовой среде: агент учится быстрее, когда state space полностью наблюдаем и параметры обновляются batch'ами опыта.

Второй столбец рис. 1 показывает эволюцию SR агентов: DQN в среднем с самого начала обучения достигает того же уровня benchmark profit, скорректированного на риск. Производительность Q-learning здесь сильно biased, поскольку табличные агенты часто не торгуют и избегают роста риска позиции. DQN-агенты сначала учатся получать low-risk портфели, затем начинают зарабатывать больше — видно по более быстрой сходимости SR относительно cumulative net PnL.

Рисунок 2 даёт insight в выученное поведение DRL-агентов, показывая action-value function лучшего DQN-агента в конце периода обучения из рис. 1. Агент обучен на динамике доходностей с одним предсказывающим фактором; выводы справедливы и для нескольких факторов. Оцененная $Q((y,h), a; \theta)$ отображается для всех действий в дискретном $\mathcal{A}$ и неявно представляет поведение агента при разных уровнях доходности. При greedy выборе действия с наивысшим Q-value для каждого $y$ положительные действия преобладают при положительных доходностях, отрицательные — при отрицательных.

Рисунок 2. Выученная action-value function DQN
Рисунок 2. Выученная action-value function DQN-агента при варьировании доходности актива и фиксированном holding = 0. Разные цвета — разные действия.

Рисунок 3 показывает аналогичные результаты для PPO, обученного на финансовых доходностях с mean-reverting гауссовской динамикой. Средняя out-of-sample производительность реpresentative агента отображается по мере роста числа обучающих эпизодов. PPO извлекает сигнал в данных и сходится к бенchmark, но демонстрирует большую дисперсию по Net PnL по сравнению с DQN — из-за разных типов политик. Работа в continuous action space позволяет торговать любой долей синтетического актива, но усложняет точную сходимость к бенчмарку, поскольку sampling space велик. На практике нет теоретической гарантии найти правильный способ семплирования действий из $\mathcal{A}$ за конечное время.

Рисунок 3. Результаты PPO при гауссовской динамике
Рисунок 3. Результаты PPO при гауссовской динамике с одним (верхний ряд) и двумя (нижний ряд) mean-reverting факторами. Cumulative net PnL (первый столбец) и SR (второй столбец) по мере роста числа эпизодов до $E_{\mathrm{in}} = 300$. Каждая точка — среднее по 10 out-of-sample тестам длины $T_{\mathrm{out}} = 2000$ для одного из 20 агентов. Пунктир — оптимальный бенchmark, сплошная линия — средняя производительность агентов в % от бенchmark.

Рисунок 4 представляет среднюю greedy политику, выученную DQN и PPO агентами из рис. 1 и 3. Оба алгоритма обнаруживают inherent arbitrage на рынке: средняя политика следует знаку доходностей, покупая дёшево и продавая дорого. Выученные политики монотонны, как у одного из бенчмарков.

Рисунок 4. Greedy политики DQN и PPO
Рисунок 4. Greedy policy function для DQN и PPO вместе с политикой бенchmark при варьировании доходности актива и фиксированном holding = 0. Разные цвета — разные алгоритмы. Кривые с confidence interval: среднее максимальное действие по 20 обученным агентам каждого алгоритма.

4.2 Превосходство над бенчмарком

Чтобы показать гибкость DRL-подхода, мы изучаем его производительность относительно бенchmark, когда динамика доходностей отклоняется от исходной спецификации модели. Вводим два типа misspecification: экстремальные события и гетероскедастичность шума. В обоих случаях стратегия (5) уже не оптимальна, но поскольку она работает хорошо и часто используется на практике, её можно считать бенchmark, представляющим более широкий класс factor trading стратегий. Естественно исследовать, способны ли DQN и PPO не только достичь бенchmark, но и превзойти его.

Рассматриваем две reference стратегии: fully informed — бенchmark получает симулированные факторы; partially informed — бенchmark должен извлечь их из наблюдаемых доходностей. Эти настройки не должны влиять на DRL-производительность, кроме границ action space $\mathcal{A}$, которые мы адаптируем к бенchmark для лучшего сравнения (см. приложение PDF).

Fully informed бенchmark напрямую использует (5), оценивая скорости mean reversion и factor loadings по наблюдаемым предсказывающим факторам. В partially informed случае бенchmark не знает лучшие предсказывающие факторы и должен угадать или извлечь их из state space. Типичный выбор в финансовой литературе — lagged past returns (Asness et al. 2013) как факторы для прогноза будущих доходностей. Мы используем простую эвристику: подбираем (1) для набора candidate lags и выбираем лучший по минимизации среднеквадратичных остатков.

Рисунки 5 и 6 показывают среднюю out-of-sample производительность DQN и PPO относительно fully и partially informed бенchmark, когда динамика доходностей с одним mean-reverting фактором следует Student's T с разными степенями свободы.

Рисунок 5. DQN при Student T динамике
Рисунок 5. Результаты при Student's T динамике с одним mean-reverting фактором. DQN тестируется на доходностях с $\nu = 6$ (верхний ряд) и $\nu = 8$ (нижний ряд). Логика чтения как у рис. 1. Сплошные линии — разные бенчмарк-стратегии (fully и partially informed), которые здесь уже не оптимальны.

Из рис. 5 видно, что при экстремальных событиях (T-student шум) DQN-агенты контролируют торговые издержки и получают равный или больший cumulative net PnL относительно двух бенchmark-агентов — особенно при меньших степенях свободы, где misspecification сильнее и экстремальные события чаще. SR к концу обучения заметно превосходит бенchmark в обоих случаях. RL-агенты учатся контролировать повышенный риск среды, тогда как model-based стратегии должны были учесть это заранее. Рис. 6 — тот же misspecified случай для PPO: агент стабильно управляет транзакционными издержками и получает больший net PnL, чем бенchmark, сохраняя большую дисперсию, чем DQN. PPO лучше работает относительно бенchmark, когда тот partially informed и сам обнаруживает persistence сигнала.

Рисунок 6. PPO при Student T динамике
Рисунок 6. Результаты PPO при Student's T динамике с одним mean-reverting фактором ($\nu = 6$ и $\nu = 8$). Логика чтения как у рис. 3.

Вторая misspecification — гетероскедастичность доходностей через GARCH процесс с $p = 1$ и $q = 1$ для дисперсии актива. Для простоты предсказуемая компонента доходностей — autoregressive модель порядка 1.

Рисунки 7 и 8 показывают эволюцию out-of-sample результатов DQN и PPO как функцию размера обучающей выборки при AR-GARCH динамике. На обоих рисунках — два шумовых спецификации: стандартный Normal и Student's T с $\nu = 8$.

Рисунок 7. DQN при AR-GARCH динамике
Рисунок 7. Результаты при AR-GARCH динамике доходностей: шум Normal или Student's T ($\nu = 8$). DQN сравнивается с пунктирным бенchmark. На левом графике по оси $y$ — разность cumulative net PnL между DQN и бенchmark (пунктир на 0). Логика чтения как у рис. 1.
Рисунок 8. PPO при AR-GARCH динамике
Рисунок 8. AR-GARCH динамика, шум Normal или Student's T ($\nu = 8$). PPO сравнивается с пунктирным бенchmark. На обеих подфигурах по оси $y$ — разность между PPO и бенchmark для cumulative net PnL и Sharpe ratio. Логика чтения как у рис. 3.

Рис. 7 показывает, что DQN в среднем получает больший cumulative net PnL относительно бенchmark. Мы сравниваем разность, а не отношение двух cumulative net PnL, поскольку в некоторых случаях net PnL бенchmark-агента отрицателен. В отличие от предыдущих экспериментов, прирост производительности при гетероскедастичности связан с контролем транзакционных издержек. По SR DQN в основном следует бенchmark и превосходит его только при гауссовском шуме. Увеличенное число экстремальных событий в случае Student's T ухудшило производительность DQN относительно бенchmark. Отметим, что для всех экспериментов использовался один набор hyperparameters — сигнал, что в fat-tailed случае производительность можно улучшить более эффективной настройкой. Рис. 8 подтверждает, что PPO эффективнее справляется с misspecification относительно DQN: при обучении на GARCH динамике PPO лучше контролирует связанные риски и издержки.

Рисунок 9 показывает realized out-of-sample holdings для некоторых DQN-агентов. Когда базовую динамику можно предсказать mean-reverting факторами (гауссовский и Student's T случаи), смена знака фактора вызывает смену знака портфеля. Осцилляция между short и long подтверждает, что DRL научился следовать сигналу в данных. Сравнивая с partially informed бенchmark (нижний левый график рис. 9), DQN получает больший cumulative net PnL, anticipating mean-reversion доходностей. Рисунок 10 — out-of-sample holdings для PPO в тех же случаях: при гауссовской или Student's T динамике PPO хорошо отслеживает портфель бенchmark и в partially informed случае, по-видимому, anticipating mean-reversion, как DQN. При GARCH динамике оба алгоритмических подхода показывают holdings, сильно отличающиеся от бенchmark.

Рисунок 9. Portfolio holdings DQN
Рисунок 9. Portfolio holdings для фрагмента длины 500 из out-of-sample тестов. Выбраны лучшие DQN-агенты по cumulative net PnL: гауссовский случай с одним фактором; Student's T с 6 степенями свободы (fully и partially informed); GARCH(1,1) с normal шумом.
Рисунок 10. Portfolio holdings PPO
Рисунок 10. Portfolio holdings для фрагмента длины 500. Лучшие PPO-агенты по cumulative net PnL в тех же группах, что на рис. 9.

Для нижних правых панелей на рис. 9 и 10 используются две оси $y$: левая — алгоритм, правая — бенchmark, чтобы визуализировать holdings разного масштаба. Бенchmark плохо адаптируется к гетероскедастическим пикам в симулированном ряде доходностей: портфель бенchmark чувствительнее к экстремальным событиям. RL может ограничивать торговлю даже при гетероскедастичности и держать меньший размер портфеля, что даёт меньше транзакционных издержек при ребалансировке.

Важно проверить robustness RL-производительности к выбору параметров динамики или, наоборот, её чувствительность к некоторым из них. Рисунки 11 и 12 показывают уровень SR для DQN и PPO как функцию half-life динамики, factor loading и параметров fat-tailed распределения доходностей. Результат — среднее по более чем 10 агентам для каждой конфигурации параметров, что позволяет построить confidence intervals.

Рисунок 11. Чувствительность DQN
Рисунок 11. Производительность DQN по SR относительно бенchmark при варьировании параметров симулированной динамики. Верхний ряд — один гауссовский mean-reverting фактор при росте half-life и factor loadings. Нижний ряд — Student's T и GARCH при росте степеней свободы и kurtosis.
Рисунок 12. Чувствительность PPO
Рисунок 12. Производительность PPO по SR относительно бенchmark при варьировании тех же параметров динамики.

В верхнем ряду обоих рисунков влияние вариации half-life mean-reversion и factor loading $b$ однофакторной гауссовской динамики схоже для DQN и PPO: оба получают тот же SR, что и бенchmark — возрастающую функцию в обоих случаях. С одной стороны, больший half-life даёт более persistent знак доходности, который агенты легче эксплуатируют. С другой — при малом factor loading динамика доходностей не содержит meaningful сигнала, и (1) определяется чистым шумом. Нижний левый panel рис. 11 и 12 — sensitivity analysis для однофакторной Student's T динамики при растущих $\nu$. Все стратегии ухудшаются с ростом доли экстремальных событий, но PPO и DQN эффективно справляются с более рискованными событиями и стабильно достигают большего SR, чем бенchmark. Нижний правый panel — вариация производительности при росте kurtosis распределения GARCH(1,1) процесса. Четвёртый стандартизованный момент для стохастического volatility процесса (10) вычисляется как

\[ \frac{\mathbb{E}[\sigma_t^4]}{[\mathbb{E}(\sigma_t^2)]^2} = \frac{3\left(1 - (\alpha_1 + \beta_1)^2\right)}{1 - (\alpha_1 + \beta_1)^2 - 2\alpha_1^2}, \]

при условии $1 - 2\alpha_1^2 - (\alpha_1 + \beta_1) > 0$ хвосты распределения GARCH(1,1) тяжелее гауссовских. GARCH(1,1) с heavy tails — consistent misspecification исходных условий; только PPO стабильно превосходит бенchmark по мере утолщения хвостов симулированного распределения доходностей.

5. Заключение

В этой работе мы использовали разные RL-алгоритмы для решения торговой задачи в финансовой среде с транзакционными издержками. Когда задача оптимизации имеет точное решение, DQN и PPO способны следовать этому бенchmark, но также адаптируются к вариациям исходной постановки среды и data-driven способом контролируют риски портфеля и издержки. Value-based DRL точно следует торговым сигналам и контролирует рыночные friction; policy-based DRL более robust к экстремальным событиям и гетероскедастической волатильности.

Хотя DQN учится направлению сделок, дискретизация action space остаётся серьёзной проблемой: торгуемый объём — кратное заранее выбранной величине. Вместо перехода к actor-critic фреймворкам с нестабильностью, схожей с DQN, PPO помогает, выражая политику в continuous action space.

RL-алгоритмы требовательны к объёму обучающих данных, который на низких частотах может быть scarce. Мы считаем, что финансовая модель с известным оптимальным решением может обойти эту проблему. Классические стратегии облегчают обучение DRL-агентов, давая информацию о хороших (пусть suboptimal) стратегиях — это помогает рационализировать state-action space и облегчает обучение.

Кроме того, классические descriptive модели позволяют pre-train DRL-агентов на синтетических данных и затем fine-tune на реальных рядах. Pre-training возможен благодаря способности model-free DRL находить оптимальные стратегии даже в богатых реалистичных генеративных моделях финансовых рынков, где время и нехватка данных не проблема. Fine-tuning можно делать residual подходом (см. приложение A.6 в PDF). Это интересный сценарий сотрудничества model-based и model-free подходов.

Интересно для будущих исследований изучить Residual Reinforcement Learning как operational меру goodness-of-fit модели к данным: вместо классических likelihood или moment-based подходов модель можно считать representative реального рынка, если model-free RL-агент (обученный на данных) действует схоже с агентом, обученным на модели, то есть если residual actions малы.

Наконец, интересно исследовать обобщающие свойства RL при обучении на heterogeneous временных рядах. В реальных приложениях обычно хочется обучить агента на всех данных всех доступных акций в надежде, что он сможет эффективно торговать каждой отдельной акцией — не потому что выучил одну среднюю стратегию, а потому что может сопоставить каждой акции соответствующую стратегию. Это похоже на длинное обучение в период с разными price regimes в надежде, что агент сможет действовать в будущем, адаптируя стратегию к regime switching и определённому уровню нестационарности.

Благодарности

DT благодарит GNFM-Indam за финансовую поддержку. Работа частично поддержана проектом SERICS (PE00000014) в рамках MUR National Recovery and Resilience Plan, финансируемого European Union — NextGenerationEU.

Приложение A (алгоритмы, hyperparameters, устойчивость Q-learning/DQN/PPO, residual learning framework и дополнительные рисунки A1–A3) в полном объёме — в оригинальном PDF; доказательства сходимости и технические детали опущены.

Литература

Оригинал статьи: Brini and Tantari, «Deep Reinforcement Trading with Predictable Returns», arXiv:2104.14683