roq-bitstamp¶
$ conda install \
--channel https://roq-trading.com/conda/unstable \
roq-bitstamp
$ conda install \
--channel https://roq-trading.com/conda/stable \
roq-bitstamp
Supports¶
Market Data
✅ |
❶ |
|
✅ |
❶ |
|
❌ |
||
✅ |
||
❌ |
||
✅ |
||
❌ |
||
❌ |
Orders & Quotes
Note
✅ = Available.
❎ = Not implemented.
❌ = Unavailable.
❶ The exchange protocol does not support streaming updates for reference data and market status.
Using¶
$ roq-bitstamp [FLAGS]
Flags¶
$ roq-bitstamp --help
--exchange(bitstamp)Exchange identifier
--fix_uri(tcp+ssl://fix.bitstamp.com:8905)FIX end-point (URI)
--fix_ping_freq(5s)ping frequency
--fix_request_timeout(15s)request timeout
--fix_debug(false)log fix messages?
--rest_uri(https://www.bitstamp.net)Exchange end-point
--rest_proxyProxy end-point
--rest_ping_freq(5s)Ping frequency
--rest_ping_path(/api/v2/ticker/btcusd)Ping path
--rest_request_timeout(30s)Request timeout
--ws_uri(wss://ws.bitstamp.net)Exchange end-point
--ws_ping_freq(5s)Ping frequency
--ws_max_subscriptions_per_stream(256)Maximum number of symbols per connection
--encode_buffer_size(1048576)Encode buffer size
--decode_buffer_size(10485760)Decode buffer size
Environments¶
$ --flagfile $CONDA_PREFIX/share/roq-bitstamp/flags/prod/flags.cfg
# flagfile for the roq-bitstamp gateway
--rest_uri=https://www.bitstamp.net
--ws_uri=wss://ws.bitstamp.net
--fix_uri=tcp+ssl://fix.bitstamp.net:8905
Configuration¶
$ --flagfile $CONDA_PREFIX/share/roq-bitstamp/config.toml
Important
This template will be replaced when the software is upgraded. Make a copy and modify to your own needs.
# config template for the roq-bitstamp gateway
symbols = [
"^btcusd[a-z]?$",
"^ethusd[a-z]?$"
]
[accounts]
[accounts.A1]
master = true
user = "YOUR_BITSTAMP_USER_ID_GOES_HERE"
login = "YOUR_BITSTAMP_API_KEY_GOES_HERE"
secret = "YOUR_BITSTAMP_SECRET_GOES_HERE"
symbols = [ ".*" ]
[users]
[users.test]
password = "1234"
symbols = ".*"
[users.trader]
password = "secret"
accounts = [ "A1" ]
symbols = [ ".*BTC.*", ".*ETH.*" ]
[rate_limits]
[rate_limits.global]
type = "ORDER_ACTION"
aggregate = true
request_limit = 100
monitor_period = "10s"
ban_period = "5m"
Comments¶
The exchange API does not support a pass-through value
It is only possible to download open orders
It does not appear to be possible to download historical order fills
The FIX interface does not support automatic order cancellation following a disconnect
Rate-limit usage is not communicated by the exchange
Only possible to support order book snapshots (see notes below)
Choice or inverted prices is a real thing
The WebSocket protocol to receive differential L2 order book updates does not support correct initialisation through synchronisation. The conclusion is that only the (top 100) snapshot L2 order book updates can be used.
The (top 100) snapshot L2 order book sometimes include choice or inverted prices (bid >= ask).