Алгоритмическая торговля, или Алгоритмический трейдинг (англ. Algorithmic trading) — это метод исполнения большой заявки (слишком большой, чтобы быть исполненной за раз), когда с помощью особых алгоритмических инструкций большая заявка (parent order) делится на несколько под-заявок (child orders) со своими характеристиками цены и объёма, и каждая из под-заявок отправляется в определённое время на рынок для исполнения. Такие алгоритмы были придуманы для того, чтобы трейдерам не приходилось постоянно следить за котировками и делить большую заявку на маленькие вручную. Популярные алгоритмы носят названия "Percentage of Volume", "Pegged", "VWAP", "TWAP", "Implementation Shortfall", "Target Close".
Алгоритмическая торговля не ставит целью получить прибыль. Её цель — уменьшить стоимость исполнения крупной заявки (transaction cost), минимизировать её влияние на рынок (market impact) и уменьшить риск её неисполнения[1][2].
Термин "алгоритмическая торговля" часто ошибочно используется в тех случаях, когда речь идёт об автоматизированных торговых системах[3]. Перед такими системами действительно ставится цель получить прибыль. Они также известны под названием "торговых роботов" ("black box trading"), в которых торговые стратегии строятся на базе сложных математических формул и быстрой обработки данных[4][5].
Применение и реализация
Алгоритмическая торговля широко используется инвестиционными банками, пенсионными, хедж- и паевыми фондами, т.к. эти институциональные инвесторы в своей деятельности оперируют заявками большого объёма и следовательно не могут выставить такие большие заявки на рынок целиком без риска потерь.
До появления программных комплексов алгоритмической торговли трейдеры институциональных инвесторов или трейдеры брокеров, получавших заявки от таких инвесторов, должны были делить крупные заявки вручную[6]. Существовала даже целая индустрия исполнения заявок (execution services), когда сторонние execution-компании принимали заявки от крупных инвесторов и исполняли их, опираясь на свой собственный опыт[7].
В середине 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 (англ. Time Weighted Average Price - взвешенная по времени средняя цена) — подразумевает равномерное исполнение общего объёма заявки в течение определённого промежутка времени, посредством выставления заявок по ценам лучшего спроса или предложения через равномерные интервалы времени.
- Алгоритм VWAP (англ. Volume Weighted Average Price - взвешенная по объёму средняя цена) — подразумевает равномерное исполнение общего объёма поручения за заданное число итераций в течение определённого промежутка времени, посредством выставления заявок по ценам лучшего спроса или предложения, скорректированных на заданную величину процентного отклонения, но не превышающих средневзвешенную рыночную цену инструмента, рассчитанную с момента запуска алгоритма.
- Алгоритм Iceberg — подразумевает исполнение общего объёма поручения посредством выставления котировочных заявок с суммарным объёмом, не превышающим заданное «видимое» количество. Выставление заявок продолжается до полного исполнения общего объёма поручения. На некоторых биржах, в том числе на LSE, алгоритм Айсберг реализован на уровне ядра торговой системы, что позволяет, наряду с обычными параметрами заявки, указать её «видимый» объём.
Риски
Алгоритмическая торговля связана с рисками программных, аппаратных или человеческих ошибок, которые могут привести к «переисполнению» заявки. Этот эффект носит название runaway algo, когда алгоритм по какой-то причине начинает посылать под-заявки неправильно: не по той цене, не в то время, не по той ценной бумаге или не учитывая исполнение предыдущих под-заявок.
В качестве примера можно привести события 1 августа 2012 года (вошедшие в историю торгов под названием Knightmare[8][9]) на Нью-Йоркской бирже, когда обновлённый алгоритмический движок компании Knight Capital Group[англ.] из-за ошибок в настройке и при установке за 45 минут выставил заявок на покупку на 3.5 миллиарда долларов США и заявок на продажу на 3.15 миллиарда долларов США. Из-за ошибочных действий ПО рынок по некоторым акциям сдвинулся более чем на 10 %. Чистый убыток, понесённый Knight Capital, составил 460 миллионов долларов. На следующий день компания объявила о банкротстве[10].
Во избежание таких случаев регулирующие органы и биржи требуют от владельцев алгоритмических торговых систем оборудовать их системами быстрого отключения kill switch[11][12], которые позволяют моментально отключить систему от канала связи и автоматически отменить выставленные на бирже заявки с помощью механизма cancel-on-disconnect. Это требование относится не только к системам алгоритмического исполнения заявок, но и к системам автоматизированной торговли и системам прямого доступа к рынку.
В 2009 году на долю высокочастотной алгоритмической торговли пришлось около 73 % от общего объёма торгов акциями в США[13]. На бирже ММВБ в 2010 году доля высокочастотных систем в обороте на фондовом рынке составляла порядка 11-13 %, а по числу заявок — 45 %. По данным РТС в 2010 году на долю торговых роботов в обороте на срочном рынке РТС FORTS приходилось примерно 50 %, а их доля в общем количестве заявок в определённые моменты достигала 90 %[14].
Алгоритмическая и высокочастотная торговля стали предметом многочисленных разбирательств, инициированных американскими регуляторами SEC (U.S. Securities and Exchange Commission) и CFTC в связи с обвинением в их причастности к событиям 6 мая 2010 года (2010 Flash Crash[англ.]), когда ведущие фондовые индексы США кратковременно испытали крупнейшее за всю свою историю внутридневное падение[15][16][17].
Влияние алгоритмических систем на ликвидность финансовых рынков
Основная статья:
Ликвидность
Ликвидность финансовых инструментов обычно оценивают по объёму и количеству совершаемых сделок (объём торгов), величине спреда между лучшими ценами спроса и предложения (максимальными ценами заявок на покупку и минимальными ценами заявок на продажу) и суммарного объёма заявок вблизи лучших цен спроса и предложения (цены и объём текущих заявок можно увидеть в стакане торгового терминала). Чем больше объём и количество сделок по инструменту, тем больше его торговая ликвидность, в свою очередь, чем меньше разница между лучшими ценами спроса и предложения и чем больше объём заявок вблизи этих цен, тем больше моментальная ликвидность.
Существует два основных принципа выставления заявок:
- котировочный — выставление заявок с целью совершения сделки по более выгодной цене, чем текущие лучшие цены спроса или предложения.
- рыночный — выставление заявок с целью моментального совершения сделки по текущим ценам спроса или предложения.
Заявки, выставленные по котировочному принципу формируют моментальную ликвидность рынка, позволяя другим участникам торгов в любой момент времени купить или продать определённое количество актива.
Заявки, выставленные по рыночному принципу, формируют торговую ликвидность рынка, позволяя другим участникам торгов купить или продать определённое количество актива по желаемой цене.
Алгоритмические торговые системы, использующие котировочный принцип, являются одними из основных поставщиков моментальной ликвидности, а использующие рыночный принцип — одними из основных поставщиков торговой ликвидности. Большое количество алгоритмических систем одновременно используют оба эти принципа[18].
Влияние алгоритмических систем на биржевую инфраструктуру
Алгоритмические системы при перестановке заявок могут выставлять по несколько заявок в секунду по одному инструменту. Лишь малая часть этих заявок приводит к сделкам (по информации предоставленной ММВБ, более 95 % заявок от высокочастотных роботов снимаются без исполнения[14]). Таким образом, при высокочастотном котировании, биржевая инфраструктура нагружается в максимальной степени, причем большую часть времени вхолостую. Поскольку чрезмерная нагрузка биржевой инфраструктуры может повлиять на стабильность её работы, биржи используют такие защитные механизмы, как задержка в трансляции рыночной информации, ограничение числа допустимых транзакций, введение минимального времени «жизни» заявки, а также сдерживание активности роботов через тарифную политику[18].
Спекулятивные стратегии
Основной целью спекулятивных стратегий является получение дохода в краткосрочном периоде за счёт колебаний рыночных цен финансовых инструментов. В целях классификации, можно выделить восемь основных групп спекулятивных стратегий, некоторые из которых используют принципы и алгоритмы других групп, либо являются их производными.
Стратегии маркет-мейкинга (англ. Market making) — предполагают одновременное выставление и поддержание котировочных заявок на покупку и на продажу финансового инструмента. Данные стратегии используют принцип случайного блуждания цены в пределах текущего тренда, иными словами, несмотря на рост цены инструмента на определённом временном интервале часть сделок будет приводить к уменьшению его цены относительно ряда предыдущих значений, и наоборот, в случае общего падения цены инструмента часть сделок будет приводить к увеличению его цены относительно ряда предыдущих значений. Таким образом, в случае удачно подобранных цен котировочных заявок можно покупать дёшево и продавать дорого независимо от текущего направления тренда. Существуют различные модели определения оптимальной цены котировочных заявок, выбор которых осуществляется исходя из ликвидности инструмента, объёма размещаемых в стратегию средств, допустимого времени удержания позиции и ряда других факторов. Ключевым фактором успеха стратегий маркет-мейкинга является максимальное соответствие котировок текущей рыночной конъюнктуре по инструменту, чему способствует высокая скорость получения рыночных данных и возможность быстро изменить цену своих заявок, в противном случае данные стратегии становятся убыточными. Маркет-мейкеры являются одними из основных «поставщиков» моментальной ликвидности, а за счёт конкуренции способствуют улучшению её профиля, поэтому биржи часто привлекают маркет-мейкеров в неликвидные инструменты, предоставляя льготные условия по комиссиям, а в некоторых случаях выплачивая вознаграждение за поддержание котировок.
Трендследящие стратегии (англ. Trend following) — основаны на принципе выявления тренда на временных рядах значений цены инструмента посредством различных индикаторов технического анализа, и покупке или продаже инструмента при появлении соответствующих сигналов. Характерной особенностью трендследящих стратегий является возможность их применения практически на любых таймфреймах — от тиковых до месячных, но поскольку доходность этих стратегий зависит от соотношения количества верных и ошибочных «прогнозов» относительно дальнейшего направления движения цены, использовать слишком большие таймфреймы довольно рискованно, поскольку ошибка на них выявляется достаточно долго и может привести к серьёзным убыткам. Эффективность трендследящих стратегий, особенно при внутридневной торговле, в существенной степени зависит от моментальной ликвидности инструмента, поскольку большинство сделок совершаются рыночными заявками по текущим ценам спроса и предложения. Следовательно, если в инструменте будет широкий спред и горизонтальная кривая моментальной ликвидности, то даже в случае большого количества верных прогнозов стратегия может принести убытки.
Стратегии парного трейдинга (англ. Pairs trading) — основаны на анализе соотношения цен двух высоко коррелированных между собой инструментов, например акции Лукойла и Роснефти или фьючерсы на акции Сбербанка и ВТБ. Ключевой принцип стратегий парного трейдинга базируется на свойстве схождения соотношения цен со своей скользящей средней, поэтому при отклонении соотношения от средней на заданную величину совершается покупка определённого количества одного инструмента и одновременная продажа соответствующего количества другого инструмента, а при возврате соотношения к средней совершаются обратные сделки. Для анализа соотношений цен используются те же индикаторы технического анализа, что и в трендследящих стратегиях. Однако свойство схождения цен отчётливо выражено лишь на малых временных интервалах, поэтому для анализа пар на больших временных интервалах используется сравнение индикаторов фундаментального анализа, таких как рыночные мультипликаторы, коэффициенты рентабельности и финансовые коэффициенты. Сигналы по таким индикаторам возникают относительно редко, что позволят вкладывать в стратегию достаточно большой капитал, а для исполнения сигналов зачастую применяются алгоритмы TWAP, VWAP или Iceberg.
Стратегии баскет-трейдинга (англ. Basket trading) — повторяют принципы, лежащие в основе стратегий парного трейдинга, с тем лишь отличием, что соотношение цен строится для двух «корзин инструментов». Цена каждой корзины рассчитывается по ценам нескольких различных инструментов, с учётом количества единиц этих инструментов в корзине. Также как и в стратегиях парного трейдинга, при достижении отклонения соотношения на заданную величину от своей скользящей средней совершается покупка всех инструментов входящих в первую корзину и одновременная продажа всех инструментов, входящих в другую корзину, а при возврате соотношения к средней совершаются обратные сделки. Для анализа соотношений цен корзин инструментов используются те же индикаторы технического анализа, что и в трендследящих стратегиях. Эффективность стратегий баскет трейдинга в значительной степени зависит от моментальной ликвидности инструментов, поскольку практически все сделки совершаются рыночными заявками по текущим ценам спроса и предложения, а торговля идёт преимущественно внутри дня. По этим причинам стратегии баскет трейдинга применяются исключительно на высоколиквидных инструментах.
Арбитражные стратегии (англ. Arbitage) — в большинстве своём являются частным случаем парного трейдинга, с той лишь особенностью, что пара состоит из одинаковых или связанных между собой активов, корреляция которых практически равна или близка к единице. Следовательно, соотношение цен таких инструментов чаще всего будет почти неизменным. Арбитражные стратегии можно условно разделить на несколько типов, исходя из используемых для торговли активов:
- Пространственный арбитраж — предполагает использование абсолютно идентичных инструментов, но торгующихся на разных рынках, например: акция — акция; фьючерс — фьючерс; ДР — ДР.
- Эквивалентный арбитраж — предполагает использование связанных между собой инструментов, у которых цена одного инструмента, линейно зависит от цены другого инструмента, например: акция — фьючерс, акция — ДР.
- Индексный арбитраж — является частным случаем баскет трейдинга и заключается в арбитраже фьючерса на индекс к корзине инструментов, входящих в базу расчёта этого индекса.
- Опционный арбитраж — основан на принципе паритета стоимости опционов пут и колл, при нарушении которого происходит одновременная покупка опциона одного типа и продажа опциона другого типа, при этом совершается покупка или продажа соответствующего количества базового актива.
Эффективность арбитражных стратегий зависит исключительно от скорости получения рыночных данных и скорости выставления или изменения заявок, поэтому арбитраж можно отнести к самым высокотехнологичным алгоритмам, требующим наличия сверхскоростных каналов связи и современной торговой инфраструктуры.
Стратегии торговли волатильностью (англ. Volatility trading) — используют принцип зависимости цены опциона от ожидаемой волатильности базового актива в течение периода, оставшегося до экспирации опциона. Это означает, что расчётная цена опциона в один и тот же момент времени и при неизменной цене базового актива, будет различаться в зависимости от использованного в расчётах значения ожидаемой волатильности. Чем выше ожидаемая волатильность, тем выше цена опциона. Соответственно, в случае прогнозирования роста волатильности совершается покупка опционов, а в случае прогнозирования падения волатильности совершается продажа опционов. Однако, в отличие от обычной покупки или продажи опционов, торговля волатильностью предполагает наличие в портфеле взаимно хеджирующих позиций, состоящих из опционов различных типов, серий и страйков, а также из базового актива. Поэтому, при совершении сделки, с каким либо одним опционом, одновременно совершается сделка по другому опциону или по базовому активу. Торговля волатильностью считаются одними из самых сложных с математической точки зрения, и для эффективной работы требуют высоких вычислительных мощностей, особенно при котировании опционов по большому количеству активов, в различных сериях и страйках.
Стратегии низких задержек (англ. Low-latency trading) — являются модификацией трендследящих стратегий, поскольку также основываются на выявление тренда для совершения сделок, но с той лишь особенностью, что тренд определяется по одному (базисному) инструменту, а сделки совершаются по другому (рабочему) инструменту. Основной принцип этих стратегий заключается в использовании свойств корреляции инструментов и задержек в распространении рыночной информации. Выявление тренда осуществляется на сверхмалых таймфреймах по инструменту с очень высокой торговой ликвидностью, поскольку именно эти инструменты являются драйверами движения цен на рынке и способствуют изменению цен инструментов с меньшей торговой ликвидностью. Определив направление краткосрочного тренда по базисному инструменту выставляется рыночная заявка по рабочему инструменту по текущей цене спроса или предложения. В некоторых случаях, в качестве рабочего инструмента может использоваться не один инструмент, а корзина из различных инструментов, каждый из которых имеет высокий коэффициент корреляции с базисным инструментом. Эффективность стратегий низких задержек зависит исключительно от скорости получения рыночных данных по базисному инструменту и скорости выставления заявок по рабочему инструменту, поэтому эти стратегии, также как и арбитражные, требуют наличия сверхскоростных каналов связи и современной торговой инфраструктуры.
Стратегии фронт-раннинга (англ. Front running) — основываются на анализе моментальной ликвидности инструмента и среднего объёма сделок по инструменту в течение определённого временного периода. При появлении вблизи лучших цен спроса или предложения одной или нескольких заявок с суммарным объёмом, превышающим на заданную величину средний объём сделок за определённый временной период, в этом же направлении выставляется заявка с ценой, отличающейся от цены заявок с большим объёмом на несколько пунктов выше, при выставлении заявки на покупку, или на несколько пунктов ниже, при выставлении заявки на продажу. Таким образом, выставленная заявка оказывается перед заявками с большим объёмом, и в случае её исполнения сразу же выставляется противоположная заявка с ценой на несколько пунктов выше, при изначальной покупке, или на несколько пунктов ниже, при изначальной продаже. Расчёт сделан на то, что заявки с большим объёмом будут исполняться в течение определённого периода времени, за которое также произойдёт несколько сделок с заявками противоположного направления. Стратегии фронт раннинга лучше всего работают на инструментах с высокой торговой ликвидностью, а их эффективность в первую очередь зависит от скорости получения рыночных данных и скорости выставления заявок[19].
Способы подключения к торгам
Для большинства алгоритмических систем скорость получения рыночных данных и скорость выставления заявок являются важнейшими факторами, влияющими на эффективность работы системы. На российском рынке исторически сложилось шесть различных вариантов подключения роботов к биржевым торговым системам. В качестве примера рассмотрим варианты доступа к торговой площадке FORTS:
- Вариант А — является самым экономичным из всех существующих, так как не требует практически никаких затрат на инфраструктуру. Недостатками этого варианта доступа являются максимально возможные задержки в получении рыночных данных и низкая скорость выставления заявок, что связано с большим количеством промежуточных звеньев между торговым роботом и ядром торговой системы. Кроме того, существует целый ряд внешних рисков, которые могут привести к нестабильной работе алгоритмической системы, например, обрыв интернет соединения или сбой брокерской системы. В связи с этим, данный вариант доступа не рекомендуется применять для высокочастотной торговли.
- Вариант B — практически идентичен предыдущему, с тем лишь отличием, что для подключения торгового робота к брокерской системе не требуется наличие торгового терминала. Несмотря на исключение одного промежуточного звена, данный вариант доступа почти не отличается по величине задержек данных, скорости работы с заявками, и внешним рискам от Варианта А, что также делает его непригодным для высокочастотного трейдинга.
Варианты C, D, E и F относятся к группе вариантов прямого доступа к рынкам и характеризуются подключением торгового робота непосредственно к звену биржевой торговой инфраструктуры, в данном случае к промежуточному серверу (промсерверу) FORTS. В связи с минимальным количеством звеньев, DMA является оптимальным решением для алгоритмических систем высокочастотной торговли.
- Вариант C — самый простой в реализации и самый экономичный вариант DMA. В данном случае, все инфраструктурные расходы ограничиваются платой за доступ к промсерверу, через который торговый робот получает рыночные данные и выставляет заявки. Этот вариант доступа, существенно превосходит по всем характеристикам варианты A и B, однако у него имеется один очень важный недостаток, связанный с использованием интернет-соединения для взаимодействия с биржевой торговой инфраструктурой. Дело в том, что подключение через интернет не гарантирует качества передачи данных, поскольку на пути от торгового робота до биржи находится множество маршрутизаторов, на каждом из которых могут возникать очереди из пакетов данных, приводящие к существенному снижению скорости их передачи или к их потере.
- Вариант D — позволяет устранить риски, связанные с Интернет-соединением, посредством передачи торговых данных через выделенный канал связи, который обеспечивает стабильную скорость передачи с минимальными потерями. Для этого необходимо разместить торгового робота в дата-центре брокера, что предполагает дополнительные расходы на приобретение аппаратного обеспечения (сервера) для торгового робота и на оплату услуги размещение сервера в дата-центре (колокейшн). Несмотря на все преимущества этого варианта, у него остаётся ряд внешних рисков, обусловленных общим использованием выделенного канала и промсервера всеми клиентами брокера, что может привести к «забиванию» Выделенного канала или перегрузке промсервера.
- Вариант E — позволяет исключить риск, связанный с выделенным каналом связи и добиться минимальных задержек в получении рыночных данных, посредством размещения торгового робота в дата-центре РТС. Однако максимальная близость к биржевой торговой инфраструктуре, потребует дополнительных расходов, среди которых оплата получения данных из локальной сети РТС и оплата доступа в интернет, для возможности удалённого управления торговым роботом.
- Вариант F — по праву считается самым надёжным и эффективным из всех существующих вариантов доступа, благодаря исключению последнего внешнего риска, обусловленного использованием промсервера несколькими участниками торгов. Для реализации этого варианта потребуются расходы на приобретение аппаратного обеспечения для промсервера, оплату лицензии и инсталляции программного обеспечения для него, а также на оплату услуги его размещения в дата-центре РТС[20].
См. также
Примечания
Литература