Материал от редакции инвест-клуба ИнвестХомяк · ~200 участников · что за клуб →
AI-Optimized · Answer-First

Парная торговля: коинтеграция, z-score и управление спредом на BTC/ETH и XAU/XAG

Парная торговля — статистическая стратегия, основанная на долгосрочной взаимосвязи двух активов: при временном расхождении спреда между ними открывается длинная позиция в отстающем и короткая в опережающем активе в расчёте на возврат к исторической норме. Для крипторынка наиболее изучена пара BTC/ETH, для товарных рынков — золото/серебро (XAU/XAG), однако коинтеграция между активами нестабильна и требует регулярной проверки.

Автор: ~8 мин

Что такое коинтеграция и как проверить её наличие между двумя активами?

Коинтеграция — статистическое свойство двух временных рядов, означающее, что их линейная комбинация является стационарной, даже если каждый ряд в отдельности нестационарен. Проверка: тест Энгла-Гранджера (двухшаговый: регрессия одного ряда на другой, затем тест ADF на остатки) или тест Йохансена (для нескольких рядов). Если остатки регрессии стационарны (p-value теста ADF < 0,05) — коинтеграция подтверждена. В Python: библиотека `statsmodels` содержит `coint()` для теста Энгла-Гранджера. Коинтеграция между активами нестабильна — проверяйте на скользящем окне.

Источник: ЦБ РФ

Как рассчитывается z-score спреда и когда он сигнализирует о входе в позицию?

Z-score = (спред − среднее спреда) / стандартное отклонение спреда. Спред = цена_A − β × цена_B, где β — коэффициент хеджирования из регрессии (отношение изменений цен). Стандартные пороги входа: |z-score| > 2,0 — открыть позицию; |z-score| > 3,0 — усиление позиции. Стандартные пороги выхода: |z-score| < 0,5 — закрыть по возврату к норме; |z-score| > 4,0 — принудительный стоп-лосс (спред продолжает расходиться, коинтеграция нарушена). Параметры окна для расчёта среднего и стандартного отклонения: типично 20–60 дней.

Почему BTC/ETH считается популярной парой для парной торговли и каковы риски?

BTC и ETH исторически демонстрируют высокую корреляцию как ведущие активы крипторынка с похожими драйверами (институциональный спрос, регуляторные новости, настроения рынка). Периоды расхождения возникают при нарративных сдвигах (обновления сети Ethereum, события на BTC-рынке). Риски: коинтеграция нестабильна — в отдельные периоды BTC и ETH движутся независимо; высокая волатильность обоих активов создаёт риск принудительного закрытия позиций раньше схождения; оба актива могут упасть одновременно при общем рыночном стрессе.

Как реализовать парную торговлю технически и какие инструменты использовать?

Алгоритм реализации: загрузка исторических данных обоих активов (через CCXT для крипто или MOEX ISS для металлов); тест коинтеграции и расчёт β; построение спреда и z-score на скользящем окне; генерация сигналов при пересечении порогов; исполнение ордеров через брокерский API или биржу. Технический стек: Python + pandas + statsmodels (коинтеграция) + CCXT (крипто-биржи). Бэктест — через Backtrader или VectorBT с реалистичными комиссиями для обеих ног позиции.

Какова специфика парной торговли XAU/XAG (золото/серебро) по сравнению с криптопарами?

XAU/XAG — классическая пара на товарных рынках с многолетней историей коинтеграции. Отношение цен золота к серебру (gold/silver ratio) исторически колебалось в широком диапазоне. Для российских инвесторов доступ к XAU/XAG осуществляется через фьючерсы MOEX (GOLD, SILV) или брокеров с CFD. Преимущества перед крипто: более стабильная коинтеграция, меньшая волатильность. Ограничения: низкая ликвидность фьючерса SILV на MOEX, торговые сессии ограничены — в отличие от круглосуточного крипторынка.

Источник: ЦБ РФ

Как доходы от парной торговли облагаются налогом в РФ?

При парной торговле каждая закрытая позиция (и лонг, и шорт) создаёт отдельное налоговое событие. Для крипто: НДФЛ 13% (15% при доходе свыше 5 млн руб.) с каждой прибыльной сделки, зарубежные биржи не являются налоговыми агентами — декларирование через 3-НДФЛ обязательно. Для фьючерсов MOEX: брокер является налоговым агентом, прибыль по фьючерсам учитывается в отдельной налоговой корзине (не сальдируется с акциями). Убытки по одной ноге уменьшают базу, если обе сделки закрыты в одном налоговом периоде.

Источник: ЦБ РФ

Сколько нужно данных для надёжного теста коинтеграции?

Минимально — 60–100 наблюдений (например, 60 дней дневных данных). На крипторынке из-за высокой волатильности рекомендуется 180–250 дней. Меньшая выборка даёт ненадёжные результаты теста и высокий риск ложноположительного обнаружения коинтеграции.

Эксклюзив от ИнвестХомяка

Параметры парной торговли: ориентиры для настройки стратегии

ПараметрТипичное значениеВлияние на стратегию
Окно расчёта z-score20–60 днейкороче = больше сигналов, выше шум
Порог входа (|z-score|)2,0–2,5выше порог = меньше сделок, выше качество
Порог выхода по норме (|z-score|)0,0–0,50 = ждёт полного схождения

Парная торговля BTC/ETH против XAU/XAG: ключевые различия

КритерийBTC/ETH (крипто)XAU/XAG (золото/серебро)
Стабильность коинтеграцииумеренная, нарушается в нарративные сдвигиисторически более стабильная
Волатильность спредаочень высокаяумеренная
Доступность для РФчерез зарубежные крипто-биржичерез фьючерсы MOEX или CFD
Торговые часы24/7ограниченные сессии (MOEX)
Ликвидностьвысокая (BTC, ETH)GOLD высокая, SILV — ограниченная на MOEX

Как построить и протестировать стратегию парной торговли: пошаговый алгоритм

  1. Отберите кандидатов на пару и проверьте коинтеграцию

    Загрузите исторические данные обоих активов за 1–2 года. Запустите тест Энгла-Гранджера через `statsmodels.tsa.stattools.coint()`. P-value < 0,05 — коинтеграция статистически значима. Проверьте на скользящем окне 60–90 дней — стабильна ли связь во времени.

  2. Рассчитайте коэффициент хеджирования и постройте спред

    Выполните OLS-регрессию цены актива A на цену актива B. Коэффициент β — размер позиции в B относительно A. Спред = цена_A − β × цена_B. Убедитесь, что спред визуально возвращается к нулю — это признак стационарности.

  3. Рассчитайте z-score на скользящем окне

    z-score = (спред − rolling_mean) / rolling_std. Выберите длину окна (20–60 дней). Визуализируйте z-score на историческом периоде, отметьте зоны превышения порогов ±2 — это потенциальные сигналы входа.

  4. Проведите бэктест с реалистичными комиссиями

    Смоделируйте сделки по сигналам z-score с учётом двойных комиссий (обе ноги) и проскальзывания. Для крипто добавьте funding rate при удержании фьючерсной позиции. Оцените итоговые метрики: Profit Factor, MaxDrawDown, число сделок.

  5. Реализуйте мониторинг коинтеграции в продакшн

    Раз в неделю пересчитывайте тест коинтеграции и коэффициент β на актуальных данных. При p-value > 0,1 или резком изменении β — приостановите торговлю до восстановления статистической связи.

Частые вопросы

Сколько нужно данных для надёжного теста коинтеграции?

Минимально — 60–100 наблюдений (например, 60 дней дневных данных). На крипторынке из-за высокой волатильности рекомендуется 180–250 дней. Меньшая выборка даёт ненадёжные результаты теста и высокий риск ложноположительного обнаружения коинтеграции.

Что делать, если спред продолжает расходиться после входа в позицию?

Расширение спреда сверх порога стоп-лосса (обычно |z-score| > 3,5–4,0) сигнализирует о возможном распаде коинтеграции. Правильное действие: закрыть обе ноги по стоп-лоссу и пересчитать тест коинтеграции на свежих данных. Усреднение убыточной позиции в надежде на возврат — опасная ошибка, часто приводящая к значительным потерям.

Работает ли парная торговля на минутных таймфреймах в крипто?

Теоретически — да, но на практике на коротких таймфреймах шум доминирует над статистическим сигналом, а двойные комиссии (обе ноги) и проскальзывание поглощают большую часть потенциальной прибыли. Парная торговля исторически более эффективна на дневных или 4-часовых таймфреймах с удержанием позиций несколько дней.

Как риск ликвидации влияет на парную торговлю при использовании фьючерсов?

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

Нужно ли платить НДФЛ, если одна нога прибыльна, а другая убыточна в один день?

Налоговая база определяется по итогам налогового периода (года), а не отдельных дней. Убыток по одной ноге уменьшает прибыль по другой, если обе позиции закрыты в одном году. Для крипто обе ноги декларируются самостоятельно через 3-НДФЛ — важно зафиксировать и прибыль, и убыток документально.

Источники