Compare commits

..

No commits in common. "76cb915702ad515aad75ff5c10c94f743611f2db" and "15ef942ab0644f8a9952b25e843174e597bbdf47" have entirely different histories.

6 changed files with 72 additions and 172 deletions

View File

@ -1,7 +1,7 @@
{
"folders": [
{
"path": "."
"path": "../../../../works/repos/config_service"
}
]
}

View File

@ -34,10 +34,8 @@
"Youtrack": {
"to_check": "Yes",
"protocol": "http",
# "host": "vendor-services.cvtt.vpn",
# "port": 8383
"host": "tasks.cvtt.net",
"port": 443
"host": "cloud23.cvtt.vpn",
"port": 8383
},
"Trading Calendar": {
"to_check": "Yes",

View File

@ -1,135 +0,0 @@
@var COORDINATOR_REST_PORT=23456
# @var COORDINATOR_WS_PORT=12345
@var PRICER_REST_PORT=23457
@var PRICER_WS_PORT=12346
@var GLOBAL_CHANNEL_PREFIX=CVTT_MU
{
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
, "algos": @inc=http://@env{CONFIG_SERVICE}/apps/common/algos
, "strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/strategies
, "risk_strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/risk_strategies
, "comm_settings": @env{CONFIG_COMM_SETTINGS}
, "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"
]
}
, "order_entry_gateway": {
"exchanges_settings": {
"COINBASE_AT": {
"mkt_data": {
"enabled": false
, "streaming": false
},
"order_entry": {
"enabled": true
, "streaming": true
},
"accounting": {
"enabled": false
, "streaming": false
}
}
}
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.OE_GW"
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.OE_GW_APP_STATUS"
, "exchanges": [
"COINBASE_AT"
]
}
, "accounting_gateway": {
"exchanges_settings": {
"COINBASE_AT": {
"mkt_data": {
"enabled": false
, "streaming": false
},
"order_entry": {
"enabled": false
, "streaming": false
},
"accounting": {
"enabled": true
, "streaming": false
}
}
}
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.ACCT_GW"
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.ACCT_GW_APP_STATUS"
, "exchanges": [
"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": {
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.BKPR"
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.BKPR_MUSVC_STATUS"
, "db": {
"server_type": "timescale",
# "cred_key": "TSDB_TRADING_CVTT_TESTDB"
"cred_key": "TSDB_CVTT_TRADINNG_PROD-01-RW"
}
}
, "risk_manager": {
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.RMGR"
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.RMGR_MUSVC_STATUS"
, "revalue_interval_sec": 10.5
}
, "pricer": {
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.PXER"
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.PXER_MUSVC_STATUS"
, "api": {
"REST": {
"port": ${PRICER_REST_PORT},
"base_url": ["POST", "http://localhost:${PRICER_REST_PORT}"]
}
, "WS": {
"url": "ws://localhost:${PRICER_WS_PORT}/ws"
}
}
}
}

View File

@ -0,0 +1,10 @@
{
"folders": [
{
"path": ".."
}
],
"settings": {
"workbench.colorTheme": "Tomorrow Night Blue"
}
}

View File

@ -43,9 +43,9 @@
"md_symbol": "ADAUSDT",
"trade_symbol": "ADAUSDT"
},
"PAIR-AVAX-USDT": {
"md_symbol": "AVAXUSDT",
"trade_symbol": "AVAXUSDT"
"PAIR-AVAX-BUSD": {
"md_symbol": "AVAXBUSD",
"trade_symbol": "AVAXBUSD"
},
"PAIR-BCH-BUSD": {
"md_symbol": "BCHBUSD",

View File

@ -9,9 +9,10 @@
, "name": "Alpaca Trading"
, "type": "EQUITY"
, "cred_key": "ALPACA_PROD"
, "order_entry": {
"credentials_key": "ALPACA_PROD"
, "class": "cvttpy_trading.exchanges.alpaca.oe_client.AlpacaOrderEntryClient"
"class": "cvttpy.exchanges.alpaca.oe_client.AlpacaOrderEntryClient"
# D E P R E C A T E D
, "REST": {
@ -38,7 +39,7 @@
}
}
, "mktdata" : {
"class": "cvttpy_trading.exchanges.alpaca.mkt_data.AlpacaStockFeed"
"class": "cvttpy.exchanges.alpaca.mkt_data.AlpacaStockFeed"
, "reconnect_secs": 2.0
# D E P R E C A T E D
@ -69,7 +70,7 @@
}
}
, "accounting": {
"class": "cvttpy_trading.exchanges.alpaca.acct_client.AlpacaAccounting"
"class": "cvttpy.exchanges.alpaca.acct_client.AlpacaAccounting"
# D E P R E C A T E D
, "REST": {
@ -94,10 +95,10 @@
, "name": "Alpaca Trading"
, "type": "EQUITY"
, "cred_key": "ALPACA_SANDBOX"
, "order_entry": {
"credentials_key": "ALPACA_SANDBOX"
, "class": "cvttpy_trading.exchanges.alpaca.oe_client.AlpacaOrderEntryClient"
"class": "cvttpy.exchanges.alpaca.oe_client.AlpacaOrderEntryClient"
# D E P R E C A T E D
, "REST": {
@ -124,7 +125,7 @@
}
}
, "mktdata" : {
"class": "cvttpy_trading.exchanges.alpaca.mkt_data.AlpacaMdFeed"
"class": "cvttpy.exchanges.alpaca.mkt_data.AlpacaMdFeed"
, "reconnect_secs": 2.0
# D E P R E C A T E D
@ -154,8 +155,7 @@
}
}
, "accounting": {
"credentials_key": "ALPACA_SANDBOX"
, "class": "cvttpy_trading.exchanges.alpaca.acct_client.AlpacaAccounting"
"class": "cvttpy.exchanges.alpaca.acct_client.AlpacaAccounting"
# D E P R E C A T E D
, "REST": {
@ -180,9 +180,11 @@
, "name": "Bitstamp"
, "type": "SPOT"
, "module" : "cvttpy.oms.exchange"
, "connector_class" : "MdOnlyExchangeConnector"
, "mktdata" : {
"class": "cvttpy_trading.exchanges.bitstamp.mkt_data.BitstampMdFeed"
"class": "cvttpy.exchanges.bitstamp.mkt_data.BitstampMdFeed"
, "reconnect_secs": 2
# D E P R E C A T E D
@ -202,7 +204,7 @@
, "type": "FUTURES"
, "mktdata" : {
"class": "cvttpy_trading.exchanges.binance.futures.mkt_data.BnbFutMktDataFeed"
"class": "cvttpy.exchanges.binance.futures.mkt_data.BnbFutMktDataFeed"
, "max_connections": 10
, "reconnect_secs": 2.0
@ -232,7 +234,7 @@
, "type": "SPOT"
, "mktdata" : {
"class": "cvttpy_trading.exchanges.binance.spot.mkt_data.BnbSpotMktDataFeed"
"class": "cvttpy.exchanges.binance.spot.mkt_data.BnbSpotMktDataFeed"
, "max_connections": 10
, "reconnect_secs": 2.0
@ -263,7 +265,7 @@
, "type": "SPOT"
, "mktdata" : {
"class": "cvttpy_trading.exchanges.binance.spot.mkt_data.BnbSpotMktDataFeed"
"class": "cvttpy.exchanges.binance.spot.mkt_data.BnbSpotMktDataFeed"
, "reconnect_secs": 10
# D E P R E C A T E D
@ -291,8 +293,16 @@
, "type": "SPOT"
, "order_entry": {
"credentials_key": "COINBASE_ADV_TRD"
"class": "cvttpy_trading.exchanges.coinbase.spot.oe_client.CoinbaseSpotOEClient"
"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": {
@ -307,8 +317,15 @@
}
, "accounting": {
"credentials_key": "COINBASE_ADV_RO"
"class": "cvttpy_trading.exchanges.coinbase.spot.account.CoinbaseSpotAccounting"
"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": {
@ -320,12 +337,16 @@
}
, "mktdata" : {
"class": "cvttpy_trading.exchanges.coinbase.spot.mkt_data.CoinbaseMdFeed"
"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"
@ -343,8 +364,11 @@
, "name": "Gemini"
, "type": "SPOT"
, "module" : "cvttpy.oms.exchange"
, "connector_class" : "MdOnlyExchangeConnector"
, "mktdata" : {
"class": "cvttpy_trading.exchanges.gemini.mkt_data.GeminiMdFeed"
"class": "cvttpy.exchanges.gemini.mkt_data.GeminiMdFeed"
, "reconnect_secs": 1
# D E P R E C A T E D
@ -365,8 +389,11 @@
, "name": "Gemini"
, "type": "SPOT"
, "module" : "cvttpy.oms.exchange"
, "connector_class" : "MdOnlyExchangeConnector"
, "mktdata" : {
"class": "cvttpy_trading.exchanges.gemini.mkt_data.GeminiMdFeed"
"class": "cvttpy.exchanges.gemini.mkt_data.GeminiMdFeed"
, "reconnect_secs": 1
# D E P R E C A T E D
@ -395,7 +422,7 @@
}
}
, "accounting": {
"class": "cvttpy_trading.exchanges.gemini.account.GeminiExchAccounting"
"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"]
@ -428,7 +455,7 @@
, "type": "SPOT"
, "mktdata" : {
"class": "cvttpy_trading.exchanges.kraken.mkt_data.KrakenMdFeed"
"class": "cvttpy.exchanges.kraken.mkt_data.KrakenMdFeed"
, "max_connections": 10
, "reconnect_secs": 2.0
@ -453,7 +480,7 @@
, "type": "SPOT"
, "mktdata" : {
"class": "cvttpy_trading.exchanges.okx.mkt_data.OkxMdFeed"
"class": "cvttpy.exchanges.okx.mkt_data.OkxMdFeed"
, "max_connections": 10
, "reconnect_secs": 2.0
@ -481,12 +508,12 @@
# , "mktdata" : {
# "class": "cvttpy_trading.exchanges.mkt_simulator.md_client.MktSimMdClientFeed"
# "class": "cvttpy.exchanges.mkt_simulator.md_client.MktSimMdClientFeed"
# "ws_url": ["WS", "ws://localhost:10180/ws"]
# }
# , "order_entry": {
# "class": "cvttpy_trading.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient"
# "class": "cvttpy.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient"
# , "REST": {
# "new_order_url": ["POST", "http://localhost:10182/order"]
@ -498,7 +525,7 @@
# "ws_url": ["WSS", "ws://localhost:10181/ws"]
# }
# , "accounting": {
# "class": "cvttpy_trading.exchanges.mkt_simulator.acct_client.MktSimAccounting"
# "class": "cvttpy.exchanges.mkt_simulator.acct_client.MktSimAccounting"
# , "REST": {
# "positions_url": ["GET", "http://localhost:10083/positions"]
# , "trades_url": ["GET", "http://localhost:10083/trades"]
@ -513,12 +540,12 @@
# , "mktdata" : {
# "class": "cvttpy_trading.exchanges.mkt_simulator.md_client.MktSimMdClientFeed"
# "class": "cvttpy.exchanges.mkt_simulator.md_client.MktSimMdClientFeed"
# "ws_url": ["WS", "ws://localhost:8080/ws"]
# }
# , "order_entry": {
# "class": "cvttpy_trading.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient"
# "class": "cvttpy.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient"
# , "REST": {
# "new_order_url": ["POST", "http://localhost:8181/order"]
@ -530,7 +557,7 @@
# "ws_url": ["WSS", "ws://localhost:8180/ws"]
# }
# , "accounting": {
# "class": "cvttpy_trading.exchanges.mkt_simulator.acct_client.MktSimAccounting"
# "class": "cvttpy.exchanges.mkt_simulator.acct_client.MktSimAccounting"
# , "REST": {
# "positions_url": ["GET", "http://localhost:8182/positions"]
# , "trades_url": ["GET", "http://localhost:8182/trades"]