Coder Social home page Coder Social logo

arnegockeln / libtrading Goto Github PK

View Code? Open in Web Editor NEW

This project forked from libtrading/libtrading

0.0 0.0 0.0 1.32 MB

Libtrading, an ultra low-latency trading connectivity library for C and C++.

Home Page: http://libtrading.org

License: Other

C++ 1.63% C 94.08% Makefile 4.29%

libtrading's Introduction

Libtrading

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.

Features

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

Install

Install prerequisite packages:

Debian

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

Fedora

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

Note: on older RHEL versions you'll need to replace libevent-devel with libevent2-devel

OSX

$ brew install libevent glib pkgconfig
$ pip install pyyaml

Then run:

$ make install

You can also run the test harness:

$ make check

Usage

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

Documentation

Performance

Protocol RTT (μs)
FAST 13
FIX 6

The following above were obtained by running Libtrading messaging ping-pong tests on a 4-way Intel Haswell 3.60 GHz CPU running Fedora 21 with Linux 3.19.7-200. 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:

License

Copyright (C) 2011-2014 Pekka Enberg and contributors

Libtrading is distributed under the 2-clause BSD license.

Contributors

  • Denis Ivaykin
  • Marat Stanichenko
  • Jussi Virtanen

libtrading's People

Contributors

penberg avatar mstanichenko avatar jvirtanen avatar stefankarpinski avatar cyanly avatar tfarina avatar akisaarinen avatar iamthebot avatar krzysztofwos avatar theojepsen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.