roq-kraken-futures#
Links#
Purpose#
Maintain network connectivity with the Kraken Futures exchange
Route exchange updates to connected clients
Route client requests to the relevant exchange accounts
Stream all messages to an event-log
Overview#
Spot |
|
Futures |
✓ |
Options |
Reference Data |
✓ |
Market Status |
✓ |
Top of Book |
✓ |
Market by Price (L2) |
✓ |
Market by Order (L3) |
|
Trade Summary |
✓ |
Statistics |
✓ |
Create |
✓ |
Modify |
✓ |
Cancel |
✓ |
Cancel All |
✓ |
Auto Cancellation |
✓ |
Positions |
✓ |
Funds |
✓ |
Data center located in (to be confirmed)
No test environment
Conda#
$ mamba install \
--channel https://roq-trading.com/conda/stable \
roq-kraken-futures
$ cp $CONDA_PREFIX/share/roq-kraken-futures/config.toml $CONFIG_FILE_PATH
# Then modify $CONFIG_FILE_PATH to match your specific configuration
$ roq-kraken-futures \
--name "kraken-futures" \
--config_file "$CONFIG_FILE_PATH" \
--client_listen_address "$UNIX_SOCKET_PATH" \
--service_listen_address "$TCP_LISTEN_PORT" \
--flagfile "$FLAG_FILE"
Config#
Flags#
$ roq-kraken-futures --help
|
Maximum order book depth. The exchange will limit order book updates to this depth. Please refer to Kraken Websockets API for further details. |
Environments#
# flagfile
--rest_uri=https://futures.kraken.com/derivatives/
--ws_uri=wss://futures.kraken.com/ws/v3
# flagfile
--rest_uri=https://demo-futures.kraken.com/derivatives/
--ws_uri=wss://demo-futures.kraken.com/ws/v3
Market Data#
Event |
Stream |
Messages |
Comments |
---|---|---|---|
MarketData |
ticker |
||
MarketData |
ticker |
||
MarketData |
book |
||
Unavailable |
|||
MarketData |
trade |
||
MarketData |
ticker |
Event |
Stream |
Messages |
Comments |
---|---|---|---|
Rest |
instruments |
||
Statistics#
Type |
Comments |
---|---|
|
(ticker) |
|
(ticker) |
|
(ticker) |
|
(ticker) |
Order Management#
Event |
Stream |
Messages |
Comments |
---|---|---|---|
DropCopy |
open_orders |
||
DropCopy |
fills |
Event |
Stream |
Messages |
Comments |
---|---|---|---|
DropCopy |
open_orders_snapshot |
||
DropCopy |
fills_snapshot |
Event |
Stream |
Messages |
Comments |
---|---|---|---|
OrderEntry |
/api/v3/sendorder |
||
OrderEntry |
/api/v3/editorder |
||
OrderEntry |
/api/v3/cancelorder |
||
OrderEntry |
/api/v3/canceallorders |
Event |
Stream |
Messages |
Comments |
---|---|---|---|
Order Types#
Type |
Comments |
---|---|
|
Mapped to |
|
Mapped to |
Time in Force#
Type |
Comments |
---|---|
|
Mapped to |
|
Mapped to |
Position Effect#
Note
Not supported
Execution Instructions#
Type |
Comments |
---|---|
|
Mapped to |
Account Management#
Event |
Stream |
Messages |
Comments |
---|---|---|---|
DropCopy |
open_positions |
||
DropCopy |
account_balances_and_margins |
Event |
Stream |
Messages |
Comments |
---|---|---|---|
Streams#
Type |
Comments |
---|---|
REST |
Primary purpose
|
Type |
Comments |
---|---|
WebSocket |
Primary purpose
Each connection
|
Type |
Comments |
---|---|
REST |
Primary purpose
Each connection
|
Type |
Comments |
---|---|
WebSocket |
Primary purpose
Each connection
|
Constraints#
The field
cliOrdId
is a string containing only web-safe characters.
Comments#
Order updates has no information about last traded price/quantity and total average price
There is a race between REST (ack) and WebSocket (update) for order actions
Some uncertainty around edit/cancel order and execution response
Statistics are using relative funding rates to be compatible with other exchanges