Як влаштована найбільша світова біржа Чикаго: інфраструктура і технології



В нашому блозі на 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 розглядають такі нововведення не як проблему, а як можливість поглянути на систему по-новому, домігшись її більшої ефективності.
Інші пости по темі:


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.