Implementing OMS and EMS
The OMS and EMS are critical components of orders being generated by the system. The OMS is responsible for managing and tracking orders throughout their lifecycle, while the EMS is responsible for routing orders to the appropriate trading venues. Both systems need to operate with high performance and reliability to ensure efficient and effective trading operations.
The OMS is designed to manage active and filled orders. It validates orders received from the strategy module, keeps them in an active order vector, and then sends them to the EMS. The OMS also receives execution reports from the FIX engine, updates order statuses, and moves filled orders to a filled order vector. If an order is canceled, it is removed from the active orders. The OMS also has a function to forward filled orders to a database, although the implementation, depending on requirements, could change.
The OMS could also connect to a messaging hub to receive market data updates. These...