Основы алгоритмической торговли: концепции и примеры

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

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

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

Предположим, трейдер следует этим простым торговым критериям:

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

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

2:01

Преимущества алгоритмической торговли

Алго-трейдинг дает следующие преимущества:

  • Сделки совершаются по максимально выгодным ценам.
  • Размещение торговых ордеров происходит мгновенно и точно (высока вероятность исполнения на желаемых уровнях).
  • Сделки рассчитываются правильно и мгновенно, чтобы избежать значительных изменений цен.
  • Снижение транзакционных издержек.
  • Одновременная автоматическая проверка нескольких рыночных условий.
  • Уменьшен риск ручных ошибок при размещении сделок.
  • Алгоритмическая торговля может быть протестирована на исторических данных с использованием имеющихся исторических данных и данных в реальном времени, чтобы убедиться, что это жизнеспособная торговая стратегия.
  • Снижена вероятность ошибок трейдеров-людей на основе эмоциональных и психологических факторов.

Большинство алгоритмов торговли сегодня — это высокочастотная торговля (HFT), которая пытается извлечь выгоду из размещения большого количества заказов на высокой скорости на нескольких рынках и с несколькими параметрами решения на основе заранее запрограммированных инструкций.

Алго-трейдинг используется во многих формах торговой и инвестиционной деятельности, включая:

  • Средне- для долгосрочных инвесторов или покупать на стороне фирм-пенсионные фонды, взаимные фонды, страховые компании, использование алго-торговли на акции покупки в больших количествах, когда они не хотят, чтобы влиять на цены акций с инвестициями дискретно, большими объемами.
  • Краткосрочные трейдеры и участники продаж — маркет-мейкеры (например, брокерские конторы),  спекулянты и арбитражеры — получают выгоду от автоматического исполнения сделок; Кроме того, алгоритмы торговли помогают создать достаточную ликвидность для продавцов на рынке.
  • Систематические трейдеры — последователи тренда, хедж-фонды или  парные трейдеры  (нейтральная к рынку торговая стратегия, которая сопоставляет длинную позицию с короткой позицией в паре сильно коррелированных инструментов, таких как две акции, торгуемые на бирже фонды (ETF) или валюты) — обнаружите, что гораздо эффективнее программировать их правила торговли и позволить программе торговать автоматически.

Алгоритмическая торговля обеспечивает более систематический подход к активной торговле, чем методы, основанные на интуиции или инстинкте трейдера.

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

Любая стратегия алгоритмической торговли требует идентифицированной возможности, которая является прибыльной с точки зрения увеличения прибыли или снижения затрат. Ниже приведены общие торговые стратегии, используемые в алгоритмической торговле:

Стратегии следования за трендами

Наиболее распространенные алгоритмические торговые стратегии следуют тенденциям в скользящих средних, прорывах каналов, движениях ценовых уровней и связанных с ними технических индикаторах. Это самые простые и простые стратегии для реализации посредством алгоритмической торговли, поскольку эти стратегии не предполагают никаких прогнозов или прогнозов цен. Торговля инициируется на основе появления желаемых тенденций, которые легко и просто реализовать с помощью алгоритмов, не вдаваясь в сложность прогнозного анализа. Использование 50- и 200-дневных скользящих средних — популярная стратегия следования за трендом.

Возможности арбитража

Покупка акций с двойным листингом по более низкой цене на одном рынке и одновременная продажа их по более высокой цене на другом рынке предлагает разницу в цене в виде безрисковой прибыли или арбитража. Эту же операцию можно повторить для акций и фьючерсных инструментов, поскольку время от времени действительно существует разница в цене. Внедрение алгоритма для выявления такой разницы в ценах и эффективного размещения заказов открывает выгодные возможности.

Ребалансировка индексного фонда

Индексные фонды определили периоды ребалансировки, чтобы привести свои активы в соответствие с их соответствующими базовыми индексами. Это создает прибыльные возможности для алгоритмических трейдеров, которые извлекают выгоду из ожидаемых сделок, которые предлагают прибыль от 20 до 80 базисных пунктов в зависимости от количества акций в индексном фонде непосредственно перед ребалансировкой индексного фонда. Такие сделки инициируются через алгоритмические торговые системы для своевременного исполнения и лучших цен.

Стратегии на основе математических моделей

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

Торговый диапазон (среднее изменение)

Стратегия возврата к среднему основана на концепции, согласно которой высокие и низкие цены актива являются временным явлением, которое периодически возвращается к своему среднему значению (среднему значению). Выявление и определение диапазона цен и реализация алгоритма на его основе позволяет автоматически размещать сделки, когда цена актива выходит за пределы определенного диапазона.

Средневзвешенная цена (VWAP)

Стратегия средневзвешенной цены разбивает крупный ордер и выпускает на рынок динамически определенные меньшие части ордера с использованием исторических профилей объема для конкретных акций. Целью является исполнение ордера, близкого к средневзвешенной цене (VWAP).

Средневзвешенная по времени цена (TWAP)

Стратегия средневзвешенной цены разбивает большой ордер и выпускает на рынок динамически определенные меньшие части ордера, используя равномерно разделенные временные интервалы между временем начала и окончания. Цель состоит в том, чтобы выполнить заказ, близкий к средней цене между временем начала и временем окончания, тем самым минимизируя влияние на рынок.

Процент объема (POV)

Пока торговый ордер не будет полностью исполнен, этот алгоритм продолжает отправлять частичные ордера в соответствии с определенным коэффициентом участия и в соответствии с объемом торгов на рынках. Соответствующая «пошаговая стратегия» отправляет заказы в процентном соотношении, определяемом пользователем, и увеличивает или уменьшает этот коэффициент участия, когда цена акций достигает заданных пользователем уровней.

Недостаток реализации

В реализации недобор цели стратегии на минимизации стоимости выполнения заказа, торгуя от реального времени рынок, тем самым экономя на стоимости заказа и получения выгод от альтернативной стоимости отсроченного исполнения. Стратегия будет увеличивать целевой коэффициент участия, когда цена акций движется в благоприятную сторону, и уменьшать его, когда цена акций движется в неблагоприятном направлении.

Помимо обычных торговых алгоритмов

Есть несколько специальных классов алгоритмов, которые пытаются идентифицировать «события» на другой стороне. Эти «алгоритмы сниффинга», используемые, например, маркет-мейкером на стороне продавца, обладают встроенным интеллектом для определения наличия любых алгоритмов на стороне покупки большого ордера. Такое обнаружение с помощью алгоритмов поможет маркет-мейкеру определить возможности для крупных заказов и позволит им получить выгоду, выполняя заказы по более высокой цене. Иногда это называют опережением высоких технологий. Как правило, практика опережения может считаться незаконной в зависимости от обстоятельств и строго регулируется FINRA (Органом регулирования финансовой индустрии).

Технические требования для алгоритмической торговли

Реализация алгоритма с использованием компьютерной программы является последним компонентом алгоритмической торговли, сопровождаемым  бэктестингом  (испытанием алгоритма на исторических периодах прошлой работы фондового рынка, чтобы увидеть, было ли его использование прибыльным). Задача состоит в том, чтобы преобразовать идентифицированную стратегию в интегрированный компьютеризированный процесс, который имеет доступ к торговому счету для размещения заказов. Ниже приведены требования для алгоритмической торговли:

  • Знание компьютерного программирования для программирования необходимой торговой стратегии, наемных программистов или готового программного обеспечения для торговли.
  • Подключение к сети и доступ к торговым платформам для размещения заказов.
  • Доступ к потокам рыночных данных, которые будут отслеживаться алгоритмом на предмет возможности размещения заказов.
  • Возможность и инфраструктура для тестирования системы после ее создания, прежде чем она будет запущена на реальных рынках.
  • Доступные исторические данные для тестирования на истории в зависимости от сложности правил, реализованных в алгоритме.

Пример алгоритмической торговли

Royal Dutch Shell (RDS) котируется на Амстердамской фондовой бирже (AEX) и Лондонской фондовой бирже (LSE). Начнем с построения алгоритма определения возможностей арбитража. Вот несколько интересных наблюдений:

  • AEX торгуется в евро, а LSE — в британских фунтах стерлингов.
  • Из-за часовой разницы во времени AEX открывается на час раньше, чем LSE, после чего обе биржи торгуют одновременно в течение следующих нескольких часов, а затем торгуют только на LSE в течение последнего часа, когда AEX закрывается.

Можем ли мы изучить возможность арбитражной торговли акциями Royal Dutch Shell, котирующимися на этих двух рынках, в двух разных валютах?

Требования:

  • Компьютерная программа, которая может считывать текущие рыночные цены.
  • Ценники поступают как с LSE, так и с AEX.
  • Канал форекс (обменный курс) для GBP-EUR.
  • Возможность размещения заказа, которая может направить заказ на правильную биржу.
  • Возможность тестирования на исторических данных по ценам.

Компьютерная программа должна выполнять следующее:

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

Просто и легко! Однако практика алгоритмической торговли не так проста в поддержании и выполнении. Помните, что если один инвестор может разместить сделку, созданную с помощью алгоритма, то это могут сделать и другие участники рынка. Следовательно, цены колеблются в миллисекундах и даже микросекундах. В приведенном выше примере, что произойдет, если сделка на покупку будет выполнена, а сделка на продажу — нет, потому что цена продажи изменится к тому моменту, когда ордер попадет на рынок? У трейдера останется открытая позиция, что сделает арбитражную стратегию бесполезной.

Существуют дополнительные риски и проблемы, такие как риски сбоя системы, ошибки подключения к сети, задержки между торговыми ордерами и исполнением и, что наиболее важно, несовершенные алгоритмы. Чем сложнее алгоритм, тем более жесткое тестирование на исторических данных необходимо перед его применением.