{"id":23260439,"url":"https://github.com/antrita/fix_code","last_synced_at":"2025-04-06T05:27:33.465Z","repository":{"id":256170559,"uuid":"854499684","full_name":"Antrita/FIX_CODE","owner":"Antrita","description":"FIX Market Simulator CLI/GUI application","archived":false,"fork":false,"pushed_at":"2024-10-31T05:22:54.000Z","size":252,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-12T11:16:10.145Z","etag":null,"topics":["fixprotocol","market","python","quickfix","quickfix-python","server-client","simulator"],"latest_commit_sha":null,"homepage":"","language":"Python","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/Antrita.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":"2024-09-09T09:32:05.000Z","updated_at":"2024-11-06T10:24:22.000Z","dependencies_parsed_at":"2024-10-28T16:40:46.551Z","dependency_job_id":null,"html_url":"https://github.com/Antrita/FIX_CODE","commit_stats":null,"previous_names":["antrita/fix_code"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Antrita%2FFIX_CODE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Antrita%2FFIX_CODE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Antrita%2FFIX_CODE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Antrita%2FFIX_CODE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Antrita","download_url":"https://codeload.github.com/Antrita/FIX_CODE/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247440036,"owners_count":20939195,"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":["fixprotocol","market","python","quickfix","quickfix-python","server-client","simulator"],"created_at":"2024-12-19T13:16:59.438Z","updated_at":"2025-04-06T05:27:33.429Z","avatar_url":"https://github.com/Antrita.png","language":"Python","readme":"\r\n# Simple FIX Simulator with Python and QuickFIX\r\n\r\nThis repository contains a simple implementation of a FIX (Financial Information eXchange) simulator using Python and the QuickFIX library. The simulator is designed to demonstrate the basic functionality of a market maker application.\r\n\r\n## Introduction\r\n\r\nThe provided code is a basic market maker application that can handle various FIX messages such as New Order Single, Order Cancel Request, and Market Data Request. It simulates the behavior of a market maker by sending back appropriate responses and updating market data.\r\n\r\n## Getting Started\r\n\r\n1. Install Python 3.9 (https://www.python.org/downloads/)\r\n2. Install QuickFIX (https://github.com/quickfix/quickfix) by following the installation instructions provided in the QuickFIX repository.\r\n3. Clone this repository or download the code.\r\n4. Create a `Server.cfg` and `client.cfg` configuration file in the root directory of the project.\r\n5. Run the `market_maker.py` and `client.py` script using Python to execute the Command Line version:\r\n\r\n```bash\r\npython market_maker.py\r\npython client.py\r\n```\r\n6.Run the main.py to work with the GUI version:\r\n```bash\r\npython main.py\r\n```\r\n## Tools and Libraries\r\n\r\n- Python 3.9: The python version used for the implementation.\r\n- QuickFIX: A C++ library for FIX protocol development and message parsing.\r\n- Make sure to download '[FIX44.xml](https://github.com/quickfix/quickfix/blob/master/spec/FIX44.xml)' and add it to your working directory.\r\n## Order Types supported\r\nAlong with the regular market orders placed by users in the format: [side] [USD/BRL] [Qty] [Price] , This application now supports three other Market order types- Stop Orders, Limit Orders and Stop-Limit Orders.\r\n\r\n\r\n\r\n## CLI Menu\r\n\r\nA simple menu is displayed after the FIX application has started. You can use this menu to perform various actions in the CLI version (Market Maker and Client):\r\n\r\n- buy -\u003e Place Buy Order\r\n- sell -\u003e Place Sell Order\r\n- subscribe -\u003e Subscribe to Market Data\r\n- unsubscribe -\u003e Cancel Market Data Subscription\r\n- cancel -\u003e Order Cancel Request\r\n- status -\u003e Order Status Request\r\n- quit -\u003e Logout and Exit\r\n\r\n  ## GUI Menu\r\n### Users can now place orders using commands in the form:\r\n [side-buy/sell] [USD/BRL] [qty] [amount] \r\n\r\n\r\n\r\n\r\n## EXAMPLES\r\n\r\n### Users can now enter commands like:\r\n( For buy/sell, price can also be added seperately in the CLI Version for regular market orders)\r\n\r\n- buy USD/BRL 100  1.10  \r\n- sell USD/BRL 100 limit \r\n- buy USD/BRL 100 stopPrice 1.0 1.5  \r\n- sell USD/BRL 100 stop_limit 1.10  \r\n- buy USD/BRL 100 stop_limit 2.4 2.3\r\n- sell USD/BRL 100 stop_limit 2.3 2.4\r\n\r\nEnter the corresponding command or action to perform the desired operation.\r\n\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantrita%2Ffix_code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantrita%2Ffix_code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantrita%2Ffix_code/lists"}