Алгоритмическая торговля, или Алгоритмический трейдинг () — это метод исполнения большой заявки (слишком большой, чтобы быть исполненной за раз), когда с помощью особых алгоритмических инструкций большая заявка (parent order) делится на несколько под-заявок (child orders) со своими характеристиками цены и объёма, и каждая из под-заявок отправляется в определённое время на рынок для исполнения. Такие алгоритмы были придуманы для того, чтобы трейдерам не приходилось постоянно следить за котировками и делить большую заявку на маленькие вручную. Популярные алгоритмы носят названия "Percentage of Volume", "Pegged", "VWAP", "TWAP", "Implementation Shortfall", "Target Close".
Алгоритмическая торговля не ставит целью получить прибыль. Её цель — уменьшить стоимость исполнения крупной заявки (transaction cost), минимизировать её влияние на рынок (market impact) и уменьшить риск её неисполнения.
Термин "алгоритмическая торговля" часто ошибочно используется в тех случаях, когда речь идёт об автоматизированных торговых системах. Перед такими системами действительно ставится цель получить прибыль. Они также известны под названием "торговых роботов" ("black box trading"), в которых торговые стратегии строятся на базе сложных математических формул и быстрой обработки данныхThe New Financial Industry, Alabama Law Review, available at: http://ssrn.com/abstract=2417988Lemke and Lins, "Soft Dollars and Other Trading Activities," §2:30 (Thomson West, 2015-2016 ed.)..
Применение и реализация Алгоритмическая торговля широко используется инвестиционными банками, пенсионными, хедж- и паевыми фондами, т.к. эти институциональные инвесторы в своей деятельности оперируют заявками большого объёма и следовательно не могут выставить такие большие заявки на рынок целиком без риска потерь.
До появления программных комплексов алгоритмической торговли трейдеры институциональных инвесторов или трейдеры брокеров, получавших заявки от таких инвесторов, должны были делить крупные заявки вручнуюПримером может служить Брэд Кацуяма (Brad Katsuyama) из книги Майкла Льюиса "Flash Boys", который возглавлял трейдерский отдел в Royal Bank of Canada. Существовала даже целая индустрия исполнения заявок (execution services), когда сторонние execution-компании принимали заявки от крупных инвесторов и исполняли их, опираясь на свой собственный опытНапример, компания Themis Trading .
В середине 2000-х годов эту рутинную работу удалось автоматизировать с помощью создания алгоритмических "движков" (algorithmic engines), которые исполняли все те же действия, что делал трейдер, самостоятельно. Трейдеру достаточно было перенаправить заявку в такой "движок", выбрать алгоритм исполнения и дальше только отслеживать его работу, сконцентрировавшись на ручном исполнении только сложных заявок.
С середины 2000-х годов ведущие брокеры стали предоставлять доступ к своим алгоритмическим движкам своим крупным клиентам, так что клиентам не надо было создавать такие движки самостоятельно. Комиссия за пользование алгоритмическим движком брокера выше, чем за пользование услугой прямого доступа к рынку (direct market access (DMA)), но меньше, чем high touch-услуга.
Передача заявки между клиентом и брокером осуществляется, как правило, с помощью сообщения по протоколу FIX. Для передачи заявок, предназначенных для алгоритмических движков, в 2004 году был предложен стандарт FIXatdl - расширение протокола FIX, но до сих пор этот стандарт так и не получил широкого распространения. Сообщение регистрируется в системе управления заявками брокера и перенаправляется автоматически в алгоритмический движок брокера. Сообщение FIX содержит в особых тегах (custom tags) параметры исполнения алгоритма, например: время начала и конца исполнения, целевая цена исполнения, агрессивность/пассивность исполнения, участие/неучастие в аукционах открытия и закрытия торговых сессий. По мере исполнения заявки на рынке инвестор получает FIX-сообщения от брокера об исполнении (Partial Fills) и в конце дня сообщение о полном исполнении заявки (Fill) или отмене её оставшейся неисполненной части (Cancellation).
Каждый брокер называет свои алгоритмы по-разному, что приводит к трудностям сравнения услуг алгоритмической торговли для выбора лучшей. Впрочем, у всех брокеров реализованы самые распространённые и хорошо известные алгоритмы, например TWAP, VWAP, POV и проч., и отличия между их реализациями минимальны.
С некоторых пор на некоторых биржах алгоритмическая торговля реализована на уровне торговых систем. Это существенно повышает эффективность алгоритма, поскольку для его реализации достаточно выставить лишь одну заявку, которая будет исполнена гораздо быстрее, чем несколько последовательно выставленных заявок или пользоваться для этого услугами брокера.
Алгоритмические стратегии Алгоритм TWAP ( - взвешенная по времени средняя цена) — подразумевает равномерное исполнение общего объёма заявки в течение определённого промежутка времени, посредством выставления заявок по ценам лучшего спроса или предложения через равномерные интервалы времени. Алгоритм VWAP ( - взвешенная по объёму средняя цена) — подразумевает равномерное исполнение общего объёма поручения за заданное число итераций в течение определённого промежутка времени, посредством выставления заявок по ценам лучшего спроса или предложения, скорректированных на заданную величину процентного отклонения, но не превышающих средневзвешенную рыночную цену инструмента, рассчитанную с момента запуска алгоритма. Алгоритм Iceberg — подразумевает исполнение общего объёма поручения посредством выставления котировочных заявок с суммарным объёмом, не превышающим заданное «видимое» количество. Выставление заявок продолжается до полного исполнения общего объёма поручения. На некоторых биржах, в том числе на LSE, алгоритм Айсберг реализован на уровне ядра торговой системы, что позволяет, наряду с обычными параметрами заявки, указать её «видимый» объём.
Риски Алгоритмическая торговля связана с рисками программных, аппаратных или человеческих ошибок, которые могут привести к «переисполнению» заявки. Этот эффект носит название runaway algo, когда алгоритм по какой-то причине начинает посылать под-заявки неправильно: не по той цене, не в то время, не по той ценной бумаге или не учитывая исполнение предыдущих под-заявок.
В качестве примера можно привести события 1 августа 2012 года (вошедшие в историю торгов под названием Knightmare) на Нью-Йоркской бирже, когда обновлённый алгоритмический движок компании из-за ошибок в настройке и при установке за 45 минут выставил заявок на покупку на 3.5 миллиарда долларов США и заявок на продажу на 3.15 миллиарда долларов США. Из-за ошибочных действий ПО рынок по некоторым акциям сдвинулся более чем на 10 %. Чистый убыток, понесённый Knight Capital, составил 460 миллионов долларов. На следующий день компания объявила о банкротстве.
Во избежание таких случаев регулирующие органы и биржи требуют от владельцев алгоритмических торговых систем оборудовать их системами быстрого отключения kill switch, которые позволяют моментально отключить систему от канала связи и автоматически отменить выставленные на бирже заявки с помощью механизма cancel-on-disconnect. Это требование относится не только к системам алгоритмического исполнения заявок, но и к системам автоматизированной торговли и системам прямого доступа к рынку.
В 2009 году на долю высокочастотной алгоритмической торговли пришлось около 73 % от общего объёма торгов акциями в СШАRob Iati. The Real Story of Trading Software Espionage . AdvancedTrading.com. 10 Jul 2009. На бирже ММВБ в 2010 году доля высокочастотных систем в обороте на фондовом рынке составляла порядка 11-13 %, а по числу заявок — 45 %. По данным РТС в 2010 году на долю торговых роботов в обороте на срочном рынке РТС FORTS приходилось примерно 50 %, а их доля в общем количестве заявок в определённые моменты достигала 90 %Полина Смородская. ММВБ взялась за роботов. Газета «Коммерсантъ» № 129 (4429) от 20.07.2010.
Алгоритмическая и высокочастотная торговля стали предметом многочисленных разбирательств, инициированных американскими регуляторами SEC (U.S. Securities and Exchange Commission) и CFTC в связи с обвинением в их причастности к событиям 6 мая 2010 года (), когда ведущие фондовые индексы США кратковременно испытали крупнейшее за всю свою историю внутридневное падениеTom Lauricella. How a Trading Algorithm Went Awry . The Wall Street Journal. 2 Oct 2010Nina Mehta. Automatic Futures Trade Drove May Stock Crash, Report Says . Bloomberg. 1 Oct 2010Graham Bowley. Lone $4.1 Billion Sale Led to ‘Flash Crash’ in May . The New York Times. 1 Oct 2010.
Влияние алгоритмических систем на ликвидность финансовых рынков
Ликвидность финансовых инструментов обычно оценивают по объёму и количеству совершаемых сделок (объём торгов), величине спреда между лучшими ценами спроса и предложения (максимальными ценами заявок на покупку и минимальными ценами заявок на продажу) и суммарного объёма заявок вблизи лучших цен спроса и предложения (цены и объём текущих заявок можно увидеть в стакане торгового терминала). Чем больше объём и количество сделок по инструменту, тем больше его торговая ликвидность, в свою очередь, чем меньше разница между лучшими ценами спроса и предложения и чем больше объём заявок вблизи этих цен, тем больше моментальная ликвидность.
Существует два основных принципа выставления заявок: котировочный — выставление заявок с целью совершения сделки по более выгодной цене, чем текущие лучшие цены спроса или предложения. рыночный — выставление заявок с целью моментального совершения сделки по текущим ценам спроса или предложения.
Заявки, выставленные по котировочному принципу формируют моментальную ликвидность рынка, позволяя другим участникам торгов в любой момент времени купить или продать определённое количество актива.
Заявки, выставленные по рыночному принципу, формируют торговую ликвидность рынка, позволяя другим участникам торгов купить или продать определённое количество актива по желаемой цене.
Алгоритмические торговые системы, использующие котировочный принцип, являются одними из основных поставщиков моментальной ликвидности, а использующие рыночный принцип — одними из основных поставщиков торговой ликвидности. Большое количество алгоритмических систем одновременно используют оба эти принципа.
Влияние алгоритмических систем на биржевую инфраструктуру Алгоритмические системы при перестановке заявок могут выставлять по несколько заявок в секунду по одному инструменту. Лишь малая часть этих заявок приводит к сделкам (по информации предоставленной ММВБ, более 95 % заявок от высокочастотных роботов снимаются без исполнения). Таким образом, при высокочастотном котировании, биржевая инфраструктура нагружается в максимальной степени, причем большую часть времени вхолостую. Поскольку чрезмерная нагрузка биржевой инфраструктуры может повлиять на стабильность её работы, биржи используют такие защитные механизмы, как задержка в трансляции рыночной информации, ограничение числа допустимых транзакций, введение минимального времени «жизни» заявки, а также сдерживание активности роботов через тарифную политикуДавид Серебренников. Страсти по алготрейдингу. Журнал F&O. № 12 декабрь 2010.
Спекулятивные стратегии Основной целью спекулятивных стратегий является получение дохода в краткосрочном периоде за счёт колебаний рыночных цен финансовых инструментов. В целях классификации, можно выделить восемь основных групп спекулятивных стратегий, некоторые из которых используют принципы и алгоритмы других групп, либо являются их производными.