matching_engine 0.1.8

A matching engine that matches orders using FIFO or Prorata matching algoritm.Refer https://corporatefinanceinstitute.com/resources/career-map/sell-side/capital-markets/matching-orders/
Documentation

A simple market simulator project with the following features

Module matching_engine is the back end engine that has all the matching functionalities with a CLI.

The matching engine exposes the API required to create an order book and to match the order book to produce executions or Fills. A typical use case will be to create the order book fro a file containing orders, one order per line as given below and then use the matching engine to run the matching algorithm as so. Please refer to the CLI section for the order format.

The api is published at https://crates.io/crates/matching_engine

The codebase also contains a CLI interface which can be executed as follows

execute cargo run -- -h or

matching_engine -h for complete usage help

Examples:

For the order file below

id1 IBM 300 602.5 Buy id2 IBM 300 602.5 Sell id3 IBM 100 602.5 Buy id4 IBM 100 602.5 Sell id5 IBM 300 602 Buy id6 IBM 300 601.9 Buy id4 IBM 100 602.1 Sell

executing cargo run -- prorata_test_data/orders.txt will produce the following output

if we executed the command using ProrataMatcher as such

executing cargo run -- prorata_test_data/orders.txt PRO will produce the following output