roq-kucoin-futures#
Links#
Supports#
Spot |
|
Futures |
✓ |
Options |
|
Combos |
Reference Data |
✓ |
Market Status |
✓ |
Top of Book |
✓ |
Market by Price |
✓ |
Market by Order |
|
Trade Summary |
✓ |
Statistics |
✓ |
Create |
✓ |
Modify |
|
Cancel |
✓ |
Cancel All |
✓ |
Auto-Cancel |
Positions |
✓ |
Funds |
✓ |
Installing#
$ mamba install \
--channel https://roq-trading.com/conda/stable \
roq-kucoin-futures
$ mamba install \
--channel https://roq-trading.com/conda/unstable \
roq-kucoin-futures
Using#
$ roq-kucoin-futures \
--name "kucoin-futures" \
--config_file $CONFIG_FILE_PATH \
--client_listen_address $UNIX_SOCKET_PATH \
--flagfile $ENVIRONMENT_FLAGFILE
Flags#
$ roq-kucoin-futures --help
--exchange
(kucoin-futures
)Exchange identifier
--api
(v1
)API (
v1
orv2
)
--rest_uri
(https://api-sandbox-futures.kucoin.com
)Exchange end-point
--rest_proxy
Proxy end-point
--rest_ping_freq
(5s
)Ping frequency
--rest_ping_path
(/api/v1/status
)Ping path
--rest_request_timeout
(30s
)Request timeout
--rest_token_refresh_freq
(8h
)Token refresh frequency
--ws_ping_freq
(5s
)Ping frequency
--ws_request_timeout
(15s
)Request timeout
--ws_max_subscriptions_per_stream
(16
)Maximum number of symbols per connection
--ws_subscribe_ticker_v2
(false
)Subscribe ticker v2?
--ws_mbp_request_delay
(500ms
)Request delay
--ws_mbp_request_max_retries
(0
)Request max retries
--mbp_allow_price_inversion
(false
)Allow price inversion?
--request_limit
(100
)Maximum number of requests per interval
--request_limit_interval
(10s
)Monitor interval
--encode_buffer_size
(1048576
)Encode buffer size
--decode_buffer_size
(10485760
)Decode buffer size
Environments#
$ $CONDA_PREFIX/share/roq-kucoin-futures/flags/prod/flags.cfg
# flagfile for the roq-kucoin-futures gateway
--rest_uri=https://api-futures.kucoin.com
$ $CONDA_PREFIX/share/roq-kucoin-futures/flags/test/flags.cfg
# flagfile for the roq-kucoin-futures gateway
--rest_uri=https://api-sandbox-futures.kucoin.com
Configuration#
$ $CONDA_PREFIX/share/roq-kucoin-futures/config.toml
Important
The template will be replaced when the software is upgraded. Make a copy and modify to your needs.
symbols = [
"^ETHUSD[A-Z]M$",
"^XBTUSD[A-Z]M$"
]
[accounts]
[accounts.A1]
master = true
login = "YOUR_KUCOIN_FUTURES_API_KEY_GOES_HERE"
password = "YOUR_KUCOIN_FUTURES_PASSPHRASE_GOES_HERE"
secret = "YOUR_KUCOIN_FUTURES_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"
Market Data#
Event |
Stream |
Messages |
Comments |
---|---|---|---|
MarketData |
/contract/instrument |
||
MarketData |
/contract/instrument |
||
MarketData |
/contractMarket/tickerV2 or /contractMarket/ticker |
||
MarketData |
/contractMarket/level2 |
||
MarketData |
/contractMarket/execution |
||
MarketData |
/contract/announcement |
Event |
Stream |
Messages |
Comments |
---|---|---|---|
Rest |
/api/v1/contracts/active |
||
Rest |
/api/v1/contracts/active |
||
Rest |
/api/v1/level2/snapshot |
||
Statistics#
Type |
Comments |
---|---|
|
mark_index_price.mark_price |
|
mark_index_price.index_value |
|
funding_rate.funding_rate |
|
funding_begin.funding_rate |
|
snapshot_24h.volume |
Order Management#
Event |
Stream |
Messages |
Comments |
---|---|---|---|
DropCopy |
/contractMarket/tradeOrders |
||
Event |
Stream |
Messages |
Comments |
---|---|---|---|
OrderEntry |
GET /api/v1/orders |
It’s only possible to poll? |
|
OrderEntry |
GET /api/v1/fills |
It’s only possible to poll? |
Event |
Stream |
Messages |
Comments |
---|---|---|---|
OrderEntry |
POST /api/v1/orders |
||
OrderEntry |
DELETE /api/v1/orders/{order-id} |
||
OrderEntry |
DELETE /api/v1/orders |
Event |
Stream |
Messages |
Comments |
---|---|---|---|
Order Types#
TBD
Time in Force#
TBD
Position Effect#
TBD
Execution Instructions#
TBD
Account Management#
Event |
Stream |
Messages |
Comments |
---|---|---|---|
DropCopy |
/contract/position:{symbol} |
||
DropCopy |
/contractAccount/wallet |
Event |
Stream |
Messages |
Comments |
---|---|---|---|
OrderEntry |
GET /api/v1/position |
||
Streams#
Type |
Comments |
---|---|
REST |
Primary purpose
|
Type |
Comments |
---|---|
WebSocket |
Primary purpose
Each connection
|
Constraints#
It does not appear to be possible to subscribe all symbols more than once per IP address.
Comments#
Orders can NOT be canceled by client order id.
Fills are not communicated in real-time (only indirectly through order updates).
There are no options to instruct the exchange to auto-cancel orders on disconnect.
API v2 has been announced. As of 2022-07-01, it is unclear when this new API will be released to production. However, it sounds like it will be a change with no transition period with support for both API’s.
2022-05-31
2022-06-24
docs