В нашем блоге на 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-сервисы.

Движок сведения сделок и ядро торговой системы

Одним из важнейших элементов торговой платформы 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.

Мобильные приложения

Команда мобильных разработчиков занимается созданием приложений для планшетов и смартфонов на iOS и Android.



Корпоративный портал

Представительства CME Group расположены в разных городах США и мира. Они объединены в общий интранет OpenExchange — там публикуются корпоративные новости, информация о важных событиях, важные рабочие данные (например, про отпуска) и т.п.

Как организуется подключение к бирже


Помимо собственных приложений торговая система CME работает с различными внешними программными средствами. Это могут быть торговые терминалы различных компаний-брокеров или торговые системы, созданные трейдерами для себя. Каждое такое приложение проходит сертификацию на бирже, после чего его можно подключить к торговой системе для ввода приказов и получения рыночных данных. Существует целый ряд способов подключения торгового софта к бирже.

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

В таком случае поток данных с биржи до клиента можно проиллюстрировать следующим образом (multicast):



Для трейдеров, находящихся в европейских городах, Сан-Паулу, Сеуле и Сингапуре предусмотрено подключение с помощью хаба CME Globex Hub (для клиентов из американских городов работает похожая схема с дата-хабами в Нью-Йорке и Нью-Джерси). В таком случае клиенты по Ethernet подключаются к локальным хабам данных биржи, которые уже связываются с ядром торговой системы. Подключение в данном случае также дублируются для большей надежности:



Кроме того, существует возможность размещения торговых приложений в дата-центрах CME на колокации. Существуют различные варианты подключения, подразумевающие выделения каналов связи разной пропускной способности (1 Гбит/с, 10 Гбит/с)



Борьба со сбоями


Биржа уделяет большое внимание надежности инфраструктуры, поэтому публикует в открытом доступе информацию о сценариях борьбы со сбоями. В нормальных условиях основные операции происходит в чикагском дата-центре (CME Aurora), где также устанавливаются серверы клиентов на условиях колокации.



В случае же глобального сбоя в Чикаго, который приведет к выходу из строя самого дата-центра, будет активирован резервный дата-центр, куда перенаправятся клиенсткие соединения:



На специальной странице сайта инженеры CME описывают и другие варианты сбоев и борьбы с ними.

Принципы построения инфраструктуры


В заключение приведем несколько принципов построения инфраструктуры на биржевых площадках CME Group, которые в своем интервью озвучил руководитель направления разработки Ари Студнитцер (Ari Studnitzer):

  • Необходимо обеспечить максимальный запас прочности — на CME предел производительности систем выявляется с помощь тестирования, а затем с помощью апгрейда железа и оптимизации софта обеспечивается двойной запас до этого известного пика возможностей.
  • Постоянные тестирования позволяют добиться того, чтобы многочисленные компоненты биржевой качественно взаимодействовали друг с другом — клиенты не должны задумываться о том, какое количество разных систем они используют в работе.
  • Законодательные ограничения нужно использовать в качестве повода для еще большей оптимизации — регулирующие органы выпускают различные положения, которые могут приводить к необходимости внесения изменений в ИТ-инфраструктуру, инженеры CME рассматривают такие нововведения не как проблему, а как возможность взглянуть на систему по-новому, добившись ее большей эффективности.

Другие посты по теме:

Комментарии (4)


  1. orignal
    28.01.2016 06:29

    А какое место в этой схеме занимает NYMEX?


    1. webmascon
      28.01.2016 17:33

      В 2008 году объединённая NYMEX вошла в группу Чикагской товарной биржи CME group, которая функционирует как единый рынок.


      1. orignal
        28.01.2016 18:04

        Технически у нее фид другой. Вот потому и интересно было бы узнать как организована ее работа.


        1. webmascon
          29.01.2016 18:05

          NYMEX торгует свои контракты на Globex. разве может там технически фид другим быть?