• Stars
    star
    104
  • Rank 330,604 (Top 7 %)
  • Language
    C++
  • License
    Other
  • Created over 9 years ago
  • Updated about 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Helix, a market data feed handler for C and C++.

Helix

Build Status

Helix is an ultra low-latency market data feed handler written in C++. It provides an API to trading applications that normalizes market data updates from multiple feeds.

Helix core does not include networking functionality and expects applications to provide raw packet data.

Building

Prerequisites

  • libuv 1.0 or later
  • Boost libraries

macOS:

brew install boost cmake libuv pkg-config

Building and Installing

To build Helix:

cmake .
make

To build a debug version of Helix that enables AddressSanitizer:

mkdir -p build/debug
cd build/debug
cmake -DCMAKE_BUILD_TYPE=debug ../..

To install Helix:

make install

Please note that Helix generates a pkg-config file so you can use pkg-config to integrate Helix with your project build system. If you installed Helix in the default location /usr/local/, you need to set the PKG_CONFIG_PATH environment variable as follows:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

Usage

To convert a NASDAQ TotalView-ITCH 5.0 file to CSV:

./helix-trace -i 07302015.NASDAQ_ITCH50 -s AAPL -c nasdaq-binaryfile-itch50 -f csv -o AAPL.csv

Please note that Helix only works with uncompressed files.

Features

Core

  • C++ API
  • C binding
  • Order book view
  • Data normalization
  • Data filtering
  • Retransmission requests
  • Order book aggregation
  • Synthetic NBBO

Protocols

  • NASDAQ
    • NASDAQ TotalView-ITCH 5.0
    • Nordic Equity TotalView-ITCH 2.02.2
    • MoldUDP
    • MoldUDP64
    • BinaryFILE
    • SoupFILE
  • Parity
    • PMD

License

Copyright © 2015 Pekka Enberg

Helix is distributed under the 2-clause BSD license. See LICENSE for the full license text.

More Repositories

1

limbo

Limbo is a work-in-progress, in-process OLTP database management system, compatible with SQLite.
Rust
645
star
2

awesome-low-latency

Patterns and resources of low latency programming.
314
star
3

fjord

Fjord, F# programming language for the JVM.
Java
200
star
4

falcon

Falcon, the open source ultra low-latency FIX engine for Java
Java
145
star
5

mvcc-rs

Optimistic multi-version concurrency control (MVCC) for main memory databases, written in Rust.
Rust
76
star
6

awesome-os

A curated list of resources on operating system design and implementation.
75
star
7

hiisi

Hiisi is a proof of concept libSQL written in Rust following TigerBeetle-style with deterministic simulation testing.
Rust
71
star
8

unix-history

History of UNIX Design and Interfaces
57
star
9

hornet

Hornet, a JVM optimized for low-latency applications.
C
54
star
10

vsr-rs

Viewstamped Replication for Rust
Rust
38
star
11

go-osxhv

Go bindings for the OS X Hypervisor.framework API
Go
36
star
12

pstore

pstore, a high-performance, read-optimized database system.
C
25
star
13

ustat

ustat - an unified system stats collector tool
Go
23
star
14

sphinx

Sphinx is a fast in-memory key-value store, compatible with Memcached.
C++
20
star
15

ycsb-rs

A Rust port of Yahoo! Cloud Serving Benchmark (YCSB)
Rust
20
star
16

linux-networking

Notes on Linux network internals
18
star
17

godoom

A Doom clone written in OpenGL and Go.
Go
17
star
18

awesome-databases

Databases are awesome! 🕶
17
star
19

wolf

Wolf, a raycasting engine for pseudo 3D games.
C
13
star
20

nasdaq-omx-simulator

NASDAQ OMX simulator
Go
12
star
21

bwtree-rs

Bw-Tree for Rust
Rust
12
star
22

legacy-free-x86

OS development resources for legacy-free x86 hardware.
7
star
23

classpath

Pekka's GNU Classpath development tree
Java
7
star
24

duhview

ANSI art viewer written in C and SDL
C
6
star
25

awesome-serverless

Serverless is awesome! 🕶
6
star
26

go-scylla-api

Go library for accessing the Scylla REST API
Go
6
star
27

bitmex-api

BitMEX API for C++
C++
6
star
28

groovyfmt

groovyfmt is a tool to automatically format your Groovy code.
GAP
6
star
29

multiplayer-matchmaker

A multiplayer on-line game matchmaking server.
TypeScript
5
star
30

nasdaqomx-itch

Haskell implementation of NASDAQ OMX Nordic ITCH
Haskell
5
star
31

spirit

Rust
4
star
32

posixbench

POSIX latency and energy-efficiency benchmark suite
C++
3
star
33

btct

Bitcoin terminal for monitoring real-time Bitcoin quotes on the command line.
Ruby
3
star
34

alp

Alp, a text-mode email client.
Ruby
2
star
35

scyllactl

Go
2
star
36

yetanothercore

Yet another RISC-V CPU core
C
2
star
37

scylla-fedora

1
star
38

esparser-rs

JavaScript and TypeScript parser for 🦀
Rust
1
star
39

virt-net-perf

1
star
40

xmlindent

C
1
star