API for algorithmic and high-frequency trading (HFT).
This project does not contain the closed source implementation of the C++ interfaces.
- Roq GmbH (website)
- Contact (email)
- Documentation
- Releases
- Gateways
- Samples
- Roadmap
- Pricing
- Telegram
- Modular.
- Predictable low latency.
- Support all aspects required by a production environment.
- Aim to reduce "glue" code and offer standard solutions for data capture, monitoring, bridge solutions, etc.
- The C++ API allows clients (strategies) to
- communicate with gateways using a unified interface, or
- replay event-logs (exactly, for simulation and back-testing purposes).
- The FIX bridge supports third-party solutions.
- The JSON bridge supports other programming languages.
- The adapters support third-party database solutions, e.g. ClickHouse.
- The metrics interface supports third-party monitoring solutions, e.g. Prometheus, Alertmanager and Grafana.
- Open source interface (no need to sign an NDA to access or use).
- Permissive license (anyone is free to copy and use for whatever purpose).
- Free to download and try (no need to contact or register).
- Unified client interface to access any market.
- Design is strongly inspired by standards and specific implementations used by major exchanges.
- Strong preference for allocation-free message encoding/decoding.
- Extensive use of auto-generated code based on schemas.
- Strongly typed messages (events).
- Asynchronous interfaces and implementations.
- C++ and shared memory for ultra low latency.
- Automatic capture of all events.
- Free to download tools and database adapters.
A SLA is required for production support. More information can be found here.
Feel free to contact us with any questions you may have.
Currently supported traditional exchanges include
- CME
Currently supported Cryptocurrency exchanges include
- Binance
- BitMEX
- Bitstamp
- Bybit
- Coinbase PRO
- Deribit
- Gemini
- HitBTC
- Huobi
- Kraken
- KuCoin
- OKEx
The full list can be found here.
Instructions on how to install, configure and use the gateways can either be found in the samples or by consulting the documentation.
- Linux (x86-64, AArch64)
- macOS (x86-64, Arm64)
All listed combinations are regularly compiled but only Linux/x86-64 is continuously being tested. If you require a specific combination, please contact us before using.
We plan to drop support for macOS/x86-64.
- Abseil-C++ (Apache 2.0 License)
- FlatBuffers (Apache 2.0 License)
- fmt (MIT License)
- magic_enum (MIT License)
- span-lite (BSL 1.0 License)
- jinja2 (BSD 3-Clause License)
Optional
- Catch2 (Boost Software License 1.0 License)
It is not very interesting to follow the instructions shown here due to this project only containing interfaces. The actual client implementation is closed source as mentioned elsewhere in this document.
The project is primarily designed to be compatible with the conda package manager.
wget -N https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh -b -u -p ~/conda
~/conda/bin/conda install -y \
'gxx_linux-64>=12'
wget -N https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh
bash Miniforge3-Linux-aarch64.sh -b -u -p ~/conda
~/conda/bin/conda install -y \
'gxx_linux-aarch64>=12'
wget -N https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-x86_64.sh
bash Miniforge3-MacOSX-x86_64.sh -b -u -p ~/conda
~/conda/bin/conda install -y \
'clang_osx-64>=14'
wget -N https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh
bash Miniforge3-MacOSX-arm64.sh -b -u -p ~/conda
~/conda/bin/conda install -y \
'clang_osx-arm64>=14'
source ~/conda/bin/activate
conda install -y \
git \
cmake \
abseil-cpp \
flatbuffers \
fmt \
jinja2 \
clang-format \
catch2
conda install -y --channel https://roq-trading.com/conda/stable \
roq-oss-magic_enum \
roq-oss-range-v3
git submodule update --init --recursive
mkdir build && cd build
cmake ..
make -j
make test
You can download the closed source client implementation like this
conda install -y --channel https://roq-trading.com/conda/stable \
roq-client
Samples can be found here.
The project is released under the terms of the MIT license.
roq-api's People
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.