Software system 002 --- trading system

 

Introduction & system overview

In this article, I would like to share some experience of constructing a trading system. The above diagram shows a simplified architecture of the system.

From left to right, the trading flow is started by algorithm traders. They will send out orders to OMS. OMS will handle the execution and redirect the orders to gateway which are connected to brokers. PMS will record the positions and send out information to risk calculator so that traders can visualize the market exposure.

The post trade division will get data from the database to generate financial reports and reconciliation will be performed by comparing with information reported from brokers.

Technology used

C++ is the main programming language used to build this system. For communication, Zmq is employed. Relational data is handled by Mysql, some time-series market data are stored in InfluxDB.

For client UIs, java and C# are picked.

Comments