The Speed Game: Automated Trading Systems in C++
Automated trading involves submitting electronic orders quickly when opportunities arise. But it’s harder than it may seem: either your system is the fastest and you get the trades you are looking for, or you get nothing. This makes systems challenging to develop - the critical path is only a fraction of the total codebase, it is executed infrequently and unpredictably, yet must run with extremely low latency. Unfortunately, we can’t rely on the help of compilers, operating systems and standard hardware, as they typically strive towards maximum throughput, and fairness across all processes.
This talk describes how successful low latency trading systems can be developed in C++, demonstrating common coding techniques used to reduce execution times. While automated trading is used as the motivation for this talk, the topics discussed are equally valid to other domains such as game development and near real-time processing.
We will look at where C++ excels, where C++ falls short, and discuss some recent proposals to the C++ standard that look promising with respect to low latency programming.
Speaker: Carl Cook