- PVSM.RU - https://www.pvsm.ru -
Большинство заявок на современных биржах генерируются не людьми, а специально созданными торговыми роботами, которые действуют по заданному алгоритму. При этом до сих пор многие трейдеры и инвесторы совершают операции на бирже вручную — с помощью специальных торговых программ.
Вне зависимости от выбранного способа работы на бирже, крайне полезной оказывается технология API. Сегодня мы поговорим о том, как открытые интерфейсы используются в сфере финансов.
Существует немалое количество способов создания торговых роботов — например, иногда их можно программировать прямо в торговом терминале, как в случае SmartX и его встроенного скриптового языка Tradescript [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:
Более полный список доступных функций API можно посмотреть здесь [14].
Во времена, когда на бирже для многих трейдеров все решают доли секунды, работа по схеме «пользователь — брокерская система — ядро биржи» подойдет не всем. Именно поэтому появилась технология, позволяющая максимально оптимизировать эту цепочку – прямой доступ на биржу [15] (Direct Market Access, DMA).
При таком способе подключения заявка выставляется в торговую систему биржи напрямую, минуя торговую систему брокера. Все это позволяет существенно сократить время доставки заявки на биржу и получения информации о ее состоянии.
В целом, схема прямого доступа выглядит следующим образом: сервер с торговым роботом подключается к промежуточному серверу, который размещен в максимальной близости от ядра биржевой торговой системы. На этом сервере установлено специальное ПО – так называемые шлюзы, которые используются для передачи заявок и рыночной информации непосредственно в торговую систему. При этом, для совершения операций и получением данных используются различные протоколы и способы подключения.
Протокол FIX (Financial Information eXchange) – протокол обмена финансовой информацией, который стал мировым стандартом [16] для обмена данными между участниками биржевых торгов в режиме реального времени. Поддерживается крупнейшими мировыми биржевыми площадками, в том числе Московской биржей.

Схема передачи сообщений протокола 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
Нажмите здесь для печати.