📜 ⬆️ ⬇️

Online Trading: How to become a developer of systems for trading on the exchange



The stock market is a high-tech industry. In order for an investor to buy shares of a company without getting up from the couch, various financial data transfer protocols (for example, FIX , FAST , Plaza II ), terminals, brokerage and exchange trading systems are used, and for ensuring that the whole ecosystem works advanced iron .

At the same time, in order to take part in interesting projects, an engineer does not have to go abroad at all - new technologies are actively being introduced on the Russian stock market. We decided to tell you more about two such projects - the SmartX trading terminal and the broker system Matrix, and invite interested habrausers to take part in their development.

Terminal for trading on the exchange


Online trading in Russia has been developing for many years. And our first trade terminal SmartTrade appeared at the beginning of the two thousandth. However, software, like everything in this world, is becoming outdated, and sometimes you just need to move on.
')
Therefore, it was decided to create a new flagship terminal, which would incorporate all the best qualities of our previous products, but was more modern, both in terms of interface and functionality, and, moreover, more flexible than its predecessors.

That's why we decided not to develop the SmartX trading terminal completely from scratch, but to license the technology of the American company Modulus FE , in particular, the M4 trading platform, which came with all the source code and could be modified to meet the needs of our customers.



It quickly became clear that Modulus technologies do not fully satisfy our needs and market realities. Therefore, significant improvements were required, in particular, in the field of terminal performance. For example, we abandoned the standard graphics and chose a new graphics core - the open-source project Gordago , which was then heavily “finished” according to our needs in terms of performance.

Also, Modulus FE solutions are built on the .NET platform, so initially all controls were standard “dotnetovskimi”, but, for the same performance reasons, it was also decided to abandon them. A good replacement, after some refinement, was another open SourceGrid project. The speed of updating tables on large amounts of data was eventually increased by almost 2 orders of magnitude. We didn’t stop there and still carried out a whole series of work aimed at optimizing speed - more about this in our material .

As is often the case, having begun to change something, it is difficult to stop, and after starting the development of a new terminal, work began on creating an entirely new brokerage trading system. The main part of this work was completed in the fall of 2013, the resulting system was called MatriX . Let's talk more about her.

Broker trading system


In the brokerage system of the previous generation, customers received all exchange data (orders, transactions, account status, etc.), connecting to a single access server, then in the Matrix project it was decided to divide these data streams into two main “banks”: reception servers orders (Order Mamagemegent Servers - OMS), and servers that provide customers with market data and account information.

The complex hardware uses PowerEdge blade servers and PowerVault storage systems from Dell.

In addition to architecture, the quality of the brokerage trading system depends on the quality of software that implements the main functions, as well as the reliability of the hardware on which it works. In order to be sure that our product really meets international standards, tenders were held among suppliers of both iron solutions and software developers.

As a result, the iron part of the new system was provided by Dell, and the software (and some hardware) was supplied by IBM.



Under each of such balancers, there are several more servers that solve local problems. Client connections are distributed between them so that each server receives the same load.

Between themselves and with the exchange trading system, our servers are connected using a special high-speed bus built on IBM Data Power X75 servers and MQ Low Latency Messaging software.

Behind this bus are already servers of exchange gateways. Through which of them to send a specific application, or from which of them to take the data, the bus decides on its own. In principle, this is sufficient for the normal functioning of the entire system, but we also added a risk management server to it, which, unlike the previous system, is no longer the central link, and any problems with it do not cause the entire system to stop.

Another innovation is the so-called FIX servers, which allow you to connect to the MatriX TS applications written for the FIX protocol. We will tell about this decision in more detail in a separate topic.

The final system architecture looks like this:



Such a “matrix” approach to building a system allowed reducing damage from possible failures (failure of a particular link does not lead to irreversible consequences), and also allows the system to be easily scaled in the future. What is most important - dramatically increased the speed of work. Now the application processing speed in the system ranges from 500 microseconds to 2 - this is a very good result. The total time it takes for an application to pass from the moment it hits the Matrix to its entry into stock exchange systems ranges from 2 to 5 milliseconds (not including losses on communication channels to the system) - this is about 40/50 times faster than the previous generation system.

What's this all about


We are constantly refining our products, SmartX and Matrix are not the only ones in their row. In order to make them even more reliable and fast, we need high-class engineers who are attracted to exchange technologies. If you are one of them, then the information below is for you. So who are we looking for:

C # developer (working on SmartX terminal)


Server developer C ++ (Matrix trading system)


Our technical team is still relatively small, which means that each of its members will be able to make key decisions that directly affect the project. Among other things, work at ITinvest is:


Send a story about yourself and projects that you managed to participate in, send it in text format in the body of the email to ivan.igoshev@itinvest.ru .

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


All Articles