Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

An open source library for high speed, low-latency electronic trading.

branch: master

This branch is 0 commits ahead and 0 commits behind master

FIX: Order Cancel Request message support

- Supported order cancel request for FIX

- FIX tags that are required for execution report are added

Signed-off-by: Bojan Janjic <>
[ cleanups ]
Signed-off-by: Marat Stanichenko <>
Signed-off-by: Pekka Enberg <>
latest commit eccdf11029
Bojan Janjic authored penberg committed
Octocat-spinner-32 data Moscow Exchange FAST test data August 14, 2013
Octocat-spinner-32 docs docs/quickstart: Tweak Introduction section January 14, 2014
Octocat-spinner-32 include FIX: Order Cancel Request message support April 16, 2014
Octocat-spinner-32 lib FIX: Order Cancel Request message support April 16, 2014
Octocat-spinner-32 tools MOEX FORTS market certification program April 09, 2014
Octocat-spinner-32 .gitignore Ignore '' February 08, 2014
Octocat-spinner-32 .travis.yml Add python-yaml to Travis CI environment November 11, 2013
Octocat-spinner-32 Update FIX known issues list November 07, 2012
Octocat-spinner-32 LICENSE Switch to the 2-clause BSD license January 06, 2014
Octocat-spinner-32 Makefile MOEX FORTS market certification program April 09, 2014
Octocat-spinner-32 Document prerequisite packages on Debian February 02, 2014
Octocat-spinner-32 TODO Update TODO May 16, 2013
Octocat-spinner-32 libtrading-config.c libtrading-config: Add zlib to '--libs' May 27, 2013
Octocat-spinner-32 requirements.txt Add 'requirements.txt' for Python packages January 17, 2014


Build Status

Libtrading is an open source API for high-performance, low-latency trading applications. It implements network protocols used for communicating with exchanges, dark pools, and other trading venues. The API supports FIX, FIX/FAST, and many proprietary protocols such as ITCH and OUCH used by NASDAQ.


  • C API
  • High performance, low latency
  • FIX dialect support
  • SystemTap/DTrace probes


Install prerequisite packages:


$ apt-get install pkg-config libxml2-dev libglib2.0-dev libncurses5-dev python-yaml


$ yum install zlib-devel libxml2-devel glib2-devel vim-common ncurses-devel python-yaml

Then run:

$ make install

You can also run the test harness:

$ make check


To measure FIX engine performance locally, start a FIX server:

$ ./tools/fix/fix_server -m 1 -p 7070
Server is listening to port 7070...

and then run the FIX client latency tester against it:

$ ./tools/fix/fix_client -n 100000 -m order -p 7070 -h localhost
Client Logon OK
Messages sent: 100000
Round-trip time: min/avg/max = 15.0/16.8/129.0 μs
Client Logout OK



Protocol RTT (μs)
FIX 16

The following above were obtained by running Libtrading messaging ping-pong tests on a 2-way 2.7GHz Sandy Bridge i7 CPU running Fedora 19 with Linux 3.11.6. The processes were pinned to separate physical cores and the numbers include time spent in the Linux TCP/IP stack.

FIX engine round-trip time frequency plot for the above looks as follows:


Copyright (C) 2011-2014 Pekka Enberg and contributors

Libtrading is distributed under the 2-clause BSD license.


  • Marat Stanichenko
  • Jussi Virtanen
Something went wrong with that request. Please try again.