alignmentsystems / matchingengine Goto Github PK
View Code? Open in Web Editor NEWA toy implementation of a matching engine. Don't use this in the real world, it's a toy!
License: MIT License
A toy implementation of a matching engine. Don't use this in the real world, it's a toy!
License: MIT License
This would be relatively easy to follow the guidelines available here from the work by the working group
To deliver this we would also have to modify one of the dependencies of the Alignment Matching Engine. The dependency is QuickFIX/J which is not 24x7 compatible – yet!
Provide an orderbook snapshot service on a periodic basis over UDP/Multicast
Provide an orderbook replay service over TCP/IP
Persist tick-by-tick data
Column store database
Allow the PersistenceServer component to have an API drive abstraction to allow multiple destinations such as a file system, RDBMS, message queue and so on...
At the moment the whole platform runs on one box. This is not viable for production use. The APIs between the components would need to be reworked inside the implementation, such that
the number of FIX engines can be increased and distributed to multiple boxes
the number of OrderBooks can be increased and distributed to multiple boxes
market data distribution can be performed from a specified set of UDP/Multicast ports
This is something a proper matching engine must have. Along with the thematically linked cancel-on-disconnect. This impacts on all aspects of the system – persisting parts of the system data to disk while not impacting performance is a balancing exercise.
This is something a proper matching engine must have. The challenge is to implement the logic at a scale that fits the use-case – consider the logic in an institutional equity exchange versus an institutional options exchange. The throughput requirement is quite different in each case. Do you “spoof” incoming FIX cancel messages or iterate through an orderbook in-memory and remove affected messages?
As the creator of the forerunner to FIX Orchestra FIIDL (FIXInteractive Interface Definition Language) and the person who chose the name FIX Orchestra, I have been involved since the start. See for example this and this.
Implementing FIX Orchestra for the Alignment Matching Engine is one quick win which is a solid contender for future development after implementation of cancel-on-disconnect and partial fills.
Allow a counterparty to have specific static data
Collection of Connections
Yes/no cancel-on-disconnect flag
Self-trade-protection
FIX Version
Implementation of a standard FIX drop-copy feed from the matching engine.
Alongside cancel-on-disconnect essential for an institutional exchange
This is a much more complex task to see the real bottlenecks in the platform. Use something such as Corvil to spot problems.
This is something a proper matching engine must have. Maybe one day to implement this.
The FIX drop-copy feed listens to Kafka and transforms AlignmentSBE to classic tag=value FIX4.4.
Take the Kafka listener and then use that to take the binary message and send that into Hyperledger fabric.
Consider idempotency, deduplication, throttling, stability and associated high-availability and disaster recovery requirements.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.