Главный технологический тренд мирового фондового рынка последних лет – бурное развитие так называемой алгоритмической, или высокоскоростной торговли. Теперь на биржах соревнуются не люди, а торговые роботы, совершающие сотни и тысячи операций за одну торговую сессию. Как обычно, зародившись на Западе, этот тренд уже добрался и до России – алгоритмических торговцев на Московской бирже стало очень много. Сегодня мы поговорим о перспективах развития данной области в нашей стране.
При этом в зону алгоритмической торговли попадают спекулянты/дей-трейдеры, скальперы и HFT-торговцы, то есть именно эти три категории представителей фондового рынка конкурируют за получение прибыли между собой.
По идее данная схема представляет собой «кормовую цепочку», т.е. для краткосрочных инвесторов источником денег случат инвесторы, краткосрочные инвесторы – для спекулянтов и дей-трейдеров и так далее. Это верно в случае, если рынок устроен правильно и на нем присутствуют в верных пропорциях все перечисленные группы торговцев.
Стабильный, устойчивый рынок всегда фрактален – рядом с более крупными участниками всегда есть более мелкие, которые работают и с меньшими объемами средств и на меньших временных промежутках (таймфреймах), но совершают большее количество сделок, так что их оборот, в целом, даже может превосходить обороты крупных инвесторов. В конце этой цепочки находятся HFT-трейдеры.
Данную схему подтверждают и цифры по алгоритмическим оборотам на Московской бирже. На фондовом рынке объемы алгоритмических торгов неуклонно растет на протяжении последних четырех лет: их доля за это время увеличилась в два раза.
* Данные за каждый год соответствуют октябрю т.е. каждый год представлен данными за октябрь
Если судить даже по нашим собственным данным – развитие алгоритмической торговли налицо. За три года (2010 - 2013) доля алгоритмического оборота клиентов выросла на 15%, а текущий алгоритмический оборот на срочном рынке составляет порядка 60%.
В целом, цикл развития HFT-торговли характеризуется следующей схемой:
Из всего вышеперечисленного следует что, мы еще вполне можем увидеть увеличение количества HFT-трейдеров на российском фондовом рынке, но этот рост не будет таким же существенным, как в прошлые годы, а на срочном рынке увеличение числа HFT-трейдеров уже в целом маловероятно.
Yildness= F(R, Fees, Liquidity, Bid – Ask, Size, Hurst, Leverage) , где
И здесь динамика вырисовывается вполне очевидная. Для начал взглянем на время исполнения ордеров (latency), которое существовало на зарубежных и отечественных биржевых площадках в 2010 году.
*ASTS – фондовый рынок ММВБ, а FORTS–РТС, которые позднее объединились в Московскую биржу.
Как видно, чемпионом по быстродействию был американский NASDAQ, которому все остальные значительно проигрывали.
Биржи все прошедшие годы инвестировали значительные средства в инфраструктуру, которая позволила бы снизить время обработки клиентских заявок. К примеру, затраты на обновление торговой системы Singapore Exchange в 2010-2011 гг., позволившие сократить скорость обработки ордера с 16 ms до 90 mks, составили $250 млн.
Всего биржами, телекоммуникационными компаниями, алгоритмическими хедж-фондами, корпоративными и частными алготрейдерами 2010 году на техническое перевооружение с целью увеличения скорости торгов во всем мире было истрачено более $ 2 млрд.
В результате, в 2013 году (данные на весну-лето) ситуация изменилась довольно существенным образом:
NASDAQ уступил лидерство Сингапуру, а российские площадки значительно улучшили свои показатели, но опять отстали от своих зарубежных коллег.
Развитие торговых систем Московской биржи продолжается довольно быстрыми темпами, и уже в декабре этого года время исполнения заявок удалось довести до 50 микросекунд на ASTS и 35 в системе Spectra (Forts).
P. S. Текст подготовлен на записи доклада, сделанного председателем правления ITinvest Владимиром Твардовским на
Алгоритмическая торговля
Алгоритмическая торговля или Алгоритмический трейдинг (англ. Algorithmic trading ) - формализованный процесс совершения торговых операций на финансовых рынках по заданному алгоритму с использованием специализированных компьютерных систем (торговых роботов).
Алгоритмическая торговля широко применяется как институциональными инвесторами, для эффективного исполнения крупных заявок, так и частными трейдерами и хедж-фондами для получения спекулятивного дохода. В 2009 году, на долю высокочастотной алгоритмической торговли пришлось около 73 % от общего объёма торгов акциями в США . На бирже ММВБ в 2010 году, доля высокочастотных систем в обороте на фондовом рынке составляла порядка 11-13 %, а по числу заявок 45 %. По данным РТС , в 2010 году на долю торговых роботов в обороте на срочном рынке РТС FORTS приходилось примерно 50 %, а их доля в общем количестве заявок в определенные моменты достигала 90 % .
Алгоритмическая и высокочастотная торговля стали предметом многочисленных разбирательств инициированных американскими регуляторами SEC (U.S. Securities and Exchange Commission) и CFTC (Commodity Futures Trading Commission), в связи с обвинением в их причастности к событиям 6 мая 2010 года, когда ведущие фондовые индексы США испытали крупнейшее за всю свою историю внутридневное падение . ФСФР России также озаботилась проблемами возрастающего влияния алгоритмической торговли, однако профессиональные участники рынка утверждают, что те явления, следствием которых стало падение фондовых индексов США, на российском рынке отсутствуют в принципе, ввиду более эффективного пути его развития
Ликвидность финансовых инструментов обычно оценивают по объёму и количеству совершаемых сделок (объём торгов), величине спреда между лучшими ценами спроса и предложения (максимальными ценами заявок на покупку и минимальными ценами заявок на продажу) и суммарного объёма заявок вблизи лучших цен спроса и предложения (цены и объём текущих заявок можно увидеть в стакане торгового терминала). Чем больше объём и количество сделок по инструменту, тем больше его торговая ликвидность , в свою очередь, чем меньше разница между лучшими ценами спроса и предложения и чем больше объём заявок вблизи этих цен, тем больше моментальная ликвидность .
Существует два основных принципа выставления заявок:
Заявки, выставленные по котировочному принципу формируют моментальную ликвидность рынка, позволяя другим участникам торгов в любой момент времени купить или продать определенное количество актива.
Заявки, выставленные по рыночному принципу формируют торговую ликвидность рынка, позволяя другим участникам торгов купить или продать определённое количество актива по желаемой цене.
Алгоритмические торговые системы, использующие котировочный принцип, являются одними из основных поставщиков моментальной ликвидности, а использующие рыночный принцип, одними из основных поставщиков торговой ликвидности. Большое количество алгоритмических систем одновременно используют оба эти принципа .
С точки зрения нагрузки на биржевую торговую инфраструктуру алгоритмические системы, использующие рыночный принцип работы с заявками, практически не несут рисков, так как редко выставляют больше одной заявки в секунду из расчета на один инструмент, к тому же, почти каждая заявка, выставленная этими системами, приводит к сделке. В случае же с алгоритмическими системами, использующими котировочный принцип работы, картина совершенно иная. Во-первых, при перестановке заявок эти системы могут выставлять по несколько заявок в секунду по одному инструменту, а во-вторых, лишь малая часть этих заявок приводит к сделкам (по информации предоставленной ММВБ, более 95 % заявок от высокочастотных роботов снимаются без исполнения ). Таким образом, при высокочастотном котировании, биржевая инфраструктура нагружается в максимальной степени, причем большую часть времени вхолостую. Поскольку чрезмерная нагрузка биржевой инфраструктуры может повлиять на стабильность её работы, биржи используют такие защитные механизмы как, задержка в трансляции рыночной информации, лимитирование числа допустимых транзакций, введение минимального времени «жизни» заявки, а также сдерживание активности роботов через тарифную политику .
Несмотря на все многообразие существующих алгоритмических стратегий, некоторые из них используют общие принципы построения или схожие алгоритмы работы, что позволяет объединять их в различные группы. С точки зрения конечной цели можно выделить две большие категории: экзекьюшн-стратегии (от англ. execution - исполнение ) и спекулятивные стратегии .
Эти стратегии решают задачу покупки или продажи большого объёма финансового инструмента с минимальным отклонением итоговой средневзвешенной цены сделки от текущей рыночной цены инструмента. Данная категория стратегий активно применяется инвестиционными фондами и брокерскими компаниями по всему миру, а на их долю приходится до половины объёма торгов, генерируемого алгоритмическими системами. Существует три наиболее распространенных алгоритма, используемых в экзекьюшн стратегиях:
Алгоритм Iceberg - подразумевает исполнение общего объёма поручения посредством выставления котировочных заявок с суммарным объёмом, не превышающим заданное «видимое» количество. Выставление заявок продолжается до полного исполнения общего объёма поручения. На некоторых биржах, в том числе на LSE , алгоритм Айсберг реализован на уровне ядра торговой системы, что позволяет, наряду с обычными параметрами заявки, указать её «видимый» объём. Это существенно повышает эффективность алгоритма, поскольку для его реализации достаточно выставить лишь одну заявку, которая будет исполнена гораздо быстрее, чем несколько последовательно выставленных заявок.
Для большинства алгоритмических систем скорость получения рыночных данных и скорость выставления заявок являются важнейшими факторами, влияющими на эффективность работы системы. На российском рынке исторически сложилось шесть различных вариантов подключения роботов к биржевым торговым системам. В качестве примера рассмотрим варианты доступа к торговой площадке FORTS.
Если вы также решили заняться алгоритмической торговлей на фондовом рынке, то вам потребуется реализовать ряд стратегических (трейдинговых) и технических (алгоритмизация) комплексов чтобы разработать действительно качественный и конкурентоспособный алгоритм для торговли на фондовой бирже. Мы посвятим этим темам отдельную рубрику ««, в которой вы можете уже просмотреть опубликованные материалы, а также ожидать выхода новых полезных для алгоритмического трейдинга статей.
В текущей статье хотелось бы поговорить о методах, которые позволяют определять наиболее перспективные алгоритмические стратегии применимые при составлении торговых роботов. Здесь важно найти, правильно оценить и выбрать соответствующие системы, корректно определить данные для проверки, произвести оценку торговой стратегии, а также провести фазу бэктестирования и реализовать стратегию в целом.
Прежде всего, алгоритмическая торговля на фондовом рынке начинается с детального планирования всех аспектов. Первым, из которых является стратегическая разработка стратегии.
Чтобы достичь успеха, занимаясь трейдингом, как самостоятельно, так и с использованием торговых алгоритмов, необходимо в полной мере определить собственные индивидуальные особенности в торговле, обозначить сильные и слабые стороны. В торговле финансовыми инструментами, потерять деньги можно крайне быстро, поэтому необходимо представлять не только стратегию, которой вы отдаете предпочтение, но и свои возможности, а также предполагаемые варианты поведения.
Очень важно уметь соблюдать торговую систему, быть достаточно терпеливым, стараться сохранять эмоциональное равновесие.
Так как в работе алготрейдинговой торговой системы используется определенный алгоритм, который, по сути, работает самостоятельно, то вы должны четко представлять, когда вы можете вмешаться в его действия, а когда лучше остаться в стороне.
В некоторые периоды, в особенности, когда спад длится продолжительное время, оставаться в стороне достаточно сложно. Тем не менее, в большинстве случаев делать это просто необходимо, так как стратегии, которые могут принести хорошие результаты, теряют свою эффективность при малейшем вмешательстве.
Еще один момент, имеющий большое значение — время.
Какую часть своего времени мы можете посвящать торговле? Полный рабочий день, каждый день? Несколько часов в неделю? От этого тоже зависит тип используемой стратегии. Так, например, тем, кто занят на полной ставке, не стоит выбирать внутридневную торговлю фьючерсами, как минимум, до тех пор, пока она не автоматизирована в полной мере.
От того, сколько времени вы готовы посвящать трейдингу, зависит и методология стратегии. В случае если данная стратегия торгуется часто и находится в зависимости от дорогостоящих новостных лет (к примеру, Bloomberg), важно с максимальным реализмом оценивать имеющиеся возможности и с успехом ими управлять.
Для тех, у кого много времени или большие практические навыки, чтобы автоматизировать торговлю, можно поработать со стратегией высокочастотной торговли, являющейся более технологичной.
В любом случае, важно проводить регулярные исследования в отношении ТС — в этом случае портфель станет прибыльным поэтапно. Большая часть стратегий со временем сходят со сцены, таким образом, исследовательская работа ведется практически постоянно.
Кроме того, нужно оценивать имеющийся торговый капитал. В отношении количественной стратегии подходящим размером капитала является объем средств, равный 50 000 долларов США. Конечно, если трейдер располагает большей суммой — это всегда выгодно отражается на его портфеле стратегий. Связано подобное, не в последнюю очередь, с тем, что как средние, так и высокочастотные стратегии предполагают операционные издержки, размер которых может достигать значительных сумм.
В том случае, если вы предполагаете начать заниматься трейдингом, располагая суммой, менее 10 000 долларов, то вам придется ограничиваться использованием низкочастотных стратегий, которые ведут торговлю одним либо двумя активами, иначе вся полученная вами прибыль пойдет на операционные расходы.
Все эти процедуры определения, а также сопоставления важны, поскольку алгоритмическая торговля на фондовом рынке должна строиться на знаниях и предпочтения трейдера-программиста. Не стоит пытаться создать алгоритмическую систему, в которой вы не разбираетесь. Даже похожая система на другом временном периоде будет работать иначе, и не понимая всех процессов, вы вряд ли сможете её должным образом скорректировать. Например, если вы работали в среднесрочной перспективе, а пытаетесь создать скальпинговую систему.
Лучше начинать процесс создания алгоритмических роботов для торговли на фондовом рынке именно с тех стратегий, в которых хорошо разбираетесь.
Создание алгоритмических торговых систем требует в обязательном порядке такого навыка, как программирование.
Если вы умеете программировать на C++, Java, C#, Python или R, это даст вам возможность лично заниматься созданием хранилищ данных, бэктестирования и исполняющей системы, что предоставит вам ряд преимуществ, основным из которых можно считать возможность иметь представление обо всех аспектах инфраструктуры. Благодаря этому, также у вас будет возможность производить анализ высокочастотных стратегий. В результате вы сможете не только тестировать собственноручно произведенное ПО, но и заниматься устранением ошибок. Кроме того, появится возможность больше времени уделять кодированию инфраструктур и непосредственно реализации стратегий. Вполне вероятно, что для некоторых процессов ведения расчётов, прогнозирования или отслеживания результатов тестирований гораздо удобнее будет работать с использованием Excel или MATLAB, а разработку остающихся компонентов передать на аутсорсинг. Но последнее не сильно рекомендуется, поскольку опять же вы не сможете должным образом откалибровать систему, поскольку не поймёте чужой код.
Если с программированием на текущий момент сложно, но планируете двигаться в этом направлении, можно начать с освоения , которые позволяют строить простейших роботов без знания языков программирования.
Главным образом все, кто планирует заниматься алготрейдингом, должны четко представлять себе, что именно они хотят получить в результате алгоритмической торговли. Не лишним будет определить материальный план работы, нужен ли регулярный доход, посредством которого будет извлекаться прибыль с торгового счета либо рост капитала на долгосрочной основе. Цель определит подходящую стратегию. Более высокочастотная торговая стратегия с меньшей волатильностью позволит регулярно выводить прибыль. А низкочастотная торговля, в свою очередь, доступна долгосрочным трейдерам для накапливания депозита.
Исходя из последних данных, половина объема торгов американскими акциями на фондовой бирже припадает на алгоритмическую торговлю.
На сегодняшний день, благодаря алгоритмам на фондовой бирже и на рынке форекс совершаются миллионы сделок с помощью готовых алгоритмов, которые способны полностью заменить человека.
Стоит отметить, что с помощью специализированных программ трейдеры добились просто огромнейшей скорости открытия и закрытия ордеров, что привело к развитию высокочастотной торговли.
К концу 80 годов из-за развития сетей телекоммуникации все большее количество трейдеров желало присоединиться к торгам удаленно, что в скорее стало доступно благодаря ECN .
Особым прорывом в развитие алгоритмов и торговли с помощью различных роботов произошел после публикации аналитиками IBM в 2001 году отчета о преимуществе алгоритма над человеком и привели пример как простая стратегия предоставления агентской цены имела большое преимущество над неопытным игроком.
Именно публикация данного отчета, а также активное соединение глобальных бирж в единую сеть дало сильный толчок в развитие данного сегмента. Стоит отметить, что под алгоритмической торговлей мы предполагаем использование алгоритмов и программ, у которых заложен алгоритм действий по открытию и закрытию сделок по определенным условиям.
Стоит отметить, что с развитием глобальной сети начала развиваться так называемая высокочастотная торговля, смысл которой состоит в том, что алгоритм получает раньше трейдера определенные данные, на основе которых заключаются сделки с минимальными рисками.
Для примера, одна из компаний, которая специализируется на высокочастотном трейдинге всего за 45 минут потеряла более 400 миллионов долларов из-за сбоя алгоритма, а тысячи оставленных заявок оказали довольно сильное влияние на рынок акций, что пошатнуло доверие к фондовому рынку из-за манипуляций со стороны подобных компаний.
Если говорить о стратегиях, то их условно делят на:
1) Арбитражные
Использовав алгоритмы у трейдеров появляется возможность вести арбитражные операции, которые основываются на закономерностях корреляции определенных активов с одного или разного сегмента.
Таким образом, найдя определенную закономерность в движении, алгоритм производит арбитражные операции на расхождение или схождение движения цены, которые происходят с задержкой в доли секунды. Таким образом, только с помощью советников и алгоритмов можно реализовать такого рода без рисковые стратегии.
2) Стратегии на основе опережения
Многие трейдеры размещают свои сервера с алгоритмами вблизи зданий бирж, что позволяет получить максимальную скорость исполнение ордеров и опережение в доступе информации по ценам нежели другие участники биржи. Таким образом, имея преимущество в скорости получения информации и исполнения ордеров, трейдеры выстраивают свои стратегии на основе высокочастотной торговли.
3) Тактики маркет – мейкеров
Не секрет что для поддержания ликвидности на любом инструменте необходимы маркет-мейкеры. На валютном рынке данная категория компаний использующие подобные стратегии обеспечивают просто огромнейшую ликвидность, при этом ведя рынок так, как им нужно. Также стоит отметить, что некоторым компания платят огромные деньги за создание такой ликвидности на непопулярных и неликвидных инструментах.
Последствия развития алгоритмической торговли
В последствии развития алгоритмической торговли произошли довольно позитивные изменения для обычного трейдера. К таким изменениям можно отнести очень высокую ликвидность практически на всех основных инструментах, благодаря которой вы всегда можете открыть свою сделку по заявленной цене.
Также из-за конкуренции данных компаний довольно сильно сузилось значение спреда что не может не радовать.
Однако стоит отметить, что крупные компании маркет-мейкеры иногда злоупотребляют и пытаются манипулировать рынком, что приводит к появлению реквот и непредсказуемых сильных ценовых изменений, из-за которых очень часто выносит стопы. Между прочим, появление фразы «Вынос толпы» появился именно с развитием алгоритмической торговли.
Профессор математики Нью-Йоркского Университета и эксперт по финансовым рынкам Марко Авелланеда (Marco Avellaneda) составил презентацию , в которой рассказал о том, как с помощью алгоритмов крупные инвесторы «скрывают» свои масштабные сделки, а другие трейдеры занимаются предсказанием изменений цен акций.
В нашем сегодняшнем материале - основные моменты этой работы.
Авелланеда описывает цели использования алгоритмов в биржевой торговле следующим образом. По мнению профессора, в случае крупных институциональных инвесторов они применяются главным образом не для максимизации возможной прибыли с конкретной сделки, а для контроля рыночного риска и издержек исполнения ордера.
Проще говоря, обычно крупным инвесторам нужно совершать операции с большим объёмом акций. Часто объём сделки выше, чем рынок может «переварить» без изменения цены акции. Необходимость совершить покупку огромного количества акций приведет к изменению их цены и появлению так называемого «проскальзывания». Таким образом, исполнить весь приказ по одной цене не удастся - сначала сделки будут проходить по нужной цене, но постепенно она будет становиться все менее выгодной.
Чтобы этого избежать, необходимо разбивать крупные ордера на более мелкие, которые исполняются через интернет в течение минут, часов или дней.
Чтобы сделать это максимально выгодно, алгоритм должен контролировать среднюю стоимость акции. Оценить ее можно сравнив с рыночным «бенчмарком» - глобальной средней ценой за день, ценой закрытия или открытия и т.п.
Но проблема определения того, как именно разбивать крупный приказ на более мелкие, является не единственной. Алгоритм также должен решить, как именно выводить ордер на рынок - в виде лимитного или рыночного приказа - и по какой цене. Необходимо добиться наилучшей цены для каждого такого дочернего приказа.
Развитие финансовых рынков и появление новых торговых инструментов сделали эту задачу куда более сложной и интересной.
Времена, когда клиенты могли передать заявки своим брокерам только по телефону или факсу, ушли в прошлое. Сейчас существуют разные способы подключения к электронным торгам. Например, существует возможность подключения торгового робота к брокерской системе с помощью API - в таком случае приказы отправляются в брокерскую систему, а оттуда попадают на биржу (у ITinvest есть свой API-интерфейс SmartCOM).
В случае алгоритмической торговли, как правило, важна скорость работы стратегии, поэтому многие трейдеры предпочитают использовать технологию прямого доступа на рынок (direct market access, DMA - ITinvest предоставляет такой доступ к российским и зарубежным биржам). В случае ее применения торговый робот взаимодействует напрямую с торговой системой биржи, минуя систему брокера, что позволяет выиграть время.
Но это далеко не самый сложный вариант торговли. Появление большого количества различных торговых площадок привело к развитию алгоритмов «умной маршрутизации» приказов - такие системы не только пытаются совершать самые выгодные сделки на конкретной бирже, но еще и анализируют, на какой из доступных площадок в настоящий момент условия лучше, чтобы направить приказ именно туда.
Таким образом, существует три уровня развития современных алгоритмов.
Примерами алгоритмов, решающих эту задачу являются алгоритмы TWAP и VWAP.
Например, покупка 100 тысяч акций в течение дня может выглядеть так (используются пятиминутные последовательные интервалы):
Для этого:
Если нужно «проторговать» еще акции объёма Q, а «коэффициент участия» в торгах γ, то алгоритм вычисляет объём торгов V, проторгованный в период (t – ΔT, t) и исполнит ордера на количество финансового инструмента q = min(Q,V* γ).
V(t) = общий объём торгов, имевший место на рынке к моменту времени t;
Q(t) = число акций, которое еще нужно купить/продать (Q(0) = начальное количество).
Изменение цены возникает, когда на одном из уровней цены исчезают все заявки на покупку или продажу, и существует следующий уровень цен бид и аск.
Вероятность того, что очередь заявок аск истощится ранее, чем очередь заявок бид, высчитывается так:
Итоговая формула вероятности повышения цены:
Где H - скрытая ликвидность рынка, то есть сделки, которые неизвестны широкой общественности (например, сделки крупных финансовых организаций, которые заключаются за пределами бирж).
Процедура оценки выглядит следующим образом:
Крупные игроки могут применять этот инструмент для того, чтобы разбивать крупные сделки на более мелкие, которые позволяют осуществить операцию с заданным количеством финансового инструмента, не сдвигая его рыночную цену в ту или иную сторону. Для этого используются алгоритмы TWAP, VWAP и PoV.
Кроме того, алгоритмы используются для реализации «квантовых стратегий», таких как, арбитраж или маркетмейкинг. Помимо этого, существуют возможности по подсчету вероятности изменения цены конкретных финансовых инструментов.
На сегодня все, спасибо за внимание!