{"id":24974417,"url":"https://github.com/tthunga24/cppfuturesorderbook","last_synced_at":"2025-03-29T06:45:10.099Z","repository":{"id":275095608,"uuid":"923175622","full_name":"tthunga24/CppFuturesOrderbook","owner":"tthunga24","description":"C++ Futures Orderbook implementing FIX Order Communication Protocol and Visual Depth of Market (DOM).","archived":false,"fork":false,"pushed_at":"2025-01-31T07:03:53.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T06:45:02.933Z","etag":null,"topics":["cpp","fixprotocol","futures","orderbook"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tthunga24.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-27T19:09:40.000Z","updated_at":"2025-01-31T07:03:57.000Z","dependencies_parsed_at":"2025-01-31T07:21:25.983Z","dependency_job_id":"b0b6acc2-d0a0-40ce-88b4-ff8630569168","html_url":"https://github.com/tthunga24/CppFuturesOrderbook","commit_stats":null,"previous_names":["tthunga24/orderbookanddom"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tthunga24%2FCppFuturesOrderbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tthunga24%2FCppFuturesOrderbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tthunga24%2FCppFuturesOrderbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tthunga24%2FCppFuturesOrderbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tthunga24","download_url":"https://codeload.github.com/tthunga24/CppFuturesOrderbook/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246150412,"owners_count":20731419,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","fixprotocol","futures","orderbook"],"created_at":"2025-02-03T20:04:03.563Z","updated_at":"2025-03-29T06:45:10.074Z","avatar_url":"https://github.com/tthunga24.png","language":"C++","readme":"# C++ FIX Protocol Futures Orderbook and Visual Depth of Market (DoM)\nThis is an futures orderbook programmed in C++ which manages orders and allows users to submit orders using the FIX Communication Protocol and visualize \nthe current state of the orderbook. The FIX Communication Protocol is an industry standard amongst exchanges that allows for seamless\nand confusion-free communication of orders between brokers and exchanges. The orderbook represents a futures market, thus only allowing \nfor order prices to be in tick increments (0.25 bps). \n\n![image](https://github.com/user-attachments/assets/625a86ca-eb08-4639-b31c-12c718f5abaa)\n\n### Features\n- **Order-Matching Algorithms:** This project implements matching algoritms such as First in First Out(FIFO) and Time-Price priority, as well as price\n  improvements for incoming orders to simulate a fair market and the same order flow as major exchanges.\n  \n- **Submit and Parse FIX Protocol Messages:** Using the [examples](https://github.com/tthunga24/OrderbookandDOM/blob/main/examples.txt) provided, learn how FIX Protocol messages are structured,\n  create your own messages, and submit them to the orderbook to be parsed and turned into orders.\n  \n- **Visual DOM with Volume Profile:** Use the Depth of Market (DoM) to get a deeper insight into the market represented by the book. See resting limit\n  orders at each level and use the volume profile to see where most trades have occured in the past.\n  \n- **Different Order Types:** Select between Fill or Kill orders and Good Until Fill orders and see how each order type interacts with the market and orderbook.\n  More order types to be implemented in the future.\n\n### Running the code\n  - Download the repository\n  - Compile `main.cpp` using g++ or a compiler of your choice supporting C++ 17\n  - Run the executable created by the compiler\n  - Interact with the program using the terminal\n\n### Technologies\nAll technologies used come from the C++ Standard Library. In developing this project, I was able to explore and understand many different C++ data types and\nmechanics including ordered and unordered maps, structs, classes, lists, iterators, vectors, references, shared pointers, and much more. \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftthunga24%2Fcppfuturesorderbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftthunga24%2Fcppfuturesorderbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftthunga24%2Fcppfuturesorderbook/lists"}