Алгоритмическая торговля. Бездушные советники — робоэдвайзинг и алготрейдинг: будущее новых технологий Алгоритмическая и автоматизированная торговля
Профессор математики Нью-Йоркского Университета и эксперт по финансовым рынкам Марко Авелланеда (Marco Avellaneda) составил презентацию , в которой рассказал о том, как с помощью алгоритмов крупные инвесторы «скрывают» свои масштабные сделки, а другие трейдеры занимаются предсказанием изменений цен акций.
В нашем сегодняшнем материале - основные моменты этой работы.
Зачем нужны алгоритмы
Алгоритмическая торговля с самого своего появления в начале 90-х годов прошлого века была инструментом крупных инвесторов и хедж-фондов. Децимализация (переход на Нью-Йоркской бирже к использованию в торговле акциями на десятичную систему - минимальный шаг цены стал равняться 1 центу, а не 1/16 доллара), технологии прямого доступа на рынок (Direct Market Access, DMA), 100% электронные биржи, снижение комиссий бирж и брокеров, появление различных биржевых площадок в США и в других странах - все это привело к взрывному росту числа трейдеров, использующих алгоритмы.Авелланеда описывает цели использования алгоритмов в биржевой торговле следующим образом. По мнению профессора, в случае крупных институциональных инвесторов они применяются главным образом не для максимизации возможной прибыли с конкретной сделки, а для контроля рыночного риска и издержек исполнения ордера.
Проще говоря, обычно крупным инвесторам нужно совершать операции с большим объёмом акций. Часто объём сделки выше, чем рынок может «переварить» без изменения цены акции. Необходимость совершить покупку огромного количества акций приведет к изменению их цены и появлению так называемого «проскальзывания». Таким образом, исполнить весь приказ по одной цене не удастся - сначала сделки будут проходить по нужной цене, но постепенно она будет становиться все менее выгодной.
Чтобы этого избежать, необходимо разбивать крупные ордера на более мелкие, которые исполняются через интернет в течение минут, часов или дней.
Чтобы сделать это максимально выгодно, алгоритм должен контролировать среднюю стоимость акции. Оценить ее можно сравнив с рыночным «бенчмарком» - глобальной средней ценой за день, ценой закрытия или открытия и т.п.
Но проблема определения того, как именно разбивать крупный приказ на более мелкие, является не единственной. Алгоритм также должен решить, как именно выводить ордер на рынок - в виде лимитного или рыночного приказа - и по какой цене. Необходимо добиться наилучшей цены для каждого такого дочернего приказа.
Развитие финансовых рынков и появление новых торговых инструментов сделали эту задачу куда более сложной и интересной.
Времена, когда клиенты могли передать заявки своим брокерам только по телефону или факсу, ушли в прошлое. Сейчас существуют разные способы подключения к электронным торгам. Например, существует возможность подключения торгового робота к брокерской системе с помощью API - в таком случае приказы отправляются в брокерскую систему, а оттуда попадают на биржу (у ITinvest есть свой API-интерфейс SmartCOM).
В случае алгоритмической торговли, как правило, важна скорость работы стратегии, поэтому многие трейдеры предпочитают использовать технологию прямого доступа на рынок (direct market access, DMA - ITinvest предоставляет такой доступ к российским и зарубежным биржам). В случае ее применения торговый робот взаимодействует напрямую с торговой системой биржи, минуя систему брокера, что позволяет выиграть время.
Но это далеко не самый сложный вариант торговли. Появление большого количества различных торговых площадок привело к развитию алгоритмов «умной маршрутизации» приказов - такие системы не только пытаются совершать самые выгодные сделки на конкретной бирже, но еще и анализируют, на какой из доступных площадок в настоящий момент условия лучше, чтобы направить приказ именно туда.
Таким образом, существует три уровня развития современных алгоритмов.
- Алгоритмы макротрейдинга - определяют торговую стратегию;
- Алгоритмы микротрейдинга - собственно, торговые «движки» выставления ордеров;
- Алгоритмы умной маршрутизации - в случае, если работа ведется на нескольких биржах одновременно.
Примеры торговых алгоритмов
Существует несколько типов алгоритмических стратегий. Один из них - экзекьюшн-стратегии, которые направлены на решение задачи покупки или продажи большого объёма финансового инструмента (например, акций) с минимальным отклонением итоговой средневзвешенной цены сделки от текущей рыночной цены.Примерами алгоритмов, решающих эту задачу являются алгоритмы TWAP и VWAP.
Алгоритм TWAP
Использование TWAP (Tie Weighted Average Price - взвешенная по времени средняя цена) подразумевает равномерное исполнение приказа на покупку или продажу за заданное число итераций в течение заданного промежутка времени. Для этого постоянно выставляются маркет-заявки по ценам лучшего спроса или предложения, скорректированные на заданную величину процентного отклонения.Например, покупка 100 тысяч акций в течение дня может выглядеть так (используются пятиминутные последовательные интервалы):
Алгоритм VWAP
VWAP (Volume weighted average price - взвешенная по объёму средняя цена) работает по следующей схеме. Объём торгов, как правило выше в начале и конце торговой сессии, а в ее середине он меньше. Чтобы исполнить крупный ордер с минимальными издержками, он разбивается на более мелкие приказы с учетом времени дня.Для этого:
- Алгоритм оценивает средний объём торгов на пятиминутных интервалах.
- В рамках каждого интервала проводятся сделки на количество инструмента, пропорциональное нормативному объёму.
Процент объёма (POV)
Алгоритм Percentage of Volume (POV) решает ту же проблему, что и VWAP, но с использованием в качестве бенчмарка информации об объёме торгов в конкретный текущий день. Идея заключается в том, чтобы иметь постоянный процент участия в торгах на протяжении выбранного периода.Если нужно «проторговать» еще акции объёма Q, а «коэффициент участия» в торгах γ, то алгоритм вычисляет объём торгов V, проторгованный в период (t – ΔT, t) и исполнит ордера на количество финансового инструмента q = min(Q,V* γ).
V(t) = общий объём торгов, имевший место на рынке к моменту времени t;
Q(t) = число акций, которое еще нужно купить/продать (Q(0) = начальное количество).
Как еще используются алгоритмы
Помимо экзекьюшн-стратегий, существует и целый ряд стратегий, направленных на извлечение прибыли с помощью других моделей. Вот некоторые из них:- Арбитражные стратегии - подмножество стратегий парного трейдинга, которые основаны на анализе соотношений цен двух высоко коррелированных между собой финансовых инструмента. В случае арбитража, такая пара состоит из одинаковых или связанных активов, корреляция которых близка к единице - например, акций одной и той же компании на разных биржах. Для успешной торговли в рамках арбитражных стратегий критически важна скорость получения данных и выставления/изменения заявок на покупку или продажу.
- Предоставление ликвидности (маркет-мейкинг) - маркетмейкинг предполагает поддержание спредов на покупку и продажу финансового инструмента. Маркетмейкеры являются основными поставщиками моментальной ликвидности, поэтому биржи часто привлекают их к работе с неликвидными инструментами с помощью предоставления льготных условий.
- Предсказание цены - стратегии, которые анализируют различные данные (в том числе с помощью индикаторов технического анализа) для построения гипотез о том, в какую сторону может двинуться цена финансового инструмента в заданный промежуток времени.
Предсказание цен в высокочастотной торговле
Для того, чтобы «предсказать» движение цены, алгоритм должен смоделировать скрытую ликвидность рынка при данной ликвидности заявок на покупку и продажу. «Истощение» очереди заявок на покупку или продажу может свидетельствовать о скором движении цены.Изменение цены возникает, когда на одном из уровней цены исчезают все заявки на покупку или продажу, и существует следующий уровень цен бид и аск.
Вероятность того, что очередь заявок аск истощится ранее, чем очередь заявок бид, высчитывается так:
Итоговая формула вероятности повышения цены:
Где H - скрытая ликвидность рынка, то есть сделки, которые неизвестны широкой общественности (например, сделки крупных финансовых организаций, которые заключаются за пределами бирж).
Процедура оценки выглядит следующим образом:
- На первом этапе собранные данные разделяются по биржам, за один раз анализируется один торговый день;
- Котировки значений бид и аск компонуются по децилям . Для каждого такого набора (i,j) вычисляется частота повышения цены u_ij.
- Подсчитывается число появлений каждой величины d_ij.
- Производится анализ соответствия модели с помощью метода наименьших квадратов :
Заключение
На многих фондовых площадках (например, в США и России) оборот алгоритмической торговли уже довольно давно составляет более 50%. При этом часто алгоритмы используются не только для того, чтобы «опередить» конкурентов в скорости совершения транзакций и заработать на этом.Крупные игроки могут применять этот инструмент для того, чтобы разбивать крупные сделки на более мелкие, которые позволяют осуществить операцию с заданным количеством финансового инструмента, не сдвигая его рыночную цену в ту или иную сторону. Для этого используются алгоритмы TWAP, VWAP и PoV.
Кроме того, алгоритмы используются для реализации «квантовых стратегий», таких как, арбитраж или маркетмейкинг. Помимо этого, существуют возможности по подсчету вероятности изменения цены конкретных финансовых инструментов.
На сегодня все, спасибо за внимание!
Использование алгоритмов в трейдинге (алготрейдинг) - тренд последних десятилетий, во многом изменивший рынок. Любая автоматическая система может с лёгкостью превзойти человека в скорости, производительности и выносливости, конкурировать с машиной при этом будет практически невозможно.
Содержание статьи:
Что такое алгоритмическая торговля, её особенности и использование на различных рынках – далее.
Что такое алготрейдинг (алгоритмическая торговля)
Алгоритмический трейдинг (с англ. Algorithmic trading) может иметь два значения:
- Алготрейдинг – это автоматическая система, которая открывает сделки без участия трейдера в рамках заданного алгоритма;
- – это методика исполнения крупной заявки на рынке, когда она автоматически делится на части и открывается постепенно по заданным правилам.
В первом значении алгоритмы нужны, чтобы непосредственно получить прибыль за счёт автоматического анализа рынка и открытия позиций. Подобные алгоритмы также называют «торговыми роботами » или «советниками ». Последнее наименование пришло с рынка Форекс.
Во втором случае система применяется для того, чтобы облегчить ручной труд трейдеров в инвестиционных фондах при совершении чрезмерно больших сделок, которые желательно совершить менее заметно. Например, если задачей стоит закупить 100000 акций компании, а открывать позиции нужно по 1-4 акции за раз, чтобы не привлекать внимание в ленте и стакане заявок.
О том что такое алготрейдинг, пишет :
“Алгоритмическая торговля, или Алгоритмический трейдинг (англ. Algorithmic trading) - это метод исполнения большой заявки (слишком большой, чтобы быть исполненной за раз), когда с помощью особых алгоритмических инструкций большая заявка (parent order) делится на несколько под-заявок (child orders) со своими характеристиками цены и объема и каждая из под-заявок отправляется в определенное время на рынок для исполнения. Такие алгоритмы были придуманы для того, чтобы трейдерам не приходилось постоянно следить за котировками и делить большую заявку на маленькие вручную. “
Основной формой алгоритмической торговли является HFT-трейдинг (с англ. High-frequency trading - «высокочастотный алготрейдинг» ). Его суть заключается в совершении сделок за доли секунды. Иными словами, такие системы используют своё основное преимущество - скорость.
Суть алготрейдинга
Квантовые (quants ) трейдеры или как их называют еще – алготрейдеры, используют только теорию вероятности попадания цен в нужный диапазон. Расчёты производятся на основе предыдущего ценового ряда, либо нескольких финансовых инструментов. Важно понимать, что правила могут меняться вместе с изменением поведения рынка. Алготрейдеры постоянно ищут неэффективности рынка, повторяющиеся модели на истории котировок и рассчитывают вероятность их повторения в будущем. Таким образом, суть алгоритмической торговли в подборе правил по открытию позиций и семейств роботов. Такой подбор может быть:
- ручным - выполняется исследователем на основе математики и физических моделей;
- автоматическим - нужен для массового перебора правил и тестирования в рамках программы;
- генетическим - в этом случае правила разрабатываются программой с элементами искусственного интеллекта.
Остальные идеи и утопии об алгоритмической торговле - просто выдумка, даже робот не может с гарантией предсказывать будущее. Рынок также не может быть настолько неэффективен, чтобы был какой-то один перечень правил для робота, работающий везде и всегда.
В таких крупных инвестиционных компаниях как Renessaince Technology, Citadel, Virtu , использующих алгоритмы, в наличии сотни семейств (серий) торговых роботов, распространяющихся на тысячи инструментов. Именно такой подход даёт им ежедневную прибыль, это своего рода диверсификация алгоритмов.
Когда и как появился алготрейдинг
Официальным началом использования алгоритмов является 1998 год, когда SEC (Комиссия по ценным бумагам ) в США разрешила применение электронных площадок. После этого стартовала настоящая технологическая гонка.
Ключевые моменты :
- 2000-е - время совершения автоматических сделок в несколько секунд, доля роботов на рынке США менее 10%;
- 2009 - сделки осуществляются со скоростью быстрее миллисекунды (доли микросекунд), доля на рынке свыше 60%;
- 2012 и более поздний период - из-за массовых ошибочных действий алгоритмов их рыночный объём сократился до 50% от всех сделок.
Таким образом, HFT-алгоритмы используются по сей день. Инвестиционные банки и хедж-фонды - первопроходцы в данной области, и они как никто другой нуждаются в автоматизации исполнения крупных ордеров. Они успешно инвестировали в разработку подобных алгоритмов немалые средства, в результате чего появлялись различные системы, влияющие на рынок.
Алгоритмическая торговля на фондовом рынке
Фондовый, а также срочный рынок открывают широкие возможности для использования автоматической торговли. Тем не менее, в большей степени алготрейдинг распространен в крупных фондах, нежели среди частных инвесторов. Существует несколько видов алгоритмической торговли на фондовом рынке:
- Системы на основе технического анализа - подразумевают использование рыночной неэффективности и выявление трендов с помощью нескольких индикаторов. В большинстве случаев такие стратегии нацелены на извлечение прибыли за счёт приёмов из классического технического анализа.
- Парный и баскет-трейдинг - в такой системе используется соотношение двух или более инструментов, которые имеют относительно высокий процент корреляции, но не равный единице. Соответственно, если один из инструментов отклонился от заданного курса, то высока вероятность, что он вернётся к своей группе. За счёт отслеживания таких отклонений алгоритмы осуществляют сделки и приносят прибыль своим владельцам.
- Market making - иной род стратегий, направленный на поддержание рыночной ликвидности. Маркет-мейкеры удовлетворяют спрос на различных инструментах даже против своей выгоды, за что получают вознаграждение от биржи. Тем не менее, это не мешает таким алгоритмам извлекать прибыль с помощью специальной стратегии на основе быстрого потока и учёта рыночных данных.
- Front running - в рамках подобных систем используется анализ объёма сделок по инструменту и выявление крупных заявок. Алгоритмы берут в расчёт, что крупная заявка удержит цену и спровоцирует появление встречных сделок в противоположную сторону. Таким образом, они ловят колебания за счёт скорости анализа рыночных данных в стакане и ленте, стараясь обогнать других участников и забирая небольшие движения во время исполнения очень крупных заявок.
- Арбитраж - торговля финансовыми инструментами, корреляция между которыми близка к единице. Обычно в таких инструментах отклонение минимально, это может быть акция и фьючерс одной компании или одинаковые акции, но на разных рынках. Система отслеживает изменение цен связанных инструментов и производит арбитражные сделки, которые уравнивают цену.
- Торговля волатильностью - самый сложный вид торговли, основанный на покупке опционов различных типов, с расчётом на то, что волатильность определенного инструмента вырастет. Подобный алготрейдинг требует высоких вычислительных мощностей и команды специалистов.
Выше были перечислены основные стратегии алгоритмической торговли на фондовом и срочном рынках. Теперь рассмотрим особенности, связанные с валютой.
Алгоритмическая торговля на Форекс
Использование автоматических роботов получило широкое распространение и на межбанковском валютном рынке. В особенности торговые советники заслужили популярность, благодаря платформе MetaTrader 4 и языку программирования MQL4 , который и позволяет вести алгоритмическую торговлю на Форекс даже начинающим трейдерам:
- использование данного языка под силу рядовому пользователю, как следствие, существует алготрейдинг для начинающих в справочнике с полным описанием функций языка;
- запрограммированные советники можно сразу компилировать в формат терминала и запускать в работу;
- созданные роботы не требуют больших вычислительных мощностей, достаточно стационарного компьютера;
- в терминале доступен широкий спектр инструментов для тестирования робота на большом интервале времени.
Таким образом, MetaTrader и MQL4 станут прекрасной возможностью для новичков, чтобы попробовать свои силы в программировании настоящих роботов для алготрейдинга.
Опрос: Какой тип трейдинга вы предпочитаете?
Poll Options are limited because JavaScript is disabled in your browser.
Позиционную торговлю 17%, 24 голоса
Обзор программ для алготрейдеров
Существует небольшой перечень софта для алгоритмической торговли и написания кода для роботов.
TSLabTSLab - это отечественный софт на языке C#, совместимый с большинством Форекс и фондовых брокеров. Имеет довольно простой и лёгкий в изучении интерфейс благодаря специальным блок-схемам.
Программой можно пользоваться бесплатно, тестировать и оптимизировать системы, но для реальной торговли необходимо будет купить подписку.
Программа для разработки алгоритмов на языке C#. С этой программой можно писать софт для алгоритмичной торговли при помощи библиотеки Wealth Script, которая сильно упрощает процесс написания кода. Также к софту можно подключать котировки из разных источников. Помимо бектестинга также возможен запуск на финансовых рынках для реальной торговли.
R Studio - более продвинутый софт для квантов (новичкам не подойдёт). Этот софт совмещает несколько языков, одним из которых используется специальный язык R для обработки данных и временного ряда. В программе можно не только создавать алгоритмы, но и тестировать, оптимизировать, создавать интерфейсы, получаться статистику и многие другие данные. Программа R Studio бесплатная и довольно серьезная, в ней описываются сложные матетматические и эконометрические модели в несколько строк, благодаря различным встроенным библиотекам, тестерам, моделям и др.
TWAP (с англ. Time Weighted Average Price - «взвешенная по времени средняя цена» ) - такой алгоритм открывает заявки через равные промежутки времени по ценам с лучшим спросом или предложением.
VWAP (с англ. Volume Weighted Average Price – «взвешенная по объёму средняя цена» ) - нужен для равномерного открытия позиции по равным частям определенного объёма в течение конкретного времени, а также по ценам, не выше, чем средневзвешенное значение с момента запуска.
Iceberg - используется для выставления заявок с суммарным объёмом, не выше, чем заданное в параметрах количество. На многих биржах алгоритм встроен в ядро системы, что позволяет указать «видимый» объём в параметрах заявки.
Execution Strategy - требуется для покупки актива по средневзвешенной цене в большом объёме, как правило, используется крупными игроками (хедж-фондами и брокерами).
Спекулятивная стратегия - стандартная модель для частных трейдеров, которая стремится к достижению максимально выгодной цены для входа в сделку с целью получения последующей прибыли.
Data Mining - это поиск новых закономерностей для новых алгоритмов. Более 75% дата майнинга приходится на сбор данных до запуска тестирования. Итог поиска зависит только от профессионального и глубокого подхода. Сам же поиск осуществляют различные алгоритмы по ручным настройкам. К примеру софт Stock Pattern Viewer – сюда можно загрузить котировки и найти определенные свечные паттерны (и не только свечные), после которых происходит заданная реакция рынка. Например, найти паттерн, после которого в течение трех свечей рынок рос 2000 раз, а падал всего 200 раз. После этого найденные паттерны встраиваются в алгоритмы торговых роботов и успешно (либо не очень) торгуются.
Обучение и книги по алготрейдингу
Сфера обучения и литературы по автоматической торговле довольно узкая. Выделить надёжные и качественные специализированные исследования довольно сложно. Обычно всё сводится к изучению:
- математических моделей и экономического моделирования;
- языков программирования - Python, C++, MQL4 (для Forex );
- информации о контрактах на бирже и особенности инструментов (акций, опционов, фьючерсов).
Всё же следует выделить хорошие книги по алготрейдингу:
Барри Джонсон и его книга «Алгоритмическая торговля и прямой доступ к бирже » (Algorithmic Trading & DMA, Barry Johnson).
Эрнест Чан «Квантовая торговля » (Quantitative Trading, Ernest Chan).
Люу Ю-Дау «Методы и алгоритмы финансовой математики » (Financial Engineering and Computation, Yuh-Dauh Lyuu).
Риши Наранг «Внутри черного ящика» (Inside the Black Box, Rishi K. Narang)
Стоит отметить, что большая часть значимой литературы в данной области на английском языке. В России направление ещё несильно развито. Кроме книг с уклоном в программирование полезно будет чтение любой биржевой литературы, в частности, по техническому анализу.
Преимущества и недостатки алготрейдинга
Рассматривать алготрейдинг можно исключительно с позиции противопоставления ручной торговле. Поэтому, недостатки торговли руками будут преимуществами алгоритмов, и наоборот. Итак, минусы классической ручной торговли:
- Отсутствие знаний и правильного понимания рынка . Это касается подавляющего большинства новичков, а не профессиональных трейдеров. 95% людей теряют деньги, торгуя руками, как следствие, нельзя упустить этот факт.
- Психология и несистемность . Человек по своей натуре склонен к срывам, азарту и прочим эмоциональным всплескам. Трейдинг является очень психологически затратной деятельностью, людям трудно следовать своей же системе строго, как это должно быть. Итог - потерянные деньги.
- Физиологические ограничения . Люди не могут следить за рынком в режиме 24 на 7, поскольку вынуждены есть, спать и отдыхать.
- Влияние личностных характеристик на результаты торговли . К сожалению, у каждого трейдера должна быть своя торговая система, которая подходит конкретно ему. Редко бывает так, что целая группа людей спокойно торгует по одной и той же системе. По одной и той же стратегии, два трейдера всегда будут торговать по разному.
Соответственно, все вышеперечисленные недостатки отсутствуют у алгоритмов и роботов. Они не имеют физических ограничений, не подвержены эмоциональным срывам и особенностям личности, строго следуют своей системе (алгоритму).
Тем не менее, роботы тоже неидеальны, обратим внимание на их недостатки:
- Вероятность ошибки в алгоритме . Если разработчик робота допустит неточность или иной недочёт в коде, то робот всё равно продолжит работать и потеряет деньги.
- Сложность алгоритмов . Для составления и программирования робота нужно понимать не только код (программный язык), но и сам трейдинг. В целом это довольно сложная процедура, и она требует немалого опыта.
- Недостаток информации . Алгоритмическому трейдингу практически нереально обучиться по каким-либо книгам или курсам, информации попросту отсутствует в свободном доступе.
- Отсутствие гибкости . Ручному трейдеру будет проще приспособиться к изменениям на рынке, чем алготрейдеру перестраивать весь алгоритм робота.
Таким образом, у роботов есть свои проблемы, но они менее значимы, нежели недостатки в ручном трейдинге, которые приводят большинство к огромным потерям на финансовых рынках. Только не всё так однозначно, на практике часто оказывается, что алгоритмическая торговля приносит убытки. Явным примером является Barclay’s Systematic Trader Index
На графике показано, что с 2010 по 2013 год системные трейдеры находились в просадке и прилично сливали. Картина становится очевидной, если взглянуть на следующий график, который аналогичный, но только для ручных трейдеров (несистемных):
Как видите, они смогли адаптироваться к рынку и ведут себя более стабильно, чем алгоритмы. Проанализировав оба графика, можно увидеть, что в целом и тот и другой подход дают результат примерно равный. Поэтому, выбор стиля торговли - это личное дело каждого. Например, если вы несильны в программировании, и код навевает скуку, то лучше не связываться с алгоритмами, а работать вручную, и наоборот.
Известные мифы об алготрейдинге
Автоматическая торговля вызывает серьёзный резонанс у трейдеров, в связи с чем появилось множество мифов об алгоритмах. Обратим внимание на некоторые из них:
- Алготрейдинг не даёт прибыли и является обманом . К сожалению, многие подвержены этому мнению, в особенности те, кто сталкивался с покупкой советников, не оправдавших вложения. Опровергает это указанный выше индекс доходности алготрейдеров, которые на протяжении 20 лет зарабатывают деньги.
- Трейдинг - это психология, а не системная торговля для роботов . Как уже отмечалось, неэффективность у рынка есть, и алгоритмы для их выявления существуют.
- Тестирование систем не работает . Многие говорят, что бек-тестинг на истории не даёт никакой пользы, поскольку на реальном счёте робот будет терять всё равно. Это также заблуждение, если правильно подходить к процессу тестирования с учётом всех особенностей и нюансов, то оно играет важную роль.
- Мартингейл-системы и сетки ордеров - единственный способ заработать . Они действительно могут приносить прибыль, но недолго. Такая доходность крайне нестабильна, и обязательно приведет к сливу.
- Индикаторы не работают . Ещё одно заблуждение, индикаторы были созданы, чтобы помочь трейдеру визуально оценивать поведение цен, а не слепо надеяться на них. Поэтому, при разумном подходе они обязательно дадут результат.
Перечень не является исчерпывающим, это лишь самые известные мифы.
Заключение
Что такое алгоритмическая торговля на биржах? Алготрейдинг - это торговля с использованием автоматических запрограммированных систем для открытия сделок. Она может применяться для извлечения прибыли с рынка или для снижения ручной нагрузки на трейдера при открытии очень крупной позиции.
Существуют разные стратегии алгоритмической торговли. Это может быть арбитраж или парный трейдинг, а также множество иных вариаций. Такой стиль торговли доступен как на фондовой бирже, так и на валютном рынке Forex.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter .
Сформулированный трейдером порядок открытия и закрытия сделок, в основу которого закладывается четкий алгоритм работы автоматических либо механических торговых систем - АТС И МТС соответственно.
Специфика и применение алготрейдинга
Алготрейдинг представляет собой удобную возможность автоматизации обыденных манипуляций трейдера, в результате сокращается время, необходимое для анализа биржевой ситуации, выполнения операций, математического расчета. АТС помогают свести к минимуму влияние человеческого фактора — эмоций, паники, спешки, домыслов, которые зачастую делают убыточными даже профессиональные стратегии. Торговля основывается на существующей вероятности попадания котировок в заданный диапазон. Расчеты базируются на исторических данных относительно конкретного актива, могут включать целый набор рабочих инструментов. Вслед за непрерывными изменениями рынка разработчики алгоритмов находятся в постоянном поиске повторяющихся моделей, на основе которых формулируют правила совершения сделок, подбирают торговых роботов, помогающих реализовать этот механизм. Способы подбора моделей:
- генетический — создание алгоритмов поручается компьютерным системам;
- автоматический — используются программы, способные работать с огромными массивами данных и тестировать стратегии;
- ручной — научный подход учитывает математические и физические модели.
Ведущие алготрейдинговые компании используют тысячи инструментов, существенно снижающих вероятность ошибок и сбоев.
Типы и потенциал
Алгоритм — это набор точных инструкций, обеспечивающих достижение конкретных целей. В зависимости от последних на фондовом рынке выделяют 5 типов торговли:
- статистическая;
- алготрейдинг исполнения;
- автоматическое хеджирование;
- прямой доступ;
- высокочастотный алготрейдинг.
Рост популярности МТС и АТС среди спекулянтов обуславливается увеличением автоматизации процессов, быстротечностью валютных операций, снижением операционных затрат. Банки также стали использовать алгоритмы с целью предоставления актуальных котировок на торговых площадках, повышения скорости обновления данных, уменьшения роли ручного труда в расчете цен, минимизации транзакционных издержек.
Сущность высокочастотного алготрейдинга
Высокочастотный алготрейдинг также именуется HFT-торговлей, он наиболее востребован среди других форм автоматизированного совершения операций. Его преимуществом является возможность быстрого заключения сделок с более чем одним инструментом, здесь работа с позициями (открытие и закрытие) выполняется за доли секунды. Операции характеризуются микрообъемами, притом они уравновешиваются большим их числом. Результаты — убытки и доходы — фиксируются моментально, поэтому здесь нужна сложная техническая база и качественная прямая связь с коммуникационными шлюзами. Ключевые черты высокочастотной торговли:
- использование инновационных систем, способных исполнять позиции за миллисекунды;
- осуществление скоростных сделок, характеризующихся крупными объемами и минимально возможной прибылью;
- исключительно внутридневная торговля;
- получение прибыли из маржи и микроколебаний цен;
- использование всех категорий арбитражных сделок.
Самыми распространенными HFT-стратегиями являются маркетмейкинг, арбитраж задержек и статистический его вид, фронтраннинг. Последняя заключается в поиске объемных заявок на покупку и выставлении собственной мелкой, характеризующейся большей ценой. По мере исполнения алгоритм автоматически выставляет заявки немного выше, рассчитывая на проявление сопутствующих колебаний. Роботизированные операции, выполняемые в рамках алготрейдинга, создают около 55% ликвидности мировых фондовых бирж. С течением технологического развития инструментов процесс извлечения прибыли усложняется и дорожает. С профильного рынка постепенно вытесняются компании среднего звена, так как возрастают расходы на модернизацию технической базы, актуализацию программного обеспечения.
Очень часто применяются алгоритмические спекулятивные стратегии, цель которых не реализация актива, а получение прибыли от колебания цены торгового инструмента. В отличие от экзекьюшн-стратегий , которые ставят за цель максимально незаметно реализовать крупный объем активов для своих целей, при этом, не повлияв на рыночные цены, спекулятивные стратегии часто способствуют вмешательству в рынок, с целью получения дополнительной прибыли. Можно выделить основные 8 групп спекулятивных стратегий. Однако, некоторые группы спекулятивных стратегий основываются на других группах, либо выступают как производные от них.
Спекулятивные стратегии Маркет-мейкинг (Market - making )
По сути, стратегия Маркет-мейкер предполагает вмешательство в рынок, и получение из этого дополнительной прибыли. По стратегии Market-making крупный институциональный участник финансового рынка выставляет крупные позиции (от сотен тысяч до миллионов и даже миллиардов долларов) одновременно и на покупку и на продажу. Одновременное выставление противоположных позиций не приносит прибыли (по сути это локирование), и само по себе не влияет на изменение цены актива, а лишь увеличивает объем торговли на рынке. Таким образом, маркет-мейкеры способствуют поддержанию высокой ликвидности финансовых активов. Более того, биржи и внебиржевые организации заинтересованы в маркет-мейкерах на неликвидных активах, куда их и привлекают, предлагая льготные условия торговли, а порой и «закрывая глаза» на их вмешательство в рынок
Вмешательство маркет-мейкеров в рынок проходит в следующем.
Когда цена актива начинает расти, маркет-мейкер закрывает частично или полностью позицию на покупку, двигая, таким образом, цену вниз. При обвале цены, заработав на позиции на продажу, маркет-мейкер может закрыть позицию на продажу, двинув свою очередь цену обратно вверх. Таким образом, маркет-мейкер может точно знать, когда произойдет разворот тренда, что позволяет им дополнительно выставлять позиции и получать дополнительную прибыль. О том, вы можете прочесть в отдельной статье.
«Трендследящие» спекулятивные стратегии (Trend following)
В основе данных стратегий лежит простой принцип следования за движением тренда. Алгоритмическая торговля по спекулятивным стратегиям слежения тренда использует различные индикаторы технического анализа, для получения торговых сигналов (следует заметить, что крупные институциональные участники рынка используют индикаторы собственной разработки, которых не встретишь в доступе для обычного трейдера ). Достоинством трендиследящих стратегий является их универсальность, так как они могут применяться на любых типах торговых активов и на любых таймфреймах.
Влиянием на рынок, при использовании трендследящих спекулятивных стратегий со стороны институциональных участников рынка может выражаться в усилении тренда: если участник открывает крупную позицию по тренду, он тем самым повышает спрос, что двигает цену еще дальше.
Спекулятивные стратегии парного трейдинга (Pairs trading)
Спекулятивные стратегии парного трейдинга работают на соотношениях торговых инструментов с высокой взаимной корреляцией, таких, как например, акции золотодобывающей компании и фьючерсы на золото.
Принцип парной стратегии в следующем:
Выбирается два коррелированных (взаимосвязанных) актива, допустим золото и акции золотодобывающих компаний. Если мировые цены на золото растут, то растут и цены на акции золотодобывающих компаний. Однако, графики цен могут различаться. Анализируется отклонение графиков цен от скользящих средних. При значительном повышении цены одного из активов, совершается его продажа, и одновременно покупается снизившейся актив. Таким образом образуется так называемый Бета-нейтральный портфель , при котором результат такой сделки будет зависеть не от рыночного тренда, а от отношения цены одного актива к другому. При возвращении графиков цен к скользящим средним, позиции закрываются. Для анализа по парному трейдингу на мелких таймфреймах, используются алгоритмы индикаторов технического анализа. На крупных таймфреймах используется фундаментальный анализ рынка, с индикаторами рыночных мультипликаторов и различных финансовых коэффициентов. Данную стратегию часто используют крупные инвестиционные фонды и хедж-фонды, которые совершают крупные сделки через алгоритмы TWAP, VWAP, Iceberg или POV.
Спекулятивные стратегии баскет-трейдинга (Basket trading)
Баскет-трейдинг работает по практически аналагичному алгоритму с парным трейдингом, с разницей в том, что алгоритмическая торговля ведется не двумя коррелирующими активами, а двумя корзинами коррелирующих активов (от англ. Basket - корзина). Таким образом, происходит диверсификация, которая позволяет минимизировать торговые риски. Алгоритмическая торговля по баскет-трейдинг ведется, как правило, в пределах одной торговой сессии рыночными ордерами, а в корзины входят высоколиквидные активы.
Арбитражные спекулятивные стратегии (Arbitage)
Арбитражная торговля отчасти похожа с парной торговлей, с разницей в том, что она ведется несколькими аналогичными торговыми инструментами (идентичных или корреляционных). Арбитражная торговля предполагает получение прибыли от разницы в ценах подобных (одинаковых) активов, а не от ценовых движений. Когда связанные или идентичные инструменты демонстрируют разницу в котировках, то возникает арбитражная ситуация.
Арбитражные стратегии можно разделить на следующие подтипы, в зависимости от используемых активов:
- Пространственная арбитражная стратегия — используются абсолютно идентичные торговые активы, однако на разных финансовых рынках. Например, алгоритмическая торговля акциями одной и той же компании, на разных биржевых площадках. Допустим, если на одной биржевой площадке котировки акций компании 100$ на продажу (Bid) и 101$ на покупку (Ask), а на другой площадке предлагается по ценам 102$ за продажу и 103$ за покупку, то трейдер может приобрести на одной бирже акции по 101$ и продать их на другой по 102$, заработав с каждой акции по 1$.
- Эквивалентная арбитражная стратегия — используются связанные между собой торговые инструменты, имеющие между собой линейную связь. Например: акции компании и фьючерсы на акции компании. То есть, бывает так, что цена на акции поднялась, а фьючерсы на них остались на прежнем месте, либо даже немного опустили. В таком случае следует продать акции, и купить фьючерсы на эти акции, а далее ожидать схождения их цены. Точно также можно торговать в обратном направлении.
- Индексная арбитражная стратегия — является подвидом баскет-трейдинга, и основывается на связи фьючерса на индекс и корзины активов, которые входят в данный индекс.
Арбитражная торговля способствует синхронизации и выравниванию цен, так как алгоритмические арбитражёры очень быстро реагируют на любой перекос на финансовых рынках.
В алгоритмической арбитражной торговле немаловажную роль играет поставка котировок, скорость и качество передачи данных. Поэтому институциональные участники рынка подключают значительную материально-техническую базу, для обеспечения арбитражной торговли.
Алгоритмические стратегии торговли волатильностью (Volatility trading)
Торговля волатильностью ведется на производных финансовых инструментах, особенно на опционах. Принцип торговли сводится к зависимости стоимости опционного контракта от волатильности торгового инструмента в период до срока экспирации. Говоря простым языком, торговля волатильностью предполагает, что на стоимость опциона влияет учет рисков движения цены.
Волатильность — показатель, который отображает вероятность изменения цены. Чем выше волотильность, тем выше вероятность, что цена будет изменяться.
Опцион с ожиданием более высокой волатильности покупается, так как цена на него будет расти. Опцион с ожиданием более низкой волатильности продается, так как его стоимость будет падать. При приобретении опциона, необходимо осуществить хеджирование позиции противоположной сделкой.
Расчеты торговли волатильностью являются очень сложными, математические расчеты которых работают по автоматизированным алгоритмам институциональных участников финансовых рынков.
Спекулятивные стратегии низких издержек (Low-latency trading)
Алгоритмические стратегии низких издержек схожи с трендследящими стратегиями, так как предполагают торговлю по тренду, и парным трейдингом, так как использует коррелирующие инструменты. Однако алгоритмическая торговля предполагает использование нескольких инструментов, при этом по базисному активу определяется движение рынка, а непосредственно сделки совершаются на другом инструменте. Ключевым моментом стратегий низких издержек является то, что на торговых инструментах с высокой корреляцией, один актив (базовый) с большей ликвидностью реагирует быстрее, чем остальные (рабочие) активы с более низкой ликвидностью. Например, вначале падает цена на нефть (базис), которая тянет за собой вниз акции нефтедобывающих и нефтеперерабатывающих компаний (рабочие торговые инструменты). Тенденции на базисном активе анализируются на наименьших таймфреймах, учитывая каждое изменение котировок. Как только базовый актив начинает демонстрировать резкое изменение цены, то на рабочих торговых инструментах совершается сделка в направлении изменения базового актива. При алгоритмической торговле по стратегиям низких издержек крайне важно иметь сверхскоростной доступ к рынку и рыночной информации, для реализации всех торговых сигналов.
Спекулятивные стратегии фронт-раннинг (Front running)
Фронт-раннинг предполагает анализ текущей ликвидности и усредненного объема позиций актива в конкретный период времени. Если на рынке определяется лучшая цена спроса и предложения одного либо нескольких ордеров, где суммарный объем превышает на определенную величину усредненный объем ордеров за конкретный период времени, то выставляется ордер по цене на несколько пунктов выше (при покупке) или ниже (при продаже) от цены крупных заявок. Выходит, что выставленный ордер размешается перед крупными заявками. Когда данный ордер исполняется, тут же устанавливается противоположный ордер еще на несколько пунктов выше, если исполнился ордер Buy, или на несколько пунктов ниже, если исполнился ордер Sell. Звучит всё сложно, однако идея проста: крупные позиции, как правило, исполняются определенное время, за которое могут произойти несколько противоположных сделок. При исполнении же крупной позиции цена может значительно двинуться, что принесет по первому ордеру прибыль. Для алгоритмической торговли по фронт-раннингу используются торговые активы с высокой ликвидностью. Фронт-раннинг становится возможным только при высокоскоростном доступе к рынку и рыночной информации.
Заключение
Алгоритмическая торговля позволяет крупным институциональным участникам рынка реализовывать крупные объемы активов, а также получать дополнительную прибыль от спекуляций на биржевом и внебиржевом рынке. Сложные алгоритмы автоматически анализируют и совершают сделки, которые могут повлиять на ситуацию на рынке.
Большинство торговых роботов, которые применяется в алгоритмическом трейдинге, не доступны для обычных трейдеров, так как являются собственными разработками крупных участников торгов. Торговля по алгоритмам требует высокой точности исполнения и прямого доступа к рыночной ликвидности и информации, что обеспечивается прямым доступом к поставщикам ликвидности.
С Юрием Масловым, который в ITinvest занимается развитием инфраструктуры для работы на бирже с помощью торговых роботов. В блоге на Хабре мы публикуем выдержки из этого разговора, посвященные ответам на часто встречающиеся вопросы относительно технологий, используемых на фондовом рынке в России.
Плюсы алгоритмической торговли
Увеличение числа трейдеров, использующих для торговли на бирже специальных роботов , является мировым трендом. Не все довольны этим фактом, многие считают алгоритмическую торговлю вредной спекуляцией, однако она позволяет поддерживать ликвидность на рынках. Число высокочастотных торговцев (HFT) и их влияние на рынок определяется общими рыночными законами - мы писали об этом в топике , посвященном перспективам алгоритмической торговли в России:Помимо этого, использование технологий в торговле позволяет избавиться от одной из главных проблем, возникающих при работе на финансовом рынке - преобладания эмоций над разумом, что может приводить к ошибкам и потере денег. Кроме того, часто ситуация на фондовом рынке меняется столь стремительно, что человек может не успеть на нее среагировать - робот не столь медлителен.
Например, давным-давно, в 2002-2003гг. люди торговали простой жесткий арбитраж Газпром против фьючерса Газпрома руками. Получали безумные проценты в годовых. Но в 2008 году эта ниша целиком уже была занята алгоритмами. После сентября 2011 года эта ниша была полностью занята высокочастотными алгоритмами.
Сколько нужно денег для торговли роботом
Алгоритмизировать торговые стратегии можно и при наличии не очень большого объема средств для торговли на бирже. При этом, необходимо осознавать, что существуют различные сферы алгоритмической торговли. Есть ее разновидности, не предъявляющие повышенного требования к скорости - например, интеллектуальные стратегии, которые выигрывают за счет понимания рынка. Если же нужна высокочастотная торговля (стратегии, обгоняющие всех на рынке) или предполагается использование микроструктурных моделей, то входной билет стоит дороже, поскольку необходимо наличие серьезной инфраструктуры, затраты на ее поддержку.Юрий Маслов
Прежде, чем бросаться в бой на реальный рынок, необходимо протестировать стратегию и рассчитать ее доходность (в принципе, это можно сделать даже в MS Excel). Эта доходность должна, в идеале, покрывать затраты на разработку и поддержание торгового робота - оплата услуг программиста или, при самостоятельной разработке, временные затраты.
На рынке есть люди, которые начинали со 100 тыс. руб. Может, они просто начинали в более удачное время. Сегодня сумма от 500 тыс. рублей до 1 млн. рублей - это входной порог, на котором уже можно начинать работу с алгоритмическими стратегиями. При этом, есть удобные инструменты, которыми можно алгоритмизировать стратегию и за 20 тыс. рублей. Их на рынке становится все больше. Они позволяют делать алгоритмы без значительных затрат на разработку.
В число таких решений входят системы TS Lab или продукты компании Cofite . Таких решений становится все больше - суть их заключается в использовании скриптовых языков, которые упрощают разработку по времени. Они «заточены» под быструю реализацию алгоритмов. Пример подобного скриптового языка - TradeScript, созданный американцами из Modulus Financial Engineering. Эта технология была лицензирована (OEM) для создания терминала SmartX . Этот язык очень прост и позволяет описать торговую стратегию за короткое время, просто ознакомившись с мануалом (или публикациями на Хабре - раз , два)
Раундтрип заявок
Скорость работы торгового робота зависит от различных факторов. Одним из важнейших является используемый протокол передачи данных.Возьмем протоколы, которые используются для работы с Московской биржей по спот рынку. Там есть разные способы подключения: «родной» биржевой протокол, его еще называют нативным , FIX-подключение и работа через брокерскую торговую систему. Люди, которые стараются быть первыми в «стаканах», используют FIX-подключение, реже - нативный протокол.
При подключении через брокерскую систему скорость, как правило, ниже. Если говорить о FIX на фондовом рынке ММВБ, то раундтрип, в биржевой части составляет около 300-350 микросекунд, полный путь заявки, учитывая задержку каналов связи и на клиентском оборудовании, может выражаться в заметно больших значениях.
Эти цифры одинаковы для всех брокеров, они зависят в большей степени от качества канала до биржи, установленного оборудования и скорости обработки заявки в ядре. В случае использования «родного» биржевого протокола TEAP типичная задержка выше и составляет от 420 мкс.
Время для выставления заявок, проходящих через торговую систему ITinvest (от момента, когда она получена от клиента на шлюз (gateway), до момента, когда клиенту отдается ответ на неё – необходимо понимать, что при работе через интернет могут быть непредсказуемые задержки на участке от шлюза брокера до оборудования клиента) составляет от 1,5 до 2,5мс. При этом для высокочастотных трейдеров существует решение, которое подразумевает работу по FIX-протоколу и подключение к серверам риск-менеджмента ITinvest. На контроль рисков уходит считанное количество микросекунд и в общем количестве биржевого раундтрипа они незаметны.
Технологии разработки
Опыт показывает, что наилучшим технологическим решением для создания торговых роботов на российском рынке являются универсальные процессоры. Диапазон применения различных решений ограничен - на FPGA можно построить быструю стратегию, но для сложными вычислений лучше использовать универсальный процессор. В графических процессорах есть свои недостатки, например, медленная работа с памятью и большое энергопотребление. Оптимизация робота под универсальный процессор на локальном рынке в настоящий момент является лидирующим решением.Что касается операционных систем, то чем больше человек хочет производительности, тем более он заинтересован использовать Linux. Если есть какая-то работающая бизнес-идея, то повышение скорости может позволить заработать больше. Но стоимость разработки и использования высококлассного программиста может не окупить эти расходы. В принципе, достаточно быстрые решения можно создать и на Windows. Linux хорош тем, что он кастомизируется под возникающие нужды пользователя-трейдера - выходят новые ядра с новыми фишками. Windows более консервативен в этих вопросах.
Популярным в последнее время является С#. Он очень прост в разработке, и человек, даже не имеющий профильного образования и обладающий лишь базовыми навыками разработки, может освоить С# и написать алгоритм робота. Для более серьезных разработок на финансовом рынке используются C и C++, которые позволяют получить приемлемую скорость при оптимальных затратах (в тяжелых случаях дело доходит и до Ассемблера). Начинающие разработчики биржевого софта обычно используют C#.
Нужно ли использовать коробочные продукты для создания роботов
С одной стороны, плюс подобных решений в том, что они экономят время разработки. С другой - это «черный ящик» со своей логикой, и разобраться в некоторых продуктах без консультации с их создателями, действительно, сложно. Но тот факт, что они облегчают разработку торговых роботов несомненен. У большинства брокеров есть удобный интерфейс, который позволяет быстро и удобно написать приложение. Например, у ITinvest есть API SmartCom .Его мануал содержит примеры, и человек, владеющий С#, сможет написать своего робота достаточно быстро. При этом, высокочастотные торговцы практически всегда пишут торговые системы под себя - данный метод позволяет получать уникальный продукт и рассчитывать на больший выигрыш на рынке.
На сегодня все, всем спасибо за внимание. Также мы хотели бы поинтересоваться у пользователей Хабра тем, о каких темах, связанных с фондовым рынком, им было бы интересно почитать. Заявки и вопросы принимаются в комментариях!
P.S. Если вы заметили опечатку или ошибку - напишите личным сообщением, и мы оперативно все исправим.
- 1с предприятие 8.3 закрытие месяца. Как закрывать квартал начинающему бухгалтеру пошаговая инструкция. Настройка учетной политики организации
- Продажа ос в 1с 8.3 бухгалтерия. Как в «1с» отразить продажу основных средств и мнма. Продажа основного средства с восстановлением амортизационной премии
- Расчет и калькуляции себестоимости продукции Расчет себестоимости путем распределения расходов
- Самые счастливые люди на Земле: особенности и интересные факты