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

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

В алгоритмической торговле алгоритмы используются для исполнения больших ордеров с минимальными потерями. Решение о том, каким образом лучше всего исполнить ордер, называется «торговым решением» (trading decision).

Цель алгоритмической торговли – эффективно уменьшить затраты на исполнение ордера (execution costs), уменьшить влияние ордера на рынок (reduce market impact). Слово «торговля» (trading) в этом термине не совсем удачное. Оно имеет слишком широкое значение и у большинства ассоциируется с деятельностью по купле-продаже, поэтому корректно называть этот процесс «алгоримическим исполнением ордера» (algorithmic order execution).

Путаница

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

Я придерживаюсь более строго, «пуристского» определения, принятого в инвестиционных банках и брокерских компаниях:

  • Автоматизированая торговля – процесс, в котором принимается инвестиционное решение согласно определенной торговой стратегии, т.е. автоматизированная торговля заменяет финансового аналитика;
  • Алгоритмическая торговля – процесс, в котором принимается торговое решение согласно определенному торговому алгоритму; алгоритмическая торговля заменяет трейдера.

Как работает алгоритмический движок

Алгоритмическое исполнение ордера — т.е. выставление его на электронную торговую площадку — управляется определенной моделью. Модель  выбирается владельцем ордера из нескольких вариантов, исходя из своих собственных желаний, представлений, сроков и намерений. Каждая модель старается исполнить ордер — т.е. получить Fills по нему — минимизируя издержки исполнения в сравнении с каким-то определенным заданным критерием/параметром (algo parameter, algo benchmark).

Чаще всего исполнение ордера осуществляется путем деления его на мелкие ордера и выставлении ордера на рынок по частям.

Подробности

1) Большой родительский ордер (parent order) поступает в алгоритмический движок, например, по FIX-протоколу.

2) Внутри движка ордер делится, используя специальный алгоритм с заданными параметрами, на маленькие ордера (child orders), и каждый маленький ордер отправляется на рынок:

  • в определенное время (утренняя сессия, вечерняя сессия)
  • с определенной ценой (ниже, вровень с BBO, с уплатой спреда и проч.)
  • определенным типом (лимитный или рыночный)
  • определенным Time-in-Force (Day, FOK, IOC и проч.)

3) В течение торгового дня алгоритмический движок следит за судьбой каждого child-ордера, отслеживая его исполнение, в случае необходимости меняет child-ордер (переопределяет его, повышает-понижает цену, меняет объем ордера) или отменяет его, выставляя новый.

Откуда именно в алгоритмический движок попадает родительский ордер (parent order) – не суть важно, главное — родительский ордер не создает сам алгоритмический движок. Чаще всего алго-движок брокера работает над крупным ордером, поступившим от клиента. Иногда от отдела — проприетарной торговли, внутреннего фонда управления активами или маркет-мейкера.

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

Какие бывают алгоритмы исполнения ордеров

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

Самыми популярными являются:

  • VWAP
  • TWAP
  • Arrival Price
  • Implementation shortfall
  • POV
  • ADV
  • EOD / Beat Close
  • Iceberg

Каждый из этих алгоритмов предназначен для исполнения ордера определенным образом/способом. Самым популярным является алгоритм «VWAP», который старается исполнить ордер по цене как можно близкой к VWAP.

За каждым из этих алгоритмов стоит своя особая модель и критерий успешного исполнения. Например, алгоритм «Arrival price» стремится исполнить ордер по той цене, по которой инструмент торговался в момент прихода первого child-ордера на рынок. Например, если цена покупки акций IBM в 11:00 была 100 долларов, то выбирая алгоритм Arrival price, клиент хочет исполнить весь свой ордер именно по этой цене с определенным отклонением.

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

Transaction Cost Analysis

После того, как весь (или не весь) ордер исполнен, все child-ордера собираются в кучку и производится анализ того, как parent-ордер был исполнен алгоритмом, т.е. на сколько результат исполнения ордера отошел от критериев, которые были заданы до запуска алгоритма.

Этот анализ называется «анализом издержек» (Transaction Cost Analysis — TCA) и является дополнительным сервисом, который брокер предоставляет клиенту.

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s