baykovpro

← Quant

Двойной моментум в коммодитиз: урок для крипто-ротации

10 июля 2026 · 6 мин · momentum, режимный фильтр, mean-reversion, крипта

Суть идеи

Авторы сравнивают два подхода к моментуму на товарных рынках. Single (cross-sectional) momentum ранжирует активы по относительной доходности и держит топ-N — классическая аномалия, задокументированная ещё Джегадишем и Титманом. Проблема в том, что в широких медвежьих рынках портфель вынужден держать «наименее плохие» активы: все падают, но стратегия всё равно в лонге.

Dual momentum (термин Антоначчи) добавляет абсолютный фильтр: актив попадает в портфель только если его доходность за lookback-период превышает доходность безрискового инструмента (cash, T-bill). Если ни один актив не проходит порог — портфель уходит в кэш. Это режимный переключатель, а не просто ранжирование.

Механизм, по которому это должно работать: моментум — прокси на трендовость и инерцию потоков; абсолютный фильтр — прокси на макро-режим (risk-on/risk-off). Вместе они должны давать асимметрию: участие в росте, выход в защитный актив при системном стрессе. На коммодитиз авторы фиксируют улучшение Sharpe и сокращение максимальной просадки по сравнению с чистым cross-sectional подходом.

Применимость к крипте

Крипта — ещё более «коммодити-подобный» класс, чем нефть или медь: нет дивидендов, высокая цикличность, глубокие медвежьи рынки (-70%+). Логика dual momentum ложится напрямую:

Важная адаптация: в крипте lookback надо тестировать короче (2-4 недели), потому что циклы быстрее. Классический 12-месячный Антоначчи может запаздывать на целый бычий цикл.

Тестируемо ли

Да, на нашем движке это прогоняется относительно чисто. Нужны: дневные споты BTC/ETH с 2018 года (есть), ставка кэша как бенчмарк (можно взять Fed Funds или USDC APY — данные есть с 2020). Rolling z-score доходности за разные lookback-окна — стандартный блок движка. Walk-forward с expanding window реален. Deflated Sharpe обязателен, потому что параметров (lookback, порог абсолютного фильтра, ребалансировка) несколько.

Чего нет: ликвидных данных по широкой крипто-корзине до 2020 года — история короткая, независимых медвежьих эпизодов всего 2-3 (2018, 2022, частично 2019-2020).

Сомнения

Главный риск — мало независимых событий. Вся ценность абсолютного фильтра проявляется именно в медвежьих фазах, а их в крипте буквально 2-3 за всю историю. Бэктест будет красивым ровно потому, что фильтр «угадал» 2018 и 2022 — но это не доказательство, а подгонка под два события.

Второе: транзакционные издержки и проскальзывание. Ротация BTC→ETH→стейблы на месячном горизонте — не проблема, но если lookback короткий (2 недели), оборачиваемость растёт и реальный edge съедается спредами и funding.

Третье: режимная хрупкость. В 2023-2024 BTC и ETH коррелировали >0.9 — relative leg вырождается в монету, абсолютный фильтр становится единственным рабочим элементом.

Следующий шаг

Прогнать walk-forward (expanding window, ребаланс раз в месяц) на паре BTC/ETH/USDC с 2018 по 2024: relative leg = 4-недельная доходность, absolute leg = сравнение с 0% (упрощение) и с 4% annualized. Сетка lookback: 2, 4, 8, 12 недель. Метрика — Deflated Sharpe по всей сетке, чтобы увидеть, есть ли устойчивый регион или результат точечный.

Результаты тестов

Дописано 11 июля 2026 — прогон «Следующего шага» на нашем движке. Сама статья выше не менялась.

Данные: спот Binance BTCUSDT/ETHUSDT, дневные закрытия с августа 2017. Исполнение по спеке: сигнал по закрытию последнего дня месяца, вход t+1, издержки 10 б.п. на ногу крипто-оборота (кэш-нога бесплатно), в варианте cash=4% кэш и начисляет те же 4%/год. Меню зафиксировано до прогона: 4 lookback × {чистый cross-sectional, dual с порогом 0%, dual с порогом 4%} = 12 вариантов + три бенчмарка, Deflated Sharpe — по всем 15. Walk-forward — expanding, dual-вариант выбирается по прошлому Sharpe и применяется на следующий месяц без пересмотра.

Основной период спеки — 2018–2024, 7 лет:

Вариант Sharpe DSR CAGR maxDD оборот/г в кэше
B&H BTC 0.75 0.92 +32% −81%
B&H ETH 0.69 0.90 +24% −94%
50/50 0.75 0.92 +32% −88%
XS lb=2w (без фильтра) 0.83 0.95 +41% −84% 13.4× 0%
XS lb=4w 0.68 0.89 +25% −83% 14.0× 0%
Dual lb=2w, cash 4% 0.71 0.91 +29% −80% 11.3× 32%
Dual lb=4w, cash 4% 0.62 0.85 +20% −75% 11.8× 39%
Dual lb=8w, cash 4% 0.67 0.88 +24% −79% 8.6× 36%
Dual lb=12w, cash 4% 0.44 0.72 +7% −90% 6.9× 36%
Walk-forward dual 0.46 0.73 +8% −90%

На расширенном окне 2018 — июль 2026 порядок тот же: XS lb=2w 0.73, dual-сетка 0.38–0.68, B&H BTC 0.61, walk-forward 0.46.

Ответ на главный вопрос статьи. Абсолютный фильтр работает ровно там, где обещан, — и только там. Затяжные медведи: 2018 год −38% против −73% у B&H BTC (58% дней в кэше), 2022 год −32% против −64% (67% в кэше). Но Sharpe за весь период он не добавляет: почти вся dual-сетка ниже B&H BTC. Плата видна на V-образном развороте — COVID Q1-2020 dual дал −26% против −11% у B&H: фильтр вышел в кэш после обвала и пропустил отскок. И общую просадку он почти не режет (−75…−80% против −81%): крипто-обвалы разворачиваются быстрее месячного ребаланса — май-2021 приходит целиком, независимо от того, что решил фильтр в конце апреля. Итог: на BTC/ETH dual momentum — это страховка от затяжного медведя ценой CAGR и V-отскоков, а не «улучшение Sharpe» из коммодити-оригинала.

Что подтвердилось из «Сомнений». Все три. Мало независимых событий: вся ценность фильтра — два эпизода, и DSR это честно показывает: 0.70–0.95 по всей сетке включая бенчмарки — различия между вариантами в пределах шума, «устойчивого региона» превосходства dual над XS нет (на lb=2w фильтр отнимает, на lb=8w добавляет — знак пляшет). Вырождение relative leg: дневная корреляция BTC/ETH после 2017 держится 0.77–0.92 (в 2026 — 0.92), ранжирование двух активов — почти монета, вся работа на absolute-ноге. А вот издержки на месячном ребалансе не приговор: оборот 7–14× в год ≈ 0.7–1.4%/год при 10 б.п.

Чего статья не предсказала. Walk-forward — худший вариант серии (Sharpe 0.46, maxDD −90%): честный expanding-выбор «лучшего lookback по прошлому» систематически опаздывает к смене режима. Адаптация «в крипте lookback короче» подтвердилась (2 недели лучше 12 везде; 12-месячный Антоначчи на крипте мёртв), но доведённая до конца она упирается в чистый cross-sectional lb=2w без фильтра как лучший вариант сетки — а это уже не dual momentum. Его превосходство над B&H (0.83 против 0.75) — в пределах шума тех же двух-трёх режимов.

Проверка: research_dualmom_bt.py + адверсариальная верификация — независимая реимплементация прямым циклом по месячным сегментам (total/Sharpe/maxDD совпали), шок будущих цен (бит-в-бит идентичность прошлых весов и P&L — лукахеда нет), ручной пересчёт Deflated Sharpe по Bailey–López de Prado (совпал до 4-го знака).

Источник: Quantpedia · оригинал на английском, разбор — авторский на русском.