order-gatling

command module
v0.0.0-...-4511e25 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: MIT Imports: 2 Imported by: 0

README

MarketMaking animator

Description

The function of this repository is to generate order cancel replace requests to market all the time to generate heavy load.

Code is based on fix toolbox

How does it works

At startup, tool send an OrderMassCancelRequest for all accounts / securities / sides. Cancellation at startup can be disabled with option --no-mass-cancel

After awaiting, it sends one NewOrderSingle, and it updates quantity on ExecutionReport reception. To test Quote workflow instead of order workflow, you can use option --quote

An other mode is to send NewOrderSingle periodically. No order amendment will be done, only order creation. To activate it, option --order-rate must be greater than 0.

How to build it

make build

How to launch it

dist/order-gatling

Options are:

--context        : FIX context to send orders/quotes
--symbols        : List of symbol to animate
--refprices      : List of reference prices for each symbols
--accounts       : Accounts sent in PartyIDs
--metrics        : Enable metrics
--port           : HTTP port for metrics
--no-mass-cancel : Do not send mass order cancel request
--order-rate     : Number of new order sent per second
--quote          : Use quote instead of order workflow
--update-tempo   : Duration before updating order (ms)

Examples

Order amendment 50ms after execution report acknowledge (with metrics and trace logging)

dist/order-gatling \
    --context fix-session-conf \
    --metrics --port 5011 \
    --symbols MONA_EUR,CENA_EUR \
    --refprices 101.50,100.81 \
    --accounts trader1,trader2 \
    --update-tempo 50ms \
    --no-mass-cancel \
    -vv

Quote amendment after quote status report acknowledge

dist/order-gatling \
    --context fix-session-conf \
    --symbols MONA_EUR,CENA_EUR \
    --refprices 101.50,100.81 \
    --accounts trader1,trader2 \
    --update-tempo 0ms \
    --quote
    --no-mass-cancel

Create 100 orders per second

dist/order-gatling \
    --context fix-session-conf \
    --symbols MONA_EUR,CENA_EUR \
    --refprices 101.50,100.81 \
    --accounts trader1 \
    --order-rate 100

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL