Application of C + + in low-latency trading system
In the financial derivatives markets, market makers shoulder the obligation to quote for options Futures products (quoting).
"Low latency" is crucial for such companies, and if you are faster than others, the same offer can be prioritized, the wrong offer can be withdrawn quickly, and the wrong pricing on the market can be arbitrage. Obviously, manual order is certainly not feasible, and in the face of a wide range of products, manual quotes are prone to mistakes, so we need to develop a trading system to achieve "low latency."
Today, most of the derivatives trading systems are implemented in C + +, which is inseparable from some of the good features of C + +, and of course there are historical reasons. Financial derivatives around the development of the the 1980s, when the world's mainstream programming language has C,c++,fortran and so on. Now the main C + + rivals Java and C # have not yet appeared. and C and Fortran is not very suitable for writing large programs, so C + + in the field of derivatives trading has become the mainstream choice.
Let's take a look at the history of C + +. It was invented in the 1980s and has undergone about three stages of development. The first phase, because it has good compatibility with C, is close to C and is also object-oriented and occupies a considerable share of the industry. In the second phase, because of the advent of Standard template libraries (STL) and boost, generic programming has become more and more specific. The same period because of the rise of java,c# and so on, robbed the C + + part of the market. In the third phase, the addition of template metaprogramming and new features has enabled C + + to regain its vitality and become more complex.
Compared to virtual machine language Java and C #, C + +, it compiles the source program directly into machine code, and can be optimized during compilation and linking for performance improvement. Compared to dynamic language Python and Lua, it reduces dynamic type detection at runtime. Because C + + does not have a garbage collection (garbagecollection) mechanism, there is no need to worry about latency uncertainties. And because it can be directly compiled into machine code, it can do the bottom-level optimization, such as the use of internal functions and embedded assembly language.
In addition, C + + to do parallel computing is relatively easy, for example, can be directly used Cuda. However, there are many problems in C + +, such as slow and error-prone compilation links, lack of support for common features in other languages, low development efficiency and so on. But C + + has also been developing, believing that more and more problems will be solved. So, if you want to develop high-performance server programs, then C + + is a good choice.
However, low latency does not equate to C + +. Some companies use optimized JVMs, with slightly smaller OCaml, Haskell, Erlang and other languages to implement trading systems, there is no loss of C + + performance. Compared with the overall system architecture design, the impact of the programming language is not that big. Trading companies also hire exchange seats, direct fiber optics, and hardware implementations of parts that do not require frequent changes, to reduce latency
In summary, the extensive use of C + + in trading systems is both historical and inseparable from its own characteristics. With the development of information technology, C + + will play an increasingly important role in the financial trading market. If you want to work together to shape the future of the derivatives trading market, welcome to join us.
"Social recruit" in/Senior C + + developer-top Financial trading company-akuna Capital
Company:akuna Capital
Website:www.akunacapital.com
#香港市场交易 #比特币 # Encrypted digital currency trading # c++# Low Latency #linux# Quantitative trading
? Are you interested in fintech?
? Are you interested in options, futures, stock trading?
? Are you interested in quantifying the trading system?
? Are you interested in automated trading?
? Do you have the ultimate pursuit of high-performance systems?
"Key Technologies" c++11, C++,linux, Python, multi-thread, template
"Application Method"
? * * Email: [Email protected], please indicate the application position
? Number: Akunacapital
? Website: www.akunacapital.com
Application of C + + in low-latency trading system