- PVSM.RU - https://www.pvsm.ru -

Информационные сервисы, роботы и торговый софт: применение API в мире финансов

Информационные сервисы, роботы и торговый софт: применение API в мире финансов - 1 [1]

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

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

API брокера: роботы и торговые приложения

Существует немалое количество способов создания торговых роботов — например, иногда их можно программировать прямо в торговом терминале, как в случае SmartX и его встроенного скриптового языка Tradescript [2].

Информационные сервисы, роботы и торговый софт: применение API в мире финансов - 2

Программирование простых роботов с помощью языка Tradescript в терминале SmartX [3]

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

Однако подключение робота напрямую к серверам брокера, минуя клиентские интерфейсы, позволяет ему оперативно получать данные о торгах (Market Data) и состоянии счета, быстрее обрабатывать эти данные и, на их основе, генерировать приказы на покупку или продажу, а затем отслеживать их исполнение. При такой схеме скорость торговли зависит только от скорости самого робота и каналов связи. Именно поэтому брокерские компании создают API своих торговых систем.

Интерфейс для подключения к торговой инфраструктуре ITinvest создан с использованием компонентной объектной модели (COM).Это означает, что к торговым серверам можно подключить роботов, разработанных на платформах, поддерживающих эту технологию, от C++ и Delphi до Visual Basic for Application из MS Excel.

Недавно состоялся релиз новой версии API [4] (SmartCOM 4.0), которая работает c торговой системой под названием MatriX [5] (для ее создания мы использовали технологии IBM Data Power).

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

  • StockSharp [6] —бесплатная платформа для торговых роботов и автоматизации полного цикла алготрейдинга.
  • QScalp [7] — торговый привод для анализа и скоростного выполнения операций на рынке при краткосрочной и высокочастотной биржевой торговле.
  • Volfix [8] — мощный инструмент поддержки торгового решения, новейший структуризатор данных, аналитический сервис, включающий все самые современные способы подачи и обработки котировки.
  • COM X-Trade [9] — бесплатная торговая платформа, включающая в себя весь необходимый функционал для активной торговли (скальпинг) и интрадей-трейдинга.
  • LiveTrade Scalping SmartCOM [10] — торговых терминал для активной торговли (scalping).
  • Option-lab [11] — профессиональная лаборатория опционного трейдера, обладает мощными аналитическими возможностями.
  • TSLab [12] — современный биржевой терминал со встроенной средой для разработки механических торговых систем.
  • EasyScalp [13] — современный торговый терминал, разработанный для скальпинга и торговли внутри дня.

Более полный список доступных функций API можно посмотреть здесь [14].

Когда скорость превыше всего: прямой доступ на биржу

Во времена, когда на бирже для многих трейдеров все решают доли секунды, работа по схеме «пользователь — брокерская система — ядро биржи» подойдет не всем. Именно поэтому появилась технология, позволяющая максимально оптимизировать эту цепочку – прямой доступ на биржу [15] (Direct Market Access, DMA).

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

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

Протокол FIX (Financial Information eXchange) – протокол обмена финансовой информацией, который стал мировым стандартом [16] для обмена данными между участниками биржевых торгов в режиме реального времени. Поддерживается крупнейшими мировыми биржевыми площадками, в том числе Московской биржей.

Информационные сервисы, роботы и торговый софт: применение API в мире финансов - 3

Схема передачи сообщений протокола FIX. Изображение: Wikimedia [17]

Для получения рыночной информации (Market Data) используется протокол FAST (Fix Adapted for STreaming)стандарт [18], разработанный создателями протокола FIX, который позволяет добиться значительных возможностей компрессии данных для передачи больших объемов рыночной информации с минимальными временными задержками. Помимо Московской биржи, используется на NYSE, Nasdaq-OMX и многих других мировых площадках.

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

Для выполнения торговых операций и получения биржевых данных на площадках, ранее относившихся к бирже ММВБ (валютный и фондовый рынки) используется двунаправленный шлюз MICEXBridge (TEAP).

При такой организации процесса торговли трейдер может рассчитывать на значительный выигрыш по времени. Например, при прямом подключении к фондовому и валютному рынкам Московской биржи время обработки заявки снижается до 0.5 мс, а на рынке FORTS – не превышает 2 мс. При использовании же брокерской системы, заявки обрабатываются за время от 5 -10 мс до 150- 500 мс в зависимости от брокерской системы, типа рынка и способа подключения. Т.е. через брокерские системы заявки обрабатываются в 10-100 раз медленнее, чем при прямом подключении (хотя и такая скорость вполне устраивает большинство торговцев).

Более подробно протоколы передачи финансовых данных мы рассматривали в нашем цикле статей:

В сравнении с доступом к торгам через API брокерской системы прямое подключение не только быстрее, но и дороже. Если в первом случае пользователь несет затраты только на сам софт и комиссию брокера, то во втором возникают дополнительные затраты — подробнее об этом можно прочитать здесь [24].

Заключение: если нужна только информация

Помимо торговли на бирже через специальный софт или роботов API могут использоваться для создания информационных сервисов и отладки финансовых программ без риска потери реальных денег (для этого также можно использовать демо-счет брокера [25]).

Список таких API для зарубежных биржевых можно найти по ссылке [26]. В России Московская биржа продает подписки [27] на различные варианты трансляции данных о торгах. В числе других способов есть и полноценный информационный API [28].

Автор: ITinvest

Источник [29]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka/261245

Ссылки в тексте:

[1] Image: https://habrahabr.ru/company/itinvest/blog/334230/

[2] как в случае SmartX и его встроенного скриптового языка Tradescript: https://habrahabr.ru/company/itinvest/blog/214601/

[3] SmartX: http://www.itinvest.ru/software/smartx/

[4] релиз новой версии API: http://www.itinvest.ru/software/smartcom/

[5] MatriX: http://www.itinvest.ru/software/matrix/

[6] StockSharp: http://www.itinvest.ru/software/spo/stocksharp/

[7] QScalp: http://www.itinvest.ru/software/spo/qscalp/

[8] Volfix: http://www.itinvest.ru/software/spo/volfix/

[9] COM X-Trade: http://www.itinvest.ru/software/spo/com-x-trader/

[10] LiveTrade Scalping SmartCOM: http://www.itinvest.ru/software/spo/live-trade/scalping/

[11] Option-lab: http://www.itinvest.ru/software/spo/option-lab/

[12] TSLab: http://www.itinvest.ru/software/spo/tslab/

[13] EasyScalp: http://www.itinvest.ru/software/spo/easyscalp/

[14] здесь: http://www.itinvest.ru/editorfiles/File/smartcom/SmartCOM_manual_4_0.pdf

[15] прямой доступ на биржу: https://habrahabr.ru/company/itinvest/blog/204620/

[16] мировым стандартом: http://www.fixtradingcommunity.org/

[17] Wikimedia: https://en.wikipedia.org/wiki/Financial_Information_eXchange

[18] стандарт: http://en.wikipedia.org/wiki/FAST_protocol

[19] Cпособы передачи финансовых данных: протокол FIX: https://habrahabr.ru/company/itinvest/blog/242789/

[20] Способы передачи финансовых данных #2: протокол FAST: https://habrahabr.ru/company/itinvest/blog/243657/

[21] Способы передачи финансовых данных #3: протокол Plaza II: https://habrahabr.ru/company/itinvest/blog/261709/

[22] Способы передачи финансовых данных #4: Протокол ASTS Bridge: https://habrahabr.ru/company/itinvest/blog/270961/

[23] Как организована передача финансовых данных на американской бирже Nasdaq: Протоколы ITCH и OUCH: https://habrahabr.ru/company/itinvest/blog/278811/

[24] здесь: http://www.itinvest.ru/pricing-n-docs/tariffs/direct-access/

[25] можно использовать демо-счет брокера: http://www.itinvest.ru/services/test/

[26] по ссылке: https://www.programmableweb.com/news/96-stocks-apis-bloomberg-nasdaq-and-etrade/2013/05/22

[27] продает подписки: http://www.moex.com/ru/orders?realtime

[28] информационный API: http://www.moex.com/a2193

[29] Источник: https://habrahabr.ru/post/334230/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best