Двойной моментум в коммодитиз: урок для крипто-ротации
Суть идеи
Авторы сравнивают два подхода к моментуму на товарных рынках. Single (cross-sectional) momentum ранжирует активы по относительной доходности и держит топ-N — классическая аномалия, задокументированная ещё Джегадишем и Титманом. Проблема в том, что в широких медвежьих рынках портфель вынужден держать «наименее плохие» активы: все падают, но стратегия всё равно в лонге.
Dual momentum (термин Антоначчи) добавляет абсолютный фильтр: актив попадает в портфель только если его доходность за lookback-период превышает доходность безрискового инструмента (cash, T-bill). Если ни один актив не проходит порог — портфель уходит в кэш. Это режимный переключатель, а не просто ранжирование.
Механизм, по которому это должно работать: моментум — прокси на трендовость и инерцию потоков; абсолютный фильтр — прокси на макро-режим (risk-on/risk-off). Вместе они должны давать асимметрию: участие в росте, выход в защитный актив при системном стрессе. На коммодитиз авторы фиксируют улучшение Sharpe и сокращение максимальной просадки по сравнению с чистым cross-sectional подходом.
Применимость к крипте
Крипта — ещё более «коммодити-подобный» класс, чем нефть или медь: нет дивидендов, высокая цикличность, глубокие медвежьи рынки (-70%+). Логика dual momentum ложится напрямую:
- Relative leg: ранжируем BTC vs. ETH (или расширяем до SOL/BNB) по rolling 1-3-месячной доходности.
- Absolute leg: сравниваем победителя с доходностью стейблкоин-депозита (USDC yield, ~4-5% annualized сейчас) или просто с нулём. Если крипто-актив не бьёт кэш — уходим в стейблы.
- Наши ряды: spot BTC, spot ETH, funding rate (как дополнительный сигнал перегрева), basis CME (контанго/бэквардация как режимный индикатор).
Важная адаптация: в крипте 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-го знака).