Compare commits
No commits in common. "42491d050cbc2e40d8f731d3bf09e71de78075a5" and "76cb915702ad515aad75ff5c10c94f743611f2db" have entirely different histories.
42491d050c
...
76cb915702
@ -52,11 +52,6 @@
|
|||||||
"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 @@
|
|||||||
{
|
{
|
||||||
"DIRECT_ORDER_ALGO": {
|
"TRDALGO_001": {
|
||||||
"class": "cvttpy_trading.trading.algos.common.trading_algo.DirOrdTradingAlgo"
|
"class": "cvttpy.trading.algos.simple.SimpleTradingAlgo"
|
||||||
, "params": {}
|
, "params": {}
|
||||||
}
|
}
|
||||||
, "TRDALGO_SIMPLE_BO": {
|
, "TRDALGO_SIMPLE_BO": {
|
||||||
"class": "cvttpy_trading.trading.algos.bid_and_offer.SimpleBidAndOfferTradingAlgo"
|
"class": "cvttpy.trading.algos.bid_and_offer.SimpleBidAndOfferTradingAlgo"
|
||||||
, "params": {}
|
, "params": {}
|
||||||
}
|
}
|
||||||
, "TRDALGO_MOOMOC_01": {
|
, "TRDALGO_MOOMOC_01": {
|
||||||
"class": "cvttpy_trading.trading.algos.moo_moc.MooMocTradingAlgo"
|
"class": "cvttpy.trading.algos.moo_moc.MooMocTradingAlgo"
|
||||||
, "params": {}
|
, "params": {}
|
||||||
}
|
}
|
||||||
, "TRDALGO_TWAP01": {
|
, "TRDALGO_TWAP01": {
|
||||||
"class": "cvttpy_trading.trading.algos.twap.TwapAlgo"
|
"class": "cvttpy.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.trading.algos.twap.TwapAlgo"
|
"class": "cvttpy.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.trading.algos.twap.TwapAlgo"
|
"class": "cvttpy.trading.algos.twap.TwapAlgo"
|
||||||
, "params": {
|
, "params": {
|
||||||
"num_slices": 5
|
"num_slices": 5
|
||||||
, "duration_sec": 1500 # 25 min
|
, "duration_sec": 1500 # 25 min
|
||||||
|
|||||||
@ -1,63 +1,31 @@
|
|||||||
# /comm
|
# /comm
|
||||||
{
|
{
|
||||||
"pubsub" : {
|
"pubsub" : {
|
||||||
"REDIS_DCKR_COMPOSE": { # docker compose used
|
"redis": {
|
||||||
"type": "redis"
|
"docker_microservices": {
|
||||||
, "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
|
|
||||||
}
|
}
|
||||||
, "REDIS_LCLHOST": {
|
, "localhost": {
|
||||||
"type": "redis"
|
"url": "redis://localhost"
|
||||||
, "url": "redis://localhost"
|
, "type": "redis"
|
||||||
, "read_timeout" : 0.01
|
, "read_timeout" : 0.01
|
||||||
, "ping_timeout_secs": 2.0
|
, "ping_timeout_secs": 2.0
|
||||||
, "verbose": false
|
|
||||||
}
|
}
|
||||||
, "REDIS_LCLHOST_2_DCKR_COMPOSE": {
|
, "localhost-2-docker": {
|
||||||
"type": "redis"
|
"url": "redis://localhost:16379"
|
||||||
, "url": "redis://localhost:16379"
|
, "type": "redis"
|
||||||
, "read_timeout" : 0.01
|
, "read_timeout" : 0.01
|
||||||
, "ping_timeout_secs": 2.0
|
, "ping_timeout_secs": 2.0
|
||||||
, "verbose": false
|
|
||||||
}
|
}
|
||||||
, "REDIS_tester-01_2_DCKR_COMPOSE": { # to use docker compose service from outside
|
, "cloud29": {
|
||||||
"type": "redis"
|
"url": "redis://cloud29.cvtt.vpn:6379"
|
||||||
, "url": "redis://cvtt-tester-01.cvtt.vpn:16379"
|
, "type": "redis"
|
||||||
, "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
|
|
||||||
# }
|
|
||||||
# }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,4 +1,6 @@
|
|||||||
@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
|
||||||
|
|
||||||
@ -14,6 +16,74 @@
|
|||||||
, "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": {
|
||||||
@ -58,112 +128,39 @@
|
|||||||
"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_CVTT_TESTER_01_DIRECT"
|
# "cred_key": "TSDB_TRADING_CVTT_TESTDB"
|
||||||
# "cred_key": "TSDB_CVTT_TRADINNG_PROD-01-RW"
|
"cred_key": "TSDB_CVTT_TRADINNG_PROD-01-RW"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
, "coordinator": {
|
|
||||||
"api": {
|
|
||||||
"REST": {
|
|
||||||
"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": {
|
|
||||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.PXER"
|
|
||||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.PXER_MUSVC_STATUS"
|
|
||||||
, "api": {
|
|
||||||
"REST": {
|
|
||||||
"port": @env{PRICER_REST_PORT},
|
|
||||||
"base_url": ["POST", "http://localhost:@env{PRICER_REST_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": {
|
, "risk_manager": {
|
||||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.RMGR"
|
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.RMGR"
|
||||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.RMGR_MUSVC_STATUS"
|
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.RMGR_MUSVC_STATUS"
|
||||||
, "revalue_interval_sec": 10.5
|
, "revalue_interval_sec": 10.5
|
||||||
}
|
}
|
||||||
, "trader": {
|
, "pricer": {
|
||||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.TRADER"
|
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.PXER"
|
||||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.TRADER_MUSVC_STATUS"
|
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.PXER_MUSVC_STATUS"
|
||||||
|
, "api": {
|
||||||
, "pos_diff_pct_trigger": 10.0
|
"REST": {
|
||||||
, "trading_depth": {
|
"port": ${PRICER_REST_PORT},
|
||||||
"BTC": 0.001
|
"base_url": ["POST", "http://localhost:${PRICER_REST_PORT}"]
|
||||||
# "BTC": 0.1
|
}
|
||||||
|
, "WS": {
|
||||||
|
"url": "ws://localhost:${PRICER_WS_PORT}/ws"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"__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,25 +301,6 @@
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
, "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,9 +290,37 @@
|
|||||||
, "name": "Coinbase Advanced Trade"
|
, "name": "Coinbase Advanced Trade"
|
||||||
, "type": "SPOT"
|
, "type": "SPOT"
|
||||||
|
|
||||||
|
, "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"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
, "mktdata" : {
|
, "mktdata" : {
|
||||||
"class": "cvttpy_trading.exchanges.coinbase.spot.mkt_data.CoinbaseSpotMdFeed"
|
"class": "cvttpy_trading.exchanges.coinbase.spot.mkt_data.CoinbaseMdFeed"
|
||||||
# "class": "cvttpy_trading.exchanges.coinbase.spot.mkt_data.CoinbaseMdFeed"
|
|
||||||
|
|
||||||
, "reconnect_secs": 2
|
, "reconnect_secs": 2
|
||||||
, "max_connections": 10
|
, "max_connections": 10
|
||||||
@ -307,95 +335,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
, "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"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
, "COINBASE_FUT": {
|
|
||||||
"exchange_id": "COINBASE-FUT"
|
|
||||||
, "name": "Coinbase Advanced Trade Futures"
|
|
||||||
, "type": "FUTURES"
|
|
||||||
|
|
||||||
, "mktdata" : {
|
|
||||||
"credentials_key": "COINBASE_ADV_TRD"
|
|
||||||
"class": "cvttpy_trading.exchanges.coinbase.futures.mkt_data.CoinbaseFutMdFeed"
|
|
||||||
|
|
||||||
, "reconnect_secs": 2
|
|
||||||
, "max_connections": 10
|
|
||||||
, "price_throttle": true
|
|
||||||
|
|
||||||
, "api": {
|
|
||||||
"REST": {
|
|
||||||
"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": {
|
|
||||||
"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
|
||||||
, "instant_exch_inst_ids": ["ALPACA"]
|
, "dynamic_instrument_exchanges": ["ALPACA"]
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user