Программная торговля

В данной заметке я расскажу, что такое программная торговля (program trading).

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

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

Создание программы

Обычный приказ-ордер от клиента брокеру содержит инструкции об одной позиции-акции. Например, продайте (side) 100 (qty) акций компании ААА (symbol) по цене (limit) не ниже 100 долларов (price) за штуку до конца дня (time in force).

Но по природе своего бизнеса институциональные клиенты брокерских контор присылают свои ордера приказы сразу списком. Например, менеджер инвестиционного фонда решил перераспределить капитал в портфеле своих акций между секторами экономики (rebalancing trade) или получил дополнительный капитал от нового члена инвестфонда (flow trade), который ему теперь надо вложить в ценные бумаги, или что-то еще. Не суть важно.

Такой список называется «программой» (program), «корзиной» (basket), «портфелем» (portfolio) или просто «списком» (list).  Корзина может быть односторонней (one-sided), то есть содержать только приказы на продажу или приказы на покупку, либо двухсторонней (two-sided) — содержать приказы по одним акциям на покупку, а по другим — на продажу.

В списке может быть свыше десятка или даже сотни акций с указаниями, какие из них и сколько надо купить, а какие продать. В индустрии финансовой торговли принято (во всяком случае на Нью-йоркской фондовой бирже NYSE) называть «программами» ордера, в которых не менее 15 акций и общая стоимость корзины превышает 1 миллион долларов США.

Исполнение программы волнами

Как правило это приказы на большие объемы покупки-продажи, и если такие объемы вывалить на рынок за раз, это может сказаться на балансе спроса-предложения, а значит и на ценах этих акций. Поэтому такими программами занимается специальный отдел фронт-офиса брокерской конторы: program trading desk — буквально отдел программной торговли. Список передается программному трейдеру, и он выполняет этот список-программу, руководствуясь своим пониманием ситуации на рынке и своим опытом программной торговли.

Программный трейдер исполняет программу-корзину постепенно: делит ее на части-«волны» (waves) и отправляет их на рынок одну за другой. Каждая волна состоит из нескольких ордеров, каждый из ордеров является частью большого ордера по какой-то акции из корзины. В волне могут присуствовать все ордера из корзины, либо лишь некоторые. Трейдер сам решает, когда и какую часть корзины в какой волне надо отправить. В системе управления ордерами (order management system — OMS) трейдер видит все корзины, приписанные к нему, все ордера в каждой конкретной корзине, и в отдельном окне — все волны, созданные на основе этой корзины, а в следующем окне — все ордера, помещенные в волну.

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

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

Роль технологий

Раньше ордера-программы передавались по телефону: инвестор-клиент надиктовывал трейдеру список, а трейдер вносил этот список в систему управления ордерами. Иногда список ордеров в корзине приходит по емейлу от клиента брокеру в простом текстовом виде, или даже по мессенджеру (если такой способ приема ордеров допускается у брокера). С приходом в индустрию финансов Microsoft Excel клиенты стали присылать свои ордера по email в виде Excel-файла, который можно было импортировать в систему управления ордерами, сведя до минимума ошибки ввода. С переходом на электронную торговлю теперь такие ордера-программы поступают в брокерскую систему от инвестора в виде FIX-сообщений, а в ответ клиенту-инвестору посылаются точно такие же FIX-сообщения об исполнении.

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

Терминология

А откуда пошёл это термин «программная торговля»? Почему именно программная? Никакой связи с компьютерным программированием! Небольшое исследование показало, что корни идут из истории радиотрансляций. «Программа» на радио означает последовательность выступлений по времени и длительности, «программирование» — составление такого списка на основе вкусов слушателей, вкладов рекламодателей и указаний владельцев, а «программист» на радио — человек, составляющий такую программу (см. Longman Dictionary of Contemporary English).

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

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

Для непосвященного наблюдателя словосочетание «программная торговля» выстраивает такой ложный ассоциативный ряд: программная торговля → программирование → программы → компьютеры → роботы-алгоритмы → «вкалывают роботы, а трейдер гребёт денежки». Более правильным по смыслу был бы термин proftolio trading (портфельная торговля) или basket trading (торговля корзиной акций), но вот так исторически повелось называть такой вид торговли программным, так и используется до сих пор.

Место в бизнесе

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

Например, какой-то индексный фонд реплицирует индекс S&P500. Это значит, что в портфолио этого фонда в разных пропорциях собраны 500 наименований акций, входящих в индекс S&P500. Время от времени менеджер фонда получает дополнительные денежные вливания от клиентов или, скажем, реинвестирует прибыль. Для одномоментной сделки на 500 акций он формирует список/корзину ордеров на покупку/продажу и отправляет этот список брокеру, который этот список исполняет на бирже. Раньше ему пришлось бы по каждой акции-позиции отправлять приказ-ордер брокеру, и такими ордерами занимался бы отдел торговли единичными акциями (single stock trading desk). Теперь же у такого менеджера фонда есть система управления портфелем (protfolio management system), которая позволят сформировать приказ сразу списком и отправить его брокеру электронно.

С ростом компьютеризации финансов популярность программной торговли растёт. Согласитесь, вручную отслеживать торги по нескольку десятков, сотен и даже тысяч акций в корзине было бы трудновато. А если этих корзин несколько? От нескольких клиентов? Зато теперь, с помощью продвинутых систем управления ордерами, это делать очень легко и весьма прибыльно. Так что отделы программной торговли отъедают львиную долю потока клиентских ордеров от соседнего отдела торговли единичными акциями (single stock trading desk), которым теперь остается только работа с большими ордерами (block orders).

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

Полезные ссылки

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s