baykovpro

← Quant

Внутримесячный цикл моментума: институциональная механика

21 августа 2026 · 15 мин · momentum, позиционирование, CME-COT, funding

Суть идеи

Традиционный моментум — покупай то, что росло последние 3–12 месяцев, продавай отстающих — работает уже 30+ лет, и никто толком не договорился, почему. Психология? Медленное распространение информации? Компенсация за риск? Авторы предлагают другой ответ: институциональные игроки управляют кэшем по календарному расписанию. Подписки/выкупы фондов, ребалансировки, margin calls и аллокации происходят в предсказуемые точки месяца — и именно это создаёт повторяющийся внутримесячный паттерн в доходностях моментум-портфелей.

Механизм примерно такой: в начале месяца свежие деньги заходят в фонды, которые уже держат победителей — это толкает их выше. В конце месяца те же фонды продают для выплат или ребалансировки. Итог — моментум не равномерен внутри месяца, а концентрирован в конкретных окнах. Авторы показывают это на данных по акциям, разбивая месячную доходность моментум-портфеля по дням.

Это принципиально отличается от «поведенческих» объяснений: здесь есть конкретный агент с конкретным расписанием, а не абстрактная «недореакция рынка». Если механизм реален — он должен быть стабилен во времени и воспроизводим в других классах активов, где институционалы играют заметную роль.

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

На первый взгляд крипта — не то место: розничный поток, 24/7, нет классических fund flows. Но это уже не так. С 2021 года CME-фьючерсы на BTC/ETH несут значимый институциональный отпечаток. COT-отчёт показывает позиции dealer’ов, asset managers и lev funds — и их ребалансировки тоже привязаны к календарю (квартальные экспирации, месячные роллы, funding-окна).

Funding rate на перп-фьючерсах — это прокси на агрегированный спрос лонгов/шортов и меняется предсказуемо вокруг экспираций и конца месяца. Basis между спотом и CME-фьючерсом тоже имеет сезонность вокруг роллов. Если внутримесячный цикл моментума — это артефакт институциональных cash flows, то в крипте его аналог нужно искать именно там: в funding, basis и COT-позиционировании, а не в классическом price momentum.

Что адаптировать: вместо fund-flow дат брать даты экспирации опционов/фьючерсов Deribit и CME, даты funding-расчётов, конец календарного месяца. Сигнал — не просто «цена росла», а «цена росла И институциональный поток по COT подтверждает направление».

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

Да, частично. У нас есть: спот BTC/ETH (дневные/часовые), CME-COT еженедельно, funding rate (8h), basis, даты экспираций. Чего нет: реальных fund-flow данных по крипто-фондам с дневной разбивкой — это существенный пробел, придётся использовать COT как прокси. Rolling-z по funding и basis можно считать прямо в движке. Walk-forward с окном 6–12 месяцев реален.

Сомнения

Главный риск — data-snooping на акциях: авторы нашли паттерн, разбив месяц на дни, что само по себе умножает число проверяемых гипотез. Перенос на крипту добавляет ещё один слой подгонки — мы выбираем «похожие» даты постфактум. Режимная хрупкость очевидна: в 2022 году институциональный поток в крипту схлопнулся, и любой calendar-based сигнал должен был сломаться. Независимых «месяцев» с устойчивым институциональным участием в BTC/ETH — от силы 30–40, это статистически бедно.

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

Прогнать walk-forward на дневном BTC: сигнал — лонг в первые 5 торговых дней месяца при условии, что COT lev-funds net > rolling-z(+0.5) за последние 52 недели; выход — на 6-й день или при развороте funding ниже нуля. Горизонт теста: 2020–2024, OOS-окно 6 месяцев, метрика — Deflated Sharpe.

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

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

Поправка 26 сентября 2026: даты релизов COT. Отчёт CFTC теперь входит в сигнал по фактической дате выхода, а не с субботы каждой недели: праздники, шатдауны и сбой ION сдвигали выход на дни и недели. Числа, зависящие от COT, пересчитаны на тех же данных (главное — ETH, первичная ячейка: −0.37 → −0.52); вердикт прежний.

Спека выполнена буквально: дневной BTC, лонг в первые 5 дней месяца при условии COT lev-funds net > rolling-z(+0.5) за 52 недели, выход на 6-й день или при развороте funding ниже нуля, горизонт 2020–2024, walk-forward с OOS-окном 6 месяцев, Deflated Sharpe. Сверх буквы: ETH вторым рукавом, семейство из 48 конфигураций на актив (окно {3, 5, 7} дней × счёт дней {календарные, биржевые} × гейт {нет, z>0, z>+0.5, z>+1.0} × выход {фиксированный, по развороту funding}) и — главное — три отдельные проверки самого механизма, а не только его торговой обёртки: профиль дня месяца у цены, у кросс-секционного моментум-портфеля и у денежного потока спотовых ETF.

Инструмент — перп Binance (спот-бэкфилл левее сентября 2019), издержки 6 б.п. на единицу оборота, funding в P&L по фактическим выплатам, вход на следующий день. Приговор выносит проверка на случайность по максимуму всего семейства; DSR приводим, раз спека его просила.

Нуль: перестановка порядка дней ВНУТРИ месяца

Клейм статьи — не «месяц прибыльный», а «прибыль концентрирована в определённых днях месяца». Правильный нуль для такого утверждения один: перемешать порядок дневных доходностей внутри каждого месяца. Месячная сумма и весь набор движений сохраняются точно, гибнет только привязка к позиции в месяце. Всё, что переживёт такой нуль, — настоящий календарный эффект, а не снос, не тренд и не волатильность.

Дальше сравниваем не отдельные дни (15 ячеек — это 15 гипотез), а контрасты: среднее по окну против среднего по остальным дням того же месяца. Контраст свободен от сноса по построению и втрое мощнее поячеечного теста. Окон три — классическое окно смены месяца [−1, +1, +2, +3], окно статьи [+1..+5] и зеркальное [−1..−5]; перестановки общие для всех трёх, поэтому максимум по строке сразу даёт честную family-wise поправку.

Калибровка: что этот тест вообще способен увидеть

Прежде чем что-то отрицать, надо показать, что тест работает. Прогоняем ту же машинку на индексе Nasdaq Composite за 55 лет — эффект конца месяца в акциях документирован десятилетиями:

выборка месяцев окно смены месяца t проверка на случайность
Nasdaq 1971–2026 665 +9.5 б.п./день 3.49 проходит
Nasdaq, последние 8 лет 95 +3.3 б.п./день 0.39 не проходит
S&P 500, последние 8 лет 95 +2.8 б.п./день 0.43 не проходит

Первая строка — тест находит эффект там, где он есть. Вторая — тот же эффект на выборке нашего размера уже невидим: уверенно тест различил бы здесь лишь эффект почти втрое больше истинных 9.5 б.п./день. Это не придирка, а рамка всего прогона: на сотне месяцев сильнейшая документированная календарная аномалия акций не обнаруживается в принципе.

Для крипты чувствительность теста ещё ниже — волатильность выше в разы:

месяцев окно смены месяца сколько месяцев нужно
BTC 107 +16.5 б.п./день 1142 (95 лет)
ETH 107 +34.7 б.п./день 444 (37 лет)

Знак у обоих активов тот же, что в акциях, и точечная оценка BTC даже вдвое больше «акционной» — но чтобы отличить её от нуля, нужен век наблюдений. Отрицательный результат ниже — это в первую очередь свойство выборки, и формулировать его надо именно так.

Торгуемая спека: не работает, и гейт мешает

Sharpe в рынке проверка на случайность DSR
BTC, первичная ячейка, 2020–2024 +0.08 2.2% не проходит 0.108
BTC, первичная, весь спан COT −0.22 3.9% не проходит 0.009
BTC, только календарь (без гейта) +0.45 16.4% не проходит 0.345
BTC, только гейт (без календаря) +0.25 16.3% не проходит 0.197
BTC, buy & hold +0.90 100% — 0.725
ETH, первичная ячейка, 2020–2024 −0.52 2.5% не проходит 0.000
ETH, только календарь +0.86 16.4% не проходит 0.303
ETH, только гейт −0.24 22.0% не проходит 0.002

Walk-forward по букве спеки (expanding IS ≥ 365 дней, OOS 182 дня): BTC +0.24 против +0.50 у buy&hold на том же куске, ETH на полном спане +0.23 против +0.36. Ни один из 48 конфигов ни на одном активе и близко не прошёл проверку на случайность с поправкой на перебор: E[max Sharpe] на случайно сдвинутом рынке и так 0.99–1.13 годовых, то есть перебор сеткой сам по себе рисует «стратегию» лучше всего, что мы нашли.

Два разложения объясняют, почему.

Гейт COT вычитает, а не добавляет. Отдельный нуль фильтра — циклический сдвиг только COT-гейта при неподвижных календарном сигнале и рынке (скважность и персистентность гейта сохраняются точно, гибнет лишь выравнивание с рынком):

база без гейта Δ от гейта нуль фильтра: среднее Δ
BTC 2020–2024 +0.45 −0.37 −0.24
BTC весь спан +0.44 −0.63 −0.19
ETH 2020–2024 +0.86 −1.05 −0.48

Настоящий гейт хуже случайно сдвинутого гейта той же скважности. Причина видна напрямую, без бэктеста, — по лаговому профилю самого ряда COT: корреляция недельного Δ(lev-funds net) с недельной доходностью даёт пик на k = 0 (неделя, закончившаяся отчётным вторником) величиной −0.32 у BTC и −0.41 у ETH, а на следующей неделе — +0.04 и +0.05, то есть ноль. Ряд датирован верно и смотрит строго назад; вперёд он не смотрит вовсе. И знак важнее величины: на росте недели хедж-фонды CME сокращают нетто-лонг, а не наращивают — они ведут себя как носители базисной сделки, а не как «институциональный поток, толкающий победителей». Агента, которого требует механизм статьи, в этом ряду нет.

Окно «первые 5 дней» ничем не выделено среди 28 фаз месяца. Тот же однонаправленный трейд, запущенный с любого дня месяца: факт +0.45 — это середина распределения (BTC 2020–2024) и верхняя его половина на полном спане, при медиане фаз +0.33 и +0.16 и разбросе от −0.34 до +1.32. Любое пятидневное окно на растущем активе даёт около трети Sharpe — это экспозиция, а не календарь.

Механизм: где его нет и где он всё-таки виден

Кросс-секционный моментум крипты — прямой аналог того, что меряет исходная статья (у неё моментум-портфель, а не один актив). Собрали WML на 93 парах Binance (ребаланс 1-го числа, лонг верхняя шестая по 90-дневному моментуму с пропуском 5 дней, шорт нижняя, универсум — топ-30 по трейлинг-обороту с ≥180 днями истории на момент ребаланса): сам фактор за 81 месяц даёт Sharpe −0.79 (кросс-секционный моментум в крипте отрицателен и без всякого календаря), а его внутримесячный профиль пуст: окно [+1..+5] даёт −14.5 б.п./день — не просто незначимо, а с обратным знаком. Ноги по отдельности — то же самое.

Зато самый прямой тест премисы дал результат. «В начале месяца свежие деньги заходят в фонды» — в крипте это наблюдаемо буквально: чистые создания/погашения спотовых ETF. (Ловушка данных, которую пришлось снять: ряд идёт по биржевым дням, и праздники США записаны ровно нулём — 26 дней из 675. Нули сидят на фиксированных календарных позициях, 1 января это ячейка +1, и без чистки они смещают ровно те ячейки, которые мы тестируем.)

BTC, поток спотовых ETF (30 мес.) отклонение t проверка на случайность с поправкой на перебор
начало [+1..+5] +14.9 $млн/день 0.45 не проходит не проходит
смена месяца [−1,+1,+2,+3] −11.4 $млн/день −0.33 не проходит не проходит
конец [−1..−5] −77.0 $млн/день −2.76 проходит проходит
последний биржевой день −113.3 $млн/день −2.75 проходит не проходит

Средний приток в последние пять биржевых дней месяца — 32 $млн/день против 97 в остальные; в последний день 2024–2026 годов он в среднем отрицателен (−7.7 $млн при +85.5 в обычный день). Эффект переживает переход к рангам внутри месяца (то есть держится не на одном выбросе — и для последнего дня тоже) и одинаков по знаку в обеих половинах выборки.

То есть вторая половина механизма статьи — «в конце месяца фонды продают для выплат и ребалансировок» — в крипте видна прямо в деньгах. Первой половины — притока в начале месяца — нет.

Находка, которую мы не засчитываем (и почему)

Дальше напрашивается очевидное: если поток в конце месяца сохнет, должна сохнуть и цена. В эре спотовых ETF так и есть. Шорт BTC в последний биржевой день месяца, январь 2024 — июль 2026: 31 сделка, Sharpe +1.87 нетто, суммарно +32.6%, 25 падений из 31, средний день −1.15%. ETH в том же окне — −1.23% и 17 падений из 25. До запуска ETF (2017–2024, 77 месяцев) тот же день давал +0.74% и 48% падений. Проверку на случайность с поправкой на все 42 фазы бизнес-месяца шорт проходит с большим запасом.

И всё же это не находка, а кандидат. Три причины.

Первая и главная: окно «эра ETF» мы выбрали, посмотрев на данные — сначала нашли просадку потока, потом пошли искать цену там же. Проверка на случайность корректирует выбор фазы, но не выбор окна. Плацебо на два этапа сразу: прогоняем те же 42 фазы по всем 78 скользящим 31-месячным окнам истории BTC и смотрим, какой Sharpe даёт лучшая фаза в каждом. Медиана +1.05, максимум +2.02, и наши +1.87 на этом фоне — лишь на грани. Как только заплатить за оба этапа поиска, значимость исчезает.

Вторая: датировка не сходится с объяснением. По годам последний биржевой день был положительным в 2017–2022 (+2.45%, −1.13%, +2.35%, +0.30%, +1.78%, +1.06%) и отрицательным в 2023–2026 (−0.62%, −1.56%, −0.93%, −0.82%). Знак сменился в 2023 — за год до запуска спотовых ETF. Поток ETF корреспондирует с эффектом только на его второй половине.

Третья: сам по себе внутримесячный профиль нестабилен ровно так, как боялась статья. Контраст окна смены месяца по эрам:

эра месяцев BTC ETH
2017–2020, до институтов 39 +51.2 б.п. +39.3 б.п.
2021–2023, CME-эра 34 +15.3 б.п. +99.5 б.п. (проходит с поправкой на перебор)
2024+, эра спотовых ETF 30 −31.6 б.п. −51.9 б.п.

Единственная ячейка, прошедшая поправку на перебор во всём прогоне помимо потока ETF, — ETH в CME-эре — в следующей же эре меняет знак на противоположный. Статья сама писала: «если механизм реален — он должен быть стабилен во времени». На наших данных он не стабилен.

Контроли

Пустышки (20 миров с циклически сдвинутым рынком): ложных срабатываний проверки по максимуму 5% у BTC и 0% у ETH, ложных профилей 0% — нуль откалиброван по номиналу. Мощность теста (эдж внедряется прямо в дни 1–5): профиль ловит его начиная с 40–80 б.п./день, при 20 б.п. и ниже не ловит. Мощность конструкции (мир, где статья верна: бамп в дни 1–5 ровно тогда, когда настоящий COT-z > +0.5, — эдж входит как вход, который вся связка обязана найти): не больше 6% миров при 5–20 б.п., 25% при 40, 88% при 80 и 100% при 160 б.п./день. То есть конструкция статьи начинает работать с эффекта примерно вдесятеро больше акционного.

Датировка COT проверена против первоисточника CFTC: 436 недель, расхождений ноль. Отчётная дата — вторник, кроме пяти праздничных недель, где CFTC берёт данные за понедельник. В сигнал отчёт входит на закрытии суток, следующих за днём его фактического выхода. Обычно CFTC публикует отчёт в пятницу той же недели, но в 62 неделях из 436 выход был позже: праздник в среду–пятницу переносит его на понедельник (32 недели), а шатдауны правительства США в 2018–2019 и 2025 годах и сбой отчётности после кибератаки на ION в 2023-м — на срок до 47 дней (30 недель). Дни выхода сверены с метками публикации самого CFTC (они есть с сентября 2022 года) — расхождений ноль. Лукахед проверен порчей будущего: всё правее середины выборки заменяется шумом, позиции левее обязаны совпасть побитово — совпали.

Независимый верификатор (36 проверок, реализация с нуля: свои перестановки явным циклом, свой контраст Уэлча, свой numpy-бэктест, свой DSR по формуле, своя сборка дневного ряда COT по датам выхода, эффект конца месяца перепроверен по двум независимым источникам индекса) прошёл 36 из 36. Одна ловушка сверки заслуживает упоминания отдельно: pandas.std() считает с ddof = 1, numpy.std() — с ddof = 0, и на выборке в 1827 дней это расхождение Sharpe в четвёртом знаке, которого достаточно, чтобы завалить побитовую сверку на ровном месте. Конвенции обязаны совпадать между реализациями.

Вердикт

Торгуемая спека — мертва. Первичная ячейка даёт Sharpe +0.08 на BTC и −0.52 на ETH, ни один из 48 конфигов не проходит проверку на случайность с поправкой на перебор, walk-forward уступает buy&hold, а COT-гейт активно вычитает — потому что нетто хедж-фондов на CME по прямому измерению не несёт форвардной информации и вдобавок движется против цены, а не за ней. Перенос механизма через COT в том виде, как он предложен, не работает.

Клейм о механизме — не проверяем на нашей выборке, а не опровергнут. Ни BTC, ни ETH, ни кросс-секционный моментум-портфель не показывают внутримесячного профиля, но на нашей выборке тест различает лишь эффекты в разы крупнее «акционных» 9.5 б.п./день, то есть мы бы не увидели и настоящий эффект. Честная формулировка: чтобы отличить наблюдаемые +16.5 б.п. у BTC от нуля, нужно 95 лет истории.

Единственное, что реально видно, — денежная половина механизма. Приток в спотовые ETF BTC статистически значимо проседает в последние пять биржевых дней месяца (−77 $млн/день, выдерживает и поправку на перебор), и в те же дни в 2024–2026 слаба цена. Но окно эры выбрано постфактум, плацебо двухэтапного поиска оставляет ценовой эффект лишь на грани, а смена знака в ценах датируется 2023 годом — раньше самих ETF. Это кандидат на форвард-трек, а не результат.

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