Большинство заявок на современных биржах генерируются не людьми, а специально созданными торговыми роботами, которые действуют по заданному алгоритму. При этом до сих пор многие трейдеры и инвесторы совершают операции на бирже вручную — с помощью специальных торговых программ.
Вне зависимости от выбранного способа работы на бирже, крайне полезной оказывается технология API. Сегодня мы поговорим о том, как открытые интерфейсы используются в сфере финансов.
API брокера: роботы и торговые приложения
Существует немалое количество способов создания торговых роботов — например, иногда их можно программировать прямо в торговом терминале, как в случае SmartX и его встроенного скриптового языка Tradescript.
Программирование простых роботов с помощью языка Tradescript в терминале SmartX
В некоторых случаях торговые системы подключают к торговому терминалу — например, для этих целей может использоваться Excel.
Однако подключение робота напрямую к серверам брокера, минуя клиентские интерфейсы, позволяет ему оперативно получать данные о торгах (Market Data) и состоянии счета, быстрее обрабатывать эти данные и, на их основе, генерировать приказы на покупку или продажу, а затем отслеживать их исполнение. При такой схеме скорость торговли зависит только от скорости самого робота и каналов связи. Именно поэтому брокерские компании создают API своих торговых систем.
Интерфейс для подключения к торговой инфраструктуре ITinvest создан с использованием компонентной объектной модели (COM).Это означает, что к торговым серверам можно подключить роботов, разработанных на платформах, поддерживающих эту технологию, от C++ и Delphi до Visual Basic for Application из MS Excel.
Недавно состоялся релиз новой версии API (SmartCOM 4.0), которая работает c торговой системой под названием MatriX (для ее создания мы использовали технологии IBM Data Power).
API брокерской системы может использоваться не только для создания торговых роботов частными торговцами, но и разработчиками торгового софта, которые хотят расширить свою пользовательскую базу за счет клиентов конкретного брокера. Вот краткий список торговых приложений, которые могут подключаться к нашей торговой системе через SmartCOM:
- StockSharp —бесплатная платформа для торговых роботов и автоматизации полного цикла алготрейдинга.
- QScalp — торговый привод для анализа и скоростного выполнения операций на рынке при краткосрочной и высокочастотной биржевой торговле.
- Volfix — мощный инструмент поддержки торгового решения, новейший структуризатор данных, аналитический сервис, включающий все самые современные способы подачи и обработки котировки.
- COM X-Trade — бесплатная торговая платформа, включающая в себя весь необходимый функционал для активной торговли (скальпинг) и интрадей-трейдинга.
- LiveTrade Scalping SmartCOM — торговых терминал для активной торговли (scalping).
- Option-lab — профессиональная лаборатория опционного трейдера, обладает мощными аналитическими возможностями.
- TSLab — современный биржевой терминал со встроенной средой для разработки механических торговых систем.
- EasyScalp — современный торговый терминал, разработанный для скальпинга и торговли внутри дня.
Более полный список доступных функций API можно посмотреть здесь.
Когда скорость превыше всего: прямой доступ на биржу
Во времена, когда на бирже для многих трейдеров все решают доли секунды, работа по схеме «пользователь — брокерская система — ядро биржи» подойдет не всем. Именно поэтому появилась технология, позволяющая максимально оптимизировать эту цепочку – прямой доступ на биржу (Direct Market Access, DMA).
При таком способе подключения заявка выставляется в торговую систему биржи напрямую, минуя торговую систему брокера. Все это позволяет существенно сократить время доставки заявки на биржу и получения информации о ее состоянии.
В целом, схема прямого доступа выглядит следующим образом: сервер с торговым роботом подключается к промежуточному серверу, который размещен в максимальной близости от ядра биржевой торговой системы. На этом сервере установлено специальное ПО – так называемые шлюзы, которые используются для передачи заявок и рыночной информации непосредственно в торговую систему. При этом, для совершения операций и получением данных используются различные протоколы и способы подключения.
Протокол FIX (Financial Information eXchange) – протокол обмена финансовой информацией, который стал мировым стандартом для обмена данными между участниками биржевых торгов в режиме реального времени. Поддерживается крупнейшими мировыми биржевыми площадками, в том числе Московской биржей.
Схема передачи сообщений протокола FIX. Изображение: Wikimedia
Для получения рыночной информации (Market Data) используется протокол FAST (Fix Adapted for STreaming) – стандарт, разработанный создателями протокола FIX, который позволяет добиться значительных возможностей компрессии данных для передачи больших объемов рыночной информации с минимальными временными задержками. Помимо Московской биржи, используется на NYSE, Nasdaq-OMX и многих других мировых площадках.
Также для прямого подключения используются нативные протоколы. Данные протоколы возникли еще до объединения бирж ММВБ и РТС в Московскую биржу. Так на рынках относившихся к бирже РТС, для прямого совершения операций и получения данных в режиме подключения используется протокол Plaza II.
Для выполнения торговых операций и получения биржевых данных на площадках, ранее относившихся к бирже ММВБ (валютный и фондовый рынки) используется двунаправленный шлюз MICEXBridge (TEAP).
При такой организации процесса торговли трейдер может рассчитывать на значительный выигрыш по времени. Например, при прямом подключении к фондовому и валютному рынкам Московской биржи время обработки заявки снижается до 0.5 мс, а на рынке FORTS – не превышает 2 мс. При использовании же брокерской системы, заявки обрабатываются за время от 5 -10 мс до 150- 500 мс в зависимости от брокерской системы, типа рынка и способа подключения. Т.е. через брокерские системы заявки обрабатываются в 10-100 раз медленнее, чем при прямом подключении (хотя и такая скорость вполне устраивает большинство торговцев).
Более подробно протоколы передачи финансовых данных мы рассматривали в нашем цикле статей:
- Cпособы передачи финансовых данных: протокол FIX
- Способы передачи финансовых данных #2: протокол FAST
- Способы передачи финансовых данных #3: протокол Plaza II
- Способы передачи финансовых данных #4: Протокол ASTS Bridge
- Как организована передача финансовых данных на американской бирже Nasdaq: Протоколы ITCH и OUCH
В сравнении с доступом к торгам через API брокерской системы прямое подключение не только быстрее, но и дороже. Если в первом случае пользователь несет затраты только на сам софт и комиссию брокера, то во втором возникают дополнительные затраты — подробнее об этом можно прочитать здесь.
Заключение: если нужна только информация
Помимо торговли на бирже через специальный софт или роботов API могут использоваться для создания информационных сервисов и отладки финансовых программ без риска потери реальных денег (для этого также можно использовать демо-счет брокера).
Список таких API для зарубежных биржевых можно найти по ссылке. В России Московская биржа продает подписки на различные варианты трансляции данных о торгах. В числе других способов есть и полноценный информационный API.
Автор: ITinvest