@var DatabaseHost=cryptoval1.cvtt.vpn # @var DatabaseHost=cryptoval1.sheynin.home { "__DUMMY__": {} # ----------------------------- A , "ALPACA_PROD": { # https://docs.alpaca.markets/reference/ "exchange_id": "ALPACA" , "name": "Alpaca Trading" , "type": "EQUITY" , "cred_key": "ALPACA_PROD" , "order_entry": { "class": "cvttpy.exchanges.alpaca.oe_client.AlpacaOrderEntryClient" # D E P R E C A T E D , "REST": { "submit_order_url": ["POST", "https://api.alpaca.markets/v2/orders"] , "orders_url": ["GET", "https://api.alpaca.markets/v2/orders"] , "order_status": ["GET", "https://api.alpaca.markets/v2/orders/{order_id}"] , "cancel_order_url": ["DELETE", "https://api.alpaca.markets/v2/orders/{order_id}"] , "cancel_all_url": ["DELETE", "https://api.alpaca.markets/v2/orders"] } , "ws_url": ["WSS", "wss://api.alpaca.markets/stream"] # D E P R E C A T E D , "api": { "web_socket": { "url": "wss://api.alpaca.markets/stream" } , "REST": { "submit_order_url": ["POST", "https://api.alpaca.markets/v2/orders"] , "orders_url": ["GET", "https://api.alpaca.markets/v2/orders"] , "order_status": ["GET", "https://api.alpaca.markets/v2/orders/{order_id}"] , "cancel_order_url": ["DELETE", "https://api.alpaca.markets/v2/orders/{order_id}"] , "cancel_all_url": ["DELETE", "https://api.alpaca.markets/v2/orders"] } } } , "mktdata" : { "class": "cvttpy.exchanges.alpaca.mkt_data.AlpacaStockFeed" , "reconnect_secs": 2.0 # D E P R E C A T E D , "ws_url": ["WSS", "wss://stream.data.alpaca.markets/v2/iex"] , "REST": { "hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"] , "hist_md_quotes": ["GET", "https://data.alpaca.markets/v2/stocks/quotes"] , "hist_md_trades": ["GET", "https://data.alpaca.markets/v2/stocks/trades"] , "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"] , "assets": ["GET", "https://api.alpaca.markets/v2/assets"] # , "assets": ["GET", "https://data.alpaca.markets/v2/assets"] } # D E P R E C A T E D , "api": { "web_socket": { # "wss://stream.data.alpaca.markets/v2/sip" "url": "wss://stream.data.alpaca.markets/v2/iex" } , "REST": { "hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"] , "hist_md_quotes": ["GET", "https://data.alpaca.markets/v2/stocks/quotes"] , "hist_md_trades": ["GET", "https://data.alpaca.markets/v2/stocks/trades"] , "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"] , "assets": ["GET", "https://api.alpaca.markets/v2/assets"] # , "assets": ["GET", "https://data.alpaca.markets/v2/assets"] } } } , "accounting": { "class": "cvttpy.exchanges.alpaca.acct_client.AlpacaAccounting" # D E P R E C A T E D , "REST": { "balances_url": ["GET", "https://api.alpaca.markets/v2/positions"] , "account_info_url": ["GET", "https://api.alpaca.markets/v2/account"] , "trades_url": ["GET", "https://api.alpaca.markets/v2/account/activities/FILL"] } # D E P R E C A T E D , "api": { "REST": { "balances_url": ["GET", "https://api.alpaca.markets/v2/positions"] , "account_info_url": ["GET", "https://api.alpaca.markets/v2/account"] , "trades_url": ["GET", "https://api.alpaca.markets/v2/account/activities/FILL"] } } } } , "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.oe_client.AlpacaOrderEntryClient" # D E P R E C A T E D , "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"] # D E P R E C A T E D , "api": { "web_socket": { "url": "wss://paper-api.alpaca.markets/stream" } , "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"] } } } , "mktdata" : { "class": "cvttpy.exchanges.alpaca.mkt_data.AlpacaMdFeed" , "reconnect_secs": 2.0 # D E P R E C A T E D # , "ws_url": ["WSS", "wss://stream.data.alpaca.markets/v2/sip"] , "ws_url": ["WSS", "wss://stream.data.alpaca.markets/v2/iex"] , "REST": { "hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"] , "hist_md_quotes": ["GET", "https://data.alpaca.markets/v2/stocks/quotes"] , "hist_md_trades": ["GET", "https://data.alpaca.markets/v2/stocks/trades"] , "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"] , "assets": ["GET", "https://paper-api.alpaca.markets/v2/assets"] # , "assets": ["GET", "https://data.alpaca.markets/v2/assets"] } # D E P R E C A T E D , "api": { "web_socket": { "url": "wss://stream.data.alpaca.markets/v2/iex" } , "REST": { "hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"] , "hist_md_quotes": ["GET", "https://data.alpaca.markets/v2/stocks/quotes"] , "hist_md_trades": ["GET", "https://data.alpaca.markets/v2/stocks/trades"] , "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"] , "assets": ["GET", "https://paper-api.alpaca.markets/v2/assets"] } } } , "accounting": { "class": "cvttpy.exchanges.alpaca.acct_client.AlpacaAccounting" # D E P R E C A T E D , "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"] } # D E P R E C A T E D , "api": { "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 , "BITSTAMP": { "exchange_id": "BITSTAMP" , "name": "Bitstamp" , "type": "SPOT" , "module" : "cvttpy.oms.exchange" , "connector_class" : "MdOnlyExchangeConnector" , "mktdata" : { "class": "cvttpy.exchanges.bitstamp.mkt_data.BitstampMdFeed" , "reconnect_secs": 2 # D E P R E C A T E D , "ws_url": ["WSS", "wss://ws.bitstamp.net"] # D E P R E C A T E D , "api": { "web_socket": { "url": "wss://ws.bitstamp.net" } } } } , "BNBFUT": { "exchange_id": "BNBFUT" , "name": "Binance Futures USD-M" , "type": "FUTURES" , "mktdata" : { "class": "cvttpy.exchanges.binance.futures.mkt_data.BnbFutMktDataFeed" , "max_connections": 10 , "reconnect_secs": 2.0 # D E P R E C A T E D , "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"], } # D E P R E C A T E D , "api": { "web_socket": { "url": "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"], } } } } , "BNBSPOT": { "exchange_id": "BNBSPOT" , "name": "Binance Spot" , "type": "SPOT" , "mktdata" : { "class": "cvttpy.exchanges.binance.spot.mkt_data.BnbSpotMktDataFeed" , "max_connections": 10 , "reconnect_secs": 2.0 # D E P R E C A T E D , "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"], } # D E P R E C A T E D , "api": { "web_socket": { "url": "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"], } } } } , "BNBSPOT_US": { "exchange_id": "BNBSPOT_US" , "name": "Binance.US" , "type": "SPOT" , "mktdata" : { "class": "cvttpy.exchanges.binance.spot.mkt_data.BnbSpotMktDataFeed" , "reconnect_secs": 10 # D E P R E C A T E D , "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"], } # D E P R E C A T E D , "api": { "web_socket": { "url": "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"], } } } } , "COINBASE_AT": { "exchange_id": "COINBASE" , "name": "Coinbase Advanced Trade" , "type": "SPOT" , "order_entry": { "class": "cvttpy.exchanges.coinbase.spot.oe_client.CoinbaseSpotOEClient" # D E P R E C A T E D # , "ws_url": ["WSS", "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"] # } # D E P R E C A T E D , "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": { "class": "cvttpy.exchanges.coinbase.spot.account.CoinbaseSpotAccounting" # D E P R E C A T E D # , "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"] # } # D E P R E C A T E D , "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" : { "class": "cvttpy.exchanges.coinbase.spot.mkt_data.CoinbaseMdFeed" , "reconnect_secs": 2 , "max_connections": 10 , "price_throttle": true # D E P R E C A T E D # , "ws_url": ["WSS", "wss://ws-feed.exchange.coinbase.com"] # D E P R E C A T E D , "api": { "REST": { "products_url": "https://api.exchange.coinbase.com/products" }, "web_socket": { "url": "wss://ws-feed.exchange.coinbase.com" } } } } # ---------------------------- G , "GEMINI": { # https://docs.gemini.com/rest-api "exchange_id": "GEMINI" , "name": "Gemini" , "type": "SPOT" , "module" : "cvttpy.oms.exchange" , "connector_class" : "MdOnlyExchangeConnector" , "mktdata" : { "class": "cvttpy.exchanges.gemini.mkt_data.GeminiMdFeed" , "reconnect_secs": 1 # D E P R E C A T E D , "ws_url": ["WSS" , "wss://api.gemini.com/v2/marketdata"] # D E P R E C A T E D , "api": { "web_socket": { "url": "wss://api.gemini.com/v2/marketdata" } } } } , "GEMINI-SNDBX": { # https://docs.gemini.com/rest-api "exchange_id": "GEMINI" , "name": "Gemini" , "type": "SPOT" , "module" : "cvttpy.oms.exchange" , "connector_class" : "MdOnlyExchangeConnector" , "mktdata" : { "class": "cvttpy.exchanges.gemini.mkt_data.GeminiMdFeed" , "reconnect_secs": 1 # D E P R E C A T E D , "ws_url": ["WSS" , "wss://api.sandbox.gemini.com/v2/marketdata"] # D E P R E C A T E D , "api": { "web_socket": { "url": "wss://api.sandbox.gemini.com/v2/marketdata" } } } , "order_entry": { # D E P R E C A T E D "REST": { "order_status_url": ["POST", "https://api.sandbox.gemini.com/v1/order/status"] , "cancel_all_url": ["POST", "https://api.sandbox.gemini.com/v1/order/cancel/all"] } # D E P R E C A T E D , "api": { "REST": { "order_status_url": ["POST", "https://api.sandbox.gemini.com/v1/order/status"] , "cancel_all_url": ["POST", "https://api.sandbox.gemini.com/v1/order/cancel/all"] } } } , "accounting": { "class": "cvttpy.exchanges.gemini.account.GeminiExchAccounting" # D E P R E C A T E D , "REST": { "open_orders_url": ["POST", "https://api.sandbox.gemini.com/v1/orders"] , "order_status_url": ["POST", "https://api.sandbox.gemini.com/v1/order/status"] , "balances_url": ["POST", "https://api.sandbox.gemini.com/v1/balances"] , "positions_url": ["POST", "https://api.sandbox.gemini.com/v1/positions"] , "trades_url": ["POST", "https://api.sandbox.gemini.com/v1/mytrades"] , "symbol_url": ["GET", "https://api.sandbox.gemini.com/v1/symbols/details"] , "margin_url": ["POST", "https://api.sandbox.gemini.com/v1/margin"] } # D E P R E C A T E D , "api": { "REST": { "open_orders_url": ["POST", "https://api.sandbox.gemini.com/v1/orders"] , "order_status_url": ["POST", "https://api.sandbox.gemini.com/v1/order/status"] , "balances_url": ["POST", "https://api.sandbox.gemini.com/v1/balances"] , "positions_url": ["POST", "https://api.sandbox.gemini.com/v1/positions"] , "trades_url": ["POST", "https://api.sandbox.gemini.com/v1/mytrades"] , "symbol_url": ["GET", "https://api.sandbox.gemini.com/v1/symbols/details"] , "margin_url": ["POST", "https://api.sandbox.gemini.com/v1/margin"] } } } } # ---------------------------- K , "KRAKEN": { "exchange_id": "KRAKEN" , "name": "KRAKEN" , "type": "SPOT" , "mktdata" : { "class": "cvttpy.exchanges.kraken.mkt_data.KrakenMdFeed" , "max_connections": 10 , "reconnect_secs": 2.0 # D E P R E C A T E D , "ws_url": ["WSS", "wss://ws.kraken.com/v2"] , "REST": {} # D E P R E C A T E D , "api": { "web_socket": { "url": "wss://ws.kraken.com/v2" } , "REST": {} } } } # ---------------------------- O , "OKX": { "exchange_id": "OKX" , "name": "OKX" , "type": "SPOT" , "mktdata" : { "class": "cvttpy.exchanges.okx.mkt_data.OkxMdFeed" , "max_connections": 10 , "reconnect_secs": 2.0 # D E P R E C A T E D , "ws_url": ["WSS", "wss://ws.okx.com:8443/ws/v5/public"] , "REST": {} # D E P R E C A T E D , "api": { "web_socket": { "url": "wss://ws.okx.com:8443/ws/v5/public" } , "REST": {} } } } } # , "ALPACA_SIM": { # # https://docs.alpaca.markets/reference/ # "exchange_id": "ALPACA" # , "name": "Alpaca Trading" # , "type": "EQUITY" # , "mktdata" : { # "class": "cvttpy.exchanges.mkt_simulator.md_client.MktSimMdClientFeed" # "ws_url": ["WS", "ws://localhost:10180/ws"] # } # , "order_entry": { # "class": "cvttpy.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient" # , "REST": { # "new_order_url": ["POST", "http://localhost:10182/order"] # , "cancel_order_url": ["POST", "http://localhost:10182/cancel"] # , "cancel_all_url": ["POST", "http://localhost:10182/cancel_all"] # , "open_orders_url": ["GET", "http://localhost:10182/open_orders"] # , "order_status_url": ["GET", "http://localhost:10182/order_status"] # }, # "ws_url": ["WSS", "ws://localhost:10181/ws"] # } # , "accounting": { # "class": "cvttpy.exchanges.mkt_simulator.acct_client.MktSimAccounting" # , "REST": { # "positions_url": ["GET", "http://localhost:10083/positions"] # , "trades_url": ["GET", "http://localhost:10083/trades"] # } # } # } # , "COINBASE_SIM": { # "exchange_id": "COINBASE" # , "name": "Coinbase Advanced Trade (Simulation)" # , "type": "SPOT" # , "mktdata" : { # "class": "cvttpy.exchanges.mkt_simulator.md_client.MktSimMdClientFeed" # "ws_url": ["WS", "ws://localhost:8080/ws"] # } # , "order_entry": { # "class": "cvttpy.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient" # , "REST": { # "new_order_url": ["POST", "http://localhost:8181/order"] # , "cancel_order_url": ["POST", "http://localhost:8181/cancel"] # , "cancel_all_url": ["POST", "http://localhost:8181/cancel_all"] # , "open_orders_url": ["GET", "http://localhost:8181/open_orders"] # , "order_status_url": ["GET", "http://localhost:8181/order_status"] # }, # "ws_url": ["WSS", "ws://localhost:8180/ws"] # } # , "accounting": { # "class": "cvttpy.exchanges.mkt_simulator.acct_client.MktSimAccounting" # , "REST": { # "positions_url": ["GET", "http://localhost:8182/positions"] # , "trades_url": ["GET", "http://localhost:8182/trades"] # } # } # }