baykovpro

← Quant

Трендследование в FX: walk-forward или иллюзия?

30 июня 2026 · 5 мин · momentum, walk-forward, trend-following, бэктест

Суть идеи

Авторы берут три «классики» трендследования — time-series momentum (TSMOM, сигнал от знака прошлой доходности за N дней), скользящее пересечение (fast/slow MA crossover) и channel breakout (цена пробивает максимум/минимум за K дней) — и прогоняют их на семи мажорных FX-парах с 2003 по 2025 год. Ключевое: не один бэктест, а 23 скользящих walk-forward окна с трёхлетним обучением и однолетним тестом. Параметры выбираются на train-окне, применяются на следующем test-окне без пересмотра — это честная попытка имитировать реальный деплой стратегии.

Механизм, на который делается ставка, стандартный: валютные рынки исторически демонстрируют автокорреляцию на горизонтах недели–месяца из-за медленной реакции центробанков, carry-потоков и поведенческих якорей. Трендовый сигнал должен захватывать эту инерцию до того, как она исчезнет.

Важно, что авторы явно смотрят на стабильность параметров между окнами — если оптимальный lookback «прыгает» от 20 до 200 дней от окна к окну, это признак переподгонки, а не реального сигнала. Именно это делает исследование методологически интереснее среднего «мы нашли лучшие параметры».

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

BTC и ETH — не FX, но трендовые свойства у них сильнее, а не слабее: крипта исторически показывает более выраженную автокорреляцию на дневных горизонтах, особенно в бычьих режимах. Все три метода переносятся один-в-один: TSMOM на дневном споте BTC/ETH, MA-crossover (например, 20/100 или 50/200), channel breakout по rolling high/low.

Дополнительно можно добавить крипто-специфичные фильтры: funding rate как прокси перегрева (высокий фандинг → ослаблять лонг-сигнал), basis CME как индикатор институционального позиционирования. Это не меняет ядро стратегии, но может улучшить режимную фильтрацию.

Одно принципиальное отличие: ликвидность и транзакционные издержки в крипте менее стабильны, чем в spot FX. Slippage на channel breakout в моменты высокой волатильности (например, вокруг экспирации опционов) может съедать значительную часть edge.

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

Методология ложится на наш Python-движок почти без доработок: rolling-z уже есть, walk-forward с train/test split реализуем стандартно. Нужны дневные OHLCV BTC и ETH (есть с 2017–2018), funding rate (с 2019 по Binance/Bybit), basis CME (с 2017). 23 окна по схеме 3+1 год дадут примерно 5–6 независимых тестовых периодов на крипто-истории — маловато по сравнению с FX, но достаточно для первичной проверки.

Deflated Sharpe нужно считать обязательно: три метода × несколько пар × несколько lookback-вариантов = десятки комбинаций, p-hacking неизбежен без поправки.

Сомнения

FX-история с 2003 года включает несколько полных макро-циклов; крипто-история — максимум два с половиной цикла, и все они происходили в условиях нулевых/низких ставок плюс один цикл ужесточения. Режимная хрупкость здесь острее.

Channel breakout особенно уязвим к data-snooping: параметр K (длина канала) легко подгоняется под известные крупные движения BTC. Если оптимальный K стабильно «находит» март 2020 и ноябрь 2022 — это не сигнал, это подгонка.

Наконец, три метода сильно коррелированы между собой — агрегация их результатов не даёт реальной диверсификации, только иллюзию консенсуса.

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

Прогнать walk-forward (3 года train / 1 год test) на дневном BTC spot с 2017 по 2025: три метода, фиксированная сетка параметров (lookback 20/60/120/200 дней), выбор лучшего на train, применение на test. Посчитать Deflated Sharpe по всем комбинациям. Добавить фильтр: входить в лонг только при funding rate ниже 75-го перцентиля скользящего окна.

Результат бэктеста

Прогнал по спецификации статьи на нашем движке: дневной спот BTC (2017–2026, ~9 лет), три метода × 4 параметра, walk-forward 3 года train / 1 год test (параметр выбирается по Sharpe на train-окне и применяется на следующем без пересмотра), вход t+1, издержки 6 б.п. Deflated Sharpe — с поправкой на 24 реально прогнанных варианта (12 long/short + 12 long-only).

Метод IS-best Sharpe (подгонка) OOS walk-forward DSR OOS long-only
TSMOM +0.83 +0.59 0.61 +0.99
MA-crossover +0.69 +0.37 0.40 +0.78
Donchian breakout +0.66 +1.03 0.91 +0.94

Buy&hold BTC за тот же OOS-период: Sharpe +0.76.

Что подтвердилось. Для TSMOM и MA-crossover — ровно та «иллюзия», о которой предупреждала статья: на train красиво, честный OOS скромнее и не обгоняет buy&hold. Лукахеда и утечки отбора нет — проверял отдельно: реконструкция rolling-high вручную (0 расхождений), сдвиг входа на лишний день (эдж не разваливается — значит сигнал не подсматривает), мутация test-региона (отбор параметра строго причинный).

Где не надо обманываться. Donchian breakout дал OOS +1.03 — цифра честная, но три осторожности, иначе сам попадёшь в ту самую иллюзию:

Что реально ценно. Не превышение buy&hold, а защита на падении и шорт-нога: Donchian обошёл медвежку 2022 (+0.01 против −1.29 у B&H) и заработал в шорт в просадке 2026 (+1.41 против −1.41). Вне таких эпизодов шорт-ноги тащат вниз — long-only заметно ровнее.

Итог. Трендследование на BTC само по себе ≈ buy&hold после издержек; заголовочные 1.03 / DSR 0.91 — это эффект удачного окна и режима, а не доказанный структурный эдж. Ценность — в режимной фильтрации (long-only + защита на падении), и её стоит проверять дальше: на ETH, с фильтром по волатильности/позиционированию и с честным учётом числа испытаний. Ровно к этому и призывала статья — и на наших данных это подтвердилось.

Проверка: прогон research_validate.py + независимая адверсариальная верификация харнесса на лукахед (реконструкция сигналов, lag-тест, мутация выборки, пересчёт DSR).

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