
In our blog, we write a lot about the technologies used in the field of finance. For several hundred years, the exchanges went from publishing prices twice a week on small pieces of paper - as was the case, for example, in London, where brokers gathered at the Jonathan coffee shop, to the present technological big bang in the 1980s.
As a result, today advanced software and hardware are used to organize and participate in the auction; complex algorithms and original approaches to the analysis and processing of data are being developed. In addition, in the field of finance, usually, very good salaries - a combination of these factors leads to the fact that many IT professionals would like to try their hand at this industry.
')
Today we will talk about what is worth waiting for those of them who still decide to delve into the financial industry - what technologies (software, hardware, protocols) are used here and what are the requirements for specialists?
What technologies are used in the stock market
Any company operating in the financial sector uses a significant set of technologies, which may differ slightly in each case. However, it is still possible to single out the most popular tools among financiers for creating and maintaining systems.
Programming languages
Thus, a significant part of the infrastructure of brokerage companies and stock exchanges was created using the C ++ language - with its help, various products are created, from libraries for calculating price models of derivative instruments to data stream processing modules. It is not surprising that professionals who know this language are extremely in demand in the field of finance. Moreover, the C ++ language creator himself, Bjarne Stroustrup,
works at the investment bank Morgan Stanley (this fact, at one time, was actively
discussed in the developer community).
C # and Java are also extremely popular programming languages ​​in finance. They are less commonly used for infrastructure tasks, but often they use certain parts of trading applications or front-end services of financial companies (for example, brokers).
For describing trading strategies and prototyping models, scripting languages ​​are also used, such as Python, MATLAB and R. Subsequently, the code of such prototypes can be translated into a more productive language — for example, C ++. However, in some cases, mechanical trading systems can be entirely implemented in scripting languages. Some of these tools, such as
TradeScript , even include in trading terminals, which allows users to quickly “jot down” a trading strategy without being distracted from analyzing quotes and charts.
Data transfer protocols
The financial market also has its own financial data transfer protocols. Some of them are international standards, such as the
FIX protocols, as well as proprietary protocols used by specific exchanges. In the Russian market, two protocols are popular - the
Plaza II , which was developed by experts on the RTS exchange, and
ASTS Bridge , created on the MICEX exchange. Later, these two sites were merged into a common Moscow Exchange.
There are also protocols on foreign stock exchanges - not so long ago we talked about
ITCH and OUCH protocols used on the American Nasdaq.
Iron
In the field of finance, not only software developers, but also specialists involved in creating and maintaining infrastructure infrastructure are in demand. In one of our previous materials, we
talked about how stock exchange data centers are arranged in Russia and abroad. As a rule, exchanges and financial companies work with leading data centers in their region. For example, the Moscow Exchange is now working with DataSpace1 data center, which became the first data center in Russia and continental Europe, which received all three Tier III category certificates from the Uptime Institute. Below is a photo of his cooling systems, power supplies and fire extinguishing:



In addition, advanced hardware is often used for placement in such data centers — many vendors create products that are “sharpened” to work in the financial sector. For example, in 2015 Juniper
released the so-called “server on the switch” QFX5100-AA. This product is designed to work in environments that have specific requirements for performance, speed and scalability. The financial market is not the only such segment, but one of the most obvious.

If we talk about real projects, the infrastructure of the ITinvest Matrix trading system was created using Dell and IBM hardware. This includes IBM Data Power X75 servers (and MQ Low Latency Messaging software), PowerEdge blade servers, and Dell PowerVault storage systems.

What projects can I take part in
In the financial market there are a variety of companies - from exchanges, banks and brokers to independent software developers for traders and financiers. Accordingly, IT professionals' knowledge can be used in different planes, for example, to create trading robots, work with infrastructure, or develop client software.
The tasks of brokerage companies can be judged by the example of ITinvest. We have several projects, the most important of which are the
SmartX trading terminal (we described its history
here ) and the
Matrix trading system.
A separate and rather large layer of projects is the development of mobile applications for online trading. ITinvest has its own applications for the iPhone, iPad and Android - earlier we talked about the
evolution of the interfaces of these terminals from the beginning of the two thousandth to the present day.
In addition to brokers and the exchanges themselves, IT specialists are in demand by companies developing products for financiers and traders who create trading software. The story of one of these companies StockSharp members of her team
told in the guest material in our blog.
We also told the stories of developers who are engaged in independent trading on the stock exchange and develop appropriate tools for this. In this
interview, the Russian programmer told about the tools he used to develop trading robots, and this material describes the
story of an American developer who earned half a million dollars using machine learning and high-frequency trading.
What are the requirements for specialists
Requirements for IT professionals in different financial companies may vary. And if for infrastructure specialists they usually differ little from what is needed in other industries, then for developers there are some specific wishes.
Here's what it is desirable for a programmer to know in order to get a job in finance:
- First of all, excellent knowledge of OOP and standard algorithms is required. The development of client-server financial systems also goes hand in hand with multi-threaded programming. Therefore, the specialist should not be afraid of tasks that imply, for example, writing a standard TCP server, a load balancing server and a high performance server. In addition, developers who know not only C ++, but also lower-level languages, even assembly language, are highly valued.
- Systems for the financial sector are based on databases, so developers will need in-depth knowledge of SQL. Knowledge of simple select statements will not be enough - quite often during the work you will have to deal with the creation of storage procedures, deal with indexes, and various types of locks.
- Trading systems typically use the UNIX platform (often Linux). For Windows, as a rule, trading terminals with graphical interfaces are created, for developing the “engine” of trading software, they use UNIX.
- In addition, professionals involved in the development of trading software need to be able to work with GPU , co-processors and modern network cards Mellanox and Solarflare.
In addition, a great advantage for finding a job in finance will be knowledge of the subject area - if the developer understands the difference between futures and option or ask and bids and knows what an exchange “glass” is, then this can seriously shorten the time it takes to get up to date. It will also reduce the number of errors, especially at first.
Do not forget about the technological knowledge applicable specifically to the financial sector - before looking for work in a conditional brokerage company, you should understand, for example, data transfer protocols like FIX or, in the case of the Moscow Exchange, ASTS Bridge.
The stock market also places increased demands on the care and responsibility of specialists - every mistake that has crept into the code deployed “in production” can lead to serious losses. In the case of stock exchanges, for example, financial data streams may be incorrectly broadcast or trading may be completely disrupted - we previously wrote about the causes of failures on
foreign and
domestic stock exchanges.
Links and additional materials on the topic: