univer.ua

Как подключить к бирже торгового робота

Технологические возможности для создания и эксплуатации алгоритмических торговых систем на «Украинской бирже»

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

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

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

Рис. 1 Архитектура расчетно-торговой системы "Украинской биржи"

Читатель, вероятно, уже знает, что у «Украинской биржи» есть две торговых системы – одна для рынка ценных бумаг (акции, облигации, сертификаты ИСИ), а другая для срочного рынка (фьючерсы, опционы). Причины почему их две – исторические. 

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

Организованный рынок ценных бумаг в России начал свое развитие в РТС в 1995 году примерно на тех же принципах и технологиях, на которых в 1996 году был запущен аналогичный рынок на ПФТС – технологии были американские и использовались тогда на одном из сегментов рынка NASDAQ. В 1997 году РТС запустила платформу собственной разработки, которая получила название «Plaza». Сначала система поддерживала торги только в режиме, который в Украине принято называть «рынок котировок», но уже в 1999 году на этой платформе была реализована технология торгов со 100%-депонированием ценных бумаг и денежных средств (по нашему – «рынок заявок»). В 2001 году РТС на платформе, купленной у Фондовой биржи «Санкт-Петербург», запустила срочный рынок. С тех пор и по сегодняшний день в РТС (а с недавнего времени и на «Украинской бирже») параллельно существует и развивается две торговых системы. В 2009 году система срочного рынка была существенно переработана и теперь доступ к ней возможен через интерфейс названный «Plaza-II». Plaza-II проектировалась как многоядерная платформа, так что не исключено, что со временем этот интерфейс «прикрутят» и к рынку ценных бумаг. 

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

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

Язык ассемблера – язык программирования на уровне инструкций процессора.

Единственный важный момент – для торгов ценными бумагами и производными бирже приходится разделять денежные средства. В схему на рис.1 специально включены квадратики с банками и депозитариями – чтобы показать, что деньги по двум рынкам биржа хранит в разных местах. По рынку ценных бумаг – на счете ВДЦБ в НБУ, а по срочному рынку – на счете Центрального контрагента в ВТБ.

Для учета обязательств биржа также вынуждена использовать две отдельные клиринговые системы. Название «клиринговая» в случае ценных бумаг приведено в кавычках, так как по украинскому законодательству клирингом обязательств по ценным бумагам могут заниматься только депозитарии. Бирже же может заниматься клирингом только по срочному рынку. В идеале, правильно было бы совместить эти функции в одном юридическом лице, например, в самой бирже или в ее центральном контрагенте. Конечно, для этого нужно менять законодательство, но это бы позволило бирже держать деньги в одном месте, учитывать обязательства в одной клиринговой системе и перейдя на единую торговую систему, реализовать принцип единой денежной позиции. Так РТС в России уже сделала с FORTS и RTS Standard.

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

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

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

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

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

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


Рис. 2 Варианты подключения и размещения торговых роботов

Протокол FIX (financial information exchange protocol) – международный независимый стандарт, описывающий протокол обмена финансовой информацией, в том числе заявок на покупку и продажу финансовых инструментов (см. "Протокол FIX"). Если Вы размещаете робота на своем домашнем компьютере, то Вам придется позаботиться о резервировании каналов связи. Желательно подключиться через двух интернет-провайдеров и обеспечить автоматическое переключение на резервный в случае проблем с основным. Самый творческий вопрос – на каком языке или на какой платформе разрабатывать алгоритм. Выбор не ограничен, практически, ничем. При желании можно, наверное, писать и на языке ассемблера, хоть в наших условиях в этом и нет никакой необходимости. 

Шлюзы Plaza-I и Plaza-II разработаны на C/C++ и доступны по интерфейсу COM для любой программы, разработанной для MS Windows. Многие библиотеки, специально предназначенные для разработки алгоритмических стратегий (например, Stock#), имеют специальные адаптеры для шлюза Plaza-II. 

Обе представленные в Украине системы интернет-трейдинга имеют как возможность разработки на собственном встроенном языке, так и интерфейсы для подключения внешней среды разработки – от Excel до специализированных систем визуального программирования торговых систем (например, Wealth-Lab Developer).

Хочется отметить лишь единственное ограничение, которое пока еще есть в Украине – все ПО и биржевой и брокерское доступно только под Microsoft Windows. Если Вам по какой-то причине необходимо разработать робота под другую операционную систему, то придется договариваться с брокером о доступе через протокол FIX. Биржа доступа по этому протоколу пока не предоставляет. Ждем-с. 

Алексей Сухоруков