Order Matching Engine: Linked List and Set based OrderMatching implementation. Price-Time priority Engine.
DESCRIPTION: Please read Order_Matcher_Description.pdf for detail of implementation.
#How to Build Pre-requisite: g++ 9 or above and CMake 2.8 or above.
- cd to directory where project is cloned. cd ../JumpTrading
- cd build
- Give the directory execution rights in case you see elavation issue. chmod 777 build
- Build using CMAKE. On command terminal type: CMake .
- On Windows: CMake by default will generate executable under /build/Debug
- On Windows: Project will build in ../JumpTrading/build directory.
- On Windows, while you are ../JumpTrading/build directory - you need to run: The above command will create an executable in /build/Debug directory with name JumpTrading.exe.
- On MacOSX, Linux: CMake had generated a Make file in ../JumprTrading/build directory.
- On MacOSX, Linux: When Make file is created. While you are in /build directory. Run make file by typing: make
- On MacOSX, Linux: Executable will be generated in /build directory. With name JumpTrading.
#How to run smoke tests supplied in testData/input directory.
- Open shell on linux and cd to ../JumpTrading/testData
- Execute test-runner.sh. Type ./test-runner.sh ; NOTE: if you see executable not found error. Then please edit line 12 of test-runner.sh file to point the program to the directory where your executable have been generated. Typically - ../JumpTrading/build directory.
- Tests will run and a new directory name output will be created.
- Test runner matches each test's output data with pre-existing expected output data in /testData/expected directory.
- If both files matches - test is declared passed else test is failed.