diff --git a/data/apps/cvtt.cfg b/data/apps/cvtt.cfg new file mode 100644 index 0000000..6138b22 --- /dev/null +++ b/data/apps/cvtt.cfg @@ -0,0 +1,121 @@ +@var CONFIG_SVC_HOST=cloud11.cvtt.vpn +{ + "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata + , "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis + , "cvttcomm": { + "type": "redis" + , "redis_settings": "localhost" + } + + , "books": { + "CVTT_BK01": {} + } + , "backtest": { + # Backtest Placeholder + } + # -------------------------------------------------------------------- + , "trader": { + "app_channel": "TRDR" + , "exchanges_settings": { + "COINBASE_AT": { + "mkt_data": { + "enabled": true + , "streaming": true + }, + } + } + , "algos": { + "TRDALGO_001": { + "class": "cvttpy.trading.algos.simple.SimpleTradingAlgo" + , "params": {} + } + } + , "trading_pos_diff_pct_trigger": 10.0 + } + # -------------------------------------------------------------------- + "executor": { + "app_channel": "EXEC" + , "exchanges_settings": { + "COINBASE_AT": { + "order_entry": { + "enabled": true + , "streaming": true + }, + "mkt_data": { + "enabled": false + , "streaming": false + }, + "accounting": { + "enabled": false + , "streaming": false + } + , "credentials_key": { + "read_only": "COINBASE_ADV_RO" + , "trade": "COINBASE_ADV_TRD" + } + } + } + } + # -------------------------------------------------------------------- + , "quant": { + "app_channel": "QUANT" + , "strategies": { + "CVTT_QST001": { + "class": "cvttpy.trading.strategies.test_strat.TestStrategy" + , "params": { + "dummy": "dummy" + } + } + } + , "exchanges_settings": { + "COINBASE_AT": { + "mkt_data": { + "enabled": true + , "streaming": true + }, + } + } + } + # -------------------------------------------------------------------- + , "risk_manager": { + "app_channel": "RMGR" + , "books": { + "CVTT_BK01": {} + } + "book": "CVTT_BK01" + , "database": { + "positions_table": "cvtt_positions" + , "credentials_key": { + "write": "CVTT_DB_01" + , "read_only": "CVTT_DB_01" + } + } + , "positions": { + "load_interval_sec": 10.0 + , "to_store_zero_positions": false + , "to_save_unchanged_positions": false + } + , "publish_value_interval": 10.0 + , "exchanges_settings": { + "COINBASE_AT": { + "order_entry": { + "enabled": false + , "streaming": false + }, + "mkt_data": { + "enabled": true + , "streaming": true + }, + "accounting": { + "enabled": true + , "streaming": false + } + , "credentials_key": { + "trade": "COINBASE_ADV" + "read_only": "COINBASE_ADV_RO" + } + } + } + } +} + diff --git a/data/apps/executor_app.cfg b/data/apps/executor_app.cfg index 07da076..fb4fdfb 100644 --- a/data/apps/executor_app.cfg +++ b/data/apps/executor_app.cfg @@ -1,6 +1,7 @@ { "refdata": @inc=http://cloud11.cvtt.vpn:6789/refdata/refdata , "redis": @inc=http://cloud11.cvtt.vpn:6789/apps/redis + , "cvttcomm": @inc=http://cloud11.cvtt.vpn:6789/apps/cvttcomm , "exchanges_settings": { "COINBASE_AT": { "order_entry": { diff --git a/data/apps/md_recorder.cfg b/data/apps/md_recorder.cfg index cdc2786..ba1de9e 100644 --- a/data/apps/md_recorder.cfg +++ b/data/apps/md_recorder.cfg @@ -3,8 +3,6 @@ { "md_recorder": { "db": { - #"module": "cvttpy.tools.db.timescale.tsdb_client" - #, "class": "TimescaleDbClient" "class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient" , "connect": { "host": "cryptoval1.cvtt.vpn" @@ -68,7 +66,7 @@ } } } - + # ---------------------------------- , "refdata": @inc=http://cloud11.cvtt.vpn:6789/refdata/refdata , "exchanges_settings": { diff --git a/data/apps/redis.cfg b/data/apps/redis.cfg index 0862d21..dee52ff 100644 --- a/data/apps/redis.cfg +++ b/data/apps/redis.cfg @@ -1,23 +1,16 @@ { - "localhost": { + "*": { "url": "redis://localhost" - , "app_channels": { - "executor": "EXEC" - , "risk_manager": "RMGR" - , "trader": "TRDR" - , "quant": "QANT" - } , "read_timeout" : 0.01 - , "ping_timeout_secs": 1.0 + , "ping_timeout_secs": 2.0 + } + , "localhost": { + "url": "redis://localhost" + , "read_timeout" : 0.01 + , "ping_timeout_secs": 2.0 } , "cloud17": { "url": "redis://cloud17.cvtt.vpn" - , "app_channels": { - "executor": "EXEC" - , "risk_manager": "RMGR" - , "trader": "TRDR" - , "quant": "QANT" - } , "read_timeout" : 0.01 , "ping_timeout_secs": 2.0 } diff --git a/data/apps/risk_manager_app.cfg b/data/apps/risk_manager_app.cfg index 9caf9a9..accc423 100644 --- a/data/apps/risk_manager_app.cfg +++ b/data/apps/risk_manager_app.cfg @@ -2,6 +2,7 @@ { "refdata": @inc=http://cloud11.cvtt.vpn:6789/refdata/refdata + , "cvttcomm": @inc=http://cloud11.cvtt.vpn:6789/apps/cvttcomm , "redis": @inc=http://cloud11.cvtt.vpn:6789/apps/redis , "risk_manager": { "book": "CVTT_BK01" @@ -16,7 +17,6 @@ "load_interval_sec": 10.0 , "to_store_zero_positions": false , "to_save_unchanged_positions": false - , "to_save_unchanged_positions": false } , "publish_value_interval": 10.0 } diff --git a/data/apps/tests/send_order_cvtt.cfg b/data/apps/tests/send_order_cvtt.cfg index e956e64..e06e28d 100644 --- a/data/apps/tests/send_order_cvtt.cfg +++ b/data/apps/tests/send_order_cvtt.cfg @@ -1,5 +1,7 @@ { - "__DUMMY__": null + "refdata": @inc=http://cloud11.cvtt.vpn:6789/refdata/refdata + , "redis": @inc=http://cloud11.cvtt.vpn:6789/apps/redis + , "cvttcomm": @inc=http://cloud11.cvtt.vpn:6789/apps/cvttcomm , "exchanges_settings": { "CVTT_COINBASE": { @@ -18,6 +20,5 @@ # } } } - , "refdata": @inc=http://cloud11.cvtt.vpn:6789/refdata/refdata } diff --git a/data/apps/trader_app.cfg b/data/apps/trader_app.cfg index 4a5bf57..ef52996 100644 --- a/data/apps/trader_app.cfg +++ b/data/apps/trader_app.cfg @@ -1,5 +1,6 @@ { "refdata": @inc=http://cloud11.cvtt.vpn:6789/refdata/refdata + , "cvttcomm": @inc=http://cloud11.cvtt.vpn:6789/apps/cvttcomm , "redis": @inc=http://cloud11.cvtt.vpn:6789/apps/redis , "exchanges_settings": { "COINBASE_AT": { @@ -10,6 +11,16 @@ } } , "trader": { + "books": { + "CVTT_BK01": {} + } + , "algos": { + "TRDALGO_001": { + "class": "cvttpy.trading.algos.simple.SimpleTradingAlgo" + , "params": {} + } + } + , "trading_pos_diff_pct_trigger": 10.0 } } diff --git a/data/refdata/exchanges.cfg b/data/refdata/exchanges.cfg index 68abafc..57f37b0 100644 --- a/data/refdata/exchanges.cfg +++ b/data/refdata/exchanges.cfg @@ -1,3 +1,5 @@ +@var DatabaseHost=cryptoval1.cvtt.vpn +# @var DatabaseHost=cryptoval1.sheynin.home { "__DUMMY__": {} # ---------------------- C @@ -13,6 +15,10 @@ , "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": { @@ -26,6 +32,11 @@ , "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": { @@ -63,6 +74,11 @@ , "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 @@ -75,12 +91,11 @@ "class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient" } - , "redis": { - "url": "redis://cloud17.cvtt.vpn" - ,"listen_channel_prefix": "CVTT_CLNT" - , "executor_channel": "EXEC" - , "ping_timeout_secs": 2.0 + , "accounting": { + "class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient" } + ,"listen_channel_prefix": "CVTT_CLNT" + , "executor_channel": "EXEC" } , "CVTT_COINBASE_LOCAL": { "exchange_id": "CVTT_COINBS" @@ -162,7 +177,7 @@ "module": "cvttpy.tools.db.timescale.tsdb_client" , "class": "TimescaleDbClient" , "connect": { - "host": "cryptoval1.cvtt.vpn" + "host": ${DatabaseHost} , "port": 5432 , "database": "coinbase" }