Алгоритмическая торговля на фондовом. Бездушные советники — робоэдвайзинг и алготрейдинг: будущее новых технологий. Стратегии на основе опережения

С Юрием Масловым, который в 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. Если вы заметили опечатку или ошибку - напишите личным сообщением, и мы оперативно все исправим.

Профессор математики Нью-Йоркского Университета и эксперт по финансовым рынкам Марко Авелланеда (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 - взвешенная по объёму средняя цена) работает по следующей схеме. Объём торгов, как правило выше в начале и конце торговой сессии, а в ее середине он меньше. Чтобы исполнить крупный ордер с минимальными издержками, он разбивается на более мелкие приказы с учетом времени дня.

Для этого:

  1. Алгоритм оценивает средний объём торгов на пятиминутных интервалах.
  2. В рамках каждого интервала проводятся сделки на количество инструмента, пропорциональное нормативному объёму.
К свойствам этого алгоритма относится завершенность (размеры сделок всегда известны заранее), а также использование для оценки функции объёма исторических данных.

Процент объёма (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.

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

На сегодня все, спасибо за внимание!

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

Эффективность алгоритмической торговли зависит не только от используемой стратегии, но и рыночных условий, настроений игроков, новостей и других переменных.

Программы, используемые для алгоритмической торговли на Форекс могут составляться самим трейдером (оптимальный вариант) или другими людьми. Обычно это советники, которые устанавливаются в торговый терминал MT4.

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

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

Рисунок 1. На Форекс алготрейдинг чаще всего реализуется в форме советников

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

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

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

Потом алгоритмическая торговля стала усложняться, программы стали обновляться. Но даже сейчас она неидеальна. Например, в 2012 году компания Knight Capital потеряла 460 миллионов долларов после ошибки компьютера. На следующий день она объявила о банкротстве. Так что использовать советников нужно осторожно.

Алгоритмическая торговля может осуществляться и на VPS-сервере. Преимущества очевидны: торговля может осуществляться в режиме 24/5, проскальзывания минимальны за счет физически близкого нахождения сервера к мощностям брокера, предоставляющего эту услугу, а также нет привязки к месту торговли. Вы можете изменить настройки советника или выключить его, где бы вы ни находились.

Количественный трейдинг

Если буквально понимать значение этого термина, то это торговля, связанная с количественными показателями. Цифрами, проще говоря. И, в принципе, это определение будет правильным. Количественные трейдеры, как правило – это специалисты точных наук: математики, программисты, экономисты. Они постоянно анализируют рыночные инструменты, желая обнаружить недостатки его работы.

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

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

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

В широком смысле количественный трейдер – это тот человек, который совершенствует технический анализ (математики и экономисты) или разрабатывает алгоритмы, в основе которых лежат созданные первыми модели.

Классификация стратегий алгоритмического трейдинга

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

Стратегии маркетмейкинга

Наверно, это один из самых простых способов заработать деньги на Форекс. Многие могли увидеть, что если цена начинает интенсивное движение в определенном направлении, скорость которого только возрастает, то по мере продвижения цены вдаль объемы сделок также увеличиваются. Вот это включаются в работу .

Их задача – усредняться. То есть, увеличивать объем сделок при появлении убыточной позиции, дожидаясь, что она откатится назад после достижения перекупленности или перепроданности рынка. Зачем он это делает? Для обеспечения ликвидности рынка, чтобы трейдеры могли покупать и продавать. Чтобы обеспечивать такую стратегию, требуются колоссальные деньги.

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

Трендследящие

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

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

Обычно программы, настроенные на торговлю по тренду, делают то же, что и человек: анализируют показания индикаторов, свечные паттерны и так далее.

Арбитражные стратегии

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

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

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

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

Мартингейл

Рисунок 2. Стратегия «Мартингейл»

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

Эта стратегия пошла из казино. В ее основе лежит идея, что вероятность, что следующий бросок костей будет выигрышным, больше, чем предыдущий. В случае с ними, она оказывается такой же (1:6), но зато очень много людей повелось, и игровые дома стали зарабатывать колоссальные деньги.

На Форекс она может быть даже меньшей. Например, в случае высокой волатильности рынка. Представьте, трейдер открывает сделку на покупку. Она оказывается убыточной. Естественно, по чистому мартингейлу нужно увеличить объем где-то в 2,5 раза и открыть позицию на продажу. Но здесь настроения рынка изменились, и опять проигрыш.

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

Скальпинг

Это еще одна популярная высокорисковая стратегия, используемая в торговых роботах. Ее суть заключается в торговле на небольших трендах, имеющихся на краткосрочных таймфреймах. Максимальную эффективность показывает на волатильном рынке (например в европейскую сессию на паре EUR/USD).

Стоит ли использовать?

Алготрейдинг – не панацея от всех торговых бед. Фактически является исполнителем, который может ошибаться. Обязательно самостоятельно контролировать его торговлю и ситуацию на рынке, и если вдруг видите, что сделка идет против вас, сразу ее отменяйте.

Вообще, при правильном подходе на стабильном рынке вы можете получать неплохой пассивный доход.

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

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

MQL4 IDE

Рисунок 3. Среда разработки

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

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

Фактически это целая программная система, способная заменить все остальные приложения, необходимые для разработчика. Она включает:

  1. Собственный язык программирования.
  2. Редактор скриптов.
  3. Тестер стратегий. Незаменимый помощник в алготрейдинге, позволяющий осуществить отладку программы.
  4. Документацию. Руководство по написанию советников на MQL 4.

Рассмотрим 5 советников для торговли на валютном рынке, на случай, если вы не хотите разрабатывать собственную алгоритмизированную торговую систему.

  1. Aladdin FX. Этот советник абсолютно бесплатный, работает одновременно на нескольких валютах. Считается многими одним из лучших роботов среди бесплатных.
  2. Auto Profit. Его можно использовать для любых инструментов, в его основе заложена стратегия с минимальными рисками. Трейдер может контролировать каждый шаг, сделанный этой программой.
  3. Ilan. Эта алгоритмизированная торговая система предусматривает фиксированный тейк-профит без стоп-лосса. Стратегия основана на усреднении, поэтому для ее работы требуется большой депозит.
  4. COBRA. Основывается на скользящей средней, на определенном отступе от которой выставляется отложенный ордер. Для избавления от убыточных позиций используется мартингейл, так что будьте осторожны.
  5. GEPARD. Советник торгует на 28 валютных парах, риски хеджируются и диверсифицируются, благодаря чему они минимальные.

Каким бы ни был хорошим советник, нужно ориентироваться на свою голову и совершенствовать собственные торговые умения.

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

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

Но перед тем, как это делать, нужно научиться разрабатывать собственные торговые стратегии. Это значительно сложнее, чем выучить язык программирования. Но с этого надо начинать.

Преимущества и недостатки

Рисунок 4. Этот робот все знает о своих преимуществах и недостатках

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

  1. Возможность автоматизировать простейшие действия и уделить время более важным, но сложным вещам.
  2. Возможность снять психологическую нагрузку и принимать более адекватные решения. Человек может податься жадности или страху и перестать выполнять данные себе обязательства. Например, резкий откат может быть частью стратегии, но тут трейдер абсолютно глупо выходит из сделки. Робот будет действовать четко.
  3. Возможность получать пассивный доход на стабильном рынке.
  4. Возможность круглосуточной торговли.

Недостатки алготрейдинга на Форекс:

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

Очень часто применяются алгоритмические спекулятивные стратегии, цель которых не реализация актива, а получение прибыли от колебания цены торгового инструмента. В отличие от экзекьюшн-стратегий , которые ставят за цель максимально незаметно реализовать крупный объем активов для своих целей, при этом, не повлияв на рыночные цены, спекулятивные стратегии часто способствуют вмешательству в рынок, с целью получения дополнительной прибыли. Можно выделить основные 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. Звучит всё сложно, однако идея проста: крупные позиции, как правило, исполняются определенное время, за которое могут произойти несколько противоположных сделок. При исполнении же крупной позиции цена может значительно двинуться, что принесет по первому ордеру прибыль. Для алгоритмической торговли по фронт-раннингу используются торговые активы с высокой ликвидностью. Фронт-раннинг становится возможным только при высокоскоростном доступе к рынку и рыночной информации.

Заключение

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

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

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

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

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

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

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

Как торговать криптовалютой?

Как правило, трейдеры склоняются к одному из трех подходов:

Фундаментальный анализ

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

Анализ настроений

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

Технический анализ

Трейдеры анализируют динамику котировок и поведение специальных индикаторов (коих насчитывается великое множество), пытаясь предсказать дальнейшее движение цен. Технический анализ очень популярен на криптовалютном рынке.


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


Технические индикаторы MACD и RSI помогают оценить направление и оценку криптоактива

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

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

Возможность зарабатывать на рынке с помощью статистики поражает воображение! Прежде всего необходимо найти гипотезы и тренды , которые можно проверить и автоматизировать с помощью алгоритма. Программа должна работать и зарабатывать деньги даже тогда, когда вы спите.

Давайте рассмотрим пример алгоритмической торговой стратегии. На разработку ее концепции, анализ и настройку ушло более семи месяцев.

Гипотеза: если цена криптоактива опустилась до «необоснованно низкого» уровня, она с высокой вероятностью отскочит назад.

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


Обратите внимание, как отскакивает цена после прокола зеленой линии

Сигнальная линия на графике выше обозначена как «2 стандартных отклонения от скользящей средней». Давайте разберемся, что это значит.

Основы статистики: Среднеквадратическое (стандартное) отклонение

Любая нормальная случайная величина удовлетворяет распределению вероятностей Гаусса. Пик распределения соответствует среднему значению, а стандартное отклонение определяет возможный разброс значений.

Из статистики мы знаем, что 96% значений нормального распределения находятся в пределах двух стандартных отклонений (σ) от среднего. Другими словами, вероятность, что некая цена выйдет за пределы 2σ-интервала с той или иной стороны, составляет менее 2%.

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

Подход

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

Например, можно проверить работу алгоритма на разных временных интервалах (5 мин, 15 мин, 30 мин, 1 час) и для различных пороговых значений (2σ, 2,5σ, 3σ) на множестве разнообразных криптоактивов. Это позволит определить, какая комбинация значений дает наибольший процент надежных сигналов без ущерба для прибыльности каждой сделки.


Процесс разработки алгоритмической торговой стратегии

Как только параметры оптимизированы, можно приступать к реальной торговле, попутно следя за ее показателями (прибыльностью, проскальзыванием, коэффициентом Шарпа и т. д.). Убедившись в надежности алгоритма, можно увеличить объем капитала, предназначенного для торговли.

Выводы

За последние семь месяцев эта стратегия не только принесла прибыль, но и позволила сделать массу интересных наблюдений о торговле на турбулентном рынке:

  • Со временем прибыльность алгоритма снижается.
  • Алгоритмы, отлично работающие с небольшим капиталом (скажем, $10 000), перестают приносить прибыль, если его сильно увеличить (например, до $100 000).
  • Чем труднее концептуализировать и программировать алгоритм, тем дольше он сохраняет свое преимущество.
  • Большинство алгоритмов коррелируют с ценами - некоторые лучше работают на растущем рынке, другие хорошо справляются с падающим. Необходимо разумно скомпоновать портфель, состоящий из различных алгоритмов, чтобы они компенсировали возможные слабости друг друга.

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

Будь в курсе! Подписывайся на Криптовалюта.Tech в
Обсудить актуальные новости и события на