{"id":25825467,"url":"https://github.com/d-d-roshan/trade-system","last_synced_at":"2025-02-28T14:05:51.257Z","repository":{"id":273479351,"uuid":"919851722","full_name":"D-D-Roshan/Trade-system","owner":"D-D-Roshan","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-21T06:12:18.000Z","size":91,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T07:19:28.254Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/D-D-Roshan.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-21T06:06:51.000Z","updated_at":"2025-01-21T06:12:22.000Z","dependencies_parsed_at":"2025-01-21T07:29:36.400Z","dependency_job_id":null,"html_url":"https://github.com/D-D-Roshan/Trade-system","commit_stats":null,"previous_names":["d-d-roshan/trade-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/D-D-Roshan%2FTrade-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/D-D-Roshan%2FTrade-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/D-D-Roshan%2FTrade-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/D-D-Roshan%2FTrade-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/D-D-Roshan","download_url":"https://codeload.github.com/D-D-Roshan/Trade-system/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241162478,"owners_count":19920410,"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":[],"created_at":"2025-02-28T14:05:50.702Z","updated_at":"2025-02-28T14:05:51.251Z","avatar_url":"https://github.com/D-D-Roshan.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- ABOUT THE PROJECT --\u003e\n# Trade system\nA high-performance order execution and management system to trade on [Deribit Test](https://test.deribit.com/).\n\nThis Project implement and justify optimization techniques for memory management, network communication, data structure selection, thread management and CPU optimization. It covers all supported symbols and instrument coverage include support for Spot, Future, and Options.\n\n\u003c!-- BUILT WITH --\u003e\n### Built With\n* Cpp\n* [Boost](https://www.boost.org/)\n* [Websocketpp](https://www.zaphoyd.com/projects/websocketpp/)\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n### Table of Contents\n\u003cdetails open=\"open\"\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#documentation\"\u003eDocumentation\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#results\"\u003eResults\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#acknowledgements\"\u003eAcknowledgements\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003c!-- DOCUMENTATION --\u003e\n## Documentation\n\n### Main idea\nThe project aims to develop a high-performance order execution and management system for trading on the Deribit Test platform. It leverages C++ to achieve low-latency performance while ensuring robust functionality and scalability.\n\nKey features of the system include:\n\n- Order Management: Seamless order placement, cancellation, and modification for a variety of trading instruments, including Spot, Futures, and Options.\n- Real-Time Market Data Streaming: Implements a WebSocket server to provide continuous and efficient updates of market data, supporting multiple client subscriptions.\n- Market Coverage: Comprehensive support for all symbols available on the Deribit platform.\n- Performance Optimization: Incorporates techniques for memory management, efficient data structure usage, and network communication to minimize latency.\n- Error Handling and Logging: Ensures reliability and traceability through robust error management and detailed logging.\n\nThis system is designed to meet the demands of algorithmic trading by focusing on speed, accuracy, and scalability, making it a suitable solution for real-world financial markets.\n\n\n\u003c!-- RESULTS --\u003e\n## Results\n\n### Average and Individual E2E latency while making sync request [WebSocket++].\n\n![image](https://github.com/user-attachments/assets/96ef5a31-08ae-4aaf-ae07-102fb278054f)\n\n### Average and Individual E2E latency while making sync request [Boost Beast].\n\n![image](https://github.com/user-attachments/assets/62554b33-dee0-4739-863e-a434aacac0d9)\n\n\n### Average and Individual E2E latency while making async requests [Boost Beast]\n\n![image](https://github.com/user-attachments/assets/9eb14fce-4b0a-46bd-bfca-9fffe2e13eb1)\n\n\n### Average and Individual E2E latency while making async requests [WebSocket++]\n\n![image](https://github.com/user-attachments/assets/5dd4b775-f9e3-42d0-b0c2-de8c97e911e7)\n\n### Averages and Standard Deviation\n\n![image](https://github.com/user-attachments/assets/108c0488-8229-4843-b675-b98296d5b964)\n\n\u003c!-- GETTING-STARTED --\u003e\n## Getting Started\nTo get a local copy up and running follow these simple steps.\n\n\u003c!-- PREREQUISITES --\u003e\n### Prerequisites\n* Basic understanding of CPP\n* Boost and Websocket++ library\n* GitHub Account ([Sign Up](https://github.com/))\n\n\u003c!-- INSTALLATION --\u003e\n### Installation\n* Clone the repo\n  ```bash\n  git clone https://github.com/D-D-Roshan/Trade-system\n  ```\n  Make sure you have both Boost Beast and Websocket++ libraries then you can call make by going into directories having Makefile\n  ```bash\n  cd src/\n  make\n  ./algo.exe\n  ```\n  Make cahnges in the Api.cpp to switch implementations of socket and make changes in tes_latency.cpp to switch between sync or async\n  ```bash\n  cd test/test_latency/\n  make\n  ./test_latency.exe\n  ```\n  \n  ```bash\n  cd test/test_throughput/\n  make\n  ./test_throughput.exe\n  ```\n\u003c!-- ROADMAP --\u003e\n## Roadmap\n- Clone the repo and open it in suitable IDE for complete project source code. You can also fix the issues and hence contribute.\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\nContributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.\n\n1. Fork the Project\n2. Create your Feature Branch\n3. Commit your Changes\n4. Push to the Branch\n5. Open a Pull Request\n\u003c!-- CONTACT --\u003e\n## Contact\n\n\u003cdiv\u003e\n\u003ca href=\"https://www.facebook.com/roshan.d.942145\"\u003e\n\u003cimg width=\"100\" height=\"100\" src=\"https://user-images.githubusercontent.com/74038190/235294010-ec412ef5-e3da-4efa-b1d4-0ab4d4638755.gif\" target=\"_blank\"/\u003e\n\u003c/a\u003e \n\u003ca href=\"https://discord.com/invite/M8he9HxQ\"\u003e\n\u003cimg width=\"100\" height=\"100\" src=\"https://user-images.githubusercontent.com/74038190/235294015-47144047-25ab-417c-af1b-6746820a20ff.gif\" target=\"_blank\"/\u003e\n\u003c/a\u003e \n\u003ca href=\"https://www.linkedin.com/in/d-d-roshan\"\u003e\n\u003cimg width=\"100\" height=\"100\" src=\"https://user-images.githubusercontent.com/74038190/235294012-0a55e343-37ad-4b0f-924f-c8431d9d2483.gif\" target=\"_blank\"/\u003e\n\u003c/a\u003e  \n\u003ca href=\"https://www.instagram.com/d_roshan_official\"\u003e\n\u003cimg width=\"100\" height=\"100\" src=\"https://user-images.githubusercontent.com/74038190/235294013-a33e5c43-a01c-43f6-b44d-a406d8b4ab75.gif\" target=\"_blank\"/\u003e\n\u003c/a\u003e  \n\u003ca href=\"https://github.com/D-D-Roshan/D-D-Roshan\"\u003e\n\u003cimg width=\"100\" height=\"100\" src=\"https://img.icons8.com/?size=100\u0026id=akG4VRhAoSii\u0026format=png\u0026color=000000\" target=\"_blank\"/\u003e\n\u003c/a\u003e \n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-d-roshan%2Ftrade-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd-d-roshan%2Ftrade-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-d-roshan%2Ftrade-system/lists"}