Глубокая детерминированная оптимизация портфеля

8/10

Айман Шауки, Стивен Хардиман, Кристиан Шмидт, Эмманюэль Сери, Жоаким де Латайад · Capital Fund Management, Париж; Кафедра эконофизики и сложных систем, École Polytechnique; École Centrale-Supélec · 13 марта 2020

Оригинал: Chaouki, A., Hardiman, S., Schmidt, C., Sérié, E., de Lataillade, J. «Deep Deterministic Portfolio Optimization», 2020 — arxiv.org/abs/2003.06497 (PDF).

Код: github.com/CFMTech/Deep-RL-for-Portfolio-Optimization — среды и реализация алгоритма.

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

Ключевые слова: обучение с подкреплением, стохастическое управление, оптимизация портфеля.

Аннотация

Можно ли использовать алгоритмы глубокого обучения с подкреплением как решатели для оптимальных торговых стратегий? Цель этой работы — протестировать алгоритмы обучения с подкреплением на концептуально простых, но математически нетривиальных торговых средах. Среды выбраны так, что оптимальная или близкая к оптимальной торговая стратегия известна. Мы изучаем алгоритм глубокого детерминированного градиента политики (DDPG) и показываем, что такой агент успешно восстанавливает существенные черты оптимальных торговых стратегий и достигает близких к оптимальным вознаграждений.

1. Введение

Слияние обучения с подкреплением (RL) с техниками глубокого обучения — так называемое глубокое RL (dRL) — за последние годы пережило поразительный рост популярности [1]. Несомненно, dRL с большим успехом применялось к широкому спектру задач: от игр и управления роботами до торговли и даже решения сложных физических задач [2–10].

Финансы оказались среди множества областей, уделивших значительное внимание переформулировке своих задач в рамках dRL ради поиска новых алгоритмических путей их решения [11, 12]. Одним из предметов интереса стало применение (d)RL к динамическому распределению портфеля [11, 6, 13, 14, 15].

Помимо впечатляющих практических результатов, dRL критиковали за проблему воспроизводимости [1, 16, 17]. И действительно, насколько нам известно, алгоритмы dRL для распределения портфеля, встречающиеся в литературе, обычно сравниваются лишь с субоптимальными эталонными стратегиями (за отдельными ограниченными исключениями, такими как [15]).

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

1.1. Динамическая оптимизация портфеля и обучение с подкреплением

Формально задача RL — это (стохастическая) задача управления следующего вида:

$$\max_{\{a_t\}} \mathbb{E} \left[ \sum_{t=0}^{T-1} \text{rwd}_t(s_t, a_t, s_{t+1}, \xi_t) \right] \quad \text{при} \quad s_{t+1} = f_t(s_t, a_t, \eta_t) \tag{1}$$

где $a_t \in \mathcal{A}$ обозначает управление (действия), $s_t \in \mathcal{S}$ — состояние системы в момент $t$, $\eta_t$ и $\xi_t$ — шумовые переменные, а $\operatorname{rwd}_t$ — вознаграждение, получаемое на каждом шаге. В RL вторая строка обычно называется «средой». «Агент» стремится выбирать свои действия $a_t$ по состоянию $s_t$ так, чтобы максимизировать полное ожидаемое накопленное вознаграждение.

Сравнение этого с постановкой динамической оптимизации портфеля обнаруживает связь между двумя задачами. Ради простоты ограничим дальнейшее обсуждение одномерным случаем. В динамической оптимизации портфеля инвестор стремится динамически распределять свой вес $\pi_t \in \mathbb{R}$ на актив, дающий доходности $r_t$, так, чтобы максимизировать ожидаемую полезность $U(\cdot)$ будущего благосостояния:

$$\max_{\{\pi_t\}} \mathbb{E}\left[U\left(\sum_{t=0}^{T-1} \operatorname{PnL}_{t,t+1}\right)\right] \quad \text{при ограничениях} \tag{2}$$

где $\operatorname{PnL}_{t,t+1}$ означает «прибыль и убыток», то есть $\operatorname{PnL}_{t,t+1} = \operatorname{gain}_{t+1} - \operatorname{cost}_{t,t+1}$, где $\operatorname{gain}_t = \pi_t r_t$ — прибыль, которую портфель даёт на каждом шаге, а $\operatorname{cost}_{t,t+1}$ — некоторая функция издержек, включающая транзакционные издержки и/или иные комиссии и эффективные затраты.

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

$$\max_{\{\pi_t\}} \mathbb{E} \left[ \sum_{t=0}^{T-1} \pi_{t+1} r_{t+1} - \operatorname{cost}(|\pi_{t+1} - \pi_t|) - \operatorname{risk}(\pi_{t+1}) \right] \tag{3}$$

Член риска происходит из формы функции полезности и может мыслиться как регуляризатор, штрафующий рискованные веса портфеля. Например, $\operatorname{risk}(\pi_t) = \pi_t^2$ наказывает крупные позиции как более рискованные. Один важный класс задач, попадающих в этот фреймворк, — задачи, «эквивалентные среднему-дисперсии» [18, 19].

Чтобы привести эту задачу к виду RL, естественно определить действия как сделки между последовательными моментами времени: $a_t = \pi_{t+1} - \pi_t$. Менее очевидно, какие переменные должны играть роль состояния $s_t$, по которому агент выбирает действие. Стандартное предположение состоит в том, что доходности $r_t$ раскладываются на предсказуемую часть и непредсказуемый шум — $p_t$ и $\eta_t^{(r)}$ соответственно:

$$r_{t+1} = p_t + \eta_t^{(r)} \tag{4}$$

Динамическую оптимизацию портфеля теперь можно переформулировать как задачу RL:

$$\max_{\{a_t\}} \mathbb{E} \left[ \sum_{t=0}^{T-1} \pi_{t+1} r_{t+1} - \operatorname{cost}(|a_t|) - \operatorname{risk}(\pi_{t+1}) \right] \quad \text{при} \quad \begin{cases} \pi_{t+1} &= \pi_t + a_t \\ p_{t+1} &= f(p_t) + \eta_t^{(p)} \\ r_{t+1} &= p_t + \eta_t^{(r)} \end{cases} \tag{5}$$

где мы дополнительно предположили, что $p_t$ следует марковской динамике.

Для большинства задач управления такого вида решения в замкнутой форме неизвестны, и требуется тот или иной алгоритмический подход. Потребность в RL возникает, когда задача (5) имеет сложные функции вознаграждения или переходов состояния, приводящие к нелинейным политикам управления. Фреймворк глубокого RL становится особенно необходим, когда пространства управления и/или действий непрерывны и традиционные методы вроде Q-обучения оказываются несостоятельны. Наиболее сложен безмодельный контекст, где никаких дополнительных модельных предположений не делается (ни о функции вознаграждения, ни о динамических уравнениях состояния), и единственный источник информации — накопленные вознаграждения, из которых нужно вывести торговую политику и/или функцию ценности. Именно эта постановка рассматривается в настоящей работе.

1.2. Вклады

Применение RL к оптимизации портфеля — идея не новая [15, 13]; она почти так же стара, как сами безмодельные алгоритмы RL [20, 21]. Однако, насколько нам известно, несмотря на ряд публикаций о современных dRL-стратегиях для торговли, эти попытки, по-видимому, никогда не оценивались систематически против известных оптимальных стратегий.

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

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

Современная оптимизация портфеля имеет долгую историю, восходящую к Марковицу [18] и Мертону [22]. В этих начальных формулировках транзакционные издержки обычно игнорировались. Если же издержки присутствуют, оптимальная стратегия должна (a) планировать наперёд, чтобы учесть возможную автокорреляцию предиктора, и (b) торговать сдержанно, чтобы учесть издержки [23–28].

Существуют частные случаи задачи (5), решаемые в замкнутой форме [26, 23, 27]; именно их мы возьмём как эталонные решения. Подробности обсуждаются в разделе 2. В общем же случае решения таких задач стохастического управления в замкнутой форме редки, и приходится прибегать к приближениям.

Традиционные методы часто (но не всегда) основаны на динамическом программировании [29, 26, 25], управлении с прогнозирующей моделью и выпуклой оптимизации (см. [30] и ссылки там). Безмодельное обучение с подкреплением — альтернативный подход, не предполагающий модели системы и принимающий решения исключительно по информации, получаемой на каждом шаге через вознаграждения в (5). Ранние работы, применяющие эту идею к динамическому распределению портфеля, можно найти в [15, 25, 31, 13]. Однако эти подходы в основном ограничивались низкоразмерными дискретными пространствами состояний и действий. Подъём глубоких техник возродил интерес к применению dRL-стратегий в более сложных и/или непрерывных постановках [32]; более современные подходы (d)RL к динамическому распределению портфеля можно найти, например, в [6, 14].

Отчасти родственный нашему подход применили авторы [33], исследовавшие, успешно ли dRL-стратегии выучивают известные оптимальные алгоритмические стратегии для задач онлайн-оптимизации.

2. Постановка

2.1. Среды и их эталонные решения

Этот раздел устанавливает три среды, против которых тестируется алгоритм. Мы начинаем с введения пространства состояний, то есть динамики $s_t \mapsto s_{t+1}$, а затем определяем три разные функции вознаграждения (5), каждая из которых задаёт свою среду с собственными оптимальными эталонными решениями (управлениями).

На протяжении всей работы мы предполагаем, что предиктор $p_t$ — авторегрессионный (AR) процесс с параметром $\rho$, нормированный на единичную равновесную дисперсию. Переменные $\pi_t, p_t, r_t$ эволюционируют согласно

$$\pi_{t+1} = \pi_t + a_t \tag{6}$$

$$p_{t+1} = \rho\, p_t + \eta_t^{(p)} \tag{7}$$

$$r_{t+1} = p_t + \eta_t^{(r)} \tag{8}$$

Заметим, что состояние агента $s_t = (\pi_t, p_t)$ содержит только наблюдаемые величины, доступные в момент $t$.

Важно отметить, что (5) вместе с (6)–(8) в принципе позволяет полностью исключить доходности $\{r_t\}$ — просто заменой $r_{t+1} \mapsto p_t$ в вознаграждениях. В этом случае агент имеет совершенные наблюдения состояния: вознаграждение, получаемое в момент $t$, целиком составлено из доступных агенту наблюдаемых $\pi_t$, $p_t$ и $a_t$. На практике, однако, это нереалистичное предположение, и правильнее работать с вознаграждениями, содержащими дополнительный шум от доходностей.

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

2.1.1. Среда с квадратичными издержками и квадратичным контролем риска

Если члены издержек и риска квадратичны и выполняется динамика (6)–(8), задача (5) становится линейно-квадратичным регулятором (LQR) с конечным горизонтом в дискретном времени:

$$\max_{\{a_t\}} \mathbb{E} \left[ \sum_{t=0}^{T-1} \pi_{t+1} p_t - \Gamma a_t^2 - \lambda \pi_{t+1}^2 \right] \quad \text{при (6) и (7)} \tag{9}$$

При рассмотрении среднего ожидаемого выигрыша на бесконечном горизонте, как описано в [29] (то есть при делении общего выигрыша на $T$ и переходе $T \to \infty$), можно вывести решение в замкнутой форме для оптимального управления:

$$a_t = -K s_t \tag{10}$$

где $K$ следует из дискретных уравнений Риккати и линейно зависит от состояния.

Без члена издержек решением было бы подстраивать портфель на каждом шаге согласно распределению Марковица:

$$\pi_{t+1}^* = \pi_{t+1}^{(M)} = \frac{1}{2\lambda} p_t \tag{11}$$

Член издержек добавляет трение и замедляет торговую стратегию по сравнению с распределением Марковица; оптимальное решение для $t+1$ есть демпфированная версия распределения Марковица (11) с учётом текущего портфеля [26]. Эквивалентно оптимальный портфель выражается как экспоненциальное скользящее среднее предикторов в моменты $t, t-1, \ldots$:

$$\pi_{t+1}^* = (1 - \omega)\pi_t + \omega\,\psi\,\pi_{t+1}^{(M)} \tag{12}$$

где $\psi = \frac{\omega}{1 - (1 - \omega)\rho}$, $\omega = f_c\left(\sqrt{\frac{\lambda}{\Gamma}}\right)$ и $f_c(x) = \frac{2}{1 + \sqrt{1 + \frac{4}{x}}} = \frac{x}{2}\left(\sqrt{x^2 + 4} - x\right)$. Заметим, что и $\omega$, и $\psi$ принимают значения между 0 и 1.

Во всех приводимых экспериментах с этой средой использовались $\Gamma=1$, $\lambda=0{,}3$ и $\rho=0{,}9$.

2.1.2. Среда с пропорциональными издержками и квадратичным риском

Другая интересная постановка — случай пропорциональных (линейных) издержек:

$$\max_{\{a_t\}} \mathbb{E} \left[ \sum_{t=0}^{T-1} \pi_{t+1}^{\mathsf{T}} p_t - \Gamma |a_t| - \lambda \pi_{t+1}^2 \right] \quad \text{при (6) и (7)} \tag{13}$$

Для этой задачи оптимальная стратегия стохастического управления может быть выведена [27] и принимает вид системы полос неторговли вокруг (перемасштабированного) значения предиктора:

$$\pi_{t+1}^* = \begin{cases} u\left(\pi_{t+1}^{(M)}\right) & \text{если } \pi_t > u\left(\pi_{t+1}^{(M)}\right) \\ l\left(\pi_{t+1}^{(M)}\right) & \text{если } \pi_t < l\left(\pi_{t+1}^{(M)}\right) \\ \pi_t & \text{иначе} \end{cases} \tag{14}$$

Границы $u(\cdot)$ и $l(\cdot)$ довольно нетривиальны, но хорошим приближением [27, 23, 28] является считать полосу симметричной вокруг (перемасштабированного) предиктора и постоянной по ширине:

$$u\left(\pi_t^{(M)}\right) = \pi_t^{(M)} + b \quad \text{и} \quad l\left(\pi_t^{(M)}\right) = \pi_t^{(M)} - b \tag{15}$$

В этой работе мы используем данную эвристику как бенчмарк, а параметр $b$ определяется простым численным перебором по сетке.

Во всех приводимых экспериментах с этой средой использовались $\Gamma=4$, $\lambda=0{,}3$ и $\rho=0{,}9$.

2.1.3. Среда с пропорциональными издержками и риском типа maxpos

Наконец, осмысленно рассмотреть и другие формы ограничений риска. Для проверки этого мы берём ограничение «maxpos», налагающее максимум на абсолютную величину позиции: $|\pi_t| \leq M$. Формально:

$$\max_{\{|\pi_t| \le M\}} \mathbb{E}\left[\sum_{t=0}^{T-1} \pi_{t+1} p_t - \Gamma |a_t|\right] \quad \text{при (6) и (7)} \tag{16–17}$$

Оптимальная торговая стратегия — пороговый контроллер, который торгует до предельно допустимой позиции всякий раз, когда предиктор превышает значение $q$ [23]:

$$\pi_{t+1}^* = \begin{cases} M & \text{если } p_t > q \\ -M & \text{если } p_t < -q \\ \pi_t & \text{иначе} \end{cases} \tag{18}$$

И здесь тонкость в том, чтобы найти правильное значение $q$, которое выводится в [23]. Мы снова используем перебор по сетке для нахождения хорошего приближения этого порога.

Во всех приводимых экспериментах с этой средой использовались $\Gamma=4$, $M=2$ и $\rho=0{,}9$.

2.2. Алгоритм

Для задачи мы выбрали глубокий детерминированный градиент политики (DDPG) [34]. Он прост, но при этом соответствует современному уровню в задачах непрерывного управления и ранее уже применялся [35].

Для удобства читателя основные элементы DDPG изложены в приложении B, где также описаны детали, использованные нами для успешного обучения. Сводка алгоритма приведена в псевдокоде ниже (алгоритм 1), реализация доступна в нашем репозитории.

Основные добавленные нами ингредиенты: (a) буфер воспроизведения с приоритетами и (b) дополнительная функция мягкого порога в члене издержек для среды с контролем риска maxpos.

Рисунок 1
Рисунок 1. Барьерный штраф на основе tanh, использованный для стабилизации обучения.

Алгоритм 1. DDPG с приоритетным воспроизведением опыта (PER)

  1. Задать AR-процесс предиктора
  2. Инициализировать сети $\mathcal{Q}^w$ и $\phi^{\Theta}$, а также буфер воспроизведения фиксированного размера
  3. Инициализировать целевые сети $\widetilde{\mathcal{Q}}^{\widetilde{w}}$ и $\widetilde{\phi}^{\widetilde{\Theta}}$
  4. Инициализировать среду
  5. Инициализировать шумы исследования $\left(\eta_t^{(a)}\right)_{1 \leq t \leq T_{pretrain}}$
  6. для $t = 1$ до $T_{pretrain}$ выполнять
    • наблюдать состояние $s_t$
    • выполнить действие $a_t = \phi^{\Theta}(s_t) + \eta_t^{(a)}$
    • наблюдать вознаграждение $\operatorname{rwd}_t$ и следующее состояние $s_{t+1}$
    • добавить $(s_t, a_t, \operatorname{rwd}_t, s_{t+1})$ с приоритетом $p = |\operatorname{rwd}_t|$ в буфер
  7. для эпизода $= 1$ до $n$ выполнять
    • инициализировать среду и шумы исследования $\left(\eta_t^{(a)}\right)_{1 \le t \le T}$
    • для $t = 1$ до $T$: наблюдать $s_t$; выполнить $a_t = \phi(s_t) + \eta_t^{(a)}$; наблюдать $\operatorname{rwd}_t$ и $s_{t+1}$; добавить переход с наивысшим приоритетом в буфере
    • если $t \equiv 0 \pmod{\tau}$:
      • выбрать батч $(s_{t_i}, a_{t_i}, \operatorname{rwd}_{t_i}, s_{t_i+1})_{1 \le i \le b}$ с приоритетным сэмплированием по вероятностям $P(i) = \frac{p_i^{\alpha}}{\sum_k p_k^{\alpha}}$, $0 \le \alpha \le 1$
      • вычислить $\widetilde{Q}_i = \operatorname{rwd}_{t_i} + \gamma \widetilde{\mathcal{Q}}\left(s_{t_i+1}, \widetilde{\phi}\left(s_{t_i+1}\right)\right)$
      • вычислить $\delta_i = \left|\mathcal{Q}(s_i, a_i) - \widetilde{Q}_i\right|$
      • вычислить веса $\alpha_i = \left(\frac{1}{N}\frac{1}{P(i)}\right)^{\beta}$ и нормировать: $\alpha_i \leftarrow \frac{\alpha_i}{\max_k(\alpha_k)}$
      • обновить приоритеты $p_i = |\delta_i|$
      • шаг градиента критика: $\mathcal{L}_{critic}(w) = \frac{1}{b}\sum_{i=1}^{b} \alpha_i \delta_i^2$
      • шаг градиента актора: $\mathcal{L}_{actor}(\Theta) = -\frac{1}{b}\sum_{i=1}^{b} \mathcal{Q}\left(s_{t_i}, \phi^{\Theta}(s_{t_i})\right)$
      • обновить целевые сети: $\tilde{w} \leftarrow \tau_{critic} w + (1 - \tau_{critic})\tilde{w}$; $\widetilde{\Theta} \leftarrow \tau_{actor}\Theta + (1 - \tau_{actor})\widetilde{\Theta}$

Поскольку ограничение риска maxpos недифференцируемо, для адаптации DDPG требуется дополнительный приём, улучшающий сходимость. Первый ингредиент — просто обрезать позиции, получаемые из действий сети-актора, так, чтобы ограничение не нарушалось. Однако это ведёт к плохим оценкам градиента, поэтому мы добавляем к функции вознаграждения дополнительную стоимость — гладкий штраф за позиции, превышающие maxpos по модулю (рисунок 1). Функция вознаграждения принимает вид:

$$\operatorname{rwd}(p, \pi, a) = p\pi - \psi|a| - \beta \left\{ \tanh\left[\alpha\left(|\pi + a| - (1 + \gamma)M\right)\right] + 1 \right\}$$

В наших экспериментах выбраны $\beta = 10$, $\alpha = 10$, $\gamma = \frac{1}{4}$. Добавление tanh-барьера критически важно для стабилизации обучения: без него из 16 обученных агентов половина расходилась даже при совершенных наблюдениях состояния. Штраф предотвращает эту расходимость (по крайней мере при совершенной наблюдаемости состояния). Выбор tanh оправдан его гладкостью и ограниченностью сверху; мы пробовали постоянный штраф и экспоненциальный — безуспешно.

3. Результаты

Мы начинаем с результатов обучения алгоритма для всех трёх сред (рисунок 2). Можно сделать следующие выводы:

Рисунок 2
Рисунок 2. Результаты для случая совершенной информации о состоянии (фиолетовые маркеры) и при дополнительном шуме в доходностях (жёлтые маркеры). В обоих случаях приводятся теоретические вознаграждения и PnL при совершенной информации. Красная штриховая горизонталь — эталонные агенты из раздела 2; отложена достигнутая относительная разница результата по отношению к эталону. Для каждой отчётной эпохи каждая точка — один агент, то есть отдельное случайное зерно обучения. Результаты измерены как среднее по десяти вневыборочным средам длиной $T=5000$ шагов каждая. Сплошные цветные линии — среднее по 16 зёрнам. Для среды maxpos показаны только сошедшиеся агенты, поэтому точек меньше и картина смещена в сторону положительных результатов.

Помимо результатов в терминах достигнутых вознаграждений, поучительно взглянуть и на полученные политики. На рисунках 3–5 мы сравниваем RL-политики с наибольшим вознаграждением для каждой из трёх сред с их эталонными политиками. Рисунки представляют торговые стратегии двумя способами: (a) изображая предлагаемую сделку $a_t$ против предиктора $p_t$ для трёх характерных позиций $\pi_t$; и (b) изображая контурные графики предлагаемой сделки для всех точек плоскости $(\pi_t, p_t)$ таких, что $|a_t| \leq 5$. Аналогичные рисунки для экспериментов с дополнительным шумом в вознаграждениях приведены в приложении A.

Эксперименты со средой с квадратичными торговыми издержками и контролем риска надёжно дают высокие вознаграждения, а из таблицы 1 следует, что получаемые торговые стратегии показывают лишь очень малые отклонения относительно эталона. Тем не менее рисунок 3 показывает, что выученные политики иногда обнаруживают субоптимальные черты. Однако эти отклонения мало сказываются на вознаграждении. Мы часто обнаруживали, что на ранних стадиях обучения алгоритм сходился к политикам, очень близким к эталону, а затем становился нестабильным и сходился к слегка субоптимальным формам.

Рисунок 3
Рисунок 3. Сравнение RL-политики с наибольшим вознаграждением с эталонной политикой для среды с квадратичными издержками и контролем риска. Слева: действия $a_t$ отложены против предиктора $p_t$ для разных позиций $\pi_t \in \{-1, 0, 1\}$; штриховые линии — эталонные стратегии, сплошные — RL-агент; врезка сравнивает выученную политику с эталоном на небольшом фрагменте смоделированных траекторий предиктора. Справа: контурные графики сравнивают эталонную политику (верхняя панель) с RL-политикой (нижняя панель) на всей плоскости $(\pi_t, p_t)$.

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

Таблица 1. Сводка результатов агентов для среды с квадратичными торговыми издержками и квадратичным контролем риска. Для 16 агентов 75-й процентиль соответствует худшему из четырёх лучших агентов и так далее. «Разн.» — норма $l_1$ разности между позициями агента и позициями эталонного решения.
 ВознаграждениеPnLРазн.
без шумас шумомбез шумас шумомбез шумас шумом
эталон0,681 1,298 0 
лучший0,6770,6711,2911,6740,0810,128
среднее0,6650,5961,2371,2950,1400,383
худший0,6550,4151,1701,1190,2180,781
75-й проц.0,6680,6401,2581,3160,1610,491
50-й проц.0,6660,6241,2391,2760,1320,349
25-й проц.0,6600,5881,2151,2150,1060,256

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

Рисунок 4
Рисунок 4. То же, что рисунок 3, но для среды с линейными торговыми издержками и квадратичным контролем риска.
Таблица 2. Сводка результатов агентов для среды с линейными торговыми издержками и квадратичным контролем риска.
 ВознаграждениеPnLРазн.
без шумас шумомбез шумас шумомбез шумас шумом
эталон0,254 0,492 0 
лучший0,2480,2250,5180,5620,0630,131
среднее0,2410,1810,4780,4520,0930,250
худший0,2340,1350,4420,3640,1260,441
75-й проц.0,2440,1960,4910,4860,1010,301
50-й проц.0,2390,1880,4820,4550,0900,244
25-й проц.0,2380,1670,4640,4140,0800,181

Рисунок 5 представляет лучшие выученные политики для среды maxpos. Агенты успешно учатся совершать крупные сделки, как только ожидаемый выигрыш превышает издержки, и не торговать ниже этого порога. Полученные вознаграждения (везде, где обучение сошлось) довольно близки к оптимальным; ситуация схожа с предыдущими средами, что дополнительно количественно отражено в таблице 3.

Рисунок 5
Рисунок 5. То же, что рисунки 3 и 4, но для среды с линейными торговыми издержками и риском типа maxpos.
Таблица 3. Сводка результатов агентов для среды с линейными торговыми издержками и риском типа maxpos. Прочерк означает, что часть агентов разошлась.
 ВознаграждениеPnLРазн.
без шумас шумомбез шумас шумомбез шумас шумом
эталон0,901 0,901 0 
лучший0,8840,8760,8840,8760,1010,143
среднее0,8560,8420,8560,8420,1980,246
худший0,8150,8030,8150,8030,3210,346
75-й проц.0,8490,8490,8490,8490,1480,210
50-й проц.0,8620,8620,184
25-й проц.0,8260,8260,239

Среда с контролем риска maxpos алгоритмически наиболее трудна. Оптимальное пороговое управление концептуально просто, но его тяжело выучить безмодельным алгоритмом непрерывного управления вроде DDPG. Мы обнаружили, что для получения надёжных результатов необходимы дополнительные приёмы. Мы экспериментировали с разными способами учесть ограничение maxpos и нашли, что надёжнее всего комбинировать обрезание позиции в среде с дополнительным мягким порогом в функции вознаграждения (см. раздел об алгоритме). Одна проблема — просто форма функции, создающая трудность из-за разрыва вблизи зоны неторговли. Другая — что дисперсия портфеля не контролируется: оптимальная торговая стратегия состоит в том, чтобы удерживать позицию постоянной большую часть времени и лишь изредка её менять, а это порождает большую изменчивость вознаграждений, наблюдаемых для пары $(\pi_t, p_t)$.

В целом можно сказать, что DDPG успешно восстанавливает существенные черты эталонных торговых стратегий. Примечателен надёжно воспроизводимый факт: зона неторговли нетривиальной ширины и торговые зоны с подходящим наклоном. Это показывает, что RL-агенты выучивают все требуемые элементы: (a) эксплуатировать автокорреляцию предиктора и (b) должным образом балансировать риск, издержки и выигрыш. И при совершенной информации о состоянии, и при дополнительном шуме в вознаграждениях PnL и вознаграждения оказываются очень близки к оптимальным.

Однако для получения надёжных результатов алгоритм DDPG потребовал тонкой подстройки, особенно в более трудной среде с ограничениями maxpos. Разумно полагать, что мы могли бы добиться более быстрой сходимости и более точных результатов при большем числе настроек и/или лучших эвристиках. Например, вместо $\epsilon$-жадной схемы исследования можно было бы рассмотреть шум в пространстве параметров, как в [36].

4. Выводы

Цель этой работы — продемонстрировать потенциал безмодельных методов обучения с подкреплением для вывода торговых политик. Сначала мы установили ряд эталонных задач построения портфеля, для которых торговая политика либо выводится аналитически, либо хорошо приближается простыми процедурами оптимизации. Затем мы сравнили эти базовые политики с политикой, полученной методом DDPG-RL.

В целом можно заключить, что агенты DDPG-RL успешно восстанавливают установленные базовые решения. Это уже нетривиальная задача. Более того, получаемые торговые стратегии очень близки к оптимальным, и достигнуто высокое количественное согласие с эталонными стратегиями. Помимо этих результатов мы надеемся, что построенные нами RL-среды для оптимизации торговли смогут послужить эталонными тест-кейсами в дальнейших исследованиях.

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

Благодарности и конфликт интересов

Исследование частично выполнено в рамках кафедры Econophysics & Complex Systems под эгидой Fondation du Risque, Fondation de l'École polytechnique, École polytechnique и Capital Fund Management. Авторы благодарят Натанаэля Фуа, Алексиса Сайра и Жюльена Лафе за регулярные обсуждения содержания статьи, а также Шарля-Альбера Леаля за то, что он поделился своей экспертизой по теме.

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

Приложение A. Результаты при дополнительном шуме в вознаграждениях

Здесь приводятся результаты, когда наблюдаемые вознаграждения содержат дополнительный шум в доходностях вместо фактических значений предиктора. Получаемый сигнал имеет отношение шума к сигналу 10 для случаев с квадратичным контролем риска и 4 для контроля риска maxpos, поскольку его сходимость менее стабильна.

Рисунок A.6
Рисунок A.6. RL-агент с наибольшим вознаграждением для среды с квадратичными торговыми издержками и квадратичным контролем риска. Как рисунок 3, но с дополнительным шумом в вознаграждениях.
Рисунок A.7
Рисунок A.7. RL-агент с наибольшим вознаграждением для среды с пропорциональными торговыми издержками и квадратичным контролем риска. Как рисунок 4, но с дополнительным шумом в вознаграждениях.
Рисунок A.8
Рисунок A.8. RL-агент с наибольшим вознаграждением для среды с пропорциональными торговыми издержками и риском типа maxpos. Как рисунок 5, но с дополнительным шумом в вознаграждениях.

Приложение B. Детали алгоритма

Кратко напомним основные элементы DDPG. DDPG — архитектура «актор-критик», где актор оценивает детерминированную политику, а критик — функцию ценности состояния-действия $Q$. Алгоритм обучается off-policy, опираясь на теорему о детерминированном градиенте политики вне политики [37].

Формально пусть $\beta(a|s)$ обозначает поведенческую политику, порождающую обучающие примеры, а $\rho^{\beta}$ — распределение состояний под $\beta$. Целевая функция в off-policy постановке, как определено в [38], есть

$$\mathcal{J}^{\beta}(\Theta) = \int_{s \in \mathcal{S}} \rho^{\beta}(s)\, \mathcal{V}_{\Theta}(s)\, ds = \int_{s \in \mathcal{S}} \rho^{\beta}(s)\, \mathcal{Q}_{\Theta}\left(s, \phi_{\Theta}(s)\right) ds$$

Здесь $\phi_{\Theta}$ — наша параметрическая детерминированная политика с параметром $\Theta$, $\mathcal{S}$ — пространство состояний, $\mathcal{Q}_{\Theta} = \mathcal{Q}^{\phi_{\Theta}}$ — функция ценности состояния-действия политики $\phi_{\Theta}$.

Теорема о градиенте политики вне политики утверждает:

$$\nabla_{\Theta} \mathcal{J}^{\beta}(\Theta) \approx \mathop{\mathbb{E}}_{s \sim \rho^{\beta}} \left[ \nabla_{\Theta} \phi_{\Theta}(s)\, \nabla_a \mathcal{Q}_{\Theta}(s,a)\big|_{a = \phi_{\Theta}(s)} \right]$$

Эта оценка полезна тем, что позволяет обновлять $\Theta$ градиентным подъёмом, не учитывая зависимость $\mathcal{Q}_{\Theta}$ от $\Theta$.

Рисунок B.9
Рисунок B.9. Схема обучения вне политики.

При обучении вне политики агент взаимодействует со средой, собирая опыт (обучающие примеры в виде кортежей $(s_t, a_t, \operatorname{rwd}_t, s_{t+1})$ — состояние, действие, вознаграждение, следующее состояние) в буфер воспроизведения, а затем выбирает обучающие батчи, чтобы обновить сначала критика, затем актора (рисунок B.9).

Исследование

Эпизод представляет собой проход по среде; агент всегда стартует с позиции $\pi_0 = 0$. Агент взаимодействует со средой, совершая действия $a_t = a_t^{pred} + \eta_t^{(a)}$ при текущей позиции $\pi_t$ и предикторе $p_t$:

$$\begin{cases} a_t^{pred} &= \phi^{\Theta}(p_t, \pi_t) \\ \eta_t^{(a)} &= \left(1 - \rho^{\text{expl}}\right)\eta_{t-1}^{(a)} + \sigma^{\text{expl}} \epsilon_t \\ \eta_0^{(a)} &= 0 \end{cases}$$

Здесь $\eta_t^{(a)}$ — шум исследования, следующий авторегрессионному процессу, с независимыми одинаково распределёнными $\epsilon_t \sim \mathcal{N}(0,1)$ и $\sigma^{\text{expl}} > 0$.

Обучение

Каждые $\tau$ шагов мы выбираем обучающий батч $(s_{t_j}, a_{t_j}, \operatorname{rwd}_{t_j}, s_{t_j+1})_{1 \leq j \leq b}$ размера $b$ из буфера воспроизведения. Это декоррелирует опыт внутри батча, так что оценка градиента менее смещена.

Обновление критика. Пусть $\mathcal{Q}$, $\widetilde{\mathcal{Q}}$, $\phi$ и $\widetilde{\phi}$ обозначают соответственно текущего критика, целевого критика, текущего актора и целевого актора с параметрами $w, \widetilde{w}, \Theta, \widetilde{\Theta}$. Для данного опыта $i$ в выбранном батче целевое $Q$-значение вычисляется целевой сетью критика, где действие выбирается целевой сетью актора:

$$\widetilde{Q}_i = \operatorname{rwd}_{t_i} + \gamma \widetilde{\mathcal{Q}}\left(s_{t_i+1}, \widetilde{\phi}\left(s_{t_i+1}\right)\right)$$

А $Q$-значение вычисляется текущей сетью критика: $Q_i = \mathcal{Q}\left(s_{t_i}, a_{t_i}\right)$. Затем потеря критика вычисляется через временную разность:

$$\mathcal{L}_{critic}(w) = \frac{1}{2b} \sum_{i=1}^{b} \left( \widetilde{Q}_i - Q_i \right)^2$$

где $b > 0$ — размер батча.

Обновление актора. По теореме о детерминированном градиенте политики вне политики текущая сеть актора обновляется градиентным спуском по функции потерь:

$$\mathcal{L}_{actor}(\Theta) = -\frac{1}{b} \sum_{i=1}^{b} \mathcal{Q}\left(s_i, \phi_{\Theta}(s_i)\right)$$

Обновление целевых сетей. Параметры целевых сетей критика и актора обновляются мягкими целевыми обновлениями:

$$\tilde{w} \leftarrow \tau_{critic} w + (1 - \tau_{critic})\tilde{w}, \qquad \widetilde{\Theta} \leftarrow \tau_{actor}\Theta + (1 - \tau_{actor})\widetilde{\Theta}$$

где $0 < \tau_{critic} < 1$ и $0 < \tau_{actor} < 1$. При этом методе параметры сетей обновляются медленно, что делает обучение стабильнее.

Буфер воспроизведения

При выборке из буфера воспроизведения могут применяться разные схемы. Мы выбираем приоритетное воспроизведение опыта [39], поскольку оно может ускорить обучение и улучшить сходимость. В таких буферах опыт взвешивается по величине его временной разности (TD-ошибки)

$$\delta\left(s, a, \operatorname{rwd}, s'\right) = \operatorname{rwd} + \gamma \max_{a'} \mathcal{Q}(s', a') - \mathcal{Q}(s, a)$$

и выбирается согласно распределению

$$P(i) = \frac{p_i^{\alpha}}{\sum_k p_k^{\alpha}}, \quad 1 \le i \le N, \quad 0 \le \alpha \le 1$$

где $N$ — размер буфера, $p_i = |\delta_i| + \epsilon$ — приоритет, а $\epsilon$ — малое положительное число, обеспечивающее ненулевую вероятность выборки для всех примеров.

Интуиция в том, что опыт с высокой по модулю TD-ошибкой хуже всего оценён критиком, поэтому увеличение частоты обучения на нём осмысленно.

Заметим, что неравномерная выборка вносит смещение в оценку градиента, которое можно скорректировать весами важностной выборки [40], используя $\alpha_i \delta_i$ вместо $\delta_i$ при обновлении критика, где

$$\alpha_i = \left(\frac{1}{N} \frac{1}{P(i)}\right)^{\beta}, \quad 0 \le \beta \le 1$$

Показатель $\beta$ отражает акцент на коррекции смещения. В наших экспериментах этот параметр линейно отжигается от начального значения $\beta_0$ до единицы, поскольку в начале коррекция смещения не так важна, как вблизи сходимости.

Литература

Оригинал статьи: Chaouki, A., Hardiman, S., Schmidt, C., Sérié, E., de Lataillade, J., «Deep Deterministic Portfolio Optimization», arXiv:2003.06497 · код: CFMTech/Deep-RL-for-Portfolio-Optimization