Samples demonstrating how to implement various features of algorithmic trading.
- Linux
Note! The Windows Subsystem for Linux (WSL) is NOT supported. Reason can be found here.
- fmt (MIT License)
- gflags (BSD 3-Clause License)
- roq-api (MIT License)
- roq-client (Commerical License)
- roq-logging (MIT License)
Optional
- Google Benchmark (Apache 2.0 License)
- Google Test (BSD 3-Clause License)
The project is 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
source ~/conda/bin/activate
conda install -y \
git \
cmake \
gxx_linux-64
conda install -y --channel https://roq-trading.com/conda/stable \
roq-client
git submodule update --init --recursive
cmake .
make -j4
- Example 1
- Connect to market gateway
- Subscribe using regex patterns
- Example 2
- Manage disconnect
- Process incremental market data update
- Maintain a market depth view
- Update a simple model
- Example 3
- Maintain positions
- Place limit orders
- Deal with order acks and updates
- Historical simulation
- Live trading
- Example 4
- Subscribe and nothing else
- Import
- Convert any data source to an event-log
- Encoding has header-only dependencies
Simulation requires you to either use your own event logs (automatically captured when you're running a gateway) or use sample data
conda install -y --channel https://roq-trading.com/conda/stable \
roq-data
Data can now be found in the $CONDA_PREFIX/share/roq-data/
directory.
conda install -y --channel https://roq-trading.com/conda/stable \
roq-deribit
It is easiest to start from a config file template
cp $CONDA_PREFIX/share/roq-deribit/config.toml ~/deribit.toml
Edit this file and update with your Deribit API credentials (link).
You should look for these lines and replace as appropriate
login = "YOUR_DERIBIT_LOGIN_GOES_HERE"
secret = "YOUR_DERIBIT_SECRET_GOES_HERE"
Launch the gateway
roq-deribit \
--name "deribit" \
--config_file ~/deribit.toml \
--client_listen_address ~/deribit.sock
conda install -y --channel https://roq-trading.com/conda/stable \
roq-coinbase-pro
It is easiest to start from a config file template
cp $CONDA_PREFIX/share/roq-coinbase-pro/config.toml ~/coinbase-pro.toml
Edit this file and update with your Coinbase Pro API credentials (link).
You should look for these lines and replace as appropriate
login = "YOUR_COINBASE_PRO_API_KEY_GOES_HERE"
password = "YOUR_COINBASE_PRO_PASSPHRASE_GOES_HERE"
secret = "YOUR_COINBASE_PRO_SECRET_GOES_HERE"
Launch the gateway
roq-coinbase-pro \
--name "coinbase-pro" \
--config_file ~/coinbase-pro.toml \
--client_listen_address ~/coinbase-pro.sock
The project is released under the terms of the BSD 3-Clause license.