config_service/data/refdata/exchanges.cfg
Cryptoval Trading Technologies 3d5cdaa0f0 progress
2024-03-01 18:56:39 +00:00

332 lines
12 KiB
INI

@var DatabaseHost=cryptoval1.cvtt.vpn
# @var DatabaseHost=cryptoval1.sheynin.home
{
"__DUMMY__": {}
# ---------------------- A
, "ALPACA_SNDBX": {
# https://docs.alpaca.markets/reference/
"exchange_id": "ALPACA"
, "name": "Alpaca Trading"
, "type": "EQUITY"
, "cred_key": "ALPACA_SANDBOX"
, "order_entry": {
"class": "cvttpy.exchanges.alpaca.connector.AlpacaOrderEntryClient"
, "REST": {
"submit_order_url": ["POST", "https://paper-api.alpaca.markets/v2/orders"]
, "orders_url": ["GET", "https://paper-api.alpaca.markets/v2/orders"]
, "order_status": ["GET", "https://paper-api.alpaca.markets/v2/orders/{order_id}"]
, "cancel_order_url": ["DELETE", "https://paper-api.alpaca.markets/v2/orders/{order_id}"]
, "cancel_all_url": ["DELETE", "https://paper-api.alpaca.markets/v2/orders"]
}
, "ws_url": ["WSS", "wss://paper-api.alpaca.markets/stream"]
}
, "mktdata" : {
"class": "cvttpy.exchanges.alpaca.mkt_data.AlpacaStockFeed"
, "reconnect_secs": 2.0
# , "ws_url": ["WSS", "wss://stream.data.alpaca.markets/v2/sip"]
, "ws_url": ["WSS", "wss://stream.data.alpaca.markets/v2/iex"]
, "REST": {
}
}
, "accounting": {
"class": "cvttpy.exchanges.alpaca.account.AlpacaAccounting"
, "REST": {
"balances_url": ["GET", "https://paper-api.alpaca.markets/v2/positions"]
, "account_info_url": ["GET", "https://paper-api.alpaca.markets/v2/account"]
, "trades_url": ["GET", "https://paper-api.alpaca.markets/v2/account/activities/FILL"]
}
}
}
, "ALPACA_SNDBX-MDPORTAL": {
# https://docs.alpaca.markets/reference/
"exchange_id": "ALPACA"
, "name": "Alpaca Trading"
, "type": "EQUITY"
, "cred_key": "ALPACA_SANDBOX"
, "order_entry": {
"class": "cvttpy.exchanges.alpaca.connector.AlpacaOrderEntryClient"
, "REST": {
"submit_order_url": ["POST", "https://paper-api.alpaca.markets/v2/orders"]
, "orders_url": ["GET", "https://paper-api.alpaca.markets/v2/orders"]
, "order_status": ["GET", "https://paper-api.alpaca.markets/v2/orders/{order_id}"]
, "cancel_order_url": ["DELETE", "https://paper-api.alpaca.markets/v2/orders/{order_id}"]
, "cancel_all_url": ["DELETE", "https://paper-api.alpaca.markets/v2/orders"]
}
, "ws_url": ["WSS", "wss://paper-api.alpaca.markets/stream"]
}
, "mktdata" : {
"class": "cvttpy.exchanges.proxies.md_portal_clnt.mkt_data.MktDataPortalFeed"
}
, "accounting": {
"class": "cvttpy.exchanges.alpaca.account.AlpacaAccounting"
, "REST": {
"balances_url": ["GET", "https://paper-api.alpaca.markets/v2/positions"]
, "account_info_url": ["GET", "https://paper-api.alpaca.markets/v2/account"]
, "trades_url": ["GET", "https://paper-api.alpaca.markets/v2/account/activities/FILL"]
}
}
}
# ---------------------- B
, "BNBSPOT": {
"exchange_id": "BNBSPOT"
, "name": "Binance Spot"
, "type": "SPOT"
, "mktdata" : {
"class": "cvttpy.exchanges.binance.spot.mkt_data.BnbSpotMultiWsFeed"
, "max_connections": 10
, "reconnect_secs": 2.0
, "ws_url": ["WSS", "wss://stream.binance.com/ws"]
, "REST": {
# https://api.binance.com/api/v3/depth?symbol=BNBBTC&limit=1000
"depth_snapshot_url": ["GET", "https://api.binance.com/api/v3/depth"],
}
}
}
, "BNBFUT": {
"exchange_id": "BNBFUT"
, "name": "Binance Futures USD-M"
, "type": "FUTURES"
, "mktdata" : {
"class": "cvttpy.exchanges.binance.futures.mkt_data.BnbFutMultiWsFeed"
, "max_connections": 10
, "reconnect_secs": 2.0
, "ws_url": ["WSS", "wss://fstream.binance.com/ws"]
, "REST": {
# https://fapi.binance.com/fapi/v1/depth?symbol=BNBBTC&limit=1000
"depth_snapshot_url": ["GET", "https://fapi.binance.com/fapi/v1/depth"],
}
}
}
, "BNBFUT-2": {
"exchange_id": "BNBFUT"
, "name": "Binance Futures USD-M"
, "type": "FUTURES"
, "mktdata" : {
"class": "cvttpy.exchanges.binance.futures.mkt_data.BinanceFuturesFeedWs2"
, "max_connections": 10
, "reconnect_secs": 2.0
, "ws_timeout_secs": 0.0001
, "ws_url": ["WSS", "wss://fstream.binance.com/ws"]
}
}
, "BNBFUT-BT-FEED": {
"exchange_id": "BNBFUT"
, "name": "Binance Futures USD-M"
, "type": "FUTURES"
, "mktdata" : {
"class": "cvttpy.exchanges.book_top_feed.mkt_data.BookTopFeedClient"
, "mmap_file": "/tmp/BNBFUT.MD.dat"
}
}
, "BNBSPOT_US": {
"exchange_id": "BNBSPOT_US"
, "name": "Binance.US"
, "type": "SPOT"
, "mktdata" : {
"class": "cvttpy.exchanges.binance.spot.mkt_data.BinanceSpotFeed"
, "reconnect_secs": 10
, "ws_url": ["WSS", "wss://stream.binance.us:9443/ws"]
, "REST": {
# https://api.binance.com/api/v3/depth?symbol=BNBBTC&limit=1000
"depth_snapshot_url": ["GET", "https://api.binance.com/api/v3/depth"],
}
}
}
# ---------------------- C
, "CVTT": {
"exchange_id": "CVTT"
, "name": "CVTT Executor (proxy)"
, "type": "PROXY"
, "order_entry": {
"class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient"
}
, "accounting": {
"class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient"
}
,"listen_channel_prefix": "CVTT_CLNT"
# , "executor_channel": "EXEC"
}
, "CVTT_COINBASE": {
"exchange_id": "CVTT_COINBS"
, "name": "CVTT Trader (proxy)"
, "type": "PROXY"
, "order_entry": {
"class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient"
}
, "accounting": {
"class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient"
}
,"listen_channel_prefix": "CVTT_CLNT"
, "executor_channel": "EXEC"
}
, "CVTT_COINBASE_LOCAL": {
"exchange_id": "CVTT_COINBS"
, "name": "CVTT Trader (proxy)"
, "type": "PROXY"
, "order_entry": {
"class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient"
}
,"listen_channel_prefix": "CVTT_CLNT"
, "executor_channel": "EXEC"
}
, "COINBASE_AT": {
"exchange_id": "COINBASE"
, "name": "Coinbase Advanced Trade"
, "type": "SPOT"
, "order_entry": {
"class": "cvttpy.exchanges.coinbase.spot.connector.CoinbaseSpotRestExchConnector"
, "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"]
},
"ws_url": ["WSS", "wss://advanced-trade-ws.coinbase.com"]
}
, "accounting": {
"class": "cvttpy.exchanges.coinbase.spot.account.CoinbaseSpotAccounting"
, "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" : {
"class": "cvttpy.exchanges.coinbase.spot.mkt_data.CoinbaseMultiWsFeed"
, "reconnect_secs": 2
, "max_connections": 10
, "price_throttle": true
, "ws_url": ["WSS", "wss://ws-feed.pro.coinbase.com"]
}
}
, "COINBASE_AT-MDPORTAL": {
"exchange_id": "COINBASE"
, "name": "Coinbase Advanced Trade"
, "type": "SPOT"
, "order_entry": {
"class": "cvttpy.exchanges.coinbase.spot.connector.CoinbaseSpotRestExchConnector"
, "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"]
},
"ws_url": ["WSS", "wss://advanced-trade-ws.coinbase.com"]
}
, "accounting": {
"class": "cvttpy.exchanges.coinbase.spot.account.CoinbaseSpotAccounting"
, "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" : {
"class": "cvttpy.exchanges.proxies.md_portal_clnt.mkt_data.MktDataPortalFeed"
}
}
, "BACKTEST_001": {
"exchange_id": "COINBASE"
, "name": "Coinbase Backtest"
, "type": "BACKTEST"
# , "order_entry": {
# "class": "cvttpy.exchanges.coinbase.spot.connector.CoinbaseSpotRestExchConnector"
# , "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"]
# },
# "ws_url": ["WSS", "wss://advanced-trade-ws.coinbase.com"]
# }
# , "accounting": {
# "class": "cvttpy.exchanges.coinbase.spot.account.CoinbaseSpotAccounting"
# , "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" : {
"class": "cvttpy.research.backtest.mkt_data.BacktestSimFeed"
, "db": {
"module": "cvttpy.tools.db.timescale.tsdb_client"
, "class": "TimescaleDbClient"
, "connect": {
"host": ${DatabaseHost}
, "port": 5432
, "database": "coinbase"
}
}
, "readers": [
{
"class": "cvttpy.research.time_series.ts_df_reader"
, "table": "md_trades"
, "interval": "12 hours"
, "from_time": null
}
, {
"class": "cvttpy.research.time_series.ts_df_reader"
, "table": "md_booktops"
, "interval": "12 hours"
, "from_time": null
}
]
}
}
, "MD_PORTAL": {
"exchange_id": "MD_PORTAL"
, "name": "MD Portal (proxy)"
, "type": "PROXY"
, "mktdata" : {
"class": "cvttpy.exchanges.proxies.md_portal_clnt.mkt_data.MktDataPortalFeed"
}
}
}