Алгоритмическая торговля , или Алгоритмический трейдинг (англ. Algorithmic trading ) - это метод исполнения большой заявки (слишком большой, чтобы быть исполненной за раз), когда с помощью особых алгоритмических инструкций большая заявка (parent order ) делится на несколько под-заявок (child orders ) со своими характеристиками цены и объёма и каждая из под-заявок отправляется в определённое время на рынок для исполнения. Такие алгоритмы были придуманы для того, чтобы трейдерам не приходилось постоянно следить за котировками и делить большую заявку на маленькие вручную. Популярные алгоритмы носят названия "Percentage of Volume", "Pegged", "VWAP", "TWAP ", "Implementation Shortfall", "Target Close".
Алгоритмическая торговля не ставит целью получить прибыль. Её цель - уменьшить стоимость исполнения крупной заявки (transaction cost ), минимизировать её влияние на рынок (market impact ) и уменьшить риск её неисполнения .
Термин "алгоритмическая торговля" часто ошибочно используется в тех случаях, когда речь идёт об автоматизированных торговых системах . Перед такими системами действительно ставится цель получить прибыль. Они также известны под названием "торговых роботов " ("black box trading"), в которых торговые стратегии строятся на базе сложных математических формул и быстрой обработки данных .
Алгоритмическая торговля широко используется инвестиционными банками , пенсионными , хедж- и паевыми фондами, т.к. эти институциональные инвесторы в своей деятельности оперируют заявками большого объёма и следовательно не могут выставить такие большие заявки на рынок целиком без риска потерь.
До появления программных комплексов алгоритмической торговли трейдеры институциональных инвесторов или трейдеры брокеров, получавших заявки от таких инвесторов, должны были делить крупные заявки вручную . Существовала даже целая индустрия исполнения заявок (execution services ), когда сторонние execution -компании принимали заявки от крупных инвесторов и исполняли их, опираясь на свой собственный опыт .
В середине 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 и проч., и отличия между их реализациями минимальны.
С некоторых пор на некоторых биржах алгоритмическая торговля реализована на уровне торговых систем. Это существенно повышает эффективность алгоритма, поскольку для его реализации достаточно выставить лишь одну заявку, которая будет исполнена гораздо быстрее, чем несколько последовательно выставленных заявок или пользоваться для этого услугами брокера.
Во избежание таких случаев регулирующие органы и биржи требуют от владельцев алгоритмических торговых систем оборудовать их системами быстрого отключения kill switch , которые позволяют моментально отключить систему от канала связи и автоматически отменить выставленные на бирже заявки с помощью механизма cancel-on-disconnect . Это требование относится не только к системам алгоритмического исполнения заявок, но и к системам автоматизированной торговли и системам прямого доступа к рынку .
Алгоритмическая и высокочастотная торговля стали предметом многочисленных разбирательств, инициированных американскими регуляторами SEC (U.S. Securities and Exchange Commission) и CFTC в связи с обвинением в их причастности к событиям 6 мая 2010 года (2010 Flash Crash ), когда ведущие фондовые индексы США кратковременно испытали крупнейшее за всю свою историю внутридневное падение .
Ликвидность финансовых инструментов обычно оценивают по объёму и количеству совершаемых сделок (объём торгов), величине спреда между лучшими ценами спроса и предложения (максимальными ценами заявок на покупку и минимальными ценами заявок на продажу) и суммарного объёма заявок вблизи лучших цен спроса и предложения (цены и объём текущих заявок можно увидеть в стакане торгового терминала). Чем больше объём и количество сделок по инструменту, тем больше его торговая ликвидность , в свою очередь, чем меньше разница между лучшими ценами спроса и предложения и чем больше объём заявок вблизи этих цен, тем больше моментальная ликвидность .
Существует два основных принципа выставления заявок:
Заявки, выставленные по котировочному принципу формируют моментальную ликвидность рынка, позволяя другим участникам торгов в любой момент времени купить или продать определённое количество актива.
Заявки, выставленные по рыночному принципу, формируют торговую ликвидность рынка, позволяя другим участникам торгов купить или продать определённое количество актива по желаемой цене.
Алгоритмические торговые системы, использующие котировочный принцип, являются одними из основных поставщиков моментальной ликвидности, а использующие рыночный принцип - одними из основных поставщиков торговой ликвидности. Большое количество алгоритмических систем одновременно используют оба эти принципа .
С точки зрения нагрузки на биржевую торговую инфраструктуру алгоритмические системы, использующие рыночный принцип работы с заявками, практически не несут рисков, так как редко выставляют больше одной заявки в секунду из расчета на один инструмент, к тому же, почти каждая заявка, выставленная этими системами, приводит к сделке. [ ] В случае же с алгоритмическими системами, использующими котировочный принцип работы, картина совершенно иная. Во-первых, при перестановке заявок эти системы могут выставлять по несколько заявок в секунду по одному инструменту, а во-вторых, лишь малая часть этих заявок приводит к сделкам (по информации предоставленной ММВБ, более 95 % заявок от высокочастотных роботов снимаются без исполнения ). Таким образом, при высокочастотном котировании, биржевая инфраструктура нагружается в максимальной степени, причем большую часть времени вхолостую. Поскольку чрезмерная нагрузка биржевой инфраструктуры может повлиять на стабильность её работы, биржи используют такие защитные механизмы, как задержка в трансляции рыночной информации, ограничение числа допустимых транзакций, введение минимального времени «жизни» заявки, а также сдерживание активности роботов через тарифную политику .
Основной целью спекулятивных стратегий является получение дохода в краткосрочном периоде за счёт колебаний рыночных цен финансовых инструментов. В целях классификации, можно выделить восемь основных групп спекулятивных стратегий, некоторые из которых используют принципы и алгоритмы других групп, либо являются их производными.
Стратегии маркет-мейкинга (англ. Market making ) - предполагают одновременное выставление и поддержание котировочных заявок на покупку и на продажу финансового инструмента. Данные стратегии используют принцип случайного блуждания цены в пределах текущего тренда, иными словами, несмотря на рост цены инструмента на определённом временном интервале часть сделок будет приводить к уменьшению его цены относительно ряда предыдущих значений, и наоборот, в случае общего падения цены инструмента часть сделок будет приводить к увеличению его цены относительно ряда предыдущих значений. Таким образом, в случае удачно подобранных цен котировочных заявок можно покупать дёшево и продавать дорого независимо от текущего направления тренда. Существуют различные модели определения оптимальной цены котировочных заявок, выбор которых осуществляется исходя из ликвидности инструмента, объёма размещаемых в стратегию средств, допустимого времени удержания позиции и ряда других факторов. Ключевым фактором успеха стратегий маркет-мейкинга является максимальное соответствие котировок текущей рыночной конъюнктуре по инструменту, чему способствует высокая скорость получения рыночных данных и возможность быстро изменить цену своих заявок, в противном случае данные стратегии становятся убыточными. Маркет-мейкеры являются одними из основных «поставщиков» моментальной ликвидности, а за счёт конкуренции способствуют улучшению её профиля, поэтому биржи часто привлекают маркет-мейкеров в неликвидные инструменты, предоставляя льготные условия по комиссиям, а в некоторых случаях выплачивая вознаграждение за поддержание котировок.
Трендследящие стратегии (англ. Trend following ) - основаны на принципе выявления тренда на временных рядах значений цены инструмента посредством различных индикаторов технического анализа, и покупке или продаже инструмента при появлении соответствующих сигналов. Характерной особенностью трендследящих стратегий является возможность их применения практически на любых таймфреймах - от тиковых до месячных, но поскольку доходность этих стратегий зависит от соотношения количества верных и ошибочных «прогнозов» относительно дальнейшего направления движения цены, использовать слишком большие таймфреймы довольно рискованно, поскольку ошибка на них выявляется достаточно долго и может привести к серьёзным убыткам. Эффективность трендследящих стратегий, особенно при внутридневной торговле, в существенной степени зависит от моментальной ликвидности инструмента, поскольку большинство сделок совершаются рыночными заявками по текущим ценам спроса и предложения. Следовательно, если в инструменте будет широкий спред и горизонтальная кривая моментальной ликвидности, то даже в случае большого количества верных прогнозов стратегия может принести убытки.
Для большинства алгоритмических систем скорость получения рыночных данных и скорость выставления заявок являются важнейшими факторами, влияющими на эффективность работы системы. На российском рынке исторически сложилось шесть различных вариантов подключения роботов к биржевым торговым системам. В качестве примера рассмотрим варианты доступа к торговой площадке FORTS:
Каждые десять лет новый рынок открывается для публичной торговли. Так было с сырьевыми товарами, акциями, опционами . Сейчас аналогичную фазу переживают криптоактивы. Все эти рынки изначально демонстрировали повышенную волатильность , объемы торгов были низкими, регулирование отсутствовало, а производные инструменты не существовали.
Криптовалюты появились сравнительно недавно и до сих пор отличаются повышенной волатильностью по сравнению с другими активами. Высокая волатильность приводит к масштабным движениям цен и при правильном подходе позволяет неплохо заработать.
Для алгоритмической торговли на фондовых рынках приходится покупать специальное ПО, получать разрешения от бирж и платить за исторические данные, на которых будет отрабатываться торговая стратегия . Все это становится серьезной преградой для рядовых инвесторов.
С другой стороны, большинство криптовалютных бирж предоставляют простые и открытые API для торговли. Другими словами, даже ученик старших классов может настроить рабочую станцию, запустить алгоритм и заработать.
Крипторынок настолько нов, что здесь работают даже стратегии из учебников по техническому анализу , давно ставшие классикой. При этом для успешной и прибыльной торговли достаточно обычного ПК.
Как правило, трейдеры склоняются к одному из трех подходов:
Оценивается прогресс проекта, его технические аспекты, рыночный охват и опыт разработчиков. Например, криптоактив без реального продукта на рынке с позиций фундаментального анализа будет считаться слабой инвестицией, даже если он входит в список десяти крупнейших криптовалют по объему торгов.
Некоторые трейдеры в поисках выгодных возможностей проводят анализ настроений в Reddit, Twitter, социальных сетях и на рынке фьючерсов . Например, трейдер может узнать, что некий криптоактив скоро пройдет листинг на крупной бирже, и на основании этой информации совершить сделку, оценивая влияние новости на настроения пользователей и цены.
Трейдеры анализируют динамику котировок и поведение специальных индикаторов (коих насчитывается великое множество), пытаясь предсказать дальнейшее движение цен. Технический анализ очень популярен на криптовалютном рынке.
Этот подход гораздо круче, чем кажется на первый взгляд. Вместе три элемента информации дают невероятно точные сигналы об открытии и закрытии позиций. Например, можно использовать следующую стратегию:
Технические индикаторы
MACD и RSI помогают оценить направление и оценку криптоактива
Даже эта простая стратегия за последние полтора года опережает рынок на любом двухмесячном интервале для большинства криптоактивов - иногда с огромным отрывом.
Возможность зарабатывать на рынке с помощью статистики поражает воображение! Прежде всего необходимо найти гипотезы и тренды , которые можно проверить и автоматизировать с помощью алгоритма. Программа должна работать и зарабатывать деньги даже тогда, когда вы спите.
Давайте рассмотрим пример алгоритмической торговой стратегии. На разработку ее концепции, анализ и настройку ушло более семи месяцев.
Вскоре мы вернемся к тому, как определить этот «необоснованно низкий» уровень. Пока же обратите внимание, как на графиках цена отскакивает от линии под номером 3. Если этот паттерн повторяется постоянно, он может стать хорошей основой для стратегии. Нужно просто покупать актив, когда цена падает ниже линии, и продавать, когда она отскакивает спустя некоторое время.
Обратите внимание, как отскакивает цена после прокола зеленой линии
Сигнальная линия на графике выше обозначена как «2 стандартных отклонения от скользящей средней». Давайте разберемся, что это значит.
Любая нормальная случайная величина удовлетворяет распределению вероятностей Гаусса. Пик распределения соответствует среднему значению, а стандартное отклонение определяет возможный разброс значений.
Из статистики мы знаем, что 96% значений нормального распределения находятся в пределах двух стандартных отклонений (σ) от среднего. Другими словами, вероятность, что некая цена выйдет за пределы 2σ-интервала с той или иной стороны, составляет менее 2%.
Цены криптовалютных активов нельзя назвать нормально распределенными, однако при выходе за пределы двух стандартных отклонений они с высокой вероятностью возвращаются к центру. Приведенные выше графики это подтверждают.
Формулирование гипотезы всегда начинается с догадок. Трейдер исследует графики, визуально проверяя свою идею. Затем он разрабатывает соответствующий алгоритм и тестирует его на прошлых ценах различных криптоактивов при разных параметрах.
Например, можно проверить работу алгоритма на разных временных интервалах (5 мин, 15 мин, 30 мин, 1 час) и для различных пороговых значений (2σ, 2,5σ, 3σ) на множестве разнообразных криптоактивов. Это позволит определить, какая комбинация значений дает наибольший процент надежных сигналов без ущерба для прибыльности каждой сделки.
Процесс разработки алгоритмической торговой стратегии
Как только параметры оптимизированы, можно приступать к реальной торговле, попутно следя за ее показателями (прибыльностью, проскальзыванием, коэффициентом Шарпа и т. д.). Убедившись в надежности алгоритма, можно увеличить объем капитала, предназначенного для торговли.
За последние семь месяцев эта стратегия не только принесла прибыль, но и позволила сделать массу интересных наблюдений о торговле на турбулентном рынке:
Алгоритмическая торговля - это постоянная погоня за совершенством. Рынки никогда не спят и все время эволюционируют. Трейдер попросту потеряет преимущество, если перестанет внедрять новые и уникальные торговые стратегии.
Будь в курсе! Подписывайся на Криптовалюта.Tech в
Обсудить актуальные новости и события на
Исходя из последних данных, половина объема торгов американскими акциями на фондовой бирже припадает на алгоритмическую торговлю.
На сегодняшний день, благодаря алгоритмам на фондовой бирже и на рынке форекс совершаются миллионы сделок с помощью готовых алгоритмов, которые способны полностью заменить человека.
Стоит отметить, что с помощью специализированных программ трейдеры добились просто огромнейшей скорости открытия и закрытия ордеров, что привело к развитию высокочастотной торговли.
К концу 80 годов из-за развития сетей телекоммуникации все большее количество трейдеров желало присоединиться к торгам удаленно, что в скорее стало доступно благодаря ECN .
Особым прорывом в развитие алгоритмов и торговли с помощью различных роботов произошел после публикации аналитиками IBM в 2001 году отчета о преимуществе алгоритма над человеком и привели пример как простая стратегия предоставления агентской цены имела большое преимущество над неопытным игроком.
Именно публикация данного отчета, а также активное соединение глобальных бирж в единую сеть дало сильный толчок в развитие данного сегмента. Стоит отметить, что под алгоритмической торговлей мы предполагаем использование алгоритмов и программ, у которых заложен алгоритм действий по открытию и закрытию сделок по определенным условиям.
Стоит отметить, что с развитием глобальной сети начала развиваться так называемая высокочастотная торговля, смысл которой состоит в том, что алгоритм получает раньше трейдера определенные данные, на основе которых заключаются сделки с минимальными рисками.
Для примера, одна из компаний, которая специализируется на высокочастотном трейдинге всего за 45 минут потеряла более 400 миллионов долларов из-за сбоя алгоритма, а тысячи оставленных заявок оказали довольно сильное влияние на рынок акций, что пошатнуло доверие к фондовому рынку из-за манипуляций со стороны подобных компаний.
Если говорить о стратегиях, то их условно делят на:
1) Арбитражные
Использовав алгоритмы у трейдеров появляется возможность вести арбитражные операции, которые основываются на закономерностях корреляции определенных активов с одного или разного сегмента.
Таким образом, найдя определенную закономерность в движении, алгоритм производит арбитражные операции на расхождение или схождение движения цены, которые происходят с задержкой в доли секунды. Таким образом, только с помощью советников и алгоритмов можно реализовать такого рода без рисковые стратегии.
2) Стратегии на основе опережения
Многие трейдеры размещают свои сервера с алгоритмами вблизи зданий бирж, что позволяет получить максимальную скорость исполнение ордеров и опережение в доступе информации по ценам нежели другие участники биржи. Таким образом, имея преимущество в скорости получения информации и исполнения ордеров, трейдеры выстраивают свои стратегии на основе высокочастотной торговли.
3) Тактики маркет – мейкеров
Не секрет что для поддержания ликвидности на любом инструменте необходимы маркет-мейкеры. На валютном рынке данная категория компаний использующие подобные стратегии обеспечивают просто огромнейшую ликвидность, при этом ведя рынок так, как им нужно. Также стоит отметить, что некоторым компания платят огромные деньги за создание такой ликвидности на непопулярных и неликвидных инструментах.
Последствия развития алгоритмической торговли
В последствии развития алгоритмической торговли произошли довольно позитивные изменения для обычного трейдера. К таким изменениям можно отнести очень высокую ликвидность практически на всех основных инструментах, благодаря которой вы всегда можете открыть свою сделку по заявленной цене.
Также из-за конкуренции данных компаний довольно сильно сузилось значение спреда что не может не радовать.
Однако стоит отметить, что крупные компании маркет-мейкеры иногда злоупотребляют и пытаются манипулировать рынком, что приводит к появлению реквот и непредсказуемых сильных ценовых изменений, из-за которых очень часто выносит стопы. Между прочим, появление фразы «Вынос толпы» появился именно с развитием алгоритмической торговли.
С Юрием Масловым, который в ITinvest занимается развитием инфраструктуры для работы на бирже с помощью торговых роботов. В блоге на Хабре мы публикуем выдержки из этого разговора, посвященные ответам на часто встречающиеся вопросы относительно технологий, используемых на фондовом рынке в России.
Помимо этого, использование технологий в торговле позволяет избавиться от одной из главных проблем, возникающих при работе на финансовом рынке - преобладания эмоций над разумом, что может приводить к ошибкам и потере денег. Кроме того, часто ситуация на фондовом рынке меняется столь стремительно, что человек может не успеть на нее среагировать - робот не столь медлителен.
Например, давным-давно, в 2002-2003гг. люди торговали простой жесткий арбитраж Газпром против фьючерса Газпрома руками. Получали безумные проценты в годовых. Но в 2008 году эта ниша целиком уже была занята алгоритмами. После сентября 2011 года эта ниша была полностью занята высокочастотными алгоритмами.
Юрий Маслов
Прежде, чем бросаться в бой на реальный рынок, необходимо протестировать стратегию и рассчитать ее доходность (в принципе, это можно сделать даже в MS Excel). Эта доходность должна, в идеале, покрывать затраты на разработку и поддержание торгового робота - оплата услуг программиста или, при самостоятельной разработке, временные затраты.
На рынке есть люди, которые начинали со 100 тыс. руб. Может, они просто начинали в более удачное время. Сегодня сумма от 500 тыс. рублей до 1 млн. рублей - это входной порог, на котором уже можно начинать работу с алгоритмическими стратегиями. При этом, есть удобные инструменты, которыми можно алгоритмизировать стратегию и за 20 тыс. рублей. Их на рынке становится все больше. Они позволяют делать алгоритмы без значительных затрат на разработку.
В число таких решений входят системы TS Lab или продукты компании Cofite . Таких решений становится все больше - суть их заключается в использовании скриптовых языков, которые упрощают разработку по времени. Они «заточены» под быструю реализацию алгоритмов. Пример подобного скриптового языка - TradeScript, созданный американцами из Modulus Financial Engineering. Эта технология была лицензирована (OEM) для создания терминала SmartX . Этот язык очень прост и позволяет описать торговую стратегию за короткое время, просто ознакомившись с мануалом (или публикациями на Хабре - раз , два)
Возьмем протоколы, которые используются для работы с Московской биржей по спот рынку. Там есть разные способы подключения: «родной» биржевой протокол, его еще называют нативным , FIX-подключение и работа через брокерскую торговую систему. Люди, которые стараются быть первыми в «стаканах», используют FIX-подключение, реже - нативный протокол.
Эти цифры одинаковы для всех брокеров, они зависят в большей степени от качества канала до биржи, установленного оборудования и скорости обработки заявки в ядре. В случае использования «родного» биржевого протокола TEAP типичная задержка выше и составляет от 420 мкс.
Время для выставления заявок, проходящих через торговую систему ITinvest (от момента, когда она получена от клиента на шлюз (gateway), до момента, когда клиенту отдается ответ на неё – необходимо понимать, что при работе через интернет могут быть непредсказуемые задержки на участке от шлюза брокера до оборудования клиента) составляет от 1,5 до 2,5мс. При этом для высокочастотных трейдеров существует решение, которое подразумевает работу по FIX-протоколу и подключение к серверам риск-менеджмента ITinvest. На контроль рисков уходит считанное количество микросекунд и в общем количестве биржевого раундтрипа они незаметны.
Что касается операционных систем, то чем больше человек хочет производительности, тем более он заинтересован использовать Linux. Если есть какая-то работающая бизнес-идея, то повышение скорости может позволить заработать больше. Но стоимость разработки и использования высококлассного программиста может не окупить эти расходы. В принципе, достаточно быстрые решения можно создать и на Windows. Linux хорош тем, что он кастомизируется под возникающие нужды пользователя-трейдера - выходят новые ядра с новыми фишками. Windows более консервативен в этих вопросах.
Его мануал содержит примеры, и человек, владеющий С#, сможет написать своего робота достаточно быстро. При этом, высокочастотные торговцы практически всегда пишут торговые системы под себя - данный метод позволяет получать уникальный продукт и рассчитывать на больший выигрыш на рынке.
На сегодня все, всем спасибо за внимание. Также мы хотели бы поинтересоваться у пользователей Хабра тем, о каких темах, связанных с фондовым рынком, им было бы интересно почитать. Заявки и вопросы принимаются в комментариях!
P.S. Если вы заметили опечатку или ошибку - напишите личным сообщением, и мы оперативно все исправим.
Профессор математики Нью-Йоркского Университета и эксперт по финансовым рынкам Марко Авелланеда (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.
Кроме того, алгоритмы используются для реализации «квантовых стратегий», таких как, арбитраж или маркетмейкинг. Помимо этого, существуют возможности по подсчету вероятности изменения цены конкретных финансовых инструментов.
На сегодня все, спасибо за внимание!