In-Sample and Out-of-Sample Sharpe Ratios for Linear Predictive Models
Антуан Жакье, Йоханнес Муле-Карбе, Джозеф Маллиган · Department of Mathematics, Imperial College London · Qube Research & Technologies · 2 декабря 2025 (arXiv v3)
Оригинал: Jacquier, A., Muhle-Karbe, J., Mulligan, J. «In-Sample and Out-of-Sample Sharpe Ratios for Linear Predictive Models», 2025 — arxiv.org/abs/2501.03938 (PDF, 36 страниц), лицензия CC BY 4.0.
Перевод выполнен с указанием источника в соответствии с условиями лицензии CC BY 4.0. Длинные доказательства и технические приложения сокращены; научное содержание основного текста сохранено.
Аннотация
Мы изучаем, насколько in-sample эффективность торговых стратегий, построенных на линейных предиктивных моделях, снижается out-of-sample из-за переобучения. Конкретно: вычисляем in-sample и out-of-sample средние и дисперсии соответствующих PnL и на их основе выводим замкнутое приближение для коэффициентов Шарпа. Оказывается, out-of-sample «коэффициент репликации» (replication ratio) падает для сложных стратегий с большим числом активов и многими слабыми, а не несколькими сильными сигналами, и растёт при увеличении объёма обучающих данных. Существенная количественная важность этих эффектов иллюстрируется симуляционным кейсом для товарных фьючерсов по методологии Gârleanu и Pedersen [GP13] и эмпирическим кейсом на датасете Goyal, Welch и Zafirov [GWZ24].
Ключевые слова: коэффициент Шарпа; переобучение; in-sample / out-of-sample; replication ratio; линейные предиктивные модели; портфель Марковица; momentum-сигналы; товарные фьючерсы; предсказание equity premium; бэктест.
Конфликт интересов. Авторы заявляют об отсутствии конфликта интересов.
Данные. Публичные цены товарных фьючерсов и датасет Goyal–Welch–Zafirov (страница Amit Goyal).
Финансирование. Qube Research & Technologies и EPSRC CDT in Mathematics of Random Systems (EP/S023925/1).
1. Введение
Стандартный путь построения систематических стратегий — подогнать предиктивную модель к историческим обучающим данным. Например, Gârleanu и Pedersen [GP13] регрессируют изменения цен товарных фьючерсов на прошлые доходности с разными окнами. По прогнозной модели строят стратегию (скажем, объединяя прогнозы по активам через mean-variance анализ) и «бэктестируют» её на истории. Out-of-sample эффективность на новых данных или в live-торговле обычно хуже in-sample. Но насколько хуже?
Ряд эмпирических работ показывает, что out-of-sample эффективность ETF, аномалий и других стратегий существенно ниже in-sample, с оценками, сильно зависящими от датасета [BL15; Wie+16; MP16; SLP17; FRT22]. Популярное правило большого пальца — «обрезать» in-sample на 50% [HL15]. Такие эвристики полезны, но мы ищем более систематический подход: оценивать out-of-sample эффективность по характеристикам стратегии без нового крупного симуляционного исследования при каждом изменении.
Фокус статьи — одно ключевое явление: переобучение (overfitting). Kan, Wang и Zheng [KWZ24] получают аналитические результаты для простейшей постановки с постоянными инвестиционными возможностями (ожидаемые доходности и ковариации не меняются во времени). Когда параметры оцениваются по конечной обучающей выборке, они выводят явные формулы для replication ratio — доли in-sample Sharpe, воспроизводимой out-of-sample.
Мы расширяем анализ к постановке ближе к Gârleanu–Pedersen и родственным работам: стратегии используют несколько торговых сигналов на актив и учитывают, что сигналы не полностью персистентны, а флуктуируют. Ожидаемые доходности — линейные функции iid сигналов из многомерного нормального распределения. При стремлении дисперсии сигналов к нулю восстанавливается модель с постоянными параметрами Kan–Wang–Zheng. Напротив, наши iid ожидаемые доходности соответствуют пределу короткоживущих сигналов в рамках Gârleanu–Pedersen.
Связь сигналов и ожидаемых доходностей оценивается линейной регрессией. Для портфелей, соответствующих plug-in оценке, мы вычисляем безусловные in- и out-of-sample средние и дисперсии PnL и выводим замкнутые приближения для replication ratio.
Основные качественные выводы. Как и у Kan–Wang–Zheng, replication ratio растёт с размером обучающей выборки и величиной «истинного» Sharpe стратегии (точного безусловного Sharpe в модели, а не по оценённым параметрам). При низком истинном Sharpe стратегии склонны к переобучению, и небольшие улучшения истинного Sharpe дают существенный прирост replication ratio. Когда истинный Sharpe достаточно велик, модель устойчивее, и ratio медленно стремится к 100%.
Напротив, replication ratio убывает с числом параметров модели. У Kan–Wang–Zheng это только число активов; у нас — и число активов, и число сигналов на актив. Вывод: сложные стратегии сильнее подвержены переобучению; это нужно балансировать достаточно длинными бэктестами.
Практическая релевантность проверяется симуляцией по реализации [GP13]: линейная предиктивная модель на товарных фьючерсах с momentum-сигналами служит симуляционным движком. Тестируем гауссовы и толстохвостые доходности, iid и авторегрессионные сигналы. Аналитические приближения очень точны в гауссовом iid случае, где они выведены, и хорошо работают при AR-сигналах с тяжёлыми хвостами — подтверждая практичность результатов.
В кейсе раздела 5 десятилетний бэктест даёт ожидаемый replication ratio всего около 30% (Рис. 1 в оригинале). Столь жёсткая «стрижка» связана с большим числом параметров; её можно смягчить регуляризацией или панельной регрессией, как в эмпирической части [GP13].
Дополнительно метод проверяется на датасете Goyal–Welch–Zafirov [GWZ24]: более 100 лет месячных сигналов для предсказания equity premium. Контролируя сложность составной стратегии и длину бэктеста, мы воспроизводим ключевые соотношения модели: больше сигналов — больше переобучения; длиннее бэктест и сильнее сигналы — проблема смягчается.
Практические выводы: опасайтесь стратегий с низким Sharpe; держите модели максимально простыми; используйте самый длинный разумный бэктест. Многое совпадает с интуицией практиков, но формулы позволяют оценить конкретный haircut по характеристикам бэктеста, а не правилом большого пальца. Симуляционная оценка haircut часто медленна; замкнутые выражения дают мгновенный расчёт ожидаемых out-of-sample стрижек.
Структура: §2 — модель и различие истинного и выборочных Sharpe; §3 — основные результаты; §4 — сравнение с литературой; §5 — симуляция на товарных фьючерсах; §6 — датасет GWZ; §7 — заключение. Приложения A–D — выводы и Monte Carlo; подробные доказательства сокращены в переводе.
Другой важный драйвер падения out-of-sample эффективности — multiple testing [BL14; HL15]. Мы фокусируемся на переобучении с позиции одного теста.
2. Постановка модели
Исследователь хочет подогнать линейную модель прогноза доходностей активов и торговать по прогнозам. Доступны исторические данные в дискретные моменты $\mathcal{T}_1=\{0,\ldots,T_1\}$. Доходности на шаг — $r_{t+1}\in\mathbb{R}^m$, предиктивные сигналы — $s_t\in\mathbb{R}^p$. Предполагается линейная связь с параметром $\beta\in\mathbb{R}^{m\times p}$:
\[ r_{t+1} = \beta s_t + \epsilon_{t+1}, \]где $\epsilon_{t+1}\in\mathbb{R}^m$ — необъяснённые остатки. Последовательности $\{s_t\}$ и $\{\epsilon_{t+1}\}$ независимы друг от друга и iid во времени с многомерными гауссовыми распределениями:
\[ s\sim\mathcal{N}(\mu_s,\Sigma_s),\qquad e\sim\mathcal{N}(0,\Sigma_\epsilon). \]Торговые сигналы обычно предполагают авторегрессионными [GP13]. Однако iid-предположение [DL18] существенно упрощает выкладки; симуляции §5 показывают, что формулы хорошо приближают и AR-сигналы, подогнанные по методологии эмпирической части [GP13].
Без потери общности сигналы центрированы, кроме возможного intercept: $\mu_s=(\mu_{s,1},0,\ldots)$, где $\mu_{s,1}=1$, если есть константа, и $0$ иначе. Удаление intercept упрощает выражения, но общий вид полезен для long-only equity-портфелей с дрейфом.
При известном $\beta$ сигнал $s_t$ даёт условное ожидание $\mathbb{E}_t[r_{t+1}]=\beta s_t$, и портфель имеет вид $w_t=Z\beta s_t$, где $Z\in\mathbb{R}^{m\times m}$ — симметричная матрица весов. Однопериодный Марковиц: $w_t=\Sigma_t^{-1}\mu_t$. Здесь
\[ \mathbb{E}_t[\beta s_t+\epsilon_{t+1}]=\beta s_t,\qquad \mathrm{Cov}_t[\beta s_t+\epsilon_{t+1}]=\Sigma_\epsilon, \]поэтому оптимальный одношаговый портфель — $w_t=Z\beta s_t$ с $Z=\Sigma_\epsilon^{-1}$. Другие выборы $Z$: $\mathrm{diag}(\Sigma_\epsilon)^{-1}$ (inverse-variance) или $I_m$ (риск-индифферентный портфель). PnL на шаг:
\[ \mathrm{PnL}_t = w_t^\top r_{t+1}. \]2.1. Истинный коэффициент Шарпа
Обычный Sharpe — отношение выборочного среднего ряда доходностей к выборочному стандартному отклонению. В модели его «истинный» аналог — отношение ожидаемой доходности к стандартному отклонению дневного PnL, усреднённое по распределениям сигнала и шума:
\[ \mathrm{SR} := \frac{\mathbb{E}[\mathrm{PnL}_t]}{\sqrt{\mathbb{V}[\mathrm{PnL}_t]}} = \frac{\mathbb{E}\bigl[(Z\beta s_t)^\top(\beta s_t+\epsilon_{t+1})\bigr]}{\sqrt{\mathbb{V}\bigl[(Z\beta s_t)^\top(\beta s_t+\epsilon_{t+1})\bigr]}}. \tag{2.1} \]Через тождества для квадратичных ожиданий гауссовых векторов:
\[ \mathrm{SR} = \frac{\mathrm{tr}(G\Sigma_s)+\mu_s^\top G\mu_s}{\sqrt{2\,\mathrm{tr}((G\Sigma_s)^2)+4\mu_s^\top G\Sigma_s G\mu_s+\mathrm{tr}(F\Sigma_s)+\mu_s^\top F\mu_s}}, \tag{2.2} \]где
\[ F := \beta^\top Z\Sigma_\epsilon Z\beta,\qquad G := \beta^\top Z\beta. \]При $\mu_s=0$ (без intercept) упрощение:
\[ \mathrm{SR} = \frac{\mathrm{tr}(\beta^\top Z\beta\Sigma_s)}{\sqrt{2\,\mathrm{tr}((\beta^\top Z\beta\Sigma_s)^2)+\mathrm{tr}(\beta^\top Z\Sigma_\epsilon Z\beta\Sigma_s)}}. \]Числитель растёт с нормой Фробениуса $\|\beta\|_F$ (мера предсказуемости), но растёт и знаменатель. Для одного актива/сигнала Sharpe монотонен по $\|\beta\|_F$; при многих активах/сигналах связь неочевидна. Sharpe растёт при улучшении signal-to-noise (меньше $\|\Sigma_\epsilon\|_F$). Связь с $\Sigma_s$ в общем не монотонна, но при параметрах, близких к кейсу §5, Sharpe обычно растёт при росте $\|\Sigma_s\|_F$ относительно $\|\Sigma_\epsilon\|_F$.
2.2. In-sample коэффициент Шарпа
На практике $\beta$ оценивают. OLS: складываем доходности в матрицу $R\in\mathbb{R}^{m\times T_1}$, сигналы в $S\in\mathbb{R}^{p\times T_1}$:
\[ \hat\beta = R S^\top (S S^\top)^{-1}. \tag{2.3} \]Оценка несмещённая, $L^2$-оптимальная, состоятельная и т.д., но естественно переобучена на конкретные реализации сигнала и доходностей in-sample периода, которые out-of-sample будут другими.
Кроме того, использование той же оценки для бэктеста на тех же данных индуцирует look-ahead bias: параметры оцениваются по полной выборке и затем тестируются на ней же. Walk-forward регрессия [Jou+24] избегает look-ahead, но не устраняет переобучение.
Подставляя модель в (2.3) и складывая остатки в $E\in\mathbb{R}^{m\times T_1}$:
\[ \hat\beta = \beta + E S^\top (S S^\top)^{-1}. \]Оценка = истина + ошибка выборки. Портфель $\hat w_t = Z\hat\beta s_t$ даёт выборочные среднее и дисперсию на обучающих данных:
\[ \hat{\mathbb{E}}\bigl[(\widehat{\mathrm{PnL}}_t)_{t\in\mathcal{T}_1}\bigr] = \frac{1}{T_1}\sum_{t=0}^{T_1-1}\widehat{\mathrm{PnL}}_t, \tag{2.4} \] \[ \hat{\mathbb{V}}\bigl[(\widehat{\mathrm{PnL}}_t)_{t\in\mathcal{T}_1}\bigr] = \frac{1}{T_1-1}\sum_{t=0}^{T_1-1}\Bigl(\widehat{\mathrm{PnL}}_t-\hat{\mathbb{E}}[\cdots]\Bigr)^2, \tag{2.5} \] \[ \mathrm{SR_{IS}} := \frac{\hat{\mathbb{E}}\bigl[(\widehat{\mathrm{PnL}}_t)_{t\in\mathcal{T}_1}\bigr]}{\sqrt{\hat{\mathbb{V}}\bigl[(\widehat{\mathrm{PnL}}_t)_{t\in\mathcal{T}_1}\bigr]}}. \]Разложение выборочного PnL при $Z=\Sigma_\epsilon^{-1}$:
\[ \begin{aligned} \widehat{\mathrm{PnL}}_t &= (\Sigma_\epsilon^{-1}\hat\beta s_t)^\top(\beta s_t+\epsilon_{t+1}) \\ &= (\Sigma_\epsilon^{-1}\beta s_t)^\top\beta s_t + (\Sigma_\epsilon^{-1}\beta s_t)^\top\epsilon_{t+1} &&\text{(истина)}\\ &\quad + \bigl(\Sigma_\epsilon^{-1} E S^\top(SS^\top)^{-1}s_t\bigr)^\top\beta s_t &&\text{(ошибка оценки)}\\ &\quad + \bigl(\Sigma_\epsilon^{-1} E S^\top(SS^\top)^{-1}s_t\bigr)^\top\epsilon_{t+1}. &&\text{(переобучение)} \end{aligned} \]Член ошибки оценки имеет нулевое ожидание и in-, и out-of-sample ($\mathbb{E}[E]=0$). Член переобучения имеет нулевое ожидание только out-of-sample — отсюда инфляция ожидаемой доходности in-sample (look-ahead). В обоих периодах дисперсия выборочного PnL выше, чем при истинном $\beta$ (см. Предложение 3.1).
2.3. Out-of-sample коэффициент Шарпа
После оценки модели на обучении её разворачивают на $\mathcal{T}_2=\{T_1+1,\ldots,T_1+T_2+1\}$. Аналогично определяют
\[ \mathrm{SR_{OOS}} := \frac{\hat{\mathbb{E}}\bigl[(\widehat{\mathrm{PnL}}_t)_{t\in\mathcal{T}_2}\bigr]}{\sqrt{\hat{\mathbb{V}}\bigl[(\widehat{\mathrm{PnL}}_t)_{t\in\mathcal{T}_2}\bigr]}}. \]В будущем периоде $\hat\beta$ не подогнан к конкретным наблюдениям доходностей и сигналов, поэтому $\mathrm{SR_{OOS}}$ обычно ниже $\mathrm{SR_{IS}}$. Из выводов ниже также следует, что $\mathrm{SR_{OOS}}$ ниже истинного SR: ошибка оценки $\beta$ повышает волатильность относительно торговли с истинным $\beta$. Вопросы: насколько ниже? Что смягчает смещение?
3. Основные результаты
Безусловные $\mathbb{E}[\mathrm{SR_{IS}}]$ и $\mathbb{E}[\mathrm{SR_{OOS}}]$ в замкнутом виде не вычисляются. Можно вычислить ожидаемые средние и дисперсии in- и out-of-sample доходности. Для ясности изложения даём главный результат в частном (но крайне распространённом) случае: $Z=\Sigma_\epsilon^{-1}$, $\mu_s=0$, $\Sigma_s=I_p$ — Марковиц для центрированных стандартизованных сигналов. Влияние оценки ковариации при построении портфеля — §3.3. Общий случай — Приложение B.
Предложение 3.1
Ожидаемые средние in-sample и out-of-sample PnL:
\[ \mathbb{E}\!\Bigl[\hat{\mathbb{E}}\bigl[(\widehat{\mathrm{PnL}}_t)_{t\in\mathcal{T}_1}\bigr]\Bigr] = \mathrm{tr}(\Gamma)+\frac{pm}{T_1}, \] \[ \mathbb{E}\!\Bigl[\hat{\mathbb{E}}\bigl[(\widehat{\mathrm{PnL}}_u)_{u\in\mathcal{T}_2}\bigr]\Bigr] = \mathrm{tr}(\Gamma). \]Ожидаемые дисперсии:
\[ \mathbb{E}\!\Bigl[\hat{\mathbb{V}}\bigl[(\widehat{\mathrm{PnL}}_t)_{t\in\mathcal{T}_1}\bigr]\Bigr] = 2\,\mathrm{tr}(\Gamma^2)+(c_1+\tilde c_1)\,\mathrm{tr}(\Gamma)+c_2+\tilde c_2+\varepsilon, \] \[ \mathbb{E}\!\Bigl[\hat{\mathbb{V}}\bigl[(\widehat{\mathrm{PnL}}_u)_{u\in\mathcal{T}_2}\bigr]\Bigr] = 2\,\mathrm{tr}(\Gamma^2)+c_1\,\mathrm{tr}(\Gamma)+c_2, \]где $\Gamma=\beta^\top\Sigma_\epsilon^{-1}\beta$ и
\[ \begin{aligned} c_1 &= 1+\frac{p+1}{T_1-p-1},\\ \tilde c_1 &= \frac{2p+5}{T_1-p-1}+\frac{2m(p^2+p+2T_1)}{T_1(T_1-p-1)},\\ c_2 &= \frac{mp}{T_1-p-1},\\ \tilde c_2 &= \frac{mp(2m+p+T_1+4)}{T_1(T_1+2)}-\frac{2m^2 p^2}{T_1(T_1+2)}-\frac{mp}{T_1-p-1}, \end{aligned} \tag{3.1} \]а $\varepsilon$ — сумма следов ковариаций между $(SS^\top)^{-1}$ и квадратичными формами по отдельным $s_t$ (явная формула в оригинале; замкнутого выражения нет).
Доказательство опирается на ожидания гауссовых векторов/матриц, свойства проекционных матриц и матричную статистику (Приложение C оригинала). Out-of-sample среднее и дисперсия и in-sample среднее — явные. In-sample дисперсия почти явная, кроме $\varepsilon$. На практике $\varepsilon$ отбрасывают: он обычно мал относительно остальных членов (§3.1).
Замечание 1 (ожидаемая средняя доходность). In-sample доходность завышена на $pm/T_1$. При росте $T_1$ in-sample PnL сходится к out-of-sample. При росте числа сигналов $p$ bias переобучения становится произвольно большим. Рост числа активов $m$ также инфляцирует in-sample PnL.
Замечание 2 (ожидаемая дисперсия). $\tilde c_1>0$ при $T_1>p+1$ (обычно так и есть). Знак $\tilde c_2$ зависит от сочетания $T_1$, $m$ и $p$. Как правило, при $p<m$ (с некоторой сублинейностью при больших $m$) $\tilde c_2>0$; при большом $T_1$ нужно $p\gg m$, чтобы $\tilde c_2<0$. Переобучение $\beta$ делает in-sample дисперсию чуть выше out-of-sample при малых $m$ и существенно выше при больших $m$. Out-of-sample дисперсия может быть намного выше истинной — поэтому out-of-sample Sharpe ниже теоретического при известном $\beta$.
3.1. Точность приближения in-sample дисперсии
В симуляции на товарных фьючерсах (§5) член $\varepsilon$ отрицателен, но мал: оценённая дисперсия примерно на 3% меньше аналитики с $\varepsilon=0$. Для робастности отдельно симулируют параметры из распределений, центрированных вокруг эмпирических точечных оценок (Приложение D). При $T_1$ достаточно большем $p$ величина $|\varepsilon|$ мала: менее 3%
3.2. Коэффициент репликации (replication ratio)
В силу Предложения B.1 и §3.1 предлагаем приближения ожидаемых Sharpe:
\[ \mathbb{E}[\mathrm{SR_{IS}}]\approx \mathrm{SR_{EIS}} := \frac{\mathbb{E}\bigl[\hat{\mathbb{E}}((\widehat{\mathrm{PnL}}_t)_{t\in\mathcal{T}_1})\bigr]}{\sqrt{\mathbb{E}\bigl[\hat{\mathbb{V}}((\widehat{\mathrm{PnL}}_t)_{t\in\mathcal{T}_1})\bigr]}}, \tag{3.2} \] \[ \mathbb{E}[\mathrm{SR_{OOS}}]\approx \mathrm{SR_{EOOS}} := \frac{\mathbb{E}\bigl[\hat{\mathbb{E}}((\widehat{\mathrm{PnL}}_t)_{t\in\mathcal{T}_2})\bigr]}{\sqrt{\mathbb{E}\bigl[\hat{\mathbb{V}}((\widehat{\mathrm{PnL}}_t)_{t\in\mathcal{T}_2})\bigr]}}, \]с $\varepsilon=0$ в in-sample дисперсии. Предполагается, что разница между ожиданием отношения и отношением ожиданий (convexity adjustment) мала. Симуляции подтверждают: максимум ошибки 0.01 для in-sample Sharpe и 0.005 для out-of-sample
Replication ratio — доля $\mathrm{SR_{EOOS}}/\mathrm{SR_{EIS}}$ in-sample Sharpe, восстанавливаемая out-of-sample. 100% — полная репликация; 0% — нулевой out-of-sample Sharpe (например, $\beta=0$, сигналы полностью неинформативны).
Одномерный случай
Один актив ($m=1$), один динамический сигнал без intercept ($p=1$), масштабирование $\sigma_s=\sigma_\epsilon$. Формулы упрощаются:
\[ \mathrm{SR}=\frac{\beta^2}{\sqrt{2\beta^4+\beta^2}}, \]и $\mathrm{SR_{EIS}}$, $\mathrm{SR_{EOOS}}$ зависят только от $T_1$ и $\beta$ (эквивалентно — от истинного SR). Replication ratio (3.3) в оригинале — явная рациональная функция этих величин.
Heat map (Рис. 5 оригинала): при росте Sharpe (или $\beta$) переобучение слабее; при $\beta\to\infty$ ratio $\to 100\%$. Аналогично разница in-/out-of-sample исчезает при $T_1\to\infty$. Обе зависимости нелинейны: большие начальные улучшения, затем насыщение.
Многомерный случай
Пример: in-sample Sharpe $=2$, десятилетний дневной бэктест ($T_1=2520$), некоррелированные активы и сигналы $\Sigma_s=I_p$, $\Sigma_\epsilon=I_m$, $\mu_s=0$, $Z=I_m$, $\beta=k\mathbf{1}_{m,p}$. Это «худший» сценарий переобучения: независимые сигналы и доходности дают максимум свободы модели. Replication ratio принимает вид (3.4) с константами $c_i,\tilde c_i$ из (3.1).
При фиксированном $\mathrm{SR_{EIS}}=3$ ratio (3.4) быстрее падает по $p$ при росте $m$: каждый дополнительный актив или сигнал увеличивает свободу переобучения на историю.
Смягчение: уменьшить число параметров — pooled/panel-регрессия с общими (после нормализации) сигналами для всех активов. [GP13] нормализуют momentum-сигналы по активам и оценивают один коэффициент на сигнал для всех акций, а не stock-specific коэффициенты. Активы могут по-разному реагировать на стимулы, но выигрыш от меньшего числа параметров часто важнее. В §5 панельная регрессия поднимает replication ratio с ~30% до ~70% на десятилетнем бэктесте (в симуляции; на реальных данных — см. ниже).
Важно: обсуждение выше при фиксированном Sharpe при росте $m$. Обычно Sharpe растёт при добавлении некоррелированных активов (диверсификация). При одном сигнале и растущем числе активов, на которых сигнал работает одинаково хорошо: если активы полностью независимы, добавление активов повышает и replication ratio, и out-of-sample Sharpe. Уже при 1% средней корреляции ratio становится монотонно убывающим; при 10% корреляции даже out-of-sample Sharpe перестаёт выигрывать от числа активов. Итог: добавлять активы в целом плохо для replication ratio; но низкокоррелированные активы с устойчивой предсказательной силой полезны для out-of-sample.
3.3. Неизвестные ковариации
В Предложении 3.1 предполагалась известная $\Sigma_\epsilon$ при построении $\hat w_t$. На практике её тоже оценивают. Оценка ковариации обычно вторична относительно ошибки $\beta$ [BBP17].
Аналитика replication ratio при оценке ковариации уже недостижима; используют Monte Carlo (30 000 выборок, параметры вокруг эмпирических оценок §5). Портфели строят либо с истинной $\Sigma_\epsilon^{-1}$, либо с оценённой $\hat\Sigma_\epsilon^{-1}$.
В высокоразмерном режиме $m>T_{\mathrm{eff}}=T_1-1$ выборочная ковариация вырождена. Используют trace-preserving linear shrinkage:
\[ \hat\Sigma_{\mathrm{reg}} = \alpha\hat\Sigma_\epsilon + \gamma I_m, \]где $\alpha,\gamma$ зависят от $q=m/T_{\mathrm{eff}}$. При $q>1$: $\alpha=1/q$, $\gamma=(1-1/q)\bar\lambda$, $\bar\lambda=\mathrm{tr}(\hat\Sigma_\epsilon)/m$ — сохранение следа и обратимость. При $q<1$ берут $\hat\Sigma_\epsilon$ напрямую.
Результаты (Рис. 8 оригинала): при $m=20$ оценки с истинной и выборочной ковариацией почти совпадают. При $m=500$ in-sample Sharpe дополнительно раздут при оценке ковариации. Если $T<m$ (вырожденность), out-of-sample Sharpe с оценённой ковариацией почти нулевой; при $T>m$ оценённый портфель даже слегка превосходит построенный с истинной ковариацией, а replication ratio хорошо согласован даже при большом $m$.
3.4. Авторегрессионные сигналы
Для аналитической податливости предполагались iid сигналы и остатки. Типично [GP13] сигнал — AR(1), инвестиционные возможности автокоррелированы. Для простейшего случая одного актива и одного AR(1)-сигнала
\[ r_{t+1}=\beta s_t+\epsilon_{t+1},\qquad s_t=\phi s_{t-1}+u_t, \]с $\epsilon_{t+1}\sim\mathcal{N}(0,1)$ и центрированным белым шумом $u_t$ единичной дисперсии ($|\phi|<1$), истинный Sharpe:
\[ \mathrm{SR}=\frac{\beta^2\sigma_s^2}{\sqrt{2\beta^4\sigma_s^4+\beta^2\sigma_s^2}}=\frac{\beta}{\sqrt{1+2\beta^2-\phi^2}}, \tag{3.5} \]где использована куртозис $\kappa_s=3$ для нормального $u_t$ и $\sigma_s^2=1/(1-\phi^2)$, $w_t=\beta s_t$, $\beta>0$.
Monte Carlo: $T_2=1260$, $T_1\in\{252,1260,2520\}$, $\phi\in\{0,0.5,0.9,0.99,0.999\}$, $\mathrm{SR}\in[0,2]$. $\phi=0.9$ — half-life ~6.5 дневных шагов; $\phi=0.999$ — ~690. Параметр $\beta$ калибруют по (3.5) под заданный истинный SR.
Вывод (Рис. 9): пока $\phi$ не очень близко к 1 ($>0.99$), отличие от iid ($\phi=0$) удивительно мало. Предположение iid на практике слабо влияет на replication ratio.
4. Сравнение с литературой
Ближайшая работа — Kan, Wang, Zheng [KWZ24]: ожидаемые in- и out-of-sample Sharpe портфеля Марковица для $m$ активов с ожидаемыми доходностями, оценёнными на выборке размера $T$. Ожидаемый in-sample Sharpe выражается через гамма-функцию и конфлюэнтную гипергеометрическую ${}_1F_1$; аналогично — out-of-sample (явные формулы в оригинале).
В рамках [GP13] постановка [KWZ24] соответствует одному бесконечно персистентному сигналу на актив ($\phi\to 1$). Мы рассматриваем несколько быстро затухающих сигналов ($\phi\to 0$) — типичные momentum-стратегии с несколькими скользящими средними. Рис. 10: при $T=T_1=T_2=2520$, $\mathrm{SR}=1.5$ и варьируемом $m$ haircut при $p=1$ близок к [KWZ24], а при $p=10$ существенно жёстче. Условие — фиксированный истинный SR: сила каждого сигнала падает с ростом $p$; на практике добавление сигналов — trade-off между ростом истинного SR и риском переобучения.
Общий вывод обеих работ: нелинейная зависимость replication ratio от истинного Sharpe. При малых истинных Sharpe ожидаемый out-of-sample сильно ниже in-sample. Практический вывод: лучше одна стратегия с высоким Sharpe, чем много слабых. Это согласуется с высказыванием Peter Muller (PDT Partners) [Mul01]: лучше оттачивать одну стратегию, чем собирать много слабых; глубина важнее ширины; предпочтительнее одна стратегия с ожидаемым Sharpe 2, чем «2.5» из пяти якобы некоррелированных стратегий с Sharpe 1.
5. Прогноз товарных фьючерсов
Следуем эмпирической части Gârleanu–Pedersen [GP13]. Выбраны товарные фьючерсы (Таблица 1); close ближайших к экспирации контрактов, май 1998 — декабрь 2023; дневные доходности — close-to-close процентные изменения.
| Товар | Площадка | Тикер |
|---|---|---|
| Алюминий | LME | MAL3=LX |
| Медь | LME | MCU3=LX |
| Никель | LME | MNI3=LX |
| Цинк | LME | MZN3=LX |
| Свинец | LME | MPB3=LX |
| Gasoil | ICE | LGOc1 |
| WTI | NYMEX | CLc1 |
| Золото | COMEX | GCc1 |
| Серебро | COMEX | SIc1 |
| Кофе | NYBOT | KCc1 |
| Какао | NYBOT | CCc1 |
| Сахар | NYBOT | SBc1 |
Как в [GP13], вычисляют 5-дневный, 1-летний и 5-летний Sharpe по каждому активу и используют как сигналы — нормализованные аналоги скользящих средних momentum-стратегий. Сигналы центрируют и приводят к единичной дисперсии (удобно для $L^2$-регуляризации при калибровке симуляционного движка; центрирование — условие теоретической модели). Итого 36 динамических кросс-секционных сигналов плюс asset-specific intercept — 37 регрессоров на актив.
Для сравнения аналитических $\mathrm{SR_{EIS}}$, $\mathrm{SR_{EOOS}}$ с усреднёнными наблюдаемыми аналогами нужна не одна историческая реализация: симулируют много реализаций подогнанной модели.
Оценка модели $r_{t+1}=\beta s_t+\epsilon_{t+1}$: $\beta\in\mathbb{R}^{37\times 12}$ — ridge с $\gamma=0.1$; ковариации сигналов $\Sigma_s$ и остатков $\Sigma_\epsilon$ — из истории (средние нулевые по построению).
Для non-iid / non-Gaussian: AR(1) на не-intercept сигналах $s'_t=\Phi s'_{t-1}+u_t$; $t$-распределения по измерениям остатков и шоков с толстыми хвостами; исходная ковариационная структура через Cholesky $\Sigma_\epsilon$ или $\Sigma_u$.
Симулируют 10 000 реализаций при Gaussian IID и при AR(1)+толстые хвосты. Контекст: средняя корреляция сигналов ~20% (большинство низкая, несколько очень высокая); средняя корреляция остатков ~28%; средний excess kurtosis остатков ~9; диагональ $\Phi$ в среднем 0.88, внедиагональ 0.02.
Панельная регрессия vs полная модель. Структурное предположение, что нормализованные momentum-сигналы имеют универсальные веса по активам, сокращает число параметров с $444$ ($m=12$, $p=37$) до $3$. В симуляции (данные генерируются полной моделью, портфель — панельной): replication ratio ~70% против ~38% при полной регрессии; ниже in-sample Sharpe (0.9 vs 8.2), но стабильнее out-of-sample (0.6 vs 3.1). На реальных данных панельный портфель не только лучше реплицирует (68% vs 9%), но и имеет выше out-of-sample Sharpe (0.5 vs 0.3) при худшем in-sample (0.7 vs 3.6). Это подкрепляет совет предпочитать простые модели.
Дополнительно: влияние $\hat\Sigma_\epsilon$ вместо истинной $\Sigma_\epsilon$ — минимально (Приложение E; согласуется с §3.3).
5.1. Гауссовы iid сигналы и остатки
Данные генерируются в соответствии с ключевыми предположениями. Симулируют 13 лет (252 торговых дня/год): 10 лет in-sample, 3 — out-of-sample. OLS $\hat\beta=RS^\top(SS^\top)^{-1}$ с $R\in\mathbb{R}^{12\times 2520}$, $S\in\mathbb{R}^{37\times 2520}$; портфель $\hat w_t=\Sigma_\epsilon^{-1}\hat\beta s_t$ с истинной исторической ковариацией.
Рис. 11 оригинала: симулированные ожидаемые in-/out-of-sample Sharpe и replication ratio идеально совпадают с аналитикой при реалистичных параметрах. Сравнение $\mathbb{E}[\mathrm{SR_{IS}}]$ с $\mathrm{SR_{EIS}}$ и аналогично для OOS. Средние метрики — Таблица 2.
| Аналитика | Gaussian + IID | t + AR(1) | |||
|---|---|---|---|---|---|
| True Cov | Est. Cov | True Cov | Est. Cov | ||
| IS mean $\mu$ | 0.28 | 0.28 | 0.29 | 0.31 | 0.32 |
| IS variance $\sigma^2$ | 0.30 | 0.30 | 0.30 | 0.41 | 0.38 |
| IS Sharpe $\mathrm{SR_{IS}}$ | — | 8.24 | 8.26 | 7.95 | 8.12 |
| $\mu/\sigma$ ($\mathrm{SR_{EIS}}$) | 8.22 | 8.24 | 8.26 | 7.72 | 8.10 |
| OOS mean $\mu$ | 0.11 | 0.11 | 0.11 | 0.14 | 0.14 |
| OOS variance $\sigma^2$ | 0.29 | 0.29 | 0.30 | 0.59 | 0.62 |
| OOS Sharpe $\mathrm{SR_{OOS}}$ | — | 3.14 | 3.13 | 2.83 | 2.83 |
| $\mu/\sigma$ ($\mathrm{SR_{EOOS}}$) | 3.13 | 3.14 | 3.13 | 2.79 | 2.79 |
| $\mathrm{SR_{OOS}}/\mathrm{SR_{IS}}$ | — | 38% | 38% | 36% | 35% |
| $\mathrm{SR_{EOOS}}/\mathrm{SR_{EIS}}$ | 38% | 38% | 38% | 36% | 34% |
5.2. AR(1)-сигналы и $t$-распределённые остатки/шоки
Даже при нарушении предположений аналитический replication ratio остаётся близким к симуляционному (Рис. 12). Толстые хвосты снижают и in-sample, и out-of-sample Sharpe. AR(1) вместо iid слабо снижает out-of-sample Sharpe. Поскольку оба Sharpe затронуты non-Gaussian доходностью, а эффект AR(1) мал, replication ratio почти совпадает с аналитическим значением при Gaussian iid. Это подтверждает практическую релевантность аналитики.
6. Эмпирическое исследование: датасет Goyal–Welch–Zafirov
Датасет
Месячные / квартальные / годовые сигналы литературы для предсказания equity premium индекса CRSP US. Используем месячные предикторы: 39 с данными хотя бы частично с 1926 по 2024 (~1200 месяцев). Разнообразие: макро, sentiment, variance-related, кросс-секция акций, техника, цены сырья [GWZ24]. Предобработка по [KMZ24]: доходности нормализуют скользящей 12-месячной волатильностью, сигналы — expanding volatility.
Эмпирическая методология
Аналитика даёт ожидаемый replication ratio — нужно усреднение, чтобы сгладить случайный over-/underperformance конкретных сигналов и периодов. Повторно выбирают случайные группы сигналов размера от 1 до 39; случайные суммарные длины 10–70 лет; хронологический split на in- и out-of-sample, оба ≥5 лет. 5 000 000 выборок. Ограничение: полное покрытие данных по выбранным сигналам на всём окне $T_1+T_2$.
Предикторы центрируют на всём окне и whitening через Cholesky выборочной ковариации; добавляют столбец единиц (intercept). OLS $\hat\beta$ на in-sample; тест на in- и out-of-sample с Марковицем $\hat w_t=\hat\Sigma_\epsilon^{-1}\hat\beta s_t$, где $\hat\Sigma_\epsilon$ — из in-sample остатков. Один актив (CRSP) — $\hat\Sigma_\epsilon$ сводится к дисперсии остатков $\sigma_\epsilon^2$, относительно легко оцениваемой.
Оценка параметров для аналитики
Получают пары $\mathrm{SR_{IS}}$, $\mathrm{SR_{OOS}}$. Главные драйверы отношения: $p$, $T_1$, сила сигнала $\beta$. $p$ и $T_1$ известны; $\beta$ нужно оценить. Прямое использование $\hat\beta$ даёт плохие аналитические оценки. Калибруют implied $\beta^\star$ минимизацией расхождения наблюдаемого OOS Sharpe и аналитического $\mathrm{SR_{EOOS}}$:
\[ \beta^\star = \arg\min_\beta\bigl(\mathrm{SR_{OOS}}-\mathrm{SR_{EOOS}}(\mu_s,\Sigma_s,\Sigma_\epsilon,T_1,\beta)\bigr)^2. \]Калибровка отдельно для каждого resample. Intercept в $\beta$ фиксируют нулём (прогноз day-to-day движений, не безусловный дрейф). Для активных сигналов $\mu_s=0$, $\Sigma_s=I_p$ (whitening); $\Sigma_\epsilon\approx\hat\Sigma_\epsilon$; $T_1$ — длина in-sample. Упрощённая форма: равная сила сигналов $\beta=(0,k,k,\ldots)$; root-finding по $k$. $\beta^\star$ — локальная калибровка истинного Sharpe для данного набора сигналов и периода.
Анализ
Эмпирические метрики — точки с измерением ошибкой; аналитические — ожидания. Усредняют по ключевым переменным $p$, $T_1$, истинный SR: эффект выбора сигналов/периодов и finite-sample ошибка усредняются.
Рис. 13 оригинала: ожидаемое отношение OOS/IS Sharpe, отношение ожиданий и аналитический replication ratio близки друг к другу.
- По $p$: replication ratio заметно падает с ростом числа сигналов.
- По $T_1$: в целом растёт с длиной бэктеста (средние по бинам + гладкая аппроксимация).
- По implied истинному Sharpe: растущее поведение; эмпирическое отношение ожиданий ближе к аналитике, чем ожидание отношений.
| Аналитика | Эмпирика | |
|---|---|---|
| IS mean $\mathbb{E}[\mu]$ | 0.19 | 0.33 |
| IS variance $\mathbb{E}[\sigma^2]$ | 0.32 | 0.87 |
| IS Sharpe $\mathbb{E}[\mathrm{SR_{IS}}]$ | — | 1.33 |
| $\mu/\sigma$ ($\mathbb{E}[\mathrm{SR_{EIS}}]$) | 1.16 | 1.21 |
| OOS mean $\mathbb{E}[\mu]$ | 0.09 | 0.41 |
| OOS variance $\mathbb{E}[\sigma^2]$ | 0.27 | 44.58 |
| OOS Sharpe $\mathbb{E}[\mathrm{SR_{OOS}}]$ | — | 0.18 |
| $\mu/\sigma$ ($\mathbb{E}[\mathrm{SR_{EOOS}}]$) | 0.18 | 0.21 |
| $\mathbb{E}[\mathrm{SR_{OOS}}/\mathrm{SR_{IS}}]$ | — | 52% |
| $\mathbb{E}[\mathrm{SR_{OOS}}]/\mathbb{E}[\mathrm{SR_{IS}}]$ | — | 46% |
| $\mathbb{E}[\mathrm{SR_{EOOS}}/\mathrm{SR_{EIS}}]$ | 54% | — |
| $\mathbb{E}[\mathrm{SR_{EOOS}}]/\mathbb{E}[\mathrm{SR_{EIS}}]$ | 52% | — |
Сырые mean/variance расходятся в основном из-за масштаба и тяжёлых хвостов эмпирической OOS-дисперсии (мода ~0.05–0.09, медиана ~0.12–0.49; среднее 44.58 раздуто редкими огромными дисперсиями при почти нулевом OOS Sharpe). Scale-invariant Sharpe — более робастная метрика сравнения. Аналитический $\mathbb{E}[\mathrm{SR_{EIS}}]=1.16$ близок к эмпирическому 1.21; OOS: аналитика 0.18 vs наблюдаемое 0.18. Replication ratios по разным агрегациям — 46–54%.
7. Заключение
Статья выводит аналитические приближения in-sample и out-of-sample Sharpe портфелей, построенных по линейным предиктивным моделям. Слишком большое число сигналов или активов делает процедуру уязвимой к переобучению и даёт сильно завышенные in-sample Sharpe.
Сигналы с низким истинным Sharpe особенно уязвимы. Удлинение in-sample периода снижает риск переобучения и повышает out-of-sample replication ratio.
На товарных фьючерсах с momentum-сигналами AR(1) и non-Normal сигналы/остатки существенно не ломают валидность результатов. После согласования теоретического out-of-sample Sharpe с наблюдаемым replication ratio в основном функция out-of-sample Sharpe; кривые для AR(1) близки к iid.
Лучший способ минимизировать переобучение: минимизировать число сигналов и активов в предиктивной модели для торговли и использовать максимально возможный объём данных. В духе Nick Patterson [Pat16] о опыте Renaissance Technologies: самое важное в анализе данных — правильно делать простые вещи; важнейший статистический инструмент — простая регрессия с одной целью и одной независимой переменной.
Disclaimer (QRT). Мнения авторов не отражают официальную позицию Qube Research & Technologies Ltd; материал информационный, не является инвестиционным советом.
Приложения (сжато)
A. Вывод истинного Sharpe (2.2)
Нужны $\mathbb{E}[(Z\beta s_t)^\top(\beta s_t+\epsilon_{t+1})]$ и $\mathbb{V}[\ldots]$. При $\mathbb{E}[\epsilon]=0$:
\[ \mathbb{E}[\mathrm{PnL}_t]=\mathbb{E}[s_t^\top\beta^\top Z\beta s_t]=\mathrm{tr}(G\Sigma_s)+\mu_s^\top G\mu_s,\quad G=\beta^\top Z\beta. \]Дисперсия раскладывается на вклад квадратичной формы по сигналу и вклад шума; после стандартных тождеств для гауссовых моментов [Bro20]:
\[ \mathbb{V}[\mathrm{PnL}_t]=2\,\mathrm{tr}((G\Sigma_s)^2)+4\mu_s^\top G\Sigma_s G\mu_s+\mathrm{tr}(F\Sigma_s)+\mu_s^\top F\mu_s, \]с $F=\beta^\top Z\Sigma_\epsilon Z\beta$. Отношение даёт (2.2).
B. Общий случай Предложения 3.1
Предложение B.1 оригинала обобщает формулы на произвольные $Z$, $\mu_s$, $\Sigma_s$. Структура та же: in-sample среднее = «истинный» след плюс слагаемое порядка $O(pm/T_1)$; out-of-sample среднее = след без bias; дисперсии содержат базовые члены $2\,\mathrm{tr}(\Gamma^2)$ плюс поправки $c_i,\tilde c_i$, зависящие от размерностей и $T_1$. Полные выражения — в arXiv PDF.
C. Идея доказательства
Доказательство комбинирует:
- разложение $\hat\beta=\beta+ES^\top(SS^\top)^{-1}$ и разложение PnL на истину / misestimation / overfitting;
- свойства Wishart / inverse-Wishart и проекционных матриц для $(SS^\top)^{-1}$;
- матричные тождества для следов и ковариаций квадратичных форм [Gup00; PP12; Rao09];
- отдельный учёт in-sample корреляции остатков $\epsilon_{t+1}$ с матрицей $E$ (источник bias $pm/T_1$) против независимости out-of-sample.
Член $\varepsilon$ возникает из ковариации между обратной матрицей Грама и отдельными $s_t s_t^\top$; в типичном режиме $p/T_1\ll 1$ он пренебрежим.
D. Monte Carlo для проверки приближений
Параметры ($\beta$, $\Sigma_s$, $\Sigma_\epsilon$, …) семплируют из распределений вокруг эмпирических оценок кейса товарных фьючерсов; генерируют корреляционные матрицы через vine/onion [LKJ09]. Сравнивают аналитические $\mathrm{SR_{EIS}}$, $\mathrm{SR_{EOOS}}$ с усреднёнными симуляционными Sharpe; оценивают вклад $\varepsilon$ и convexity adjustment. Детали — Приложение D оригинала.
E. Дополнительные метрики
Таблица 2 (§5) и Таблица 3 (§6) приведены выше. Замена истинной ковариации остатков на in-sample оценку почти не меняет IS/OOS метрики в кейсе фьючерсов — в согласии с §3.3.
Литература
- Bun, J., Bouchaud, J.-P., and Potters, M. (2017). Cleaning large correlation matrices: Tools from random matrix theory. Physics Reports, 666:1–109.
- Belsley, D. A., Kuh, E., and Welsch, R. E. (2004). Regression Diagnostics. Wiley.
- Bailey, D. H. and López de Prado, M. (2014). The Deflated Sharpe Ratio. SSRN 2460551.
- Brightman, C. and Li, F. (2015). Chasing Performance with ETFs. Research Affiliates.
- Brookes, M. (2020). The Matrix Reference Manual.
- Chatterjee, S. and Hadi, A. S. (1988). Sensitivity Analysis in Linear Regression. Wiley.
- De March, H. and Lehalle, C.-A. (2018). Optimal trading using signals. arXiv:1811.03718.
- Falck, A., Rej, A., and Thesmar, D. (2022). When do systematic strategies decay? Quantitative Finance, 22(11):1955–1969.
- Gârleanu, N. and Pedersen, L. H. (2013). Dynamic trading with predictable returns and transaction costs. Journal of Finance, 68(6):2309–2340.
- Gupta, A. K. (2000). Matrix Variate Distributions. Chapman & Hall/CRC.
- Goyal, A., Welch, I., and Zafirov, A. (2024). A comprehensive 2022 look at the empirical performance of equity premium prediction. Review of Financial Studies, 37(11):3490–3557.
- Harrell, F. E. (2006). Regression Modeling Strategies. Springer.
- Harvey, C. R. and Liu, Y. (2015). Backtesting. SSRN 2345489.
- Harvey, C. R., Liu, Y., and Zhu, H. (2016). … and the cross-section of expected returns. Review of Financial Studies, 29(1):5–68.
- Ioannidis, J. P. A. (2005). Why most published research findings are false. PLOS Medicine, 2(8):e124.
- Jensen, T. I., Kelly, B., and Pedersen, L. H. (2023). Is there a replication crisis in finance? Journal of Finance, 78(5):2465–2518.
- Joubert, J. et al. (2024). The three types of backtests. SSRN 4897573.
- Kelly, B., Malamud, S., and Zhou, K. (2024). The virtue of complexity in return prediction. Journal of Finance, 79(1):459–503.
- Kan, R., Wang, X., and Zheng, X. (2024). In-sample and out-of-sample Sharpe ratios of multi-factor asset pricing models. Journal of Financial Economics, 155:103837.
- Lewandowski, D., Kurowicka, D., and Joe, H. (2009). Generating random correlation matrices based on vines and extended onion method. Journal of Multivariate Analysis, 100(9):1989–2001.
- McLean, R. D. and Pontiff, J. (2016). Does academic research destroy stock return predictability? Journal of Finance, 71(1):5–32.
- Muller, P. (2001). Proprietary trading: Truth and fiction. Quantitative Finance, 1(1):6–8.
- Muhle-Karbe, J., Wang, Z., and Webster, K. (2024). Stochastic liquidity as a proxy for nonlinear price impact. Operations Research, 72(2):444–458.
- Patterson, N. (2016). Talking Machines interview (Renaissance / Bletchley Park). Robohub.
- Petersen, K. B. and Pedersen, M. S. (2012). The Matrix Cookbook.
- Rao, C. R. (2009). Linear Statistical Inference and Its Applications. Wiley.
- Suhonen, A., Lennkh, M., and Perez, F. (2017). Quantifying backtest overfitting in alternative beta strategies. Journal of Portfolio Management, 43(2):90–104.
- Wiecki, T. et al. (2016). All that glitters is not gold: Comparing backtest and out-of-sample performance. SSRN 2745220.
Перевод выполнен с сохранением структуры, ключевых формул и численных результатов оригинала. Длинные доказательства Приложений C–D и технические детали Monte Carlo сокращены. Оригинал: arXiv:2501.03938 (36 страниц) · Jacquier, Muhle-Karbe, Mulligan · CC BY 4.0.