IPO
•••
02.06.26 Finam.ru

Эксперт рассказал о будущем трейдинга в эпоху ИИ

21.01.26 Finam.ru

«Финам» открыл доступ к платформе для мониторинга арбитражных аномалий Spread Insight

"Финам" продолжает развивать технологии для инвесторов и запускает инновационный сервис — "Финам Инсайты"

Загрузить ещё
Темы
...
Расскажите о своем опыте использования сервисов и технологий в инвестициях. Ждем писем на lenta@corp.finam.ru
02.07.26 17:10 Поделиться

Как без навыков программирования написать бота и зарабатывать на неэффективностях рынка

Статистический арбитраж с нуля
  • Классический арбитраж предполагает покупку актива в одном месте и мгновенную продажу в другом. Но активы не обязаны быть идентичными. Мы можем находить пары исторически взаимосвязанных инструментов, которые не просто коррелируют, а коинтегрируют
  • Сначала находим спред, затем используем Z-score, а дальше в дело вступает Mean Reversion. Нас интересует аномальное отклонение, за которым почти всегда следует возврат к среднему
  • Поиск коинтеграции — отдельный математический процесс. К счастью, существуют различные готовые скринеры, например, Spread Insight
Панов Александр
Панов Александр
разработчик "Финам API"

Всем привет, я Александр, разработчик Trade API в «Финаме». Сегодня мы разработаем торгового бота-арбитражника на базе Trade API и Python — практический гайд по реальной алгостратегии для заработка на бирже.

«Финам» даёт возможность торговать одновременно на нескольких биржах (Россия, США). Это открывает возможности для арбитража — низкорискового заработка на неэффективностях рынка.

В статье пройдём весь путь: от теории и поиска пары до бэктеста и живого бота на сервере. Навыки программирования не нужны — воспользуемся современными ИИ-агентами: Cursor, OpenClaw и Claude Code — вместе с правильными промптами. Приступаем!

Теория за пару минут

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

Но активы не обязаны быть идентичными. Мы можем находить пары исторически взаимосвязанных инструментов, которые не просто коррелируют, а коинтегрируют. В этом и кроется ключ к стратегии статистического арбитража (Pairs Trading).

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

А теперь представьте пьяницу, который ведет собаку на поводке. Пьяница идет по случайной траектории (блуждает). Собака тоже бегает зигзагами. Но! Расстояние между ними ограничено длиной поводка. Если собака убежит слишком далеко, поводок натянется и вернет её к хозяину. Это и есть свойство коинтеграции.

Коинтеграция пары фьючерсов на газ NGJ (Мосбиржа) и NGK (NYMEX)
Коинтеграция пары фьючерсов на газ NGJ (Мосбиржа) и NGK (NYMEX) за период с 9 февраля по 9 апреля

В трейдинге роль пьяницы и собаки играют два актива (например, фьючерсы на газ на разных биржах или акции компаний из одного сектора). Наша задача — вычислить этот «невидимый поводок».

Сначала мы находим разницу цен, которую называют спредом:


Spread = Price_A - (gamma * Price_B)
 

Здесь gamma (гамма) — это коэффициент хеджирования, который уравнивает веса активов.

Но как понять, когда поводок натянут до предела? Для этого мы используем Z-score — показатель, который переводит абсолютную разницу цен в количество стандартных отклонений от нормы.


Z = (Spread_t - mu) / sigma

Где:

  • mu (Mean) — среднее значение спреда за период (например, за последние 30 дней).
  • sigma (Standard Deviation) — волатильность спреда (его «шум»).

А дальше в дело вступает закон возврата к среднему (Mean Reversion). Взяв консервативный Z = 2, в 95% случаев спред будет находиться в пределах двух стандартных отклонений от нормы. И лишь в оставшиеся 5% выходит за них. Именно эти моменты нас и интересуют: аномальное отклонение, за которым почти всегда следует возврат к среднему. Так что сформулируем правила входа и выхода:

  1. Сигнал на вход (Z > 2 или Z < -2)
    Если Z-score поднялся выше 2, это значит, что «собака» убежала слишком далеко вправо. Спред аномально расширился.
    Действие: Мы продаем дорогой актив и покупаем дешевый. Нам не важно, куда пойдет рынок, нам важно, чтобы они снова сблизились.
  2. Сигнал на выход (Z ≈ 0)
    Когда Z-score возвращается к нулю, это означает, что активы вернулись к своему историческому равновесию. Пьяница и собака снова рядом.
    Действие: закрываем обе позиции и фиксируем прибыль.
Нормальное распределение
Варьируя Z от 1 до 3, мы можем охватывать разную волатильность

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

В качестве риск-менеджмента мы можем предпринять следующее:

  • Проверять активы на коинтеграцию перед запуском.
  • Использовать стоп-лоссы не по цене, а по значению спреда.
  • Следить за актуальностью актива (даты экспирации фьючерса).

Если всё настроено правильно — это одна из самых предсказуемых стратегий на рынке.

Теперь к практике

Алгоритм работы бота:

  1. Поиск пары: выбираем два экономически связанных инструмента и проверяем их на коинтеграцию.
  2. Анализ истории (Market Data): загружаем дневные бары через Финам API метод Bars за последние 30 дней — для расчета средней (mu) и стандартного отклонения (sigma).
  3. Сбор данных (Subscribe Quote): подписываемся на real-time котировки через метод SubscribeQuote.
  4. Мониторинг (Z-Score): постоянно перерасчитываем текущий Z-score.
  5. Открытие позиции (Entry): как только |Z| > 2, робот открывает парную сделку.
  • Если Z < -2 (спред слишком дешев), то покупаем актив A и продаем актив B.
  • Если Z > 2 (спред слишком дорог), то продаем актив A и покупаем актив B.
  1. Закрытие позиции (Exit): фиксируем прибыль, когда Z-score возвращается к значению близкому к нулю (|Z| <= 0.5).
  2. Стоп-лосс: если Z-score продолжает движение против нас и достигает критического уровня (|Z| > 3.5), закрываем позицию с убытком.

Давайте разберём по шагам подробно.

Шаг 1. Поиск пары

Сначала мы выбираем инструменты, которые обязаны быть связаны экономически.

  • Пример: Фьючерсы на один и тот же товар на разных биржах (Газ на NYMEX и на срочном рынке Мосбиржи).
  • Пример: Акции двух гигантов из одной индустрии (Pepsi и Coca-Cola).
  • Пример: Сырье и продукт его переработки (Нефть и Бензин).
  • Пример: актив и производный от него (акция и фьючерс на акцию, акция и ее преф версия)

Поиск коинтеграции — отдельный математический процесс. К счастью для нас существуют различные готовые скринеры. Один из таких Spread Insight — здесь собраны более 7000 различных пар с фильтрацией. По каждой паре можно видеть текущий Z-score, силу связности по тесту Энгла-Грейнджера за разные периоды (месяц, квартал, полгода, год).

Интерфейс spread insight скринер абритражных возможностей

Находим понравившуюся пару и заходим в описание. Здесь можно видеть визуально как торговался и торгуется спред пары. Здесь мы встречаем Bollinger Bands (Полосы Боллинджера) — это визуальное воплощение всей математики Z-score, о которой мы говорили выше. В данном случае здесь скользящая средняя (наш $\mu$) отображается серым цветом. На ее основе рассчитываются уровни:

  • Уровень входа (от синего до бирюзового, |1| ≤ Z ≤ |2|) когда у нас есть возможность войти в сделку;
  • Уровень take profit (зеленым, Z ≤ |0.5|), когда мы закрываем сделку и получаем прибыль
  • Уровень stop-loss (красным, Z ≥ |3.5|), когда мы закрываем позицию с целью недопущения потерь
Интерфейс Бэктестер spread-insight

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

Результаты тестирование бэктестера spread-insight

Итак в качестве пары я взял пару фьючерсов на природный газ в межрыночном арбитраже с датой экспирации в июне 2026 года: NGM6@RTSX (Мосбиржа) и NGN26@XNYM (NYMEX). Пара четко связана экономически и показывает устойчивую коинтеграцию. О дальнейших практических шагах читайте в материале на “Хабре”.

Комментарии

Авторизуйтесь, чтобы оставить комментарий.
Обсуждаемые материалы
Загрузить ещё
Здравствуйте! Меня зовут Елена Соболева. Я редактор этого раздела сайта Finam.ru. Если у вас есть опыт использования сервисов и технологий в инвестициях и вы готовы им поделиться – пишите мне на адрес esoboleva@corp.finam.ru. Интересные кейсы мы будем публиковать в этом разделе.
30.06.26 Finam.ru

Самый безопасный способ работы с ИИ-торговыми роботами — рассматривать их как инструменты, а не как чудо-средство для заработка

27.06.26 Finam.ru

Соревнование уже в самом разгаре. Но шанс вступить в конкурс все еще есть: регистрация открыта до 1 июля

Полноценный сетап для профессионала, «кванта» и серьезного инвестора

22.06.26 Finam.ru

Главные ошибки при работе с торговым алгоритмом

Для тех, кто устал переключаться между терминалом и браузером

18.06.26 Finam.ru

Сервис предоставляет доступ к российским и зарубежным биржам и предлагает сниженные комиссии для активных алготрейдеров

12.06.26 Finam.ru

К 2026 году всё больше трейдеров, инвестиционных фондов, разработчиков и частных инвесторов используют инструменты ИИ для анализа рынков

10.06.26 Finam.ru

Это не революция, в которой интеллект заменяет инфраструктуру

02.06.26 Finam.ru

Эксперт рассказал о будущем трейдинга в эпоху ИИ

17.05.26 Finam.ru

Прибыльная торговля с использованием передовых алгоритмов и моделей

Меньше решений «на глаз» и больше решений, которые можно спокойно объяснить самому себе

Полноценный инструмент для поиска идей, анализа и принятия инвестиционных решений

21.01.26 Finam.ru

«Финам» открыл доступ к платформе для мониторинга арбитражных аномалий Spread Insight

Новые метрики для российских облигаций в «Финам AI-скринере»

С помощью виртуального портфеля можно тестировать идеи и улучшать стратегию, не боясь потерять деньги

Изучайте компании с помощью удобных и понятных мультипликаторов

03.10.25 Finam.ru

В периоды неопределенности на рынке важно уметь грамотно диверсифицировать инвестиционный портфель

"Финам" продолжает развивать технологии для инвесторов и запускает инновационный сервис — "Финам Инсайты"

19.09.25 Finam.ru

Почему ИПИФ Фонд "Арбитраж" может быть полезен российскому инвестору?

Как создать виртуальный портфель и для чего это нужно

08.04.25 Finam.ru

Новая полезная опция — возможность оценить эффективность стратегии относительно рынка

Как венгерский инженер и программист совершил техническую революцию в биржевой торговле

Interactive Brokers Group, Inc. -0,50%

Теперь в «Финам AI-скринер» можно создавать несколько скринеров-стратегий, каждый из которых будет отражать уникальный подход к инвестированию

07.12.24 Finam.ru

Сервис «Финам Автоследование» ведет свою историю с 2011 года

Как пионер теханализа зарабатывал 40% ежегодно на протяжении 35 лет на фондовом рынке

Экспорт котировок – важный инструмент для анализа рынка, разработки торговых стратегий и принятия инвестрешений

06.02.24 Finam.ru

Какая стратегия может обеспечить дополнительную защиту от риска коррекции на рынках?

14.12.23 Finam.ru

Как правильно найти инструменты для парного трейдинга, чтобы добиться успеха? Какие стратегии существуют?

10.12.23 Finam.ru

Стратегии парного трейдинга обычно рассчитаны на краткосрочную или среднесрочную перспективу.

09.12.23 Finam.ru

В поисках возможностей профессионально зарабатывать на рынке в период неизвестности

Home Depot, Inc. (The) 0,97% 3M Company 0,09% McDonald's Corporation 1,92% Walmart Inc.

Прогноз позволяет выделить перспективные для инвестиций бумаги с лучшим соотношением доходности и риска

Загрузить ещё