Алгоритмическая и автоматизированная торговля. Почему алгоритмическая торговля на бирже не работает

25.11.2023 Ведение

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

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

К концу 80 годов из-за развития сетей телекоммуникации все большее количество трейдеров желало присоединиться к торгам удаленно, что в скорее стало доступно благодаря ECN .


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

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

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

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

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

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

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

Если говорить о стратегиях, то их условно делят на:

1) Арбитражные

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

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

2) Стратегии на основе опережения

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

3) Тактики маркет – мейкеров

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

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

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

Также из-за конкуренции данных компаний довольно сильно сузилось значение спреда что не может не радовать.

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

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

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

Как разработать хорошую торговую стратегию для алгоритмизации

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

Личные достижения, наработки и знания в торговле

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

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

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

Еще один момент, имеющий большое значение — время.

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

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

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

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

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

Для чего это нужно?

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

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

Стратегия выбрана, что дальше?

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

Если вы умеете программировать на C++, Java, C#, Python или R, это даст вам возможность лично заниматься созданием хранилищ данных, бэктестирования и исполняющей системы, что предоставит вам ряд преимуществ, основным из которых можно считать возможность иметь представление обо всех аспектах инфраструктуры. Благодаря этому, также у вас будет возможность производить анализ высокочастотных стратегий. В результате вы сможете не только тестировать собственноручно произведенное ПО, но и заниматься устранением ошибок. Кроме того, появится возможность больше времени уделять кодированию инфраструктур и непосредственно реализации стратегий. Вполне вероятно, что для некоторых процессов ведения расчётов, прогнозирования или отслеживания результатов тестирований гораздо удобнее будет работать с использованием Excel или MATLAB, а разработку остающихся компонентов передать на аутсорсинг. Но последнее не сильно рекомендуется, поскольку опять же вы не сможете должным образом откалибровать систему, поскольку не поймёте чужой код.

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

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