CoinTossX with market data feed
CoinTossX is a an open-source, high-frequency, low latency, high throughput matching engine for simulating the JSE (or any market that has well established rules and test cases). The software was developed with Java and open-source libraries and is designed to maximize throughput, minimize latency, and accommodate rapid development of additional functionality. It can be configured for multiple clients, stocks and trading sessions (continuous trading, opening auction, closing auction, intraday auction and volatility auction). The software has been configured to replicate the rules and processes of the JSE.
The code given here is a fork of the official release of version v1.1.0 of CoinTossX created by Ivan Jericevich. This fork contains a UDP socket on which market data updates can be received directly from the matching engine, so that the matching engine and any model management system using the matching engine can be decoupled. This facilitates more realistic trading environments in which trading simulations can be built.
To use the version of the matching engine that has the UDP port, download the code or clone the repository from here and go to the abm-experiment branch. After that the instructions in the README.md should suffice.