Меню Рубрики

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

Сформулированный трейдером порядок открытия и закрытия сделок, в основу которого закладывается четкий алгоритм работы автоматических либо механических торговых систем - АТС И МТС соответственно.

Специфика и применение алготрейдинга

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

  • генетический — создание алгоритмов поручается компьютерным системам;
  • автоматический — используются программы, способные работать с огромными массивами данных и тестировать стратегии;
  • ручной — научный подход учитывает математические и физические модели.

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

Типы и потенциал

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

  • статистическая;
  • алготрейдинг исполнения;
  • автоматическое хеджирование;
  • прямой доступ;
  • высокочастотный алготрейдинг.

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

Сущность высокочастотного алготрейдинга

Высокочастотный алготрейдинг также именуется HFT-торговлей, он наиболее востребован среди других форм автоматизированного совершения операций. Его преимуществом является возможность быстрого заключения сделок с более чем одним инструментом, здесь работа с позициями (открытие и закрытие) выполняется за доли секунды. Операции характеризуются микрообъемами, притом они уравновешиваются большим их числом. Результаты — убытки и доходы — фиксируются моментально, поэтому здесь нужна сложная техническая база и качественная прямая связь с коммуникационными шлюзами. Ключевые черты высокочастотной торговли:

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

Самыми распространенными HFT-стратегиями являются маркетмейкинг, арбитраж задержек и статистический его вид, фронтраннинг. Последняя заключается в поиске объемных заявок на покупку и выставлении собственной мелкой, характеризующейся большей ценой. По мере исполнения алгоритм автоматически выставляет заявки немного выше, рассчитывая на проявление сопутствующих колебаний. Роботизированные операции, выполняемые в рамках алготрейдинга, создают около 55% ликвидности мировых фондовых бирж. С течением технологического развития инструментов процесс извлечения прибыли усложняется и дорожает. С профильного рынка постепенно вытесняются компании среднего звена, так как возрастают расходы на модернизацию технической базы, актуализацию программного обеспечения.

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

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

Итак, как водится, сформулируем, для начала определение алготрейдинга.

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

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

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

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

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

Соответственно, для реализации алготрейдинга на практике необходим торговый робот. Давайте поговорим о них.

Торговые роботы

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

Виды роботов

Торговые программы можно разделить на две большие группы:

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

Естественно, что когда мы говорим про алготрейдинг, нас, в первую очередь, интересует второй тип.

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

  1. Стратегия «экзекьюшен» (execution strategy) – подразумевает покупку/продажу активов в больших объемах, по средневзвешенной цене, максимально приближенной к цене последней заключенной сделки. Позволяет в значительной степени снизить издержки, связанные с открытием и закрытием позиций и применяется, преимущественно, крупными игроками финансового рынка, такими как брокерские компании и инвестиционные фонды. Частные инвесторы чаще применяют вторую стратегию.
  2. Спекулятивная стратегия – классическая для трейдров система, направленная на получение максимальной прибыли на основе ценовой разницы между стоимостью покупки и продажи актива.

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

  1. Маркет-мейтинг – одновременное вхождение и сдерживание позиций купли/продажи, в границах движения цены на определенный актив.
  2. Пейерс-трейдинг – одновременный технический анализ двух, сильно коррелирующих активов, когда покупка одного актива сопровождается одновременной продажей второго. Данный вид спекулятивной стратегии еще называют парным трейдингом.
  3. Корзинный (basket) трейдинг – тот же самый парный трейдинг, только здесь работа ведется не с двумя частными активами, а с их группами.
  4. Стратегия отслеживания – подразумевает постоянный мониторинг торговым роботом котировок актива, с целью выявления признаков устойчивого тренда и заключения сделок в соответствии с ним.
  5. Арбитраж – снова можно провести параллели с парным трейдингом. Работа здесь ведется с двумя активами, корреляционное соотношение которых равно единице.

Как создать торгового робота

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

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

Преимущества алготрейдинга

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

    • Высокая точность – робот не может поставить лишний символ после запятой, отойти от запланированной цены, под девизом «И так сойдет» и открыть сделку наудачу. Какую последовательность действий вы в него заложите, так он и будет торговать.
    • Возможность получать прибыль с первых дней . Самостоятельный трейдинг – вещь довольно сложная, ему надо учиться, набираться опыта и, чего скрывать, набивать шишки в виде денежных потерь. На алготрейдинге же могут зарабатывать даже новички, которые приобрели торгового робота у более опытных коллег.
    • Готовность к работе – опытные трейдеры знают, что порой благоприятный момент для открытия сделки приходится ждать часами, а то и днями напролет. Естественно, что это довольно тяжело. Ведь даже будучи в постоянной готовности (что само по себе крайне утомительно), можно буквально на пару минут отойти от терминала и пропустить тот самый ценовой скачек, которого вы ждали неделю. Программе же это все безразлично. Она будет терпеливо выжидать по графику 24/7 и это никак не скажется на эффективности ее действий.
    • Скорость работы – система способна анализировать одновременно несколько графиков, котировок и индикаторов, а также отправлять по десятку заявок в секунду. А чем больше сделок – тем больше прибыли.
    • Отсутствие эмоций – уже говорил об этом. Программа принимает решения, которые прямо вытекают из заложенного в нее алгоритма. Она не может торопиться, лениться, бояться и т.д.
    • Универсальность и масштабируемость – хороший алгоритм можно приспособить для работы с сотнями различных активов, валют, акций, фьючерсов и т.д.. Его возможности прямо вытекают из способностей разработчика, посему роботы, созданные опытными трейдерами можно применять буквально где угодно, на любом рынке или бирже. Кроме того, в случае необходимости их можно менять и совершенствовать, делая алгоритм и вовсе идеальным.

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

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

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

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

Почему алготрейдинг и алготрейдеры выгодны биржам?

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

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

Высокочастотная алгоритмическая торговля

А сейчас мне хотелось бы развенчать одно крайне распространенное заблуждение, заключающееся в том, что многие считают алготрейдинг и высокочастотную торговлю (High-frequency trading, HFT, прим. ред.) одним и тем же явлением.

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

Торговля по системе High-frequency подразумевает открытие огромного количества сделок по десяткам различных активов, буквально на доли секунды. Работа ведется с небольшими объемами, что компенсируется количеством операций. Трейдеры, применяющие данную технологию, получают прибыль буквально мгновенно. Причем размер ее, зачастую, весьма и весьма неплох.

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

Что нужно для алготрейдинга

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

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

В-третьих , желательно, если они будут отображаться прямо в рабочем терминале. Программа способна анализировать сотни активов разом, так зачем же ограничивать ее и себя? Из торговли нужно извлекать максимум, так что о котировках необходимо позаботиться заранее.

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

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

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

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

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

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

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

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

Вывод

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

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

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

С уважением, Никита Михайлов

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

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

Трейдеры на мировых биржах от Австралии и до Нью-Йорка все меньше торгуют рыками и все больше используют торговые алгоритмы. На Московской Биржи более 50% объема торгов приходится на алгоритмические стратегии. А доля их заявок в общем объеме перевалила за 80%.

Тот, кто вчера активно кликал мышкой, сегодня формализовал свою стратегию и запрограммировал её сам или у друга, который знает C++ или Python.

Почему торговые роботы так популярны?

Робот не имеет эмоций: он не радуется, когда зарабатывает 10% и не расстраивается, когда теряет 50%. Он не знает, что такое страх и жадность. У робота есть набор правил и команд, которым он следует. Если надо купить, робот покупает, если продать – продает. Робот может исполнять команды быстрее, чем человек. Робот может одновременно следить за сигналами на многих инструментах, а человек следит только за тем, что видит на мониторе.

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

Требования к слушателям:

Курс "Алгоритмическая торговля. Научный подход" рассчитан на подготовленных слушателей, которые помнят высшую математику, которую читают в экономических ВУЗах. На курсе будет не сухая теория, а чуть-чуть "жидкой теории" и много "густой практики" на примере нескольких торговых стратегий, которые работают уже 10 лет.

Чем этот курс отличается от прошлых:

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

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

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

Программа видеокурса

Занятие 1. Принципы построения торговых алгоритмов и необходимые понятия теории вероятностей и математической статистики

  • Узнаем, что такое случайность или детерминированность
  • Узнаем о вероятности, как мере числовой оценки шансов появления будущих событий
  • Открываем для себя торговый алгоритм, как статистический прогноз будущего приращения цены
  • Изучаем одномерные случайные величины:
    • функция распределения
    • математическое ожидание функции от случайной величины
    • квантили (перцентили)
    • стохастическое доминирование
  • Определяем, что такое бинарная модель приращений цен, тренд и контртренд, оптимальный алгоритм
  • Изучаем многомерные случайные величины:
    • независимость
    • условные распределения
    • задача статистического прогноза
    • регрессия
  • Узнаем, как подобрать индикаторы для торгового алгоритма «методом тыка»
  • Вспоминаем последовательности случайных величин:
    • стационарность
    • автокорреляционная и спектральная функции
    • случайное блуждание
    • показатель Херста (критика)
  • Используем математическую статистику:
    • выборка
    • выборочные статистики
    • достаточные статистики
    • различение гипотез
    • оценка параметров
    • параметрическая и непараметрическая статистика

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

  • Оцениваем долю «успехов»
  • Приводим автокорреляционную функцию динамики счета к нулевому виду
  • Отсеиваем параметры по:
    • устойчивости
    • стохастическому доминированию
    • взаимной корреляции
    • превосходству «доходность-риск» пассивной стратегии
  • Строим оптимальный портфель из:
    • одного торгового алгоритма с разными параметрами
    • нескольких торговых алгоритмов на одном активе
    • портфелей торговых алгоритмов на разных активах
  • Оцениваем будущие просадки счета методом Монте-Карло

Занятие 3. Практическое занятие по тестированию торговых алгоритмов

  • Используем полученные знания на практике

Занятие 4. Модели цен, как основы торговых алгоритмов

  • Разбираем конкурентный рынок, условную нормальность, «кусочную» стационарность
  • Изучаем кусочно-постоянную условно нормальную модель, тренды, минимаксную модель трендов
  • Вспоминаем кусочно-марковскую условно нормальную модель, тренды и контртренды
  • Узнаем о сильно «антиперсистентной» модели и ступенчатых трендах

Занятие 5-6. Примеры трендовых торговых алгоритмов

  • Строим модели для кусочно-постоянной условно нормальной модели
  • Рассматриваем модели для сильно «антиперсистентной» модели

Занятие 7. Фильтрация трендовых торговых алгоритмов и примеры контртрендовых торговых алгоритмов

  • Разбираем минимаксные модели трендов
  • Изучаем историю реальной торговли и модификации
  • Отбираем трендовые торговые алгоритмы
  • Кусочно-марковская условно нормальная модель, как основа построения «фильтра пилы»
  • «Фильтры» шортов и плечей, принципы построения, особенности использования
  • Рассматриваем примеры контртрендовых торговых алгоритмов
  • «Фильтр пилы», как индикатор торговли контртренда в рамках бинарной модели приращений цен
  • Maximum profit system для опционов (факультативно)

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

Популярные алгоритмы биржевой торговли носят названия:

  • Percentage of Volume;
  • Pegged;
  • VWAP»;
  • TWAP;
  • Implementation Shortfall;
  • Target Close.

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

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

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

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

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

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

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

Реализация механизма алгоритмической торговли

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

  • время начала и конца исполнения;
  • целевая цена исполнения;
  • агрессивность/пассивность исполнения;
  • участие/неучастие в аукционах открытия и закрытия торговых сессий.

По мере исполнения своей заявки на рынке получает FIX-сообщения от брокера об исполнении и в конце дня сообщение о полном исполнении заявки или отмене ее оставшейся неисполненной части.