Глубокое обучение с подкреплением для торговли с предсказуемыми доходностями
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 в среднем достигает 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$ положительные действия преобладают при положительных доходностях, отрицательные — при отрицательных.
Рисунок 3 показывает аналогичные результаты для PPO, обученного на финансовых доходностях с mean-reverting гауссовской динамикой. Средняя out-of-sample производительность реpresentative агента отображается по мере роста числа обучающих эпизодов. PPO извлекает сигнал в данных и сходится к бенchmark, но демонстрирует большую дисперсию по Net PnL по сравнению с DQN — из-за разных типов политик. Работа в continuous action space позволяет торговать любой долей синтетического актива, но усложняет точную сходимость к бенчмарку, поскольку sampling space велик. На практике нет теоретической гарантии найти правильный способ семплирования действий из $\mathcal{A}$ за конечное время.
Рисунок 4 представляет среднюю greedy политику, выученную DQN и PPO агентами из рис. 1 и 3. Оба алгоритма обнаруживают inherent arbitrage на рынке: средняя политика следует знаку доходностей, покупая дёшево и продавая дорого. Выученные политики монотонны, как у одного из бенчмарков.
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 видно, что при экстремальных событиях (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 сигнала.
Вторая 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 в среднем получает больший 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 и 10 используются две оси $y$: левая — алгоритм, правая — бенchmark, чтобы визуализировать holdings разного масштаба. Бенchmark плохо адаптируется к гетероскедастическим пикам в симулированном ряде доходностей: портфель бенchmark чувствительнее к экстремальным событиям. RL может ограничивать торговлю даже при гетероскедастичности и держать меньший размер портфеля, что даёт меньше транзакционных издержек при ребалансировке.
Важно проверить robustness RL-производительности к выбору параметров динамики или, наоборот, её чувствительность к некоторым из них. Рисунки 11 и 12 показывают уровень SR для DQN и PPO как функцию half-life динамики, factor loading и параметров fat-tailed распределения доходностей. Результат — среднее по более чем 10 агентам для каждой конфигурации параметров, что позволяет построить confidence intervals.
В верхнем ряду обоих рисунков влияние вариации 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; доказательства сходимости и технические детали опущены.
Литература
- Andrychowicz M, Raichuk A, Stańczyk P, et al (2020) What matters in on-policy reinforcement learning? a large-scale empirical study. 2006.05990
- Antos A, Szepesvári C, Munos R (2008) Learning near-optimal policies with bellman-residual minimization based fitted policy iteration and a single sample path. Machine Learning 71(1):89–129
- Arulkumaran K, Deisenroth MP, Brundage M, et al (2017) A brief survey of deep reinforcement learning. arXiv preprint arXiv:170805866
- Asness CS, Moskowitz TJ, Pedersen L (2013) Value and momentum everywhere. Journal of Finance 68(3):929–985
- Baird L (1995) Residual algorithms: Reinforcement learning with function approximation. In: Machine Learning Proceedings 1995. Elsevier, p 30–37
- Bertsekas DP (2005) Dynamic Programming and Optimal Control, vol I, 3rd edn. Athena Scientific, Belmont, MA, USA
- Bollerslev T (1987) A conditionally heteroskedastic time series model for speculative prices and rates of return. The review of economics and statistics pp 542–547
- Borkar V (2008) Stochatic approximation: A dynamical systems viewpoint, hindustan book agency, new delhi, india, and cambridge uni. Press, Cambridge, UK
- Boyan JA (2002) Technical update: Least-squares temporal difference learning. Machine learning 49(2):233–246
- Chaouki A, Hardiman S, Schmidt C, et al (2020) Deep deterministic portfolio optimization. The Journal of Finance and Data Science 6:16–30
- Clevert DA, Unterthiner T, Hochreiter S (2015) Fast and accurate deep network learning by exponential linear units (elus). arXiv preprint arXiv:151107289
- Cont R (2001) Empirical properties of asset returns: stylized facts and statistical issues. Quantitative Finance 1(2):223–236
- Engle RF, Ferstenberg R (2007) Execution risk. The Journal of Trading 2(2):10–20
- Engstrom L, Ilyas A, Santurkar S, et al (2020) Implementation matters in deep policy gradients: A case study on ppo and trpo. 2005.12729
- Fan J, Wang Z, Xie Y, et al (2020) A theoretical analysis of deep q-learning. In: Learning for Dynamics and Control, PMLR, pp 486–489
- Feng Y, Li L, Liu Q (2019) A kernel loss for solving the bellman equation. Advances in Neural Information Processing Systems 32
- Gârleanu N, Pedersen L (2013) Dynamic trading with predictable returns and transaction costs. Journal of Finance 68(6):2309–2340
- Garleanu N, Pedersen LH, Poteshman AM (2008) Demand-based option pricing. The Review of Financial Studies 22(10):4259–4299
- Ghiassian S, Patterson A, Garg S, et al (2020) Gradient temporal-difference learning with regularized corrections. In: International Conference on Machine Learning, PMLR, pp 3524–3534
- Gordon GJ (1995) Stable function approximation in dynamic programming. In: Machine learning proceedings 1995. Elsevier, p 261–268
- Grinold R (2006) A dynamic model of portfolio management. Journal of Investment Management 4:5–22
- Guéant O (2013) Permanent market impact can be nonlinear. arXiv preprint arXiv:13050413
- van Hasselt H (2010) Double q-learning. In: NIPS. Curran Associates, Inc., pp 2613–2621
- He K, Zhang X, Ren S, et al (2015) Delving deep into rectifiers: Surpassing human-level performance on imagenet classification. In: Proceedings of the IEEE international conference on computer vision, pp 1026–1034
- Holzleitner M, Gruber L, Arjona-Medina J, et al (2021) Convergence proof for actor-critic methods applied to ppo and rudder. In: Transactions on Large-Scale Data-and Knowledge-Centered Systems XLVIII. Springer, p 105–130
- Ioffe S, Szegedy C (2015) Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:150203167
- Jiang Z, Xu D, Liang J (2017) A deep reinforcement learning framework for the financial portfolio management problem. arXiv preprint arXiv:170610059
- Jin C, Netrapalli P, Jordan M (2020) What is local optimality in nonconvex-nonconcave minimax optimization? In: International conference on machine learning, PMLR, pp 4880–4889
- Kingma DP, Ba J (2014) Adam: A method for stochastic optimization. arXiv preprint arXiv:14126980
- Kolm P, Ritter G (2019) Modern perspectives on reinforcement learning in finance. SSRN Electronic Journal
- Kolm P, Tutuncu R, Fabozzi F (2014) 60 years of portfolio optimization: Practical challenges and current trends. European Journal of Operational Research 234:356–371
- Kolm PN, Maclin L (2012) Algorithmic trading, optimal execution, and dynamic portfolios. In: The Oxford Handbook of Quantitative Asset Management
- Kolm PN, Ritter G (2014) Multiperiod portfolio selection and bayesian dynamic models. Risk 28(3):50–54
- Konda V, Tsitsiklis J (1999) Actor-critic algorithms. Advances in neural information processing systems 12
- Kyle AS, Obizhaeva AA (2016) Market microstructure invariance: Empirical hypotheses. Econometrica 84(4):1345–1404
- Levine S, Finn C, Darrell T, et al (2016) End-to-end training of deep visuomotor policies. The Journal of Machine Learning Research 17(1):1334–1373
- Lillicrap TP, Hunt JJ, Pritzel A, et al (2016) Continuous control with deep reinforcement learning. In: ICLR
- Lillo F, Farmer JD, Mantegna RN (2003) Master curve for price-impact function. Nature 421(6919):129–130
- Lin T, Jin C, Jordan M (2020) On gradient descent ascent for nonconvex-concave minimax problems. In: International Conference on Machine Learning, PMLR, pp 6083–6093
- Liu B, Cai Q, Yang Z, et al (2019) Neural proximal/trust region policy optimization attains globally optimal policy. arXiv preprint arXiv:190610306
- Maei HR, Szepesvári C, Bhatnagar S, et al (2010) Toward off-policy learning control with function approximation. In: Proceedings of the 27th International Conference on Machine Learning (ICML-10), pp 719–726
- Marbach P, Tsitsiklis J (2001) Simulation-based optimization of markov reward processes. IEEE Transactions on Automatic Control 46(2):191–209
- Markowitz H (1952) Portfolio selection. The Journal of Finance 7(1):77–91
- Melo FS (2001) Convergence of q-learning: A simple proof. Institute Of Systems and Robotics, Tech Rep pp 1–4
- Mnih V, Kavukcuoglu K, Silver D, et al (2015) Human-level control through deep reinforcement learning. nature 518(7540):529–533
- Mnih V, Badia AP, Mirza M, et al (2016) Asynchronous methods for deep reinforcement learning. 1602.01783
- Moskowitz TJ, Ooi YH, Pedersen LH (2012) Time series momentum. Journal of Financial Economics 104(2):228–250
- Ormoneit D, Sen Ś (2002) Kernel-based reinforcement learning. Machine learning 49(2):161–178
- Patzelt F, Bouchaud JP (2018) Universal scaling and nonlinearity of aggregate price impact in financial markets. Physical Review E 97(1):012,304
- Puterman ML (2014) Markov decision processes: discrete stochastic dynamic programming. John Wiley & Sons
- Schulman J, Levine S, Abbeel P, et al (2015) Trust region policy optimization. In: Proceedings of the 32nd International Conference on Machine Learning, vol 37. PMLR, pp 1889–1897
- Schulman J, Wolski F, Dhariwal P, et al (2017) Proximal policy optimization algorithms. CoRR abs/1707.06347
- Sharpe WF (1994) The sharpe ratio. Journal of portfolio management 21(1):49–58
- Silver D, Huang A, Maddison CJ, et al (2016) Mastering the game of go with deep neural networks and tree search. nature 529(7587):484–489
- Sutton R, Mcallester D, Singh S, et al (2000) Policy gradient methods for reinforcement learning with function approximation. Adv Neural Inf Process Syst 12
- Sutton RS, Barto AG (2018) Reinforcement Learning: An Introduction. The MIT Press
- Sutton RS, Maei HR, Precup D, et al (2009) Fast gradient-descent methods for temporal-difference learning with linear function approximation. In: Proceedings of the 26th annual international conference on machine learning, pp 993–1000
- Szepesvári C (2010) Algorithms for Reinforcement Learning. Morgan & Claypool Publishers
- Tutuncu R (2011) Recent advances in portfolio optimization. The Oxford Handbook of Quantitative Asset Management
- Uhlenbeck GE, Ornstein LS (1930) On the theory of the brownian motion. Phys Rev 36:823–841
- Van Hasselt H, Guez A, Silver D (2016) Deep reinforcement learning with double q-learning. In: Proceedings of the AAAI conference on artificial intelligence
- Van Hasselt H, Doron Y, Strub F, et al (2018) Deep reinforcement learning and the deadly triad. arXiv preprint arXiv:181202648
- Wang ZT, Ueda M (2021) A convergent and efficient deep q network algorithm. arXiv preprint arXiv:210615419
- Watkins CJ, Dayan P (1992a) Q-learning. Machine learning 8(3):279–292
- Watkins CJCH (1989) Learning from delayed rewards
- Watkins CJCH, Dayan P (1992b) Q-learning. In: Machine Learning
- Xu B, Wang N, Chen T, et al (2015) Empirical evaluation of rectified activations in convolutional network. arXiv preprint arXiv:150500853
- Yang Z, Chen Y, Hong M, et al (2019) Provably global convergence of actor-critic: A case for linear quadratic regulator with ergodic cost. Advances in neural information processing systems 32
- Zhang Z, Zohren S, Roberts S (2020) Deep reinforcement learning for trading. The Journal of Financial Data Science 2(2):25–40
Оригинал статьи: Brini and Tantari, «Deep Reinforcement Trading with Predictable Returns», arXiv:2104.14683