Как устроена крупнейшая мировая биржа из Чикаго: инфраструктура и технологии
В нашем блоге на Geektimes мы уже рассказывали историю возникновения крупнейшей мировой биржи CME Group. Когда-то на ней торговали яйцами, маслом и зерном, а трейдеры сидели в специальной «яме». Сегодня эта биржевая площадка является одной из самых популярной в мире, а число транзакций на ней исчисляется миллионами в день. Сегодня мы поговорим о том, как выглядит инфраструктура этой биржи, и по каким принципам она построена.
Из чего состоит биржа
Современная биржа — это сложная экосистема связанных друг с другом программных и аппаратных ресурсов и сервисов. Трейдерам и инвесторам необходим доступ к различным приложениям, которые должны качественно работать, поскольку каждый сбой приводит к реальным финансовым потерям. Кроме того, технологии стремительно развиваются, что подразумевает необходимость постоянного обновления и перестроения ИТ-инфраструктуры.
Как пишут представители инженерного департамента CME Group, в своей работе они используют методологию Agile/Scrum и TDD (Test Driven Development). Итак, поговорим о том, из каких сервисов на сегодняшний день состоит CME Group.
CME Direct
Высокоскоростная торговая платформа, которая позволяет трейдерам и финансовым компаниям совершать сделки на внебиржевом рынке (over-the-counter, OTC). Фронтенд-приложение запускается на ПК с Windows, а бэкенд-системы обрабатывают рыночные данные и направляют приказы на покупку или продажу к торговому движку CME Globex. Сделки на внебиржевом рынке «сводятся» движком CME Direct, а клиринг осуществляется с помощью сервиса CME ClearPort.
Платформа разработана на Microsoft C# .Net, клиентское приложение работает на WinForms, а большая часть бэкенд-сервисов написаны на C#. Кроме того для интеграции бэкенд-сервисов используется Java.
Веб-портал
Ресурс CMEGroup.com позволяет просматривать рыночные данные в режиме реального времени и с задержкой. Кроме того, там отображаются финансовые новости и информация о продуктах биржевой площадки. В разработке использованы технологии Java, HTML5, CSS и JavaScript. Как отмечается, команда проекта стремится создавать RESTful-сервисы.Мобильные приложения
Команда мобильных разработчиков занимается созданием приложений для планшетов и смартфонов на iOS и Android.
Движок сведения сделок и ядро торговой системы
Одним из важнейших элементов торговой платформы CME Globex является движок сведения сделок, который «соединяет» продавцов и покупателей. Компонент CME Core (ядро) представляет из себя калькулятор маржи и гарантийного обеспечения, который анализирует текущие и гипотетические (при незакрытых позициях) прибыль или убыток. Эта система построена на технологиях Spring MVC, JavaScript, Hibernate, JUNIT, Tomcat и BladeLogic.CME STP
Для риск-менеджмента используется модуль Straight-Through Processing (STP), который включает целый ряд приложений для анализа сделок и отслеживания позиций — эта информация помогает трейдерам понимать текущее состояние дел в своем портфеле и прогнозировать возможные риски. Для реализации входящих в пакет сервисов используются API биржи, которые могут отдавать данные в самых разных форматах — например, FIX, FIXmL, FpML.Firmsoft
Firmsoft — это браузерное приложение для доступа к финансовой информации по сделкам и управления заявками. Инструмент используют трейдеры, финансовые компании и различные биржи, он содержит важную функциональность вроде создания очередей заявок, отмены приказов, отслеживания позиций, просмотра сделок и выгрузки отчетов. Система создана на JavaScript.Внутренние информационные сервисы
CME Group разработала ряд внутренних информационных сервисов. Один из них — Infosource используется бизнес-аналитиками компании, доступ к нему есть у сотрудников биржи. Инструмент используется для создания отчетов, учитывающих различные показатели бизнеса. Функциональность отчетов реализована с применением технологий ETL, Business Objects и Qlikview.Корпоративный портал
Представительства CME Group расположены в разных городах США и мира. Они объединены в общий интранет OpenExchange — там публикуются корпоративные новости, информация о важных событиях, важные рабочие данные (например, про отпуска) и т.п.
Как организуется подключение к бирже
Помимо собственных приложений торговая система CME работает с различными внешними программными средствами. Это могут быть торговые терминалы различных компаний-брокеров или торговые системы, созданные трейдерами для себя. Каждое такое приложение проходит сертификацию на бирже, после чего его можно подключить к торговой системе для ввода приказов и получения рыночных данных. Существует целый ряд способов подключения торгового софта к бирже.
Один из них — через интернет по VPN. В этом случае клиентское приложение подключается к дата-центрам бирже через шифрованный туннель. При этом одно подключения используется для связи сразу с двумя дата-центрами — на случай, если в одном из них случится сбой.
В таком случае поток данных с биржи до клиента можно проиллюстрировать следующим образом (multicast):
Для трейдеров, находящихся в европейских городах, Сан-Паулу, Сеуле и Сингапуре предусмотрено подключение с помощью хаба CME Globex Hub (для клиентов из американских городов работает похожая схема с дата-хабами в Нью-Йорке и Нью-Джерси). В таком случае клиенты по Ethernet подключаются к локальным хабам данных биржи, которые уже связываются с ядром торговой системы. Подключение в данном случае также дублируются для большей надежности:
Кроме того, существует возможность размещения торговых приложений в дата-центрах CME на колокации. Существуют различные варианты подключения, подразумевающие выделения каналов связи разной пропускной способности (1 Гбит/с, 10 Гбит/с)
Борьба со сбоями
Биржа уделяет большое внимание надежности инфраструктуры, поэтому публикует в открытом доступе информацию о сценариях борьбы со сбоями. В нормальных условиях основные операции происходит в чикагском дата-центре (CME Aurora), где также устанавливаются серверы клиентов на условиях колокации.
В случае же глобального сбоя в Чикаго, который приведет к выходу из строя самого дата-центра, будет активирован резервный дата-центр, куда перенаправятся клиенсткие соединения:
На специальной странице сайта инженеры CME описывают и другие варианты сбоев и борьбы с ними.
Принципы построения инфраструктуры
В заключение приведем несколько принципов построения инфраструктуры на биржевых площадках CME Group, которые в своем интервью озвучил руководитель направления разработки Ари Студнитцер (Ari Studnitzer):
- Необходимо обеспечить максимальный запас прочности — на CME предел производительности систем выявляется с помощь тестирования, а затем с помощью апгрейда железа и оптимизации софта обеспечивается двойной запас до этого известного пика возможностей.
- Постоянные тестирования позволяют добиться того, чтобы многочисленные компоненты биржевой качественно взаимодействовали друг с другом — клиенты не должны задумываться о том, какое количество разных систем они используют в работе.
- Законодательные ограничения нужно использовать в качестве повода для еще большей оптимизации — регулирующие органы выпускают различные положения, которые могут приводить к необходимости внесения изменений в ИТ-инфраструктуру, инженеры CME рассматривают такие нововведения не как проблему, а как возможность взглянуть на систему по-новому, добившись ее большей эффективности.
Другие посты по теме: