Inspired by github Price-Time Matching Engine, based on Euronext documentation publically available, and the madness of too many years in finance:
- The Peg Orders
- Pure Market Order
- Auction
- The Market to limit order
- Trading
- The Stop Order
- Stop Order
- IMP/TOP calculation
FIX to matching eninge flows over 0MQ
The project initially started in the distance past as a Proof Of Concept (PoC) (see below) mainly aimed at attempting to model the data flows of a matching server in Java.
Over time, work and though has been put in to add ancillary services around the core order book with the aim of moving towards the the high level architecture detailed below, offering Master/Slave with heart-beating from a resiliance perspective.
It is hoped that at some point in the future performance numbers can be provide on suitable hardware to allow appropriate tuning and improve the architecture from a latency perspective.
Primarily this PoC architecture is aimed at joining all the dots together to ensure a client can submit an FIX order, and receive appropriate ExecutionReports
The architecture below is based on the LMAX architecture, but leveraging ZeroMQ instead of Informatica Ultra Messaging. Further reading available here