- PVSM.RU - https://www.pvsm.ru -
В нашем блоге на Geektimes мы уже рассказывали историю возникновения [2] крупнейшей мировой биржи CME Group. Когда-то на ней торговали яйцами, маслом и зерном, а трейдеры сидели в специальной «яме». Сегодня эта биржевая площадка является одной из самых популярной в мире, а число транзакций на ней исчисляется миллионами в день. Сегодня мы поговорим о том, как выглядит инфраструктура этой биржи, и по каким принципам она построена.
Современная биржа — это сложная экосистема связанных друг с другом программных и аппаратных ресурсов и сервисов. Трейдерам и инвесторам необходим доступ к различным приложениям, которые должны качественно работать, поскольку каждый сбой приводит к реальным финансовым потерям. Кроме того, технологии стремительно развиваются, что подразумевает необходимость постоянного обновления и перестроения ИТ-инфраструктуры.
Как пишут [3] представители инженерного департамента CME Group, в своей работе они используют методологию Agile/Scrum и TDD (Test Driven Development). Итак, поговорим о том, из каких сервисов на сегодняшний день состоит CME Group.
Высокоскоростная торговая платформа, которая позволяет трейдерам и финансовым компаниям совершать сделки на внебиржевом рынке (over-the-counter, OTC). Фронтенд-приложение запускается на ПК с Windows, а бэкенд-системы обрабатывают рыночные данные и направляют приказы на покупку или продажу к торговому движку CME Globex. Сделки на внебиржевом рынке «сводятся» движком CME Direct, а клиринг осуществляется с помощью сервиса CME ClearPort.
Платформа разработана на Microsoft C# .Net, клиентское приложение работает на WinForms, а большая часть бэкенд-сервисов написаны на C#. Кроме того для интеграции бэкенд-сервисов используется Java.
Ресурс CMEGroup.com позволяет просматривать рыночные данные в режиме реального времени и с задержкой. Кроме того, там отображаются финансовые новости и информация о продуктах биржевой площадки. В разработке использованы технологии Java, HTML5, CSS и JavaScript. Как отмечается, команда проекта стремится создавать RESTful-сервисы.
Одним из важнейших элементов торговой платформы CME Globex является движок сведения сделок, который «соединяет» продавцов и покупателей. Компонент CME Core (ядро) представляет из себя калькулятор маржи и гарантийного обеспечения, который анализирует текущие и гипотетические (при незакрытых позициях) прибыль или убыток. Эта система построена на технологиях Spring MVC, JavaScript, Hibernate, JUNIT, Tomcat и BladeLogic.
Для риск-менеджмента используется модуль Straight-Through Processing (STP), который включает целый ряд приложений для анализа сделок и отслеживания позиций — эта информация помогает трейдерам понимать текущее состояние дел в своем портфеле и прогнозировать возможные риски. Для реализации входящих в пакет сервисов используются API биржи, которые могут отдавать данные в самых разных форматах — например, FIX, FIXmL, FpML.
Firmsoft — это браузерное приложение для доступа к финансовой информации по сделкам и управления заявками. Инструмент используют трейдеры, финансовые компании и различные биржи, он содержит важную функциональность вроде создания очередей заявок, отмены приказов, отслеживания позиций, просмотра сделок и выгрузки отчетов. Система создана на JavaScript.
CME Group разработала ряд внутренних информационных сервисов. Один из них — Infosource используется бизнес-аналитиками компании, доступ к нему есть у сотрудников биржи. Инструмент используется для создания отчетов, учитывающих различные показатели бизнеса. Функциональность отчетов реализована с применением технологий ETL, Business Objects и Qlikview.
Команда мобильных разработчиков занимается созданием приложений [4] для планшетов и смартфонов на iOS и Android.
Представительства CME Group расположены в разных городах США и мира. Они объединены в общий интранет OpenExchange — там публикуются корпоративные новости, информация о важных событиях, важные рабочие данные (например, про отпуска) и т.п.
Помимо собственных приложений торговая система CME работает с различными внешними программными средствами. Это могут быть торговые терминалы различных компаний-брокеров или торговые системы, созданные трейдерами для себя. Каждое такое приложение проходит сертификацию на бирже, после чего его можно подключить к торговой системе для ввода приказов и получения рыночных данных. Существует целый ряд способов подключения торгового софта к бирже.
Один из них — через интернет по VPN [5]. В этом случае клиентское приложение подключается к дата-центрам бирже через шифрованный туннель. При этом одно подключения используется для связи сразу с двумя дата-центрами — на случай, если в одном из них случится сбой.
В таком случае поток данных с биржи до клиента можно проиллюстрировать следующим образом (multicast):
Для трейдеров, находящихся в европейских городах, Сан-Паулу, Сеуле и Сингапуре предусмотрено подключение с помощью хаба CME Globex Hub [6] (для клиентов из американских городов работает похожая схема [6] с дата-хабами в Нью-Йорке и Нью-Джерси). В таком случае клиенты по Ethernet подключаются к локальным хабам данных биржи, которые уже связываются с ядром торговой системы. Подключение в данном случае также дублируются для большей надежности:
Кроме того, существует возможность размещения торговых приложений в дата-центрах CME на колокации. Существуют различные варианты подключения, подразумевающие выделения каналов связи разной пропускной способности (1 Гбит/с [7], 10 Гбит/с [8])
Биржа уделяет большое внимание надежности инфраструктуры, поэтому публикует в открытом доступе информацию о сценариях борьбы со сбоями. В нормальных условиях основные операции происходит в чикагском дата-центре (CME Aurora), где также устанавливаются серверы клиентов на условиях колокации.
В случае же глобального сбоя в Чикаго, который приведет к выходу из строя самого дата-центра, будет активирован резервный дата-центр, куда перенаправятся клиенсткие соединения:
На специальной странице [9] сайта инженеры CME описывают и другие варианты сбоев и борьбы с ними.
В заключение приведем несколько принципов построения инфраструктуры на биржевых площадках CME Group, которые в своем интервью [10] озвучил руководитель направления разработки Ари Студнитцер (Ari Studnitzer):
Другие посты по теме:
Автор: ITinvest
Источник [16]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/it-infrastruktura/110484
Ссылки в тексте:
[1] Image: https://habrahabr.ru/company/itinvest/blog/275967/
[2] историю возникновения: https://geektimes.ru/company/itinvest/blog/269448/
[3] пишут: http://www.cmegroup.com/company/careers/belfast/engineering-execution-division.html
[4] приложений: http://www.cmegroup.com/mobile/
[5] VPN: http://www.cmegroup.com/confluence/display/EPICSANDBOX/Client+INTERNETLink
[6] CME Globex Hub: http://www.cmegroup.com/confluence/display/EPICSANDBOX/CME+Globex+Hub
[7] 1 Гбит/с: http://www.cmegroup.com/confluence/display/EPICSANDBOX/Jackson+Direct
[8] 10 Гбит/с: http://www.cmegroup.com/confluence/display/EPICSANDBOX/CME+GLink
[9] странице: http://www.cmegroup.com/confluence/display/EPICSANDBOX/Disaster+Recovery+Scenarios
[10] интервью: http://www.cmegroup.com/education/technology-with-ari-studnitzer.html
[11] Трейдинг и «железо»: Как выглядят биржевые дата-центры: https://habrahabr.ru/company/itinvest/blog/274021/
[12] Белки, хакеры и Facebook: Из-за чего «падают» биржи: https://habrahabr.ru/post/262757/
[13] Как связаны конвергентная инфраструктура и онлайн-трейдинг: Новый проект Juniper: https://habrahabr.ru/post/261961/
[14] Каким может быть стек технологий для высокочастотного трейдинга : https://habrahabr.ru/company/itinvest/blog/275663/
[15] Разработка торговых систем под FPGA: Плюсы, минусы и анализ архитектуры существующей библиотеки: https://habrahabr.ru/post/272425/
[16] Источник: https://habrahabr.ru/post/275967/
Нажмите здесь для печати.