📜 ⬆️ ⬇️

How does the world's largest stock exchange from Chicago: infrastructure and technology



In our blog on Geektimes we have already told the story of the emergence of the world's largest stock exchange CME Group. Once it traded eggs, oil and grain, and traders sat in a special "pit". Today this exchange platform is one of the most popular in the world, and the number of transactions on it is estimated at millions per day. Today we will talk about how the infrastructure of this exchange looks, and on what principles it is built.

What is the stock exchange


A modern exchange is a complex ecosystem of related software and hardware resources and services. Traders and investors need access to various applications that need to work well, as each failure leads to real financial losses. In addition, technologies are rapidly evolving, which implies the need for constant updating and rebuilding of IT infrastructure.
')
According to representatives of the engineering department of the CME Group, in their work they use the methodology of Agile / Scrum and TDD (Test Driven Development). So, let's talk about what services CME Group consists of today.

CME Direct

High-speed trading platform that allows traders and financial companies to make transactions in the OTC market (over-the-counter, OTC). The front-end application runs on a Windows PC, and the back-end systems process market data and send buy or sell orders to the CME Globex trading engine. Transactions on the OTC market are “reduced” by the CME Direct engine, and clearing is carried out using the CME ClearPort service.

The platform is developed on Microsoft C # .Net, the client application runs on WinForms, and most of the backend services are written in C #. In addition, Java is used to integrate backend services.

Web portal

Resource CMEGroup.com allows you to view market data in real time and with a delay. In addition, it displays financial news and information about the products of the exchange platform. The development used technology Java, HTML5, CSS and JavaScript. As noted, the project team is committed to creating RESTful services.

Transaction Information Engine and Trading System Core

One of the most important elements of the CME Globex trading platform is the transactional information engine that “connects” sellers and buyers. The CME Core component (core) is a margin and collateral calculator, which analyzes current and hypothetical (with unclosed positions) profit or loss. This system is built on Spring MVC, JavaScript, Hibernate, JUNIT, Tomcat and BladeLogic technologies.

CME STP

For risk management, we use the Straight-Through Processing (STP) module, which includes a number of applications for analyzing transactions and tracking positions - this information helps traders to understand the current state of affairs in their portfolio and predict possible risks. For the implementation of services included in the package, APIs of the exchange are used, which can give data in a variety of formats - for example, FIX, FIXmL, FpML.

Firmsoft

Firmsoft is a browser based application for accessing financial information on transactions and managing orders. The tool is used by traders, financial companies and various exchanges, it contains important functionality such as creating queues of orders, canceling orders, tracking positions, viewing transactions and downloading reports. The system is created in JavaScript.

Internal Information Services

CME Group has developed a number of internal information services. One of them - Infosource is used by business analysts of the company, employees of the exchange have access to it. The tool is used to create reports that take into account various business indicators. Report functionality is implemented using ETL, Business Objects and Qlikview technologies.

Mobile applications

A team of mobile developers is developing applications for tablets and smartphones on iOS and Android.



Corporate portal

CME Group offices are located in different cities of the United States and the world. They are integrated into OpenExchange's common intranet — corporate news, information about important events, important working data (for example, about vacations), etc. are published there.

How to connect to the exchange


In addition to its own applications, the CME trading system works with various external software. These can be trading terminals of various broker companies or trading systems created by traders for themselves. Each such application is certified on the stock exchange, after which it can be connected to the trading system for entering orders and obtaining market data. There are a number of ways to connect trading software to the exchange.

One of them is via the Internet via VPN . In this case, the client application connects to the exchange data centers through an encrypted tunnel. In this case, one connection is used to communicate with two data centers at once - in case one of them fails.

In this case, the data flow from the exchange to the client can be illustrated as follows (multicast):



For traders located in European cities, Sao Paulo, Seoul and Singapore, a connection is provided using the CME Globex Hub hub (for customers from American cities, a similar scheme with data hubs in New York and New Jersey works). In this case, Ethernet clients connect to the local data hubs of the exchange, which are already connected to the core of the trading system. Connection in this case is also duplicated for greater reliability:



In addition, there is the possibility of placing trading applications in CME data centers for colocation. There are various connectivity options that involve the allocation of communication channels of different bandwidths ( 1 Gbit / s , 10 Gbit / s )



Fight against failures


The Exchange pays great attention to the reliability of the infrastructure; therefore, it publishes information on scenarios for dealing with failures in open access. Under normal conditions, the main operations take place in the Chicago data center (CME Aurora), where client servers are also installed on colocation terms.



In the event of a global failure in Chicago, which will lead to the failure of the data center itself, the backup data center will be activated, where the client connections will be redirected:



On the special page of the site, CME engineers describe other options for failures and their control.

Principles of building infrastructure


In conclusion, we present several principles for building infrastructure on the exchange platforms of the CME Group, which were voiced in an interview by Ari Studnitzer, Head of Development:


Other posts on the topic:

Source: https://habr.com/ru/post/275967/


All Articles