Алгоритмическая торговля

Алгоритмическая торговля (Algorithmic Trading) — это исполнение биржевых заявок по заранее заданному набору правил, который компьютерная программа выполняет автоматически, без участия человека в момент сделки. Те же явления называют алготорговлей и автоматической торговлей.

Правила описывают, при каком условии открыть позицию, какого размера, где зафиксировать прибыль и убыток. Программа отслеживает рынок без перерыва, реагирует за миллисекунды и не отклоняется от плана из-за страха или жадности. Масштаб огромный: по оценке JPMorgan на 2023 год, на алгоритмы приходилось около 60–75% оборота на рынке акций США, причём примерно половину этого оборота давали сверхбыстрые стратегии (отчёт SEC по структуре рынка, 2023). На МосБирже доля тоже велика: по данным ЦБ РФ, ещё в 2020 году свыше половины оборота на рынке акций (около 58%) формировали сделки с использованием алгоритмов.

Из чего состоит торговый алгоритм

Любой алгоритм собирается из нескольких независимых частей, и слабость любой из них обрушивает результат целиком. Сигнальная логика отвечает на вопрос, когда входить в рынок: это может быть пересечение скользящих средних, выход цены за уровень или отклонение от расчётной справедливой стоимости. Модуль управления капиталом решает, каким объёмом торговать, чтобы один убыток не выбил счёт, и нередко именно он, а не сигнал, определяет, выживет ли стратегия на дистанции. Блок исполнения дробит крупную заявку на части и следит за тем, по какой реальной цене прошла сделка, а не по той, что была на экране в момент решения.

Перед запуском стратегию прогоняют через бэктестинг, проверку правил на исторических данных. Здесь кроется главная ловушка: чем больше у стратегии настраиваемых параметров, тем легче подогнать их так, что на прошлом графике кривая доходности выглядит идеально, а на новых данных рассыпается. Чтобы поймать такую подгонку, историю делят на части: на одной параметры подбирают, на другой, которую программа не видела, проверяют.

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

Какие задачи решают алгоритмы

Под общим словом скрываются очень разные программы. Одни зарабатывают на самой структуре рынка, другие просто аккуратно исполняют решение человека.

Тип

Что делает

Горизонт сделки

Исполнительные (TWAP, VWAP)

дробят большую заявку, маскируя её в общем потоке

минуты и часы

Маркетмейкинг

держат заявки на покупку и продажу разом, зарабатывая на спреде

секунды

Арбитраж

ловят расхождение цен на связанных инструментах или площадках

от долей секунды

Трендследящие

входят по направлению движения и держат, пока оно живо

дни и недели

Контртрендовые

ставят на возврат цены к среднему после резкого отклонения

часы и дни

Отдельный полюс этого спектра — высокочастотная торговля, где решает не идея, а скорость доступа к бирже. Алгоритмы соревнуются за микросекунды, арендуют серверные стойки рядом с оборудованием площадки и зарабатывают на множестве крошечных сделок, каждая из которых приносит доли копейки. Чем ближе стратегия к скоростному краю, тем дороже обходится инфраструктура и тем меньше остаётся места частному трейдеру с обычным терминалом.

Что нужно, чтобы запустить алгоритм

Порог входа в автоматическую торговлю выше, чем в ручную: одного терминала и идеи мало. Алготрейдеру приходится собирать целую инфраструктуру и поддерживать её в рабочем состоянии.

  • Доступ к бирже через программный интерфейс или коннектор терминала, например через QUIK, чтобы программа сама отправляла заявки.

  • Поток рыночных данных в реальном времени и чистый архив котировок для тестов.

  • Среда разработки: чаще всего Python для прототипов и C++ для скоростных задач.

  • Сервер с надёжным каналом, а для скоростных стратегий — физическое размещение оборудования рядом с биржей.

  • Система контроля: ограничители убытка, мониторинг сбоев и аварийная кнопка полной остановки.

Большая часть времени уходит не на поиск прибыльной идеи, а на сопровождение: обновление коннектора после смены протокола, борьбу с обрывами связи, проверку того, что программа не начала торговать лишнее после очередного изменения на бирже. Качество исторических данных при этом важнее красоты кода, потому что на «грязных» котировках с пропусками тест покажет прибыль, которой в реальности не было. Запуск редко окупается на маленьком счёте: аренда данных, серверов и время на поддержку складываются в постоянные расходы.

Риски, ограничения и российская практика

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

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

  • Подгонка под историю даёт красивую кривую доходности, которая не повторяется на новых данных.

  • Каскадные сбои возникают, когда множество программ реагируют на одно событие одинаково.

Классический пример каскада — обвал 6 мая 2010 года, когда индекс Dow Jones за считанные минуты потерял около 1 000 пунктов (примерно 9%) и почти сразу отыграл падение. Этот «мгновенный обвал» показал, что рынок, где большую часть заявок выставляют роботы, способен сорваться в штопор без единой фундаментальной причины. После таких эпизодов биржи ввели защитные паузы в торгах при резком движении цены и ограничения на агрессивные заявки.

На МосБирже автоматическая торговля давно стала массовой, при этом регулируется она мягче, чем за рубежом: формальных требований к самим алгоритмам почти нет, основные ограничения площадка устанавливает сама, например через комиссию за избыточные неисполненные заявки. Частному инвестору необязательно писать код: брокеры предлагают сервисы автоследования, где сделки автора стратегии повторяются на счёте подписчика. Подход экономит время, но переносит чужие риски, потому что доходность на витрине почти всегда показана на удачном отрезке, а будущий результат никто не гарантирует.