Использование алгоритмов в трейдинге (алготрейдинг) — тренд последних десятилетий, во многом изменивший рынок. Любая автоматическая система может с лёгкостью превзойти человека в скорости, производительности и выносливости, конкурировать с машиной при этом будет практически невозможно.
Содержание статьи:
- Что такое алготрейдинг (алгоритмическая торговля)
- Суть алготрейдинга
- Когда и как появился алготрейдинг
- Алгоритмическая торговля на фондовом рынке
- Алгоритмическая торговля на Форекс
- Обзор программ для алготрейдеров
- Стратегии для алготрейдинга
- Обучение и книги по алготрейдингу
- Преимущества и недостатки алготрейдинга
- Известные мифы об алготрейдинге
Что такое алгоритмическая торговля, её особенности и использование на различных рынках – далее.
Что такое алготрейдинг (алгоритмическая торговля)
Алгоритмический трейдинг (с англ. 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 станут прекрасной возможностью для новичков, чтобы попробовать свои силы в программировании настоящих роботов для алготрейдинга.
Обзор программ для алготрейдеров
Существует небольшой перечень софта для алгоритмической торговли и написания кода для роботов.
- TSLab — это отечественный софт на языке C#, совместимый с большинством Форекс и фондовых брокеров. Имеет довольно простой и лёгкий в изучении интерфейс благодаря специальным блок-схемам. Программой можно пользоваться бесплатно, тестировать и оптимизировать системы, но для реальной торговли необходимо будет купить подписку.
- WealthLab — программа для разработки алгоритмов на языке 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.