Compare commits
80 Commits
76cb915702
...
42491d050c
| Author | SHA1 | Date | |
|---|---|---|---|
| 42491d050c | |||
| 2ebac80d7b | |||
| 2abce705ee | |||
| 606f0a685d | |||
| b2594d75be | |||
| 7ff811196e | |||
| 4b0309631e | |||
| 9b580edf9e | |||
| 27b46bb5fb | |||
| e07264da16 | |||
| c9bbcfdf8b | |||
| 4000cb2cec | |||
| 13dc133043 | |||
| 84bd268ac4 | |||
| 357faf0442 | |||
| 6d073efb04 | |||
| b90e1f55b2 | |||
| dd5cb32d0b | |||
| ae8d85b216 | |||
| 92466faa3e | |||
| 64aaf6d3c4 | |||
| 36c12092bb | |||
| 6f0c8acefc | |||
| a0464ad59e | |||
| d5b4886202 | |||
| 6371a713bc | |||
| 1a6c940e6d | |||
| 35e037d2bf | |||
| 4ad394e28b | |||
| 71381027fd | |||
| 58d298cc58 | |||
| ab62540c99 | |||
| 1454db27fb | |||
| aced092d0a | |||
| 3d8c3114ab | |||
| e59c4431de | |||
| edfdc4aee8 | |||
| b8d3fd905a | |||
| fa098a79a0 | |||
| fa94cba379 | |||
| 561251fec7 | |||
| 1cef86db6b | |||
| f52bc56171 | |||
| 9ae93e6132 | |||
| 98e08b86b7 | |||
| f167ee1f71 | |||
| c8c2f08c20 | |||
| 92cfbc36a6 | |||
| 3e774723c1 | |||
| 420db0fe4e | |||
| 5c028d6236 | |||
| fb390fa5e7 | |||
| e08805c75f | |||
| fed37d0729 | |||
| f5839e2d76 | |||
| 789e05c539 | |||
| a28a263aea | |||
| 6b962a489e | |||
| 9d531a87e6 | |||
| 7ead186330 | |||
| 88fccf318e | |||
| 0e41203177 | |||
| 27dd217f9a | |||
| 69f9ea6e6e | |||
| b3b6ee4b47 | |||
| 5aaa4ff2a3 | |||
| fb56028485 | |||
| 3dcdcddba9 | |||
| 42a47c68a6 | |||
| 20270da409 | |||
| af375e9587 | |||
| f8fad120d7 | |||
| 467fa58d32 | |||
| 313f535887 | |||
| 3d18791797 | |||
| 1bacfb6c42 | |||
| 89dd815ea1 | |||
| e1c581afcb | |||
| d96ae9c408 | |||
| 92a561beec |
@@ -52,6 +52,11 @@
|
|||||||
"users": ["oleg", "cvtt"],
|
"users": ["oleg", "cvtt"],
|
||||||
"docker": "true",
|
"docker": "true",
|
||||||
},
|
},
|
||||||
|
"cloud31": {
|
||||||
|
"type": "cloud",
|
||||||
|
"users": ["oleg", "cvtt"],
|
||||||
|
"docker": "true",
|
||||||
|
},
|
||||||
|
|
||||||
// ----------- B a r e M e t a l
|
// ----------- B a r e M e t a l
|
||||||
"hs01": {
|
"hs01": {
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
{
|
{
|
||||||
"TRDALGO_001": {
|
"DIRECT_ORDER_ALGO": {
|
||||||
"class": "cvttpy.trading.algos.simple.SimpleTradingAlgo"
|
"class": "cvttpy_trading.trading.algos.common.trading_algo.DirOrdTradingAlgo"
|
||||||
, "params": {}
|
, "params": {}
|
||||||
}
|
}
|
||||||
, "TRDALGO_SIMPLE_BO": {
|
, "TRDALGO_SIMPLE_BO": {
|
||||||
"class": "cvttpy.trading.algos.bid_and_offer.SimpleBidAndOfferTradingAlgo"
|
"class": "cvttpy_trading.trading.algos.bid_and_offer.SimpleBidAndOfferTradingAlgo"
|
||||||
, "params": {}
|
, "params": {}
|
||||||
}
|
}
|
||||||
, "TRDALGO_MOOMOC_01": {
|
, "TRDALGO_MOOMOC_01": {
|
||||||
"class": "cvttpy.trading.algos.moo_moc.MooMocTradingAlgo"
|
"class": "cvttpy_trading.trading.algos.moo_moc.MooMocTradingAlgo"
|
||||||
, "params": {}
|
, "params": {}
|
||||||
}
|
}
|
||||||
, "TRDALGO_TWAP01": {
|
, "TRDALGO_TWAP01": {
|
||||||
"class": "cvttpy.trading.algos.twap.TwapAlgo"
|
"class": "cvttpy_trading.trading.algos.twap.TwapAlgo"
|
||||||
, "params": {
|
, "params": {
|
||||||
"num_slices": 5
|
"num_slices": 5
|
||||||
, "duration_sec": 1500 # 25 min
|
, "duration_sec": 1500 # 25 min
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
, "TRDALGO_ICEBERG01_COINBS": {
|
, "TRDALGO_ICEBERG01_COINBS": {
|
||||||
"class": "cvttpy.trading.algos.twap.TwapAlgo"
|
"class": "cvttpy_trading.trading.algos.twap.TwapAlgo"
|
||||||
, "params": {
|
, "params": {
|
||||||
"num_slices": 5
|
"num_slices": 5
|
||||||
, "duration_sec": 1500 # 25 min #overloaded by --duration
|
, "duration_sec": 1500 # 25 min #overloaded by --duration
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
, "TRDALGO_ICEBERG01_ALPACA": {
|
, "TRDALGO_ICEBERG01_ALPACA": {
|
||||||
"class": "cvttpy.trading.algos.twap.TwapAlgo"
|
"class": "cvttpy_trading.trading.algos.twap.TwapAlgo"
|
||||||
, "params": {
|
, "params": {
|
||||||
"num_slices": 5
|
"num_slices": 5
|
||||||
, "duration_sec": 1500 # 25 min
|
, "duration_sec": 1500 # 25 min
|
||||||
|
|||||||
+46
-14
@@ -1,31 +1,63 @@
|
|||||||
# /comm
|
# /comm
|
||||||
{
|
{
|
||||||
"pubsub" : {
|
"pubsub" : {
|
||||||
"redis": {
|
"REDIS_DCKR_COMPOSE": { # docker compose used
|
||||||
"docker_microservices": {
|
"type": "redis"
|
||||||
"url": "redis://redis:6379"
|
, "url": "redis://redis:6379"
|
||||||
, "type": "redis"
|
|
||||||
, "read_timeout" : 0.01
|
, "read_timeout" : 0.01
|
||||||
, "ping_timeout_secs": 2.0
|
, "ping_timeout_secs": 2.0
|
||||||
|
, "verbose": false
|
||||||
}
|
}
|
||||||
, "localhost": {
|
, "REDIS_LCLHOST": {
|
||||||
"url": "redis://localhost"
|
"type": "redis"
|
||||||
, "type": "redis"
|
, "url": "redis://localhost"
|
||||||
, "read_timeout" : 0.01
|
, "read_timeout" : 0.01
|
||||||
, "ping_timeout_secs": 2.0
|
, "ping_timeout_secs": 2.0
|
||||||
|
, "verbose": false
|
||||||
}
|
}
|
||||||
, "localhost-2-docker": {
|
, "REDIS_LCLHOST_2_DCKR_COMPOSE": {
|
||||||
"url": "redis://localhost:16379"
|
"type": "redis"
|
||||||
, "type": "redis"
|
, "url": "redis://localhost:16379"
|
||||||
, "read_timeout" : 0.01
|
, "read_timeout" : 0.01
|
||||||
, "ping_timeout_secs": 2.0
|
, "ping_timeout_secs": 2.0
|
||||||
|
, "verbose": false
|
||||||
}
|
}
|
||||||
, "cloud29": {
|
, "REDIS_tester-01_2_DCKR_COMPOSE": { # to use docker compose service from outside
|
||||||
"url": "redis://cloud29.cvtt.vpn:6379"
|
"type": "redis"
|
||||||
, "type": "redis"
|
, "url": "redis://cvtt-tester-01.cvtt.vpn:16379"
|
||||||
, "read_timeout" : 0.01
|
, "read_timeout" : 0.01
|
||||||
, "ping_timeout_secs": 2.0
|
, "ping_timeout_secs": 2.0
|
||||||
|
, "verbose": false
|
||||||
}
|
}
|
||||||
}
|
# , "redis": {
|
||||||
|
# "docker_microservices": { # docker compose used
|
||||||
|
# "url": "redis://redis:6379"
|
||||||
|
# , "type": "redis"
|
||||||
|
# , "read_timeout" : 0.01
|
||||||
|
# , "ping_timeout_secs": 2.0
|
||||||
|
# , "verbose": false
|
||||||
|
# }
|
||||||
|
# , "localhost": {
|
||||||
|
# "url": "redis://localhost"
|
||||||
|
# , "type": "redis"
|
||||||
|
# , "read_timeout" : 0.01
|
||||||
|
# , "ping_timeout_secs": 2.0
|
||||||
|
# , "verbose": false
|
||||||
|
# }
|
||||||
|
# , "localhost-2-docker": {
|
||||||
|
# "url": "redis://localhost:16379"
|
||||||
|
# , "type": "redis"
|
||||||
|
# , "read_timeout" : 0.01
|
||||||
|
# , "ping_timeout_secs": 2.0
|
||||||
|
# , "verbose": false
|
||||||
|
# }
|
||||||
|
# , "tester-01": { # to use docker compose service from outside
|
||||||
|
# "url": "redis://cvtt-tester-01.cvtt.vpn:16379"
|
||||||
|
# , "type": "redis"
|
||||||
|
# , "read_timeout" : 0.01
|
||||||
|
# , "ping_timeout_secs": 2.0
|
||||||
|
# , "verbose": false
|
||||||
|
# }
|
||||||
|
# }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+90
-87
@@ -1,6 +1,4 @@
|
|||||||
@var COORDINATOR_REST_PORT=23456
|
@var COORDINATOR_REST_PORT=23456
|
||||||
# @var COORDINATOR_WS_PORT=12345
|
|
||||||
|
|
||||||
@var PRICER_REST_PORT=23457
|
@var PRICER_REST_PORT=23457
|
||||||
@var PRICER_WS_PORT=12346
|
@var PRICER_WS_PORT=12346
|
||||||
|
|
||||||
@@ -16,74 +14,6 @@
|
|||||||
, "comm_settings": @env{CONFIG_COMM_SETTINGS}
|
, "comm_settings": @env{CONFIG_COMM_SETTINGS}
|
||||||
, "global_channel_prefix": ${GLOBAL_CHANNEL_PREFIX}
|
, "global_channel_prefix": ${GLOBAL_CHANNEL_PREFIX}
|
||||||
|
|
||||||
, "coordinator": {
|
|
||||||
"api": {
|
|
||||||
"REST": {
|
|
||||||
"port": ${COORDINATOR_REST_PORT},
|
|
||||||
"base_url": ["POST", "http://localhost:${COORDINATOR_REST_PORT}"]
|
|
||||||
}
|
|
||||||
# , "WS": {
|
|
||||||
# "url": "ws://localhost:${COORDINATOR_WS_PORT}/ws"
|
|
||||||
# }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "market_data_gateway": {
|
|
||||||
"exchanges_settings": {
|
|
||||||
"*": {
|
|
||||||
"mkt_data": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
},
|
|
||||||
"order_entry": {
|
|
||||||
"enabled": false
|
|
||||||
, "streaming": false
|
|
||||||
},
|
|
||||||
"accounting": {
|
|
||||||
"enabled": false
|
|
||||||
, "streaming": false
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.MD_GW"
|
|
||||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.MD_GW_APP_STATUS"
|
|
||||||
, "exchanges": [
|
|
||||||
"COINBASE_AT"
|
|
||||||
, "BNBSPOT"
|
|
||||||
, "BNBFUT"
|
|
||||||
# , "KRAKEN"
|
|
||||||
# , "BITSTAMP"
|
|
||||||
# , "OKX"
|
|
||||||
# , "GEMINI"
|
|
||||||
, "ALPACA_SNDBX"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
, "order_entry_gateway": {
|
|
||||||
"exchanges_settings": {
|
|
||||||
"ALPACA_SNDBX": {
|
|
||||||
"mkt_data": {
|
|
||||||
"enabled": false
|
|
||||||
, "streaming": false
|
|
||||||
},
|
|
||||||
"order_entry": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
},
|
|
||||||
"accounting": {
|
|
||||||
"enabled": false
|
|
||||||
, "streaming": false
|
|
||||||
}
|
|
||||||
, "credentials_key": {
|
|
||||||
"read_only": "ALPACA_SANDBOX"
|
|
||||||
, "trade": "ALPACA_SANDBOX"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.OE_GW"
|
|
||||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.OE_GW_APP_STATUS"
|
|
||||||
, "exchanges": [
|
|
||||||
"ALPACA_SNDBX"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
, "accounting_gateway": {
|
, "accounting_gateway": {
|
||||||
"exchanges_settings": {
|
"exchanges_settings": {
|
||||||
"ALPACA_SNDBX": {
|
"ALPACA_SNDBX": {
|
||||||
@@ -128,39 +58,112 @@
|
|||||||
"ALPACA_SNDBX", "COINBASE_AT"
|
"ALPACA_SNDBX", "COINBASE_AT"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
, "quant": {
|
|
||||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.QUANT"
|
|
||||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.QUANT_MUSVC_STATUS"
|
|
||||||
}
|
|
||||||
, "trader": {
|
|
||||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.TRADER"
|
|
||||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.TRADER_MUSVC_STATUS"
|
|
||||||
}
|
|
||||||
, "bookkeeper": {
|
, "bookkeeper": {
|
||||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.BKPR"
|
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.BKPR"
|
||||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.BKPR_MUSVC_STATUS"
|
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.BKPR_MUSVC_STATUS"
|
||||||
, "db": {
|
, "db": {
|
||||||
"server_type": "timescale",
|
"server_type": "timescale",
|
||||||
# "cred_key": "TSDB_TRADING_CVTT_TESTDB"
|
"cred_key": "TSDB_CVTT_TESTER_01_DIRECT"
|
||||||
"cred_key": "TSDB_CVTT_TRADINNG_PROD-01-RW"
|
# "cred_key": "TSDB_CVTT_TRADINNG_PROD-01-RW"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
, "risk_manager": {
|
, "coordinator": {
|
||||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.RMGR"
|
"api": {
|
||||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.RMGR_MUSVC_STATUS"
|
"REST": {
|
||||||
, "revalue_interval_sec": 10.5
|
"port": @env{COORDINATOR_REST_PORT},
|
||||||
|
"base_url": ["POST", "http://localhost:@env{COORDINATOR_REST_PORT}"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "market_data_gateway": {
|
||||||
|
"exchanges_settings": {
|
||||||
|
"*": {
|
||||||
|
"mkt_data": {
|
||||||
|
"enabled": true
|
||||||
|
, "streaming": true
|
||||||
|
},
|
||||||
|
"order_entry": {
|
||||||
|
"enabled": false
|
||||||
|
, "streaming": false
|
||||||
|
},
|
||||||
|
"accounting": {
|
||||||
|
"enabled": false
|
||||||
|
, "streaming": false
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.MD_GW"
|
||||||
|
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.MD_GW_APP_STATUS"
|
||||||
|
, "exchanges": [
|
||||||
|
"COINBASE_AT"
|
||||||
|
, "COINBASE_FUT"
|
||||||
|
# , "BNBSPOT"
|
||||||
|
# , "BNBFUT"
|
||||||
|
# , "KRAKEN"
|
||||||
|
# , "BITSTAMP"
|
||||||
|
# , "OKX"
|
||||||
|
# , "GEMINI"
|
||||||
|
# , "ALPACA_SNDBX"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
, "order_entry_gateway": {
|
||||||
|
"exchanges_settings": {
|
||||||
|
"ALPACA_SNDBX": {
|
||||||
|
"mkt_data": {
|
||||||
|
"enabled": false
|
||||||
|
, "streaming": false
|
||||||
|
},
|
||||||
|
"order_entry": {
|
||||||
|
"enabled": true
|
||||||
|
, "streaming": true
|
||||||
|
},
|
||||||
|
"accounting": {
|
||||||
|
"enabled": false
|
||||||
|
, "streaming": false
|
||||||
|
}
|
||||||
|
, "credentials_key": {
|
||||||
|
"read_only": "ALPACA_SANDBOX"
|
||||||
|
, "trade": "ALPACA_SANDBOX"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.OE_GW"
|
||||||
|
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.OE_GW_APP_STATUS"
|
||||||
|
, "exchanges": [
|
||||||
|
"ALPACA_SNDBX"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
, "pricer": {
|
, "pricer": {
|
||||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.PXER"
|
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.PXER"
|
||||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.PXER_MUSVC_STATUS"
|
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.PXER_MUSVC_STATUS"
|
||||||
, "api": {
|
, "api": {
|
||||||
"REST": {
|
"REST": {
|
||||||
"port": ${PRICER_REST_PORT},
|
"port": @env{PRICER_REST_PORT},
|
||||||
"base_url": ["POST", "http://localhost:${PRICER_REST_PORT}"]
|
"base_url": ["POST", "http://localhost:@env{PRICER_REST_PORT}"]
|
||||||
}
|
}
|
||||||
, "WS": {
|
, "WS": {
|
||||||
"url": "ws://localhost:${PRICER_WS_PORT}/ws"
|
"url": "ws://localhost:@env{PRICER_WS_PORT}/ws"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
, "quant": {
|
||||||
|
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.QUANT"
|
||||||
|
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.QUANT_MUSVC_STATUS"
|
||||||
|
}
|
||||||
|
, "risk_manager": {
|
||||||
|
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.RMGR"
|
||||||
|
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.RMGR_MUSVC_STATUS"
|
||||||
|
, "revalue_interval_sec": 10.5
|
||||||
|
}
|
||||||
|
, "trader": {
|
||||||
|
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.TRADER"
|
||||||
|
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.TRADER_MUSVC_STATUS"
|
||||||
|
|
||||||
|
, "pos_diff_pct_trigger": 10.0
|
||||||
|
, "trading_depth": {
|
||||||
|
"BTC": 0.001
|
||||||
|
# "BTC": 0.1
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"__DUMMY__": null
|
||||||
|
|
||||||
|
, "refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||||
|
# , "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||||
|
|
||||||
|
, "exchanges_settings": {
|
||||||
|
|
||||||
|
"COINBASE_AT": {
|
||||||
|
"accounting": {
|
||||||
|
"enabled": true
|
||||||
|
, "streaming": false
|
||||||
|
}
|
||||||
|
, "credentials_key": {
|
||||||
|
"read_only": "COINBASE_ADV_RO"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -301,6 +301,25 @@
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
, "COINBASE-FUT": {
|
||||||
|
"instruments": {}
|
||||||
|
, "dynamic_instruments": {
|
||||||
|
# dynamically created instruments (futures)
|
||||||
|
"credentials_key": "COINBASE_ADV_RO"
|
||||||
|
"class": "cvttpy_trading.exchanges.coinbase.futures.market.InstrumentLoader"
|
||||||
|
, "api": {
|
||||||
|
"REST": {
|
||||||
|
"products_method": "GET"
|
||||||
|
, "products_url": "https://api.coinbase.com/api/v3/brokerage/products"
|
||||||
|
, "futures_params": {
|
||||||
|
"product_type": "FUTURE"
|
||||||
|
, "contract_expiry_type": "EXPIRING"
|
||||||
|
, "expiring_contract_status": "STATUS_UNEXPIRED"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
, "GEMINI": {
|
, "GEMINI": {
|
||||||
"instruments": {
|
"instruments": {
|
||||||
# --- PAIRs
|
# --- PAIRs
|
||||||
|
|||||||
@@ -290,6 +290,23 @@
|
|||||||
, "name": "Coinbase Advanced Trade"
|
, "name": "Coinbase Advanced Trade"
|
||||||
, "type": "SPOT"
|
, "type": "SPOT"
|
||||||
|
|
||||||
|
, "mktdata" : {
|
||||||
|
"class": "cvttpy_trading.exchanges.coinbase.spot.mkt_data.CoinbaseSpotMdFeed"
|
||||||
|
# "class": "cvttpy_trading.exchanges.coinbase.spot.mkt_data.CoinbaseMdFeed"
|
||||||
|
|
||||||
|
, "reconnect_secs": 2
|
||||||
|
, "max_connections": 10
|
||||||
|
, "price_throttle": true
|
||||||
|
|
||||||
|
, "api": {
|
||||||
|
"REST": {
|
||||||
|
"products_url": "https://api.exchange.coinbase.com/products"
|
||||||
|
},
|
||||||
|
"web_socket": {
|
||||||
|
"url": "wss://ws-feed.exchange.coinbase.com"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
, "order_entry": {
|
, "order_entry": {
|
||||||
"credentials_key": "COINBASE_ADV_TRD"
|
"credentials_key": "COINBASE_ADV_TRD"
|
||||||
"class": "cvttpy_trading.exchanges.coinbase.spot.oe_client.CoinbaseSpotOEClient"
|
"class": "cvttpy_trading.exchanges.coinbase.spot.oe_client.CoinbaseSpotOEClient"
|
||||||
@@ -319,8 +336,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, "COINBASE_FUT": {
|
||||||
|
"exchange_id": "COINBASE-FUT"
|
||||||
|
, "name": "Coinbase Advanced Trade Futures"
|
||||||
|
, "type": "FUTURES"
|
||||||
|
|
||||||
, "mktdata" : {
|
, "mktdata" : {
|
||||||
"class": "cvttpy_trading.exchanges.coinbase.spot.mkt_data.CoinbaseMdFeed"
|
"credentials_key": "COINBASE_ADV_TRD"
|
||||||
|
"class": "cvttpy_trading.exchanges.coinbase.futures.mkt_data.CoinbaseFutMdFeed"
|
||||||
|
|
||||||
, "reconnect_secs": 2
|
, "reconnect_secs": 2
|
||||||
, "max_connections": 10
|
, "max_connections": 10
|
||||||
@@ -328,13 +352,50 @@
|
|||||||
|
|
||||||
, "api": {
|
, "api": {
|
||||||
"REST": {
|
"REST": {
|
||||||
"products_url": "https://api.exchange.coinbase.com/products"
|
"products": {
|
||||||
|
"method": "GET"
|
||||||
|
, "url": "https://api.coinbase.com/api/v3/brokerage/products"
|
||||||
|
, "params": {
|
||||||
|
"product_type": "FUTURE"
|
||||||
|
, "contract_expiry_type": "EXPIRING"
|
||||||
|
, "expiring_contract_status": "STATUS_UNEXPIRED"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"web_socket": {
|
"web_socket": {
|
||||||
"url": "wss://ws-feed.exchange.coinbase.com"
|
"url": "wss://advanced-trade-ws.coinbase.com"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
, "order_entry": {
|
||||||
|
"credentials_key": "COINBASE_ADV_TRD"
|
||||||
|
"class": "cvttpy_trading.exchanges.coinbase.spot.oe_client.CoinbaseSpotOEClient"
|
||||||
|
|
||||||
|
, "api": {
|
||||||
|
"web_socket": {
|
||||||
|
"url": "wss://advanced-trade-ws.coinbase.com"
|
||||||
|
}
|
||||||
|
, "REST": {
|
||||||
|
"open_orders_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/orders/historical/batch"]
|
||||||
|
, "submit_order_url": ["POST", "https://api.coinbase.com/api/v3/brokerage/orders"]
|
||||||
|
, "cancel_order_url": ["POST", "https://api.coinbase.com/api/v3/brokerage/orders/batch_cancel"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
, "accounting": {
|
||||||
|
"credentials_key": "COINBASE_ADV_RO"
|
||||||
|
"class": "cvttpy_trading.exchanges.coinbase.spot.account.CoinbaseSpotAccounting"
|
||||||
|
|
||||||
|
, "api": {
|
||||||
|
"REST": {
|
||||||
|
"balances_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/accounts"]
|
||||||
|
, "get_trades_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/orders/historical/fills"]
|
||||||
|
, "get_transactions_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/transaction_summary"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
# ---------------------------- G
|
# ---------------------------- G
|
||||||
, "GEMINI": {
|
, "GEMINI": {
|
||||||
|
|||||||
@@ -3,5 +3,5 @@
|
|||||||
, "instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/instruments
|
, "instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/instruments
|
||||||
, "exchanges": @inc=http://@env{CONFIG_SERVICE}/refdata/exchanges
|
, "exchanges": @inc=http://@env{CONFIG_SERVICE}/refdata/exchanges
|
||||||
, "exchange_instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/exchange_instruments
|
, "exchange_instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/exchange_instruments
|
||||||
, "dynamic_instrument_exchanges": ["ALPACA"]
|
, "instant_exch_inst_ids": ["ALPACA"]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user