Z-score по криптопаре устроен не так, как кажется
Он ломается не из-за самой формулы, а из-за всего вокруг неё: дрейфующего среднего, смены режимов волатильности, ложной коинтеграции, пропущенных издержек и одиночных бэктестов.
Z-score — это правильная математика. Просто её часто применяют к данным, которые нарушают собственные предпосылки этой математики.
Когда вы считаете скользящий z-score на спреде между двумя крипто-perpetuals, вы используете ту же арифметику, что публикуется в работах по коинтеграции с 1987 года. Формула не сломана. Проблема в том, что входные данные не удовлетворяют условиям, на которых она должна работать. На выходе получается число правильной формы, но с неправильным смыслом.
Именно поэтому многие трейдеры разочаровываются в парном трейдинге на крипте. Они пробуют очевидную реализацию, получают сигнал, теряют деньги и решают, что метод не работает. Работает идея. Не работает наивная версия.
Среднее дрейфует
Z-score — это (value − mean) / standard deviation. Чтобы это число значило то, что обещает учебник, среднее должно быть тем самым уровнем, к которому спред возвращается. На криптопарах это часто не так.
Два perpetuals, торговавшиеся в марте в соотношении 1.0, могут в сентябре стоять на 0.85, потому что одна нога росла быстрее, изменились токеномика или сама связь между активами. Скользящее среднее через такую смену режима усредняет две разные распределённости. Z-score скажет, что спред «растянут», хотя на деле он уже мог переехать в новое равновесие.
Engle и Granger показали это ещё в 1987 году. Для стационарного спреда нужен корректный hedge ratio под текущую связь. Если hedge ratio устарел, дальше перестаёт работать всё остальное.

Стандартное отклонение тоже дрейфует
Та же проблема, только в знаменателе. Стандартное отклонение в z-score должно описывать нормальную волатильность спреда. Если режим волатильности меняется, фиксированное окно смешивает два режима в одно число, которое не описывает ни один из них.
На крипте режимы не меняются плавно. Они могут перевернуться за один день. Сигналы входа, посчитанные против устаревшего знаменателя, начинают стрелять без остановки в турбулентный период, а потом так же внезапно исчезают.
Krauss подробно разбирал это в обзоре литературы. Работа с regime shift — одна из главных причин, по которым наивные z-score реализации разваливаются вне выборки.
Пара может вообще не быть коинтегрированной
Z-score на спреде имеет смысл только тогда, когда у спреда есть реальное равновесие, к которому он возвращается. Если активы не коинтегрированы, спред становится случайным блужданием, а z-score — это z-score случайного блуждания. Это не торговый сигнал, а медленный способ терять деньги.
Большинство пар, отобранных на глаз по корреляции, не являются коинтегрированными. Корреляция и коинтеграция — это разные вещи. Без реального квалификационного теста вся остальная стратегия строится на песке.
Бэктест не моделирует те издержки, которые действительно важны
Если бэктест говорит, что z-score стратегия была прибыльной, но не включает funding и fees, он сообщает вымышленное число. Perpetual futures начисляют funding каждые восемь часов, и на многодневной сделке это легко становится одним из крупнейших компонентов P&L.
Следом идут биржевые комиссии. На стратегии, живущей на десятках базисных пунктов преимущества, именно модель комиссий часто отделяет прибыльную систему от убыточной. Backtesting с учётом издержек не является опцией — это обязательный минимум.
Один бэктест — это один датапойнт
Если вы прогнали стратегию на одном историческом окне и получили хороший график, у вас есть только один датапойнт. Историческая траектория, которая случилась, — это всего лишь одна реализация из распределения траекторий, которые могли бы случиться. Walk-forward, bootstrap и Monte Carlo — это не избыточная sophistication, а базовая санитария.
Что должна делать рабочая реализация
Проблемы выше — это не проблемы самого z-score. Это проблемы входов, которые ему подают. Чтобы математика действительно заработала на криптопаре, реализация должна делать пять вещей:
- Непрерывно обновлять hedge ratio, чтобы среднее было актуальным.
- Калибровать масштаб нормализации под текущий режим волатильности.
- Фильтровать пары по структурной совместимости до вычисления сигнала.
- Моделировать funding и fees в бэктесте.
- Ресэмплировать бэктест, чтобы видеть распределение, а не одну линию.
Hedgicore решает все пять задач тем, что иначе строит сам спред. Полное описание — в методологическом документе. Читать методологию →
Смысл этой статьи прост: z-score не сломан. Сломан стандартный способ применять его к криптопаре.
Источники
- Engle, R.F. and Granger, C.W.J. (1987). Co-Integration and Error Correction. Representation, Estimation and Testing. Econometrica 55(2).
- Vidyamurthy, G. (2004). Pairs Trading. Quantitative Methods and Analysis. Wiley.
- Avellaneda, M. and Lee, J.H. (2010). Statistical Arbitrage in the U.S. Equities Market. Quantitative Finance 10(7).
- Krauss, C. (2017). Statistical Arbitrage Pairs Trading Strategies. Review and Outlook. Journal of Economic Surveys 31(2).
- Lopez de Prado, M. (2018). Advances in Financial Machine Learning. Wiley.
- Bonton AI, Hedgicore Research (2026). The Hedgicore Engine. A Methodology for Real-Time Statistical Arbitrage on Crypto Perpetuals. v2.0.
Hedgicore — это платформа аналитики парного трейдинга в реальном времени на базе Hedgicore Engine. Создано командой Bonton AI.
Предупреждение о рисках: Hedgicore — аналитическая платформа. Она не исполняет сделки и не даёт финансовых рекомендаций. Любая торговля связана с риском убытков.
