Шобхит Сет - Алгоритм-трейдинг
Шобхит Сет является независимым финансовым автором, трейдером и консультантом, специализируясь на оценке деривативов и количественных исследованиях. Он имеет 14-летний опыт продукт-менеджера в ведущих финансовых компаниях Великобритании, Европы, США и Индии. Шобхит имеет степень мастера по финансовому менеджменту и бакалавра в области технологий (инженерия электроники и коммуникаций).
Алгоритм - это определенный набор ясно-определенных инструкций, направленных на выполнение какой-либо задачи или процесса.
Алгоритмическая торговля (автоматизированная торговля, торговля по принципу «черного ящика» или просто алгоритм-трейдинг) - это процесс использования компьютерных программ, чтобы следовать определенному набору инструкций при размещении сделок, с целью извлечения прибыли, с частотой, подчас недоступной для человека. Определенные наборы правил основаны на выборе времени, цене, объеме или любой математической модели. Кроме возможностей получения прибыли для трейдера, алгоритмическая торговля делает рынки более ликвидными, а торговлю более систематической, исключая эмоциональное человеческое воздействие на торговую активность.
Предположим, трейдер следует этим простым торговым критериям:
• покупает 50 акций (или контрактов), когда его 50-дневная Скользящая средняя продвигается выше 200-дневной Скользящей средней;
• продает акции (контракты), когда его 50-дневная Скользящая средняя снижается ниже 200-дневной Скользящей средней.
Используя этот набор из двух простых инструкций, легко написать компьютерную программу, которая будет автоматически отслеживать цену (и Скользящие средние) и размещать ордера на покупку и продажу, когда выполнены определенные условия. Трейдер больше не должен часами следить за ценой и графиками, и вручную размещать ордера. Система алгоритмической торговли автоматически делает это за него, правильно идентифицируя торговые возможности.
Алгоритмическая торговля обеспечивает следующие преимущества:
• сделки исполняются по лучшим ценам;
• мгновенное и точное размещение ордеров (таким образом, обеспечивая высокие возможности их исполнения по желательным ценам);
• сделки размещаются своевременно, избегая существенного изменения цен;
• уменьшение операционных затрат;
• одновременная автоматизированная проверка многочисленных рыночных условий;
• снижение риска человеческого фактора при размещении сделок;
• возможность тестирования алгоритма, основываясь на доступных исторических и текущих данных;
• уменьшение возможности ошибок, допускаемых человеком, вследствие эмоциональных и психологических факторов.
Наибольшая доля современной алгоритмической торговли приходится на высокочастотную торговлю (HFT), которая нацелена на извлечение прибыли при размещении большого количества ордеров в очень краткосрочных сделках на множестве рыночных инструментах и многочисленных параметрах, исходя из предопределенных инструкций.
Алгоритмическая торговля используется во многих формах торговой и инвестиционной активности, включая:
• средне- и долгосрочные инвесторы или институциональные покупатели (пенсионные и взаимные фонды, страховые компании), кто покупает акции в больших количествах, но не хочет влиять на их цену своими дискретными, крупными инвестициями;
• краткосрочные трейдеры и участники рынка на стороне продавцов (маркет-мейкеры, спекулянты и арбитражеры), извлекающие выгоду из автоматизированного исполнения торговли. Кроме того, алгоритмическая торговля помогает создавать достаточную ликвидность для продавцов на рынке;
• систематические трейдеры (практикующие стратегии следования за трендом, парной торговли и т.д.) считают намного эффективнее запрограммировать свои правила торговли и позволить программе торговать автоматически.
Алгоритмическая торговля обеспечивает более систематический подход к активной торговле, чем методы, основанные на человеческой интуиции или инстинкте.
Стратегии алгоритмической торговли
Любая стратегия алгоритмической торговли требует идентифицированной возможности, которая является выгодной с точки зрения улучшения дохода или сокращения затрат. Ниже приведены типичные торговые стратегии, используемые в алгоритмической торговле:
Стратегии следования за трендом
Самые распространенные алгоритмические торговые стратегии следования за трендом с использованием Скользящих средних, ценовых прорывов канала, движений относительно ценовых уровней и соответствующих технических индикаторов. Это - самые легкие и самые простые стратегии для осуществления через алгоритмическую торговлю, потому что они не вовлекают формирование каких-либо фундаментальных или технических прогнозов. Сделки заключаются на основе возникновения желательных трендов, что позволяет осуществлять их легко и прямолинейно через алгоритмы, без необходимости погружения в сложный анализ. Приведенный выше пример с 50-и 200-дневной Скользящей средней относится к популярной стратегии следования за трендом.
Арбитражные возможности
Покупка акции по более низкой цене на одном рынке и одновременная ее продажа по более высокой цене на другом рынке при наличии ценового дифференциала предполагает безрисковое получение прибыли или арбитраж. То же самое действие может осуществляться для акций с фьючерсными контрактами, поскольку ценовые дифференциалы возникают время от времени. Применение алгоритма для идентификации таких ценовых дифференциалов и размещение ордеров может существенно повысить эффективность арбитражной торговли.
Перебалансировка индексного фонда
Индексные фонды определяют периоды перебалансировки, чтобы привести свои портфели к паритету с соответствующими эталонными индексами. Это создает выгодные возможности для алгоритмических трейдеров, которые могут заработать несколько десятков пунктов на ожидаемых сделках, в зависимости от числа акций в индексном фонде, сразу перед началом перебалансировки индексного фонда. Такие сделки осуществляются через алгоритмические системы торговли для своевременного исполнения и получения лучших цен.
Стратегии на основе математической модели
Есть много проверенных математических моделей, подобно дельта-нейтральной торговой стратегии, которые позволяют торговать на комбинации опциона и базового актива, где сделки размещаются, чтобы компенсировать положительные и отрицательные дельты таким образом, чтобы общая дельта портфеля поддерживалась на нулевом уровне.
Диапазонная торговля (Возвращение к среднему значению)
Стратегия возвращения к среднему значению основывается на идее, что высокие и низкие цены на рыночные активы являются временным явлением, и они периодически возвращаются к своему среднему значению. Идентификация и определение ценового диапазона и применение основанного на этом алгоритма позволяет автоматически размещать сделки, когда цена актива входит и выходит из своего определенного диапазона.
Взвешенная по объему средняя цена (VWAP)
Стратегия взвешенной по объему средней цены разбивает большой ордер и реализует динамически определяемые меньшие части ордера на рынке, используя определенные исторические профили объема. Цель состоит в том, чтобы выполнить ордер близко к взвешенной по объему средней цене (VWAP), таким образом, извлекая выгоду на средней цене.
Взвешенная по времени средняя цена (TWAP)
Стратегия взвешенной по времени средней цены разбивает большой ордер и реализует динамически определяемые меньшие куски ордера на рынке, используя равномерно разделенные промежутки времени между началом и концом. Цель состоит в том, чтобы выполнить ордер близко к средней цене между началом и концом транзакции, таким образом, минимизируя рыночное воздействие.
Процент объема (POV)
Пока рыночный ордер полностью не исполнен, этот алгоритм продолжает посылать частичные ордера, в соответствии с определенной пропорцией и согласно объему, торгуемому на рынках. Связанная «стратегия шагов» посылает ордера в заданных трейдером процентах от рыночных объемов, и увеличивает или уменьшает эту пропорцию, когда курс акций достигает определенных пользователем уровней.
Экономия исполнения
Стратегия экономии исполнения стремится минимизировать стоимость исполнения ордера, торгуя вне рынка в реальном времени, таким образом, экономя на стоимости ордера и извлекая выгоду из возможности отсроченного исполнения. Стратегия будет увеличивать целевую долю участия, когда движение цены благоприятно и уменьшать его, когда рыночный курс перемещается в неблагоприятную сторону.
Противоположные алгоритмы
Есть несколько специальных классов алгоритмов, которые пытаются идентифицировать «случаи» с другой стороны. Эти «противоположные алгоритмы», используемые, например, маркет-мейкерами для продажи, имеют встроенный анализатор для идентификации наличия каких-либо алгоритмов со стороны покупателей большого ордера. Такая информация поможет маркет-мейкеру идентифицировать возможности большого ордера и с целью извлечения выгоды, исполняя ордера по более высокой цене. Это иногда идентифицируется как высокотехническое опережающее исполнение.
Технические требования для алгоритмической торговли
Применение алгоритма с использованием компьютерной программы - это уже завершающая стадия, идущая вслед за тестированием. Вызов состоит в преобразовании идентифицированной стратегии в интегрированный компьютеризированный процесс, который имеет доступ к торговому счету для размещения ордеров. Для этого необходимы следующие компоненты:
• знание программирования, чтобы запрограммировать требуемую торговую стратегию, либо привлечение опытных программистов;
• доступ к сети и торговой платформе для размещения ордеров;
• доступ к текущим рыночным данным, которые будут отслеживаться алгоритмом для поиска торговых возможностей;
• возможность тестирования и корректировки системы, после ее построения, прежде чем применять ее на реальных рынках;
• доступность исторических данных для тестирования, в зависимости от сложности правил, примененных в алгоритме.
Для наглядности, мы рассмотрим простой пример: акции «Royal Dutch Shell» котируются на Амстердамской фондовой бирже (AEX) и Лондонской фондовой бирже (LSE). Давайте построим алгоритм, чтобы идентифицировать арбитражные возможности. Вот некоторые интересные наблюдения:
• на AEX торговля происходит в евро, в то время как на LSE в фунтах;
• из-за разницы во времени в один час, торги на AEX открываются на час раньше, чем на LSE, после чего обе биржи торгуются одновременно в течение нескольких часов, и затем торговля происходит только на LSE в течение последнего часа, когда AEX уже закрыта.
Мы можем исследовать арбитражные возможности на акциях «Royal Dutch Shell», котируемых на этих двух рынках в двух различных валютах.
Вот необходимые условия:
• компьютерная программа, которая может читать текущие рыночные котировки;
• доступ к текущим ценам на LSE и AEX;
• доступ к текущему обменному курса EUR/GBP на рынке форекс;
• возможность размещать рыночные ордера на соответствующих торговых площадках;
• возможность тестировать систему на исторических данных.
Компьютерная программа должна будет выполнить следующие операции:
• читать поступающие данные по текущим рыночным котировкам с обеих бирж;
• использовать доступные обменные курсы для конвертации цены из одной валюты в другую;
• если возникает достаточно большое расхождение цены (с учетом брокерских комиссионных), ведущее к выгодной возможности, то размещать ордер на покупку по более низкой цене и ордер на продажу по более высокой цене;
• если ордера исполнены в соответствии с требованием, то будет получена арбитражная прибыль.
Просто и легко! Однако, практика алгоритмической торговли состоит не только в том, чтобы просто написать и исполнять алгоритм. Помните, если вы можете разместить сделку на основе алгоритма, то и другие рыночные участники могут сделать тоже самое. Следовательно, цены колеблются за доли секунды. В приведенном примере, что произойдет, если ваш ордер на покупку будет исполнен, а ордер на продажу нет, поскольку к моменту поступления вашего ордера на рынок цена изменится? Вы останетесь с открытой позицией, что сведет на нет вашу арбитражную стратегию.
Есть дополнительные риски и вызовы: например, риски сбоя системы, нарушения соединения сети, задержки по времени между размещением и исполнением ордеров, и, что наиболее важно, несовершенства алгоритмов. Чем сложнее алгоритм, тем более тщательное тестирование необходимо, прежде чем запускать его в рынок.
Заключение
Количественный анализ работы алгоритма играет важную роль и должен быть подробно исследован. Идея автоматизации торговли, чтобы компьютер делал вам деньги, звучит захватывающе. Но нужно убедиться, что система полностью проверена и обеспечены требуемые условия. Аналитические трейдеры должны рассмотреть изучение программирования и самостоятельное построение систем, чтобы быть уверенным в применении правильных стратегий без ошибок. Осторожное использование и полное тестирование алгоритмической торговли может обеспечить весьма выгодные возможности.
Содержание раздела