Так ли уж прост парный трейдинг
Исследование на фьючерсах МосБиржи и перпетуалах Bybit за 2026 год: 190 пар, 2,7 млн минутных баров. Почти каждый промежуточный результат выглядел обнадёживающе, а итог оказался отрицательным — и вот в каком месте разваливается рассуждение.
Идея, которая звучит безупречно
Две акции одного сектора ходят вместе. Разошлись — покупаем отставшую, продаём убежавшую, ждём схождения. Рынок может идти куда угодно: мы в лонге и в шорте одновременно, направление нам безразлично. Остаётся найти пары, которые ходят вместе, и собрать бота.
Я проверил это на фьючерсах на акции Московской биржи за 2026 год, а потом на бессрочных контрактах Bybit. Вышло исследование, где почти каждый промежуточный результат выглядел обнадёживающе, а итог оказался отрицательным. Ниже — что именно считалось, какие цифры получились и в каком месте разваливается исходное рассуждение.
Сразу оговорюсь: это не доказательство того, что парный трейдинг не работает нигде и никогда. Это проверка конкретной, самой распространённой его версии — отбираем пары по статистике прошлого, торгуем возврат спреда к среднему — на двух рынках за один год.
Что именно считалось
Данные — из ИСС Московской биржи, весь 2026 год до 12 октября. Сначала дневные итоги торгов по всем сериям FORTS — 196 торговых дней, 154 793 строки. По ним отобрана вселенная: топ-20 фьючерсов на акции по среднему дневному обороту.
Сортировка именно по обороту в рублях, а не по числу контрактов — лоты различаются в тысячу раз. По контрактам первое место занимает Самолёт (1,3 млн контрактов в день, 458 млн ₽), по обороту — Сбер (136 тыс. контрактов, 4 млрд ₽).
| Что | Сколько |
|---|---|
| Фьючерсов на акции на рынке | 74 базовых актива |
| Во вселенной | 20 (+6 добавленных вручную) |
| Пар «каждый с каждым» | 190, с добавленными — 325 |
| Минутных баров | 2 742 892 |
| Пятиминутных баров | 868 497 |
Отдельно про источник: ИСС не отдаёт пятиминутный таймфрейм — только 1, 10 и 60 минут. Пятиминутки собираются из минутных свечей на стороне загрузчика.
По каждой паре строится спред: берётся процент изменения цены открытия к предыдущему открытию, первая нога идёт с коэффициентом +1, вторая с −β. Накопленная сумма этих рядов и есть спред. По нему считаются три вещи: t-статистика теста Дики — Фуллера (насколько статистически значим возврат), период полураспада отклонения по модели Орнштейна — Уленбека (за сколько баров отклонение сокращается вдвое) и показатель Хёрста (ниже 0,5 — возврат, 0,5 — случайное блуждание, выше — тренд).
Торгуется это сеткой с доборами против движения: вход при отклонении спреда на несколько сигм от скользящего среднего, дальше доборы через каждый шаг ATR, у каждого свой тейк на шаг обратно, плюс общий стоп и трейлинг на всю позицию.
Из 190 пар стационарны пять
Первый же расчёт показал то, что стоило бы увидеть до того, как писать движок: спреды не возвращаются. Порог стационарности на уровне значимости 5 % (ADF t < −2,9) прошли всего пять пар из 190.
| Пара | ADF t | Полураспад | Хёрст | σ спреда |
|---|---|---|---|---|
| NOTKM / ROSN | −3,5 | 918 баров | 0,43 | 4,0 п. п. |
| GAZR / OZON | −3,7 | 670 | 0,46 | 4,7 |
| GAZPF / OZON | −3,5 | 720 | 0,45 | 4,9 |
| NOTKM / T | −3,2 | 1 082 | 0,47 | 4,3 |
| MOEX / SBRF | −3,0 | 1 111 | 0,44 | 3,4 |
Полураспад 670–1 100 пятиминуток — это полторы–две с половиной недели, а не внутридневное колебание, ради которого ставят сетку на пятиминутках. Хёрст 0,43–0,46 при 0,5 у случайного блуждания: возврат есть, но слабый.

Самая возвратная пара расширенного набора: колебание есть, но цикл тянется неделю, а сам спред за год поднялся на 5 п. п. ИСС MOEX, пятиминутные бары · расчёт автора
Здесь же всплыла первая ловушка. Я ждал увидеть в лидерах классику — обычку и префы одного эмитента. Они оказались хуже случайных пар: у Сургута ADF −0,6 при сносе 24,5 п. п. на размахе 36, у Сбера −1,9. Префы весь год сокращали дисконт к обычке — это не колебание вокруг среднего, а переоценка в одну сторону. Аргумент «один эмитент, одна выручка, значит сойдутся» на данных не подтвердился.
91 % прибыльных циклов и минус по итогу
Первый прогон сетки на паре MOEX / SNGR выглядел как мечта: 717 циклов, из них 658 вышли по тейку. Прибыльными, правда, оказались не все 658, а 655 — часть тейков съели издержки. Девять сделок из десяти в плюс. Итог года — минус 277 тысяч рублей.
| Статья | Сумма |
|---|---|
| Результат до издержек | +243 042 ₽ |
| 658 выходов по тейку | +481 373 ₽ |
| 58 выходов по стопу | −756 846 ₽ |
| Комиссия и проскальзывание | −519 789 ₽ |
| Чистый результат | −276 747 ₽ |

Кривая ползёт вверх мелкими шагами и обваливается ступенями на стопах: красные точки — дни, когда сработал стоп, размер точки показывает, сколько их было за день. ИСС MOEX, пятиминутные бары · расчёт автора
Арифметика простая. Средний выигравший цикл приносит 732 рубля, средний стоп забирает 13 049. Один стоп съедает восемнадцать удачных циклов. При таком соотношении доля прибыльных сделок не говорит ничего — хоть 91 %, хоть 99 %.
Это встроенное свойство любой сетки с усреднением, а не неудачные настройки. Она берёт много маленьких побед и изредка отдаёт одну большую. Скриншот статистики с долей прибыльных сделок выше 90 % — нормальный вид такой системы в фазе набора убытка.
Издержки, которые считают неверно
Я взял комиссию 2 ₽ за контракт «по памяти» и получил минус 78 тысяч. Потом выяснилось, что ИСС отдаёт настоящие сборы в спецификации контракта, и они вдвое выше. С реальными стало минус 277 тысяч — тот же прогон, те же сделки.
| Контракт | Полный сбор | Скальперский |
|---|---|---|
| SBRF-12.26 | 5,74 ₽ | 2,87 ₽ |
| MOEX-12.26 | 3,10 ₽ | 1,55 ₽ |
| SNGR-12.26 | 3,12 ₽ | 1,56 ₽ |
| GAZR-12.26 | 1,98 ₽ | 0,99 ₽ |
| SBERF (вечный) | 8,47 ₽ | 4,24 ₽ |
Биржа берёт скальперский тариф — половину, — если позиция открыта и закрыта внутри одного торгового дня, и полный — если она пережила клиринг. Для сетки с сотнями внутридневных циклов это решающая разница.
Фандинг вечных фьючерсов
У вечных контрактов MOEX (SBERF, GAZPF) есть ежедневная плата за перенос — поле SWAPRATE в дневной истории. Средние ставки за 2026 год: GAZPF — 22,7 % годовых, SBERF — 20,9 %. На фоне этого базис между вечным и квартальным контрактом на одну бумагу — в среднем 1,89 % цены — выглядит безнадёжно узким.
Прогон сетки на GAZPF / GAZR это подтвердил: 2 103 цикла, до издержек +501 878 ₽, издержки 833 796 ₽, итог −331 918 ₽. И это без учёта фандинга, который добавил бы до 134 тысяч в любую сторону.
Стоимость пункта
Квартальные контракты котируются за лот (шаг 1, стоимость шага 1 — пункт стоит рубль), вечные — за одну акцию (шаг 0,01 при той же стоимости шага, то есть пункт стоит 100 рублей). GAZPF по котировке 110 ₽ и GAZR по 11 276 ₽ — это одинаковая экономическая величина. Без приведения через step_price / min_step любая пара вечного с квартальным считалась бы в сто раз мимо.
Стоп убивает сетку, а без стопа она становится бомбой
Если стопы забирают больше, чем приносят тейки, напрашивается подобрать уровень стопа. Я прогнал сетку значений на лучшей конфигурации (минутный таймфрейм, MOEX / SNGR).
| Стоп | Чистыми | Циклов | Стопов | Потери на стопах |
|---|---|---|---|---|
| 3 ATR | −330 870 ₽ | 197 | 51 | −695 338 ₽ |
| 6 ATR | −138 815 ₽ | 138 | 21 | −579 960 ₽ |
| 10 ATR | −256 645 ₽ | 103 | 16 | −655 428 ₽ |
| 20 ATR | −171 577 ₽ | 72 | 6 | −561 657 ₽ |
| без стопа | +45 174 ₽ | 52 | 0 | — |
Стоп при любом значении отдаёт 560–700 тысяч. Это не настройка, а конструктивный конфликт: сетка усредняется против движения, а стоп фиксирует убыток ровно в той точке, где схема должна дождаться возврата.
Первый плюс появился только когда стоп убрали совсем. А если ещё и поднять порог входа до 2,5 σ, получается +183 974 ₽ при просадке 92,8 тысячи и 95 % прибыльных циклов. Выглядит как победа.
Только убрать стоп в системе с усреднением — значит обменять ограниченный убыток на неограниченный. В 2026 году спред всегда возвращался; в год, когда одна из бумаг переоценится структурно, та же система досидит до margin call. Положительный результат здесь — не прибыль, а непроявившийся риск.
Проверка вне выборки: одна пара ничего не доказывает
Все цифры выше измерены на тех же данных, на которых подбирались параметры. Это не результат, а описание прошлого. Делим год пополам: подбираем на январе–июне, проверяем на июле–октябре, 324 комбинации параметров.
Важная деталь: β тоже оценивается только по обучающему отрезку. Если взять её за весь период, хедж окажется подогнан под те же данные, на которых идёт проверка.
| Пара | Корреляция обучение↔проверка | Прибыльных на проверке | Лучшая по обучению → проверка |
|---|---|---|---|
| MOEX / SNGR | +0,76 | 93 % | +158 818 → +87 800 |
| AFKS / VKCO | −0,75 | 42 % | +350 149 → −250 453 |
| SBRF / T | +0,37 | 17 % | +35 931 → −60 360 |
На первой паре всё прекрасно: рейтинг параметров переносится, десять из десяти лучших остались в плюсе. Именно такой график и попадает в статьи.
На второй паре корреляция отрицательная: лучшая на истории комбинация давала +350 тысяч, на проверке — минус четверть миллиона при просадке 806 тысяч, и скатилась с первого места на 272-е из 324. Выбирать параметры по истории было хуже, чем брать наугад.
Успех MOEX / SNGR объясняется не удачным подбором, а тем, что у этой пары спред во втором полугодии продолжал возвращаться: там прибыльны 93 % любых комбинаций. Результат определялся не настройками, а тем, сохранила ли конкретная пара возвратность. Значит, предсказывать нужно именно её.
Главное: возвратность не переносится во времени
Вся схема держится на одном допущении: если пара возвращалась к среднему раньше, она будет возвращаться и дальше. Это проверяется напрямую: считаем метрики всех 300 пар отдельно за первое и второе полугодие и смотрим на ранговую корреляцию.
| Метрика | Корреляция полугодий |
|---|---|
| Сводная оценка | −0,01 |
| ADF t-статистика | 0,08 |
| Полураспад | 0,12 |
| β хеджа | 0,93 |
Из десяти лучших пар первого полугодия ни одна не попала в десятку второго и ни одна не осталась стационарной. Их средняя t-статистика во втором полугодии — −1,27 против −1,75 у всех пар подряд: отобранные оказались хуже случайных.
Лучшая пара первого полугодия, RTKM / TATP, имела ADF −4,2 и полураспад 155 баров — идеальный кандидат. Во втором полугодии её t-статистика −0,7, полураспад вырос до 1 488 баров. LKOH / VKCO ушла с −2,0 до +0,2 — возврата нет вовсе.

Так выглядит пара, у которой возврата почти нет: размах втрое шире, а отклонение рассасывается неделями. ИСС MOEX, пятиминутные бары · расчёт автора
Может, полгода — слишком долго?
Разумное возражение: возвратность может жить неделю или месяц. Посчитал помесячно, восемь переходов с января по сентябрь.

Зелёные столбики — коэффициент хеджирования: он держится высоко на каждом переходе. Всё остальное жмётся к нулю, а сводная оценка, по которой и отбирают пары, трижды уходит в минус. ИСС MOEX, минутные бары · от 122 до 288 пар в месяц · расчёт автора
Сокращение горизонта ничего не дало. Знак корреляции скачет: в трёх переходах из восьми она отрицательная.
Самое неприятное — в последнем столбце
Доля пар, проходящих порог стационарности, колеблется от 1 % до 8 %, в среднем 5 %. Это ровно уровень значимости самого теста. Тест Дики — Фуллера на уровне 5 % по построению даёт 5 % ложных срабатываний на случайных блужданиях.
Мы находим ровно столько «коинтегрированных» пар, сколько дала бы чистая случайность. Отбирая лучшие пары по ADF, мы отбираем не связанные инструменты, а те, у которых шум в прошлом месяце случайно сложился в форму возврата.
Другая площадка, тот же результат
Можно возразить: российский срочный рынок — частный случай. Повторил всю цепочку на бессрочных контрактах Bybit: другая микроструктура, круглосуточная торговля, другие участники. Топ-20 перпетуалов по обороту, 1,64 млн пятиминутных баров, 190 пар.
Крипта связана заметно сильнее акций: корреляция BTC / ETH — 0,88, BTC / SOL — 0,83, DOGE / XRP — 0,80 против 0,30–0,60 на Мосбирже. Казалось бы, идеальный материал для парной торговли.
| Показатель | Bybit | MOEX |
|---|---|---|
| Средняя корреляция ног | 0,65 | 0,30–0,60 |
| Средний Хёрст | 0,49 | 0,47 |
| Корреляция оценки по полугодиям | −0,08 | −0,01 |
| Корреляция ADF | −0,32 | 0,08 |
| β хеджа | 0,85 | 0,93 |
| Стационарных во втором полугодии | 13 % | 10 % |
Отрицательная корреляция по ADF означает, что лучшие пары первого полугодия систематически оказывались хуже во втором. LINK / SUI: ADF −3,9 → −1,7, полураспад 1 219 → 6 972. SOL / XRP: −2,7 → −0,9.
И финальная проверка на BTC / ETH — 324 комбинации, обучение январь–июнь, проверка июль–октябрь:
- ранговая корреляция обучение↔проверка — −0,73
- прибыльных комбинаций на проверке — 0 из 324
- лучшая по обучению: +11 742 → −33 768, место 321 из 324
Отдельно про фандинг, который обычно считают главной бедой крипты. Средние ставки за 2026 год: BTC — 2,45 % годовых, ETH — 2,40 %, DOGE — 2,80 %, SOL — −0,09 %. Против 21–23 % у вечных фьючерсов МОЕХ это мелочь, да и в парной конструкции ставки двух ног частично гасят друг друга. Убивает другое — комиссия 0,055 % от оборота при сотнях циклов и тысячах доборов.
Что всё же переносится
В обеих таблицах есть одна строка с высокой корреляцией — коэффициент хеджирования β. Он держится на 0,85–0,93 на всех горизонтах и на обеих площадках.
Соотношение ног действительно устойчиво: если в первом полугодии на один рубль движения первой ноги приходилось 0,34 рубля второй, во втором будет примерно столько же. Бету можно считать по прошлому окну и доверять ей.
Только заработка из этого не следует. Бета убирает направленную экспозицию — то есть делает конструкцию нейтральной к рынку. Но нейтральность — это способ не терять на движении рынка, а не способ заработать. Заработок должен прийти от возврата спреда — а именно он и не переносится.
Получается парадокс: надёжно предсказуема ровно та часть конструкции, которая не приносит денег.
Грабли, на которые я наступил сам
Пять ошибок по ходу работы. Каждая какое-то время давала правдоподобные цифры — именно этим они опасны.
Стоимость пункта. Вечные фьючерсы МОЕХ котируются за акцию, квартальные — за лот. Без приведения пара считается в сто раз мимо. У меня это проявилось как отказ подобрать объёмы ног — повезло.
Биржевые сборы по памяти. Взятые с потолка 2 ₽ за контракт занизили издержки вдвое. Биржа отдаёт точные значения в спецификации каждой серии, вместе со скальперским тарифом.
Бета с подглядыванием в будущее. Если β оценена по всему периоду, хедж подогнан под те же данные, на которых измеряется результат. В проверке вне выборки β считается только по обучающему отрезку.
Тихий обрыв загрузки. Загрузчик Bybit при лимите частоты выходил из постраничного обхода и отдавал то, что успел. У ADAUSDT загрузилось 4 дня из 285, у DOGEUSDT — полгода. Усечённый ряд внешне неотличим от короткого, поэтому метрики посчитались «успешно». Заметил случайно: длины рядов оказались кратны 1000 — размеру страницы API.
Выжившие в выборке. Вселенная за прошлый период обязана включать делистованные к сегодняшнему дню контракты, иначе отбор собирается из одних выживших. А если не отсекать новые инструменты по длине истории, в топ по среднему обороту попадает контракт, проторговавший десять дней.
Есть и шестая, не ошибка, а ограничение модели. Точные максимум и минимум спреда внутри бара из экстремумов ног не восстановить: неизвестно, в какой момент каждая нога была на своём экстремуме. Значит, либо осторожная оценка (спред ходил только между открытием и закрытием), либо минутные данные.
Что с этим делать
Парный трейдинг не прост. Проста его идея, а вся сложность спрятана в допущении, которое почти никто не проверяет: что статистическая связь, найденная в прошлом, сохранится в будущем.
На двух рынках за 2026 год это допущение не подтвердилось. Отбор пар по прошлой коинтеграции даёт результат не лучше случайного, а местами хуже.
Что проверить до того, как писать бота
- Переносится ли свойство, по которому вы отбираете. Посчитайте метрики за два соседних периода и посмотрите ранговую корреляцию. Около нуля — дальше можно не идти.
- Сравните долю стационарных пар с уровнем значимости теста. Если вы находите 5 % при пороге 5 % — вы нашли ровно те ложные срабатывания, которые тест обязан дать.
- Возьмите настоящие издержки из спецификаций. Биржевой сбор, скальперский тариф, стоимость пункта, фандинг — всё это есть в API биржи.
- Не смотрите на долю прибыльных сделок. У сетки она всегда высокая. Смотрите на средний выигрыш против среднего убытка.
- Закладывайте проверку вне выборки в инструмент сразу. И смотрите не на лучшую строку, а на корреляцию рейтингов и медиану по всем комбинациям.
Где парная торговля всё же работает
Отрицательный результат получен для конкретной версии подхода: отбор по статистике прошлого плюс торговля возврата к среднему. Он не закрывает другие:
- Структурный спред — когда возврат обеспечен конструкцией, а не статистикой: базис фьючерса к споту, календарный спред, ETF против корзины. Там схождение гарантировано датой экспирации, а не гипотезой — зато и заработок ограничен шириной базиса и быстро съедается издержками.
- Маркет-мейкинг на спреде — там заработок идёт с комиссии и ребейтов, а не с возврата, и требует совсем другой инфраструктуры.
- Событийные связки — поглощения, конвертации, парные листинги: там схождение следует из юридического факта.
Общее у этих случаев одно: там есть причина сходиться, а не только наблюдение, что раньше сходились. Если вся аргументация строится на тесте Дики — Фуллера по истории, стоит сначала проверить переносимость, а уже потом писать движок.