Основы алгоритмической торговли: концепции и примеры. Книги и образовательные ресурсы по алгоритмической торговле Алгоритмические роботы на фондовом рынке

Алгоритм - это определенный набор четко определенных инструкций, направленных на выполнение задачи или процесса.

Алгоритмическая торговля (автоматическая торговля, торговля черным ящиком или просто торговля алго) - это процесс использования компьютеров, запрограммированных на выполнение определенного набора инструкций для размещения торговли с целью получения прибыли со скоростью и частотой, которая невозможно для торговца людьми. Определенные наборы правил основаны на сроках, цене, количестве или любой математической модели. Помимо возможностей для торговли трейдерами, торговля алговыми делает рынки более ликвидными и делает торговлю более систематической, исключая эмоциональные воздействия человека на торговую деятельность. (Подробнее см. Выбор правильного алгоритмического торгового программного обеспечения .)

Предположим, что трейдер следует этим простым торговым критериям:

  • Покупайте 50 акций акции, когда ее 50-дневная скользящая средняя превышает 200-дневную скользящую среднюю
  • Продать акции акции когда его 50-дневная скользящая средняя идет ниже 200-дневной скользящей средней

Используя этот набор из двух простых инструкций, легко написать компьютерную программу, которая будет автоматически отслеживать цену акций (и индикаторы скользящего среднего) и место заказы на покупку и продажу при соблюдении определенных условий. Трейдеру больше не нужно следить за живыми ценами и графиками, или заказывать вручную. Алгоритмическая торговая система автоматически делает это за него, правильно определяя торговые возможности. (Подробнее о скользящих средних см. В разделе Простые скользящие средние. Вывод трендов .)

[Если вы хотите узнать больше о проверенных и точных стратегиях, которые в конечном итоге могут быть обработаны в алорифмической торговой системе, ознакомьтесь с курсом «Академия онлайн-трейдеров Академии Investopedia».]

Преимущества Алгоритмическая торговля

Algo-trading предоставляет следующие преимущества:

  • Торги, выполненные по наилучшим ценам
  • Мгновенное и точное размещение торгового заказа (тем самым высокие шансы на выполнение на желаемых уровнях)
  • Торги рассчитаны правильно и мгновенно, чтобы избежать значительных изменений цен
  • Снижение транзакционных издержек (см. пример нижеприведенного дефицита)
  • Одновременные автоматические проверки на нескольких рыночных условиях
  • Снижение риска ручных ошибок при размещении сделок
  • Обратный алгоритм на основе по имеющимся историческим данным и данным в реальном времени
  • Снижение вероятности ошибок торговцев людьми на основе эмоциональных и психологических факторов

Наибольшая часть сегодняшней алго-трейдинга - высокочастотная торговля (HFT), которая пытается извлечь выгоду из размещения большого количества заказов на очень быстрых скоростях на нескольких рынках и нескольких параметров решения, основанных на по предварительно запрограммированным инструкциям.(Более подробно о высокочастотной торговле см. Стратегии и секреты фирм с высокой частотой торговли (HFT) .)

Algo-trading используется во многих формах торговой и инвестиционной деятельности, в том числе:

  • Средние и долгосрочные инвесторы или покупают сторонние фирмы (пенсионные фонды, паевые инвестиционные фонды, страховые компании), которые покупают акции в больших количествах, но не хотят влиять на цены акций с помощью дискретных крупных инвестиций.
  • Участники краткосрочных торговцев и продавцов (маркет-мейкеры, спекулянты и арбитражники) выигрывают от автоматизированного осуществления торговли; Кроме того, алго-торговля помогает создать достаточную ликвидность для продавцов на рынке.
  • Систематические трейдеры (трейдеры тренда, пар трейдеры, хедж-фонды и т. Д.) Находят гораздо более эффективными для программирования своих торговых правил и позволяют программе торговать автоматически.

Алгоритмическая торговля обеспечивает более систематический подход к активной торговле, чем методы, основанные на интуиции или инстинкте трейдера.

Алгоритмические торговые стратегии

Любая стратегия алгоритмической торговли требует определенной возможности, которая выгодна с точки зрения повышения прибыли или снижения затрат. Ниже перечислены общие торговые стратегии, используемые в торговле алгомистами:

  • Стратегии после следующих стратегий:

Наиболее распространенные алгоритмические торговые стратегии следуют тенденциям в скользящих средних, прорывах каналов, изменениях уровня цен и соответствующих технических индикаторах. Это самые простые и простые стратегии для реализации с помощью алгоритмической торговли, поскольку эти стратегии не включают в себя прогнозы или прогнозы цен. Торги инициируются на основе появления желательных тенденций, которые легко и просто реализовать с помощью алгоритмов, не вникая в сложность интеллектуального анализа. Вышеупомянутый пример 50 и 200 дневных скользящих средних является популярной тенденцией после стратегии. (Подробнее о стратегиях трейдинга см. Ниже: Простые стратегии капитализации на тренды .)

  • Арбитражные возможности:

Покупка двойного списка акций по более низкой цене на одном рынке и одновременная продажа на более высокая цена на другом рынке предлагает разницу в цене как безрисковую прибыль или арбитраж. Такая же операция может быть реплицирована для акций против фьючерсных инструментов, так как разница цен существует время от времени. Внедрение алгоритма для определения таких различий цен и размещения заказов позволяет эффективно использовать выгодные возможности.

  • Рефинансирование фондового индекса :

Фонды индексов определили периоды перебалансировки, чтобы довести свои запасы до их соответствующих контрольных показателей. Это создает выгодные возможности для алгоритмических трейдеров, которые извлекают выгоду из ожидаемых сделок, которые предлагают прибыль в размере 20-80 базисных пунктов в зависимости от количества акций в индексном фонде, до перебалансирования фондового индекса. Такие торги инициируются с помощью алгоритмических торговых систем для своевременного исполнения и лучших цен.

  • Стратегии, основанные на математических моделях:

Множество проверенных математических моделей, таких как дельта-нейтральная торговая стратегия, которые позволяют торговать на комбинации опционов и ее базовой безопасности, где размещаются торги для компенсации положительных и отрицательных дельт, чтобы дельта портфеля поддерживается на нуле.

  • Торговый диапазон (средняя реверсия):

Средняя стратегия реверсии основана на идее, что высокие и низкие цены актива являются временным явлением, которое периодически возвращается к их среднему значению. Определение и определение ценового диапазона и алгоритма реализации, основанного на том, что позволяет автоматически размещать сделки, когда цена актива разрывается и выходит за пределы его определенного диапазона.

  • Средневзвешенная по объему цена (VWAP):

Стратегия взвешенной средней цены по току разбивает крупный заказ и выпускает на рынок динамически определенные мелкие куски заказа на рынке с использованием исторических профилей объема запаса. Цель состоит в том, чтобы выполнить заказ, близкий к средневзвешенной цене (VWAP), тем самым выиграв среднюю цену.

  • Средневзвешенная средняя по времени (TWAP):

Стратегия взвешенной средневзвешенной цены времени разбивает большой порядок и выпускает динамически определенные мелкие куски заказа на рынок, используя равномерно разделенные временные интервалы между началом и временем окончания. Цель состоит в том, чтобы выполнить заказ близко к средней цене между временем начала и окончания, тем самым минимизируя влияние на рынок.

  • Процент объема (POV):

Пока торговый заказ не будет полностью заполнен, этот алгоритм продолжает отправлять частичные заказы в соответствии с определенным коэффициентом участия и в соответствии с объемом, проданным на рынках. Связанная стратегия «шагов» отправляет заказы с определенным пользователем процентным объемом рынка и увеличивает или уменьшает этот коэффициент участия, когда цена акций достигает определенных пользователем уровней.

  • Нехватка реализации:

Стратегия дефицита реализации направлена ​​на минимизацию стоимости исполнения заказа путем торговли с рынком в реальном времени, что позволяет сэкономить на стоимости заказа и выиграть от альтернативной стоимости отсроченного исполнения. Стратегия увеличит целевой уровень участия, когда цена акций движется благосклонно и уменьшит ее, когда цена акций движется отрицательно.

  • Помимо обычных торговых алгоритмов:

Существует несколько специальных классов алгоритмов, которые пытаются идентифицировать «события» с другой стороны. Эти «алгоритмы обнюхивания», используемые, например, маркет-мейкером на стороне продажи, имеют встроенный интеллект, чтобы идентифицировать существование любых алгоритмов на стороне покупки большого заказа. Такое обнаружение с помощью алгоритмов поможет маркет-мейкеру определить возможности большого заказа и дать ему возможность выиграть, заполнив заказы по более высокой цене. Это иногда называют высокотехнологичным фронтом. (Более подробно о высокочастотной торговле и мошеннических методах см.: Если вы покупаете акции онлайн, вы участвуете в HFT .)

Технические требования к алгоритмической торговле

Реализация алгоритма с использованием компьютера программа - последняя часть, забитая бэктестированием. Задача состоит в том, чтобы преобразовать идентифицированную стратегию в интегрированный компьютеризированный процесс, который имеет доступ к торговому счету для размещения заказов. Требуется следующее:

  • Знания в области компьютерного программирования для программирования требуемой торговой стратегии, нанятых программистов или готового торгового программного обеспечения
  • Сетевое подключение и доступ к торговым платформам для размещения заказов
  • Доступ к каналам рыночных данных, которые будут контролируется алгоритмом для возможности размещения заказов
  • Способность и инфраструктура для проверки системы после ее сборки, прежде чем она выйдет на реальные рынки
  • Доступные исторические данные для проверки бэк-тестинга в зависимости от сложности правил, реализованных в алгоритме

AEX торгуется в евро, тогда как LSE торгуется в фунтах стерлингов

  • Из-за разницы в часах AEX открывается на час раньше, чем LSE, после чего оба биржи торгуют одновременно в течение следующих нескольких часов и затем торгуется только в LSE в течение последнего часа, когда AEX закрывается
  • Можем ли мы изучить возможность арбитражной торговли на фондовых рынках Royal Dutch Shell, перечисленных на этих двух рынках в двух разных валютах?

Требования:

  • Корреспонденты с LSE и AEX
  • Курс курса форекс для курса GBP-EUR
  • Возможность размещения заказов, которая может маршрутизировать порядок для правильного обмена
  • Возможность повторного тестирования по историческим ценовым каналам
  • Компьютерная программа должна выполнить следующее:
  • Использование доступных обменных курсов, конвертировать цену одной валюты в другую
  • Если существует достаточно большое расхождение в цене (дисконтирование брокерских расходов), что приводит к выгодной возможности, затем размещайте заказ на покупку по более низкому тарифу на продажу и продажу по более выгодному обмену > Если заказы выполняются по желанию, арбитражная прибыль будет следовать
  • Простой и простой! Однако практика алгоритмической торговли не так проста в обслуживании и исполнении. Помните, что если вы можете разместить торговлю, генерируемую алго, то и другие участники рынка. Следовательно, цены колеблются в милли- и даже микросекундах. В приведенном выше примере, что произойдет, если ваша покупка торговли будет выполнена, но продавать торговлю не так, как цены на продажу меняются к моменту поступления вашего заказа на рынок? Вы закончите сидеть с открытой позицией, делая свою арбитражную стратегию бесполезной.
  • Существуют дополнительные риски и проблемы: например, риски сбоя системы, ошибки сетевого подключения, временные задержки между торговыми ордерами и исполнением и, самое главное, несовершенные алгоритмы. Чем сложнее алгоритм, тем более строгий бэктестинг необходим, прежде чем он будет введен в действие.

Нижняя линия

Количественный анализ производительности алгоритма играет важную роль и должен быть рассмотрен критически. Увлекательно заниматься автоматизацией с помощью компьютеров с идеей легко зарабатывать деньги. Но необходимо убедиться в том, что система тщательно протестирована и требуются ограничения. Аналитическим трейдерам следует рассмотреть возможность самостоятельного изучения программ и систем построения, чтобы быть уверенными в правильном осуществлении правильных стратегий. Осторожное использование и тщательное тестирование алго-трейдинга могут создать выгодные возможности. (Подробнее см. В разделе «Как закодировать свой собственный торговый робот Algo».)

Алгоритмическая торговля - интересная область, которая позволяет ИТ-специалистам применить свои технические знания на фондовом рынке и извлечь из этого ту или иную выгоду. В нашем блоге мы неоднократно рассматривали различные темы, связанные с созданием торговых роботов, но недостаточно внимания уделяли теоретическим вопросам, с которыми сталкиваются начинающие трейдеры.

В нашем сегодняшнем материале - подборка книг, которые помогут лучше подготовиться к началу работы на фондовом рынке и написанию механических торговых систем. Для достижения наибольшей эффективности материала, мы приводим советы экспертов, которые занимаются алгоритмической торговлей на российском и зарубежных фондовых рынках.

Майкл Халлс-Мур, эксперт по Quantitative trading (цитата из поста в блоге)

Я считаю, что прежде чем человек поймет базовые понятия торговли на биржи и алгоритмической торговли, стоит избегать погружения в сложную математику. На мой взгляд, с помощью следующих книг хорошо заниматься как раз изучением основ:

По роду занятий я читаю довольно специфическую литературу, в основном, связанную со сложными моделями математической статистики. А поскольку в РФ эта тема не очень развита, то литература моя, в основном, на английском.

Из более «популярных» по жанру книг читал «Долгосрочные секреты краткосрочной торговли », но так и не применил никакие из перечисленных там идей на практике.

Всем начинающим трейдерам (неважно, алгоритмическим, или «простым»), я бы рекомендовал почитать Нассима Талеба, особенно книгу «Одураченные случайностью » - она тонкая, но на многие вещи заставляет взглянуть по-новому.

Из того, что мне реально помогло, могу посоветовать следующие материалы:

  • методички Московской биржи по фьючерсам и опционам (

Почему Роботы и алгоритмическая торговля?

В последнем кризисе в США и в обвале фондового рынка многие обвиняли алгоритмическую торговлю. К такому выводу они пришли, видимо, по той причине, что сегодня ни один трейдер не обходится без компьютера и технического анализа, который делается на компьютере.

Графики котировок цен наглядно показывают что происходит с конкретными ценными бумагами: растут ли они, падают, или остаются на прежнем уровне. Индикаторы показывают перекупленность/перепроданность, скорость изменения цены, ускорение цены, силу быков или медведей, объемы на покупку или продажу и т.п. По этим индикаторам трейдеру легче принимать решение о сделке.

Многие трейдеры пошли еще дальше, вместо того, чтобы каждую минуту анализировать ситуацию на рынке они стали использовать набор команд, которые регулярно выполняет компьютер. И если есть сигнал на покупку или продажу, то компьютер, а точнее торговая программа-робот выставит заявку, после чего проверит исполнилась она или нет... Алгоритмов существует много разных и многие из них довольно прибыльные. Примерная статистика говорит о том, что в США на рынке от общего оборота более 80% всех заявок выставляются торговыми Роботами. Робот практически никогда не пропустит сделку, никогда не ошибется в подсчетах. Это очень хороший помощник. В России процент выставляемых заявок Роботами не превышает 20%. Но ничто не стоит на месте и российский трейдинг в самое ближайшее время будет походить на американский.

Сколько процентов доходности может показать Робот?

От нуля до 8000% и больше. Многое зависит от алгоритма Робота, его параметров и от характера рынка. Если эти факторы максимально коррелируют, то и доходность Робота будет максимальной.

Как начать торговать на бирже с помощью Робота или Советника

Есть несколько вариантов:

  • Разработать своего торгового Робота самостоятельно и начать торговать
  • Заказать торгового Советника или Робота
  • Приобрести готового торгового Советника или Робота

Сразу нужно понимать, что разработка торгового Робота связана с изучением языка программирования, например QPILE, или C++ с API для QUIK. Это необходимое условие, но не достаточное для доходного Робота. Необходимо разработать правильный алгоритм, чтобы Робот в нужное время выставлял заявки на куплю-продажу и отслеживал текущую позицию, чтобы не купил лишнего или не продал меньше положенного. Он должен уметь выставлять стоп-заявки, проверять наличие соединения с биржей, учитывать интервалы торговых сессий и перерывы, закрывать или переносить позиции по сессиям, работать с разными таймфреймами, свечами, с различными Индикаторами и многое другое.

Самое главное, на мой взгляд, торговый Робот должен иметь тестовый режим. Режим, в котором можно протестировать Робота на реальных торгах. Демо-торги немного отличаются от реальных, поэтому мы рекомендуем тестировать именно на реальном рынке. В тестовом режиме не обязательно выставлять настоящие заявки купли-продажи. Все сделки можно проводить, так сказать, "на бумаге".

Только после того, как Вы убедитесь, что сделали правильный выбор можно запускать Робота в реальную торговлю на бирже.

Важно понимать, что при заказе на разработку торгового Робота Вы потратите гораздо больше времени и средств, так как это будет эксклюзивный вариант, созданный специально под Вас.

При покупке торгового Робота Вы экономите свои средства и время.

Важно понимать на каком рынке использовать Робота. Есть рынки, на которых торгуют практически одни Роботы. С одной стороны Вы спросите как же с ними бороться, с другой стороны – роботы предсказуемы!

Преимущества Роботов

Низкочастотный Робот – малое количество сделок, одна-две в день или меньше. Следовательно экономия на комиссии, но большой доходности ждать не приходится. Так как большие движения на рынке происходят редко (примерно 30% времени и меньше).

Сверхвысокочастотный Робот – доходность может исчисляться тысячами процентов годовых. Нужно понимать, что доходность и чистая прибыль у данных Роботов, это далеко не одно и тоже. Десятки тысяч сделок в день и аренда серверов на бирже, для сверхбыстрого доступа к торговой информации, уменьшают прибыль на 50% и более. Разработка и обслуживание таких Роботов очень хлопотное и затратное дело.

Высокочастотный Робот – несколько десятков сделок в день. Комиссия не высока, эффективность может быть очень хорошей, доходность сопоставима с размером чистой прибыли, легче тестировать и отслеживать сделки, легче контролировать Робота. Разработка и поддержка проще, стоимость вполне доступная.

Что такое Робот и как он работает

Изначально определяется стратегия торговли, тестируется на истории. Разрабатывается алгоритм. Тестируется. Далее торговая программа самостоятельно совершает сделки на бирже.

Использование алгоритмов в трейдинге (алготрейдинг) - тренд последних десятилетий, во многом изменивший рынок. Любая автоматическая система может с лёгкостью превзойти человека в скорости, производительности и выносливости, конкурировать с машиной при этом будет практически невозможно.

Содержание статьи:

Что такое алгоритмическая торговля, её особенности и использование на различных рынках – далее.

Что такое алготрейдинг (алгоритмическая торговля)

Алгоритмический трейдинг (с англ. Algorithmic trading) может иметь два значения:

  1. Алготрейдинг – это автоматическая система, которая открывает сделки без участия трейдера в рамках заданного алгоритма;
  2. – это методика исполнения крупной заявки на рынке, когда она автоматически делится на части и открывается постепенно по заданным правилам.

В первом значении алгоритмы нужны, чтобы непосредственно получить прибыль за счёт автоматического анализа рынка и открытия позиций. Подобные алгоритмы также называют «торговыми роботами » или «советниками ». Последнее наименование пришло с рынка Форекс.

Во втором случае система применяется для того, чтобы облегчить ручной труд трейдеров в инвестиционных фондах при совершении чрезмерно больших сделок, которые желательно совершить менее заметно. Например, если задачей стоит закупить 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 голоса

Обзор программ для алготрейдеров

Существует небольшой перечень софта для алгоритмической торговли и написания кода для роботов.

TSLab

TSLab - это отечественный софт на языке 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 раз. После этого найденные паттерны встраиваются в алгоритмы торговых роботов и успешно (либо не очень) торгуются.

Обучение и книги по алготрейдингу


Сфера обучения и литературы по автоматической торговле довольно узкая. Выделить надёжные и качественные специализированные исследования довольно сложно. Обычно всё сводится к изучению:

  1. математических моделей и экономического моделирования;
  2. языков программирования - Python, C++, MQL4 (для Forex );
  3. информации о контрактах на бирже и особенности инструментов (акций, опционов, фьючерсов).

Всё же следует выделить хорошие книги по алготрейдингу:

Барри Джонсон и его книга «Алгоритмическая торговля и прямой доступ к бирже » (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 год системные трейдеры находились в просадке и прилично сливали. Картина становится очевидной, если взглянуть на следующий график, который аналогичный, но только для ручных трейдеров (несистемных):



Как видите, они смогли адаптироваться к рынку и ведут себя более стабильно, чем алгоритмы. Проанализировав оба графика, можно увидеть, что в целом и тот и другой подход дают результат примерно равный. Поэтому, выбор стиля торговли - это личное дело каждого. Например, если вы несильны в программировании, и код навевает скуку, то лучше не связываться с алгоритмами, а работать вручную, и наоборот.

Известные мифы об алготрейдинге

Автоматическая торговля вызывает серьёзный резонанс у трейдеров, в связи с чем появилось множество мифов об алгоритмах. Обратим внимание на некоторые из них:

  1. Алготрейдинг не даёт прибыли и является обманом . К сожалению, многие подвержены этому мнению, в особенности те, кто сталкивался с покупкой советников, не оправдавших вложения. Опровергает это указанный выше индекс доходности алготрейдеров, которые на протяжении 20 лет зарабатывают деньги.
  2. Трейдинг - это психология, а не системная торговля для роботов . Как уже отмечалось, неэффективность у рынка есть, и алгоритмы для их выявления существуют.
  3. Тестирование систем не работает . Многие говорят, что бек-тестинг на истории не даёт никакой пользы, поскольку на реальном счёте робот будет терять всё равно. Это также заблуждение, если правильно подходить к процессу тестирования с учётом всех особенностей и нюансов, то оно играет важную роль.
  4. Мартингейл-системы и сетки ордеров - единственный способ заработать . Они действительно могут приносить прибыль, но недолго. Такая доходность крайне нестабильна, и обязательно приведет к сливу.
  5. Индикаторы не работают . Ещё одно заблуждение, индикаторы были созданы, чтобы помочь трейдеру визуально оценивать поведение цен, а не слепо надеяться на них. Поэтому, при разумном подходе они обязательно дадут результат.

Перечень не является исчерпывающим, это лишь самые известные мифы.

Заключение

Что такое алгоритмическая торговля на биржах? Алготрейдинг - это торговля с использованием автоматических запрограммированных систем для открытия сделок. Она может применяться для извлечения прибыли с рынка или для снижения ручной нагрузки на трейдера при открытии очень крупной позиции.

Существуют разные стратегии алгоритмической торговли. Это может быть арбитраж или парный трейдинг, а также множество иных вариаций. Такой стиль торговли доступен как на фондовой бирже, так и на валютном рынке Forex.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter .