Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/antrita/fix_code
Work In Progress
https://github.com/antrita/fix_code
fixprotocol market python quickfix quickfix-python server-client simulator
Last synced: 3 days ago
JSON representation
Work In Progress
- Host: GitHub
- URL: https://github.com/antrita/fix_code
- Owner: Antrita
- Created: 2024-09-09T09:32:05.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-25T15:07:24.000Z (about 2 months ago)
- Last Synced: 2024-10-25T23:30:34.304Z (about 2 months ago)
- Topics: fixprotocol, market, python, quickfix, quickfix-python, server-client, simulator
- Language: Python
- Homepage:
- Size: 187 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Simple FIX Simulator with Python and QuickFIX
This 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.
## Introduction
The 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.
## Getting Started
1. Install Python 3.9 (https://www.python.org/downloads/)
2. Install QuickFIX (https://github.com/quickfix/quickfix) by following the installation instructions provided in the QuickFIX repository.
3. Clone this repository or download the code.
4. Create a `Server.cfg` and `client.cfg` configuration file in the root directory of the project.
5. Run the `market_maker.py` and `client.py` script using Python to execute the Command Line version:```bash
python market_maker.py
python client.py
```
6.Run the main.py to work with the GUI version:
```bash
python main.py
```
## Tools and Libraries- Python 3.9: The python version used for the implementation.
- QuickFIX: A C++ library for FIX protocol development and message parsing.
- Make sure to download '[FIX44.xml](https://github.com/quickfix/quickfix/blob/master/spec/FIX44.xml)' and add it to your working directory.
## Order Types supported
Along 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.## CLI Menu
A 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):
- buy -> Place Buy Order
- sell -> Place Sell Order
- subscribe -> Subscribe to Market Data
- unsubscribe -> Cancel Market Data Subscription
- cancel -> Order Cancel Request
- status -> Order Status Request
- quit -> Logout and Exit## GUI Menu
### Users can now place orders using commands in the form:
[side-buy/sell] [USD/BRL] [qty] [amount]## EXAMPLES
### Users can now enter commands like:
( For buy/sell, price can also be added seperately in the CLI Version for regular market orders)- buy USD/BRL 100 1.10
- sell USD/BRL 100 limit
- buy USD/BRL 100 stopPrice 1.0 1.5
- sell USD/BRL 100 stop_limit 1.10
- buy USD/BRL 100 stop_limit 2.4 2.3
- sell USD/BRL 100 stop_limit 2.3 2.4Enter the corresponding command or action to perform the desired operation.