20260312
This commit is contained in:
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"CVTT_QST001": {
|
|
||||||
"class": "cvttpy.trading.strategies.test_strat.SeesawTestStrategy"
|
|
||||||
, "params": {
|
|
||||||
"dummy": "dummy"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "VWAP001": {
|
|
||||||
"class": "cvttpy.trading.strategies.vwap_strat.VWAP001"
|
|
||||||
, "params": {
|
|
||||||
"vwap_interval": "1 hour"
|
|
||||||
, "hist_md_source": {
|
|
||||||
"loader_class": "cvttpy.research.time_series.loaders.tsdb_loader.TsMdLoader"
|
|
||||||
, "credentials_key": "TSDB_MD_CVTTDATA_RO"
|
|
||||||
, "interval": "2 hours"
|
|
||||||
#, "from_time" is calculated
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "DAILY_STOCK_001": {
|
|
||||||
"class": "cvttpy.trading.strategies.daily_stocks_strat.DailyStocksStrategy"
|
|
||||||
, "params": {
|
|
||||||
"liquidate_at": "15:45" # EDT Time
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "MAN-TPOS-BY-REDIS": {
|
|
||||||
"class": "cvttpy.trading.strategies.manual_strat.TgtPosByRedisStrategy"
|
|
||||||
, "params": {
|
|
||||||
"redis_subject": "MAN_TGT_POS"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"ALPACA_SNDBX": {
|
|
||||||
"dynamic_stock_list": {
|
|
||||||
"exchange_id": "ALPACA"
|
|
||||||
, "list_source": "redis"
|
|
||||||
, "comm_settings": "/comm/pubsub/redis/cvtt-prod-eqty-01"
|
|
||||||
, "redis_key": "DAY_STOCK_LIST"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,251 +0,0 @@
|
|||||||
@var ResultPath=/tmp
|
|
||||||
|
|
||||||
{
|
|
||||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
|
||||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
|
||||||
, "comm_settings": "/comm/pubsub/redis/cloud17"
|
|
||||||
# , "cvttcomm": {
|
|
||||||
# "type": "redis"
|
|
||||||
# # , "comm_settings": "/comm/pubsub/redis/localhost"
|
|
||||||
# , "comm_settings": "/comm/pubsub/redis/cloud17"
|
|
||||||
# }
|
|
||||||
, "session_type": "PERMANENT"
|
|
||||||
, "books": {
|
|
||||||
"CVTT_BK01": {}
|
|
||||||
}
|
|
||||||
###### N E W S E C T I O N (example)
|
|
||||||
, "simulation": {
|
|
||||||
"speed_factor": 0.0,
|
|
||||||
"time_events_interval_ms": 100
|
|
||||||
}
|
|
||||||
, "market_simulator" : {
|
|
||||||
"market_data": {
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"loader_class": "cvttpy.research.time_series.loaders.tsdb_loader.TimescaleTSLoader"
|
|
||||||
, "credentials_key": "TSDB_MD_CVTTDATA_RO"
|
|
||||||
# , "interval": "4 hours"
|
|
||||||
, "interval": "2 hours"
|
|
||||||
, "from_time": "2024-04-15 09:00:00"
|
|
||||||
}
|
|
||||||
# , {
|
|
||||||
# "loader_class": "cvttpy.research.time_series.loaders.sqlite_loader.SqliteMdLoader",
|
|
||||||
# "file_name": "${SourcePath}/20240424.ALPACA.QAT.db"
|
|
||||||
# }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
, "accounting": {
|
|
||||||
"initial_positions": {
|
|
||||||
"COINBASE": {
|
|
||||||
"BTC": 0
|
|
||||||
, "USD": 1000.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "order_entry": {
|
|
||||||
"execution": {
|
|
||||||
"top_only": true
|
|
||||||
,"min_order_age_sec": 0.1
|
|
||||||
, "pricing_method": "BY_MKT_TRD_PRICE_BY_ORDER"
|
|
||||||
# , "presubscribe_md_types": ["BOOK_TOP", "TRADES"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
###### N E W S E C T I O N - end
|
|
||||||
, "backtest": {
|
|
||||||
"exchanges_settings": {
|
|
||||||
"*": {
|
|
||||||
"mkt_data": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
}
|
|
||||||
,"order_entry": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
}
|
|
||||||
,"accounting": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "source": {
|
|
||||||
"database": {
|
|
||||||
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient"
|
|
||||||
, "credentials_key": "TSDB_MD_CVTTDATA_RO"
|
|
||||||
}
|
|
||||||
# , "interval": "4 hours"
|
|
||||||
, "interval": "6 hours"
|
|
||||||
, "from_time": "2024-04-01 09:00:00"
|
|
||||||
}
|
|
||||||
, "initial_positions": {
|
|
||||||
"COINBASE": {
|
|
||||||
"BTC": 0
|
|
||||||
, "USD": 1000.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "simulation": {
|
|
||||||
"speed_factor": 0.0
|
|
||||||
}
|
|
||||||
, "execution": {
|
|
||||||
"top_only": true
|
|
||||||
,"min_order_age_sec": 0.1
|
|
||||||
, "pricing_method": "BY_MKT_TRD_PRICE_BY_ORDER"
|
|
||||||
# , "presubscribe_md_types": ["BOOK_TOP", "TRADES"]
|
|
||||||
}
|
|
||||||
, "result": {
|
|
||||||
"repository": "${ResultPath}/backtest_results.json"
|
|
||||||
, "db_file": "${ResultPath}/%T.backtest.db"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# --------------------------------------------------------------------
|
|
||||||
, "trader": {
|
|
||||||
"app_channel": "TRDR" active_exchanges_: str
|
|
||||||
|
|
||||||
, "is_short_allowed": false
|
|
||||||
, "exchanges_settings": {
|
|
||||||
"COINBASE_AT": {
|
|
||||||
"mkt_data": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "algos": {
|
|
||||||
"TRDALGO_001": {
|
|
||||||
"class": "cvttpy.trading.algos.simple.SimpleTradingAlgo"
|
|
||||||
, "params": {}
|
|
||||||
}
|
|
||||||
, "TRDALGO_MOOMOC_01": {
|
|
||||||
"class": "cvttpy.trading.algos.moo_moc.MooMocTradingAlgo"
|
|
||||||
, "params": {
|
|
||||||
},
|
|
||||||
}
|
|
||||||
, "TRDALGO_TWAP01": {
|
|
||||||
"class": "cvttpy.trading.algos.twap.BasicTwapAlgo"
|
|
||||||
, "params": {
|
|
||||||
"num_slices": 5
|
|
||||||
, "duration_sec": 1500 # 25 min
|
|
||||||
, "max_order_usd": 100
|
|
||||||
, "passive_stage_t1": 0.4 # join BBO, the rest is aggressive
|
|
||||||
, "aggressive_stage_t2": 0.4
|
|
||||||
, "aggressivity_scale": [0.5, 1.0] # 0.5 = mid, 1.0= BBO-1 tick
|
|
||||||
, "marketable_stage_added_ticks": 0
|
|
||||||
},
|
|
||||||
}
|
|
||||||
, "TRDALGO_ICEBERG01": {
|
|
||||||
"class": "cvttpy.trading.algos.twap.BasicTwapAlgo"
|
|
||||||
, "params": {
|
|
||||||
"num_slices": 5
|
|
||||||
, "duration_sec": 1500 # 25 min
|
|
||||||
, "max_order_usd": 100
|
|
||||||
, "passive_stage_t1": 0
|
|
||||||
, "aggressive_stage_t2": 0
|
|
||||||
, "aggressivity_scale": [0.5, 1.0] # 0.5 = mid, 1.0= BBO-1 tick
|
|
||||||
, "marketable_stage_added_ticks": 0
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "trading_pos_diff_pct_trigger": 10.0
|
|
||||||
, "trading_depth": {
|
|
||||||
"BTC": 0.001
|
|
||||||
# "BTC": 0.1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# --------------------------------------------------------------------
|
|
||||||
"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": @inc=http://@env{CONFIG_SERVICE}/apps/common/strategies
|
|
||||||
, "exchanges_settings": {
|
|
||||||
"COINBASE_AT": {
|
|
||||||
"mkt_data": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# --------------------------------------------------------------------
|
|
||||||
, "risk_manager": {
|
|
||||||
"app_channel": "RMGR"
|
|
||||||
, "books": {
|
|
||||||
"CVTT_BK01": {}
|
|
||||||
}
|
|
||||||
, "db": {
|
|
||||||
"positions_table": "prod.cvtt_positions"
|
|
||||||
, "cred_key": {
|
|
||||||
"write": "TSDB_TRD_CVTTDATA"
|
|
||||||
, "read_only": "TSDB_TRD_CVTTDATA"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "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": {
|
|
||||||
"mkt_data": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
},
|
|
||||||
"accounting": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": false
|
|
||||||
}
|
|
||||||
, "credentials_key": {
|
|
||||||
"trade": "COINBASE_ADV"
|
|
||||||
, "read_only": "COINBASE_ADV_RO"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "trading_recorder": {
|
|
||||||
# "format": "CSV"
|
|
||||||
# "format": "TSDB"
|
|
||||||
"format": "SQLite"
|
|
||||||
, "csv_settings": {
|
|
||||||
"order_events_file_path": "%T.order_events.csv"
|
|
||||||
"position_events_file_path": "%T.position_events.csv"
|
|
||||||
}
|
|
||||||
, "tsdb_settings": {
|
|
||||||
"db": {
|
|
||||||
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient"
|
|
||||||
, "cred_key": "TSDB_TRD_CVTTDATA_DB_TEST"
|
|
||||||
}
|
|
||||||
, "order_events_table": "backtest.trading_orders"
|
|
||||||
, "trade_events_table": "backtest.trading_trades"
|
|
||||||
, "trading_md_summary_table": "backtest.trading_md"
|
|
||||||
}
|
|
||||||
, "sqlite_settings": {
|
|
||||||
# "file_name": "/tmp/%T.cvtt_backtest.db"
|
|
||||||
"file_name": "/tmp/cvtt_backtest.db"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,214 +0,0 @@
|
|||||||
@var ResultPath=/tmp
|
|
||||||
|
|
||||||
{
|
|
||||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
|
||||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
|
||||||
, "comm_settings": "/comm/pubsub/redis/cloud17"
|
|
||||||
# , "cvttcomm": {
|
|
||||||
# "type": "redis"
|
|
||||||
# }
|
|
||||||
, "session_type": "PERMANENT"
|
|
||||||
, "books": {
|
|
||||||
"CVTT_BK01": {}
|
|
||||||
}
|
|
||||||
###### N E W S E C T I O N (example)
|
|
||||||
, "simulation": {
|
|
||||||
"speed_factor": 0.0,
|
|
||||||
"time_events_interval_ms": 100
|
|
||||||
}
|
|
||||||
, "market_simulator" : {
|
|
||||||
"market_data": {
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"loader_class": "cvttpy.research.time_series.loaders.tsdb_loader.TimescaleTSLoader"
|
|
||||||
, "credentials_key": "TSDB_MD_CVTTDATA_RO"
|
|
||||||
# , "interval": "4 hours"
|
|
||||||
, "interval": "2 hours"
|
|
||||||
, "from_time": "2024-04-15 09:00:00"
|
|
||||||
}
|
|
||||||
# , {
|
|
||||||
# "loader_class": "cvttpy.research.time_series.loaders.sqlite_loader.SqliteMdLoader",
|
|
||||||
# "file_name": "${SourcePath}/20240424.ALPACA.QAT.db"
|
|
||||||
# }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
, "accounting": {
|
|
||||||
"initial_positions": {
|
|
||||||
"COINBASE": {
|
|
||||||
"BTC": 0
|
|
||||||
, "USD": 1000.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "order_entry": {
|
|
||||||
"execution": {
|
|
||||||
"top_only": true
|
|
||||||
,"min_order_age_sec": 0.1
|
|
||||||
, "pricing_method": "BY_MKT_TRD_PRICE_BY_ORDER"
|
|
||||||
# , "presubscribe_md_types": ["BOOK_TOP", "TRADES"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
###### N E W S E C T I O N - end
|
|
||||||
, "backtest": {
|
|
||||||
"exchanges_settings": {
|
|
||||||
"*": {
|
|
||||||
"mkt_data": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
}
|
|
||||||
,"order_entry": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
}
|
|
||||||
,"accounting": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "source": {
|
|
||||||
"loader_class": "cvttpy.research.time_series.loaders.tsdb_loader.TimescaleTSLoader"
|
|
||||||
, "credentials_key": "TSDB_MD_CVTTDATA_RO"
|
|
||||||
# , "interval": "4 hours"
|
|
||||||
, "interval": "2 hours"
|
|
||||||
, "from_time": "2024-04-15 09:00:00"
|
|
||||||
}
|
|
||||||
, "initial_positions": {
|
|
||||||
"COINBASE": {
|
|
||||||
"BTC": 0
|
|
||||||
, "USD": 1000.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "simulation": {
|
|
||||||
"speed_factor": 0.0
|
|
||||||
}
|
|
||||||
, "execution": {
|
|
||||||
"top_only": true
|
|
||||||
,"min_order_age_sec": 0.1
|
|
||||||
, "pricing_method": "BY_MKT_TRD_PRICE_BY_ORDER"
|
|
||||||
# , "presubscribe_md_types": ["BOOK_TOP", "TRADES"]
|
|
||||||
}
|
|
||||||
, "result": {
|
|
||||||
"repository": "${ResultPath}/backtest_results.json"
|
|
||||||
, "db_file": "${ResultPath}/%T.backtest.db"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# --------------------------------------------------------------------
|
|
||||||
, "trader": {
|
|
||||||
"app_channel": "TRDR" active_exchanges_: str
|
|
||||||
|
|
||||||
, "is_short_allowed": false
|
|
||||||
, "exchanges_settings": {
|
|
||||||
"COINBASE_AT": {
|
|
||||||
"mkt_data": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "algos": @inc=http://@env{CONFIG_SERVICE}/apps/common/algos
|
|
||||||
, "trading_pos_diff_pct_trigger": 10.0
|
|
||||||
, "trading_depth": {
|
|
||||||
"BTC": 0.001
|
|
||||||
# "BTC": 0.1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# --------------------------------------------------------------------
|
|
||||||
"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": @inc=http://@env{CONFIG_SERVICE}/apps/common/strategies
|
|
||||||
, "exchanges_settings": {
|
|
||||||
"COINBASE_AT": {
|
|
||||||
"mkt_data": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# --------------------------------------------------------------------
|
|
||||||
, "risk_manager": {
|
|
||||||
"app_channel": "RMGR"
|
|
||||||
, "books": {
|
|
||||||
"CVTT_BK01": {}
|
|
||||||
}
|
|
||||||
, "db": {
|
|
||||||
"positions_table": "prod.cvtt_positions"
|
|
||||||
, "cred_key": {
|
|
||||||
"write": "TSDB_TRD_CVTTDATA"
|
|
||||||
, "read_only": "TSDB_TRD_CVTTDATA"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "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": {
|
|
||||||
"mkt_data": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
},
|
|
||||||
"accounting": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": false
|
|
||||||
}
|
|
||||||
, "credentials_key": {
|
|
||||||
"trade": "COINBASE_ADV"
|
|
||||||
, "read_only": "COINBASE_ADV_RO"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "trading_recorder": {
|
|
||||||
# "format": "CSV"
|
|
||||||
# "format": "TSDB"
|
|
||||||
"format": "SQLite"
|
|
||||||
, "csv_settings": {
|
|
||||||
"order_events_file_path": "%T.order_events.csv"
|
|
||||||
"position_events_file_path": "%T.position_events.csv"
|
|
||||||
}
|
|
||||||
, "tsdb_settings": {
|
|
||||||
"db": {
|
|
||||||
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient"
|
|
||||||
, "cred_key": "TSDB_TRD_CVTTDATA_DB_TEST"
|
|
||||||
}
|
|
||||||
, "order_events_table": "backtest.trading_orders"
|
|
||||||
, "trade_events_table": "backtest.trading_trades"
|
|
||||||
, "trading_md_summary_table": "backtest.trading_md"
|
|
||||||
}
|
|
||||||
, "sqlite_settings": {
|
|
||||||
# "file_name": "/tmp/%T.cvtt_backtest.db"
|
|
||||||
"file_name": "/tmp/cvtt_backtest.db"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "redis",
|
|
||||||
"comm_settings": "/comm/pubsub/redis/localhost"
|
|
||||||
, "app_channels": {
|
|
||||||
"executor": "EXEC"
|
|
||||||
, "risk_manager": "RMGR"
|
|
||||||
, "trader": "TRDR"
|
|
||||||
, "quant": "QUANT"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
@var DatabaseHost=cryptoval1.cvtt.vpn
|
|
||||||
# @var DatabaseHost=cryptoval1.sheynin.home
|
|
||||||
{
|
|
||||||
"__DUMMY__": {}
|
|
||||||
# ----------------------------- A
|
|
||||||
, "ALPACA_PROD01": {
|
|
||||||
"exchange": "ALPACA_PROD",
|
|
||||||
"credentials_key": "ALPACA_PROD"
|
|
||||||
}
|
|
||||||
, "ALPACA_SIM": {
|
|
||||||
"exchange": "ALPACA_SIM",
|
|
||||||
"credentials_key": "ALPACA_PROD"
|
|
||||||
}
|
|
||||||
, "ALPACA_SNDBX01": {
|
|
||||||
"exchange": "ALPACA_SNDBX",
|
|
||||||
"credentials_key": "ALPACA_SANDBOX"
|
|
||||||
}
|
|
||||||
# ---------------------------- B
|
|
||||||
, "BITSTAMP_ACCT": {
|
|
||||||
"exchange": "BITSTAMP",
|
|
||||||
}
|
|
||||||
, "BNBSPOT_ACCT": {
|
|
||||||
"exchange": "BNBSPOT"
|
|
||||||
}
|
|
||||||
, "BNBFUT01": {
|
|
||||||
"exchange": "BNBFUT"
|
|
||||||
}
|
|
||||||
, "BNBFUT02": {
|
|
||||||
"exchange": "BNBFUT-2"
|
|
||||||
}
|
|
||||||
|
|
||||||
, "BNBSPOT_US01": {
|
|
||||||
"exchange": "BNBSPOT_US"
|
|
||||||
}
|
|
||||||
, "COINBASE_PROD01": {
|
|
||||||
"exchange": "COINBASE_AT"
|
|
||||||
}
|
|
||||||
, "COINBASE_SIM": {
|
|
||||||
"exchange_id": "COINBASE_SIM"
|
|
||||||
}
|
|
||||||
# ---------------------------- G
|
|
||||||
, "GEMINI01": {
|
|
||||||
"exchange": "GEMINI"
|
|
||||||
}
|
|
||||||
, "GEMINI-SNDBX01": {
|
|
||||||
"exchange": "GEMINI-SNDBX"
|
|
||||||
}
|
|
||||||
# ---------------------------- K
|
|
||||||
, "KRAKEN01": {
|
|
||||||
"exchange": "KRAKEN"
|
|
||||||
}
|
|
||||||
# ---------------------------- O
|
|
||||||
, "OKX01": {
|
|
||||||
"exchange": "OKX"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
|
||||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
|
||||||
, "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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
# ----------------------------------
|
|
||||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
|
||||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
|
||||||
}
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
{
|
|
||||||
"check_interval_sec": 10.0
|
|
||||||
, "status_report_interval_sec": 3600.0
|
|
||||||
, "after_alert_interval_sec": 180.0 #
|
|
||||||
, "db": {
|
|
||||||
"CLD21": {
|
|
||||||
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient"
|
|
||||||
, "cred_key": "TSDB_MD_CLD21_RO"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "mmost": {
|
|
||||||
"cred_key": "MATTERMOST"
|
|
||||||
, "alert_channel": "Alerts-CVTT"
|
|
||||||
, "status_channel": "Status-CVTT"
|
|
||||||
}
|
|
||||||
, "data_checks": {
|
|
||||||
"BNBFUT-1": {
|
|
||||||
"tables": ["bnbfut.md_booktops"]
|
|
||||||
, "exchange_id": "BNBFUT"
|
|
||||||
, "instruments": ["PERP-BTC-USDT"]
|
|
||||||
, "threshold_sec": 30.0
|
|
||||||
}
|
|
||||||
, "BNBFUT-2": {
|
|
||||||
"tables": ["bnbfut.md_trades"]
|
|
||||||
, "exchange_id": "BNBFUT"
|
|
||||||
, "instruments": ["PERP-BTC-USDT"]
|
|
||||||
, "threshold_sec": 30.0
|
|
||||||
}
|
|
||||||
, "BNBSPOT-1": {
|
|
||||||
"tables": ["bnbspot.md_booktops"]
|
|
||||||
, "exchange_id": "BNBSPOT"
|
|
||||||
, "instruments": ["PAIR-BTC-USDT"]
|
|
||||||
, "threshold_sec": 30.0
|
|
||||||
}
|
|
||||||
, "BNBSPOT-2": {
|
|
||||||
"tables": ["bnbspot.md_trades"]
|
|
||||||
, "exchange_id": "BNBSPOT"
|
|
||||||
, "instruments": ["PAIR-BTC-USDT"]
|
|
||||||
, "threshold_sec": 30.0
|
|
||||||
}
|
|
||||||
, "COINBASE-1": {
|
|
||||||
"tables": ["coinbase.md_booktops"]
|
|
||||||
, "exchange_id": "COINBASE"
|
|
||||||
, "instruments": ["PAIR-BTC-USD"]
|
|
||||||
, "threshold_sec": 30.0
|
|
||||||
}
|
|
||||||
, "COINBASE-2": {
|
|
||||||
"tables": ["coinbase.md_trades"]
|
|
||||||
, "exchange_id": "COINBASE"
|
|
||||||
, "instruments": ["PAIR-BTC-USD"]
|
|
||||||
, "threshold_sec": 30.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
@var WINDOW_SIZE_SEC=2592000 # 30 days
|
|
||||||
{
|
|
||||||
"md_recorder": {
|
|
||||||
"db": {
|
|
||||||
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient"
|
|
||||||
, "connect": {
|
|
||||||
"host": "cryptoval1.cvtt.vpn"
|
|
||||||
, "port": 5432
|
|
||||||
, "database": "coinbase"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "trades_tbl": "md_trades" # D_E_P_R_E_C_A_T_E_D
|
|
||||||
, "booktop_tbl": "md_booktops" # D_E_P_R_E_C_A_T_E_D
|
|
||||||
, "booksnap_tbl": "md_booksnaps" # D_E_P_R_E_C_A_T_E_D
|
|
||||||
, "flush_interval_sec": 0.5
|
|
||||||
, "prune_interval_sec": 3600
|
|
||||||
|
|
||||||
, "collections": {
|
|
||||||
"__dummy__": null
|
|
||||||
, "COINBASE": {
|
|
||||||
"instruments": {
|
|
||||||
"PAIR-BTC-USD": {
|
|
||||||
"TRADES": ${WINDOW_SIZE_SEC},
|
|
||||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
|
||||||
# "BOOK_DEPTH": 3600
|
|
||||||
}
|
|
||||||
, "PAIR-ETH-USD": {
|
|
||||||
"TRADES": ${WINDOW_SIZE_SEC},
|
|
||||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
|
||||||
# "BOOK_DEPTH": null
|
|
||||||
}
|
|
||||||
, "PAIR-LTC-USD": {
|
|
||||||
"TRADES": ${WINDOW_SIZE_SEC},
|
|
||||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
|
||||||
}
|
|
||||||
, "PAIR-XRP-USD": {
|
|
||||||
"TRADES": ${WINDOW_SIZE_SEC},
|
|
||||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "BNBSPOT": {
|
|
||||||
"instruments": {
|
|
||||||
"PAIR-BTC-USDT": {
|
|
||||||
"TRADES": ${WINDOW_SIZE_SEC},
|
|
||||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
|
||||||
}
|
|
||||||
, "PAIR-ETH-USDT": {
|
|
||||||
"TRADES": ${WINDOW_SIZE_SEC},
|
|
||||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
|
||||||
}
|
|
||||||
, "PAIR-LTC-USDT": {
|
|
||||||
"TRADES": ${WINDOW_SIZE_SEC},
|
|
||||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
|
||||||
}
|
|
||||||
, "PAIR-XRP-USDT": {
|
|
||||||
"TRADES": ${WINDOW_SIZE_SEC},
|
|
||||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
|
||||||
}
|
|
||||||
, "PAIR-USDT-USD": {
|
|
||||||
"TRADES": ${WINDOW_SIZE_SEC},
|
|
||||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# ----------------------------------
|
|
||||||
, "refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
|
||||||
, "exchanges_settings": {
|
|
||||||
"COINBASE_AT": {
|
|
||||||
"order_entry": {
|
|
||||||
"enabled": false
|
|
||||||
, "streaming": true
|
|
||||||
},
|
|
||||||
"mkt_data": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
},
|
|
||||||
"accounting": {
|
|
||||||
"enabled": false
|
|
||||||
, "streaming": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"BNBSPOT": {
|
|
||||||
"order_entry": {
|
|
||||||
"enabled": false
|
|
||||||
, "streaming": false
|
|
||||||
},
|
|
||||||
"mkt_data": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
},
|
|
||||||
"accounting": {
|
|
||||||
"enabled": false
|
|
||||||
, "streaming": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
{
|
|
||||||
|
|
||||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
|
||||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
|
||||||
, "quant": {
|
|
||||||
"books": {
|
|
||||||
"CVTT_BK01": {}
|
|
||||||
}
|
|
||||||
, "strategies": {
|
|
||||||
"CVTT_QST001": {
|
|
||||||
"class": "cvttpy.trading.strategies.test_strat.TestStrategy"
|
|
||||||
, "params": {
|
|
||||||
"dummy": "dummy"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
{
|
|
||||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
|
||||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
|
||||||
, "risk_manager": {
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
|
||||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
|
||||||
, "exchanges_settings": {
|
|
||||||
"COINBASE_AT": {
|
|
||||||
"mkt_data": {
|
|
||||||
"enabled": true
|
|
||||||
, "streaming": true
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "trader": {
|
|
||||||
"books": {
|
|
||||||
"CVTT_BK01": {}
|
|
||||||
}
|
|
||||||
, "algos": {
|
|
||||||
"TRDALGO_001": {
|
|
||||||
"class": "cvttpy.trading.algos.simple.SimpleTradingAlgo"
|
|
||||||
, "params": {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "trading_pos_diff_pct_trigger": 10.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -0,0 +1,185 @@
|
|||||||
|
{
|
||||||
|
"refdata": {
|
||||||
|
"assets": @inc=http://@env{CONFIG_SERVICE}/refdata/assets
|
||||||
|
, "instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/instruments
|
||||||
|
, "exchange_instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/exchange_instruments
|
||||||
|
, "dynamic_instrument_exchanges": ["ALPACA"]
|
||||||
|
, "exchanges": {
|
||||||
|
"COINBASE_AT": {
|
||||||
|
"exchange_id": "COINBASE"
|
||||||
|
, "name": "Coinbase Advanced Trade"
|
||||||
|
, "type": "SPOT"
|
||||||
|
|
||||||
|
, "mktdata" : {
|
||||||
|
"class": "cvttpy_trading.exchanges.coinbase.spot.mkt_data.CoinbaseSpotMdFeed"
|
||||||
|
|
||||||
|
, "reconnect_secs": 2
|
||||||
|
, "max_connections": 10
|
||||||
|
, "price_throttle": true
|
||||||
|
|
||||||
|
, "api": {
|
||||||
|
"web_socket": {
|
||||||
|
"url": "wss://ws-feed.exchange.coinbase.com"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "BNBSPOT": {
|
||||||
|
"exchange_id": "BNBSPOT"
|
||||||
|
, "name": "Binance Spot"
|
||||||
|
, "type": "SPOT"
|
||||||
|
|
||||||
|
, "mktdata" : {
|
||||||
|
"class": "cvttpy_trading.exchanges.binance.spot.mkt_data.BnbSpotMktDataFeed"
|
||||||
|
, "max_connections": 10
|
||||||
|
, "reconnect_secs": 2.0
|
||||||
|
|
||||||
|
|
||||||
|
, "api": {
|
||||||
|
"web_socket": {
|
||||||
|
"url": "wss://stream.binance.com/ws"
|
||||||
|
},
|
||||||
|
"REST": {
|
||||||
|
"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_trading.exchanges.binance.futures.mkt_data.BnbFutMktDataFeed"
|
||||||
|
, "max_connections": 10
|
||||||
|
, "reconnect_secs": 2.0
|
||||||
|
|
||||||
|
, "api": {
|
||||||
|
"web_socket": {
|
||||||
|
"url": "wss://fstream.binance.com/ws"
|
||||||
|
},
|
||||||
|
"REST": {
|
||||||
|
"depth_snapshot_url": ["GET", "https://fapi.binance.com/fapi/v1/depth"],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||||
|
|
||||||
|
, "md_recorder": {
|
||||||
|
"instrument_groups": {
|
||||||
|
"BNBFUT_CLOUD28": [
|
||||||
|
"BNBFUT:PERP-BTC-USDT"
|
||||||
|
, "BNBFUT:PERP-ETH-USDT"
|
||||||
|
],
|
||||||
|
"BNBSPOT_CLOUD28": [
|
||||||
|
"BNBSPOT:PAIR-ADA-USDT"
|
||||||
|
, "BNBSPOT:PAIR-AVAX-USDT"
|
||||||
|
, "BNBSPOT:PAIR-BCH-USDT"
|
||||||
|
, "BNBSPOT:PAIR-BTC-USDT"
|
||||||
|
, "BNBSPOT:PAIR-DOT-USDT"
|
||||||
|
, "BNBSPOT:PAIR-ETH-USDT"
|
||||||
|
, "BNBSPOT:PAIR-LTC-USDT"
|
||||||
|
, "BNBSPOT:PAIR-SOL-USDT"
|
||||||
|
, "BNBSPOT:PAIR-USDC-USDT"
|
||||||
|
, "BNBSPOT:PAIR-XRP-USDT"
|
||||||
|
],
|
||||||
|
"COINBASE_CLOUD28": [
|
||||||
|
"COINBASE:PAIR-ADA-USD"
|
||||||
|
, "COINBASE:PAIR-AVAX-USD"
|
||||||
|
, "COINBASE:PAIR-BCH-USD"
|
||||||
|
, "COINBASE:PAIR-BTC-USD"
|
||||||
|
, "COINBASE:PAIR-DOT-USD"
|
||||||
|
, "COINBASE:PAIR-ETH-USD"
|
||||||
|
, "COINBASE:PAIR-LTC-USD"
|
||||||
|
, "COINBASE:PAIR-SOL-USD"
|
||||||
|
, "COINBASE:PAIR-XRP-USD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
, "db": {
|
||||||
|
"class": "cvttpy_tools.db.timescale.tsdb_client.TimescaleDbClient"
|
||||||
|
}
|
||||||
|
, "flush_interval_sec": 0.5
|
||||||
|
|
||||||
|
, "collections": {
|
||||||
|
"__dummy__": null
|
||||||
|
, "ALPACA": {
|
||||||
|
# dynamic instruments names
|
||||||
|
"tables": {
|
||||||
|
"trades": "alpaca_iex.md_trades"
|
||||||
|
, "booktops": "alpaca_iex.md_booktops"
|
||||||
|
, "booksnaps": "alpaca_iex.md_booksnaps"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "BNBSPOT": {
|
||||||
|
"instruments": {
|
||||||
|
"PAIR-ADA-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-AVAX-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-BCH-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-BTC-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-DOT-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-ETH-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-LTC-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-SOL-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-USDC-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-XRP-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
}
|
||||||
|
, "tables": {
|
||||||
|
"trades": "bnbspot.md_trades"
|
||||||
|
, "booktops": "bnbspot.md_booktops"
|
||||||
|
, "booksnaps": "bnbspot.md_booksnaps"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "BNBFUT": {
|
||||||
|
"instruments": {
|
||||||
|
"PERP-BTC-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PERP-ETH-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
}
|
||||||
|
, "tables": {
|
||||||
|
"trades": "bnbfut.md_trades"
|
||||||
|
, "booktops": "bnbfut.md_booktops"
|
||||||
|
, "booksnaps": "bnbfut.md_booksnaps"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "COINBASE": {
|
||||||
|
"instruments": {
|
||||||
|
"PAIR-ADA-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-AVAX-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-BCH-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-BTC-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-DOT-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-ETH-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-LTC-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-SOL-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-XRP-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
}
|
||||||
|
, "tables": {
|
||||||
|
"trades": "coinbase.md_trades"
|
||||||
|
, "booktops": "coinbase.md_booktops"
|
||||||
|
, "booksnaps": "coinbase.md_booksnaps"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# ----------------------------------
|
||||||
|
, "exchanges_settings": {
|
||||||
|
"*": {
|
||||||
|
"order_entry": {
|
||||||
|
"enabled": false
|
||||||
|
, "streaming": false
|
||||||
|
},
|
||||||
|
"mkt_data": {
|
||||||
|
"enabled": true
|
||||||
|
, "streaming": true
|
||||||
|
},
|
||||||
|
"accounting": {
|
||||||
|
"enabled": false
|
||||||
|
, "streaming": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
{
|
||||||
|
"refdata": {
|
||||||
|
"assets": @inc=http://@env{CONFIG_SERVICE}/refdata/assets
|
||||||
|
, "instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/instruments
|
||||||
|
, "exchange_instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/exchange_instruments
|
||||||
|
, "dynamic_instrument_exchanges": ["ALPACA"]
|
||||||
|
, "exchanges": {
|
||||||
|
"COINBASE_AT": {
|
||||||
|
"exchange_id": "COINBASE"
|
||||||
|
, "name": "Coinbase Advanced Trade"
|
||||||
|
, "type": "SPOT"
|
||||||
|
|
||||||
|
, "mktdata" : {
|
||||||
|
"class": "cvttpy_trading.exchanges.coinbase.spot.mkt_data.CoinbaseSpotMdFeed" # for 1.0.3
|
||||||
|
|
||||||
|
, "reconnect_secs": 2
|
||||||
|
, "max_connections": 10
|
||||||
|
, "price_throttle": true
|
||||||
|
|
||||||
|
, "api": {
|
||||||
|
"web_socket": {
|
||||||
|
"url": "wss://ws-feed.exchange.coinbase.com"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "BNBSPOT": {
|
||||||
|
"exchange_id": "BNBSPOT"
|
||||||
|
, "name": "Binance Spot"
|
||||||
|
, "type": "SPOT"
|
||||||
|
|
||||||
|
, "mktdata" : {
|
||||||
|
"class": "cvttpy_trading.exchanges.binance.spot.mkt_data.BnbSpotMktDataFeed"
|
||||||
|
, "max_connections": 10
|
||||||
|
, "reconnect_secs": 2.0
|
||||||
|
|
||||||
|
|
||||||
|
, "api": {
|
||||||
|
"web_socket": {
|
||||||
|
"url": "wss://stream.binance.com/ws"
|
||||||
|
},
|
||||||
|
"REST": {
|
||||||
|
"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_trading.exchanges.binance.futures.mkt_data.BnbFutMktDataFeed"
|
||||||
|
, "max_connections": 10
|
||||||
|
, "reconnect_secs": 2.0
|
||||||
|
|
||||||
|
, "api": {
|
||||||
|
"web_socket": {
|
||||||
|
"url": "wss://fstream.binance.com/ws"
|
||||||
|
},
|
||||||
|
"REST": {
|
||||||
|
"depth_snapshot_url": ["GET", "https://fapi.binance.com/fapi/v1/depth"],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||||
|
|
||||||
|
, "md_recorder": {
|
||||||
|
"instrument_groups": {
|
||||||
|
"BNBFUT_CLOUD29": [
|
||||||
|
"BNBFUT:PERP-BTC-USDT"
|
||||||
|
, "BNBFUT:PERP-ETH-USDT"
|
||||||
|
],
|
||||||
|
"BNBSPOT_CLOUD29": [
|
||||||
|
"BNBSPOT:PAIR-ADA-USDT"
|
||||||
|
, "BNBSPOT:PAIR-AVAX-USDT"
|
||||||
|
, "BNBSPOT:PAIR-BCH-USDT"
|
||||||
|
, "BNBSPOT:PAIR-BTC-USDT"
|
||||||
|
, "BNBSPOT:PAIR-DOT-USDT"
|
||||||
|
, "BNBSPOT:PAIR-ETH-USDT"
|
||||||
|
, "BNBSPOT:PAIR-LINK-USDT"
|
||||||
|
, "BNBSPOT:PAIR-LTC-USDT"
|
||||||
|
, "BNBSPOT:PAIR-SOL-USDT"
|
||||||
|
#, "BNBSPOT:PAIR-USDC-USDT"
|
||||||
|
, "BNBSPOT:PAIR-XRP-USDT"
|
||||||
|
],
|
||||||
|
"COINBASE_CLOUD29": [
|
||||||
|
"COINBASE:PAIR-ADA-USD"
|
||||||
|
, "COINBASE:PAIR-AVAX-USD"
|
||||||
|
, "COINBASE:PAIR-BCH-USD"
|
||||||
|
, "COINBASE:PAIR-BTC-USD"
|
||||||
|
, "COINBASE:PAIR-DOT-USD"
|
||||||
|
, "COINBASE:PAIR-ETH-USD"
|
||||||
|
, "COINBASE:PAIR-LINK-USD"
|
||||||
|
, "COINBASE:PAIR-LTC-USD"
|
||||||
|
, "COINBASE:PAIR-SOL-USD"
|
||||||
|
, "COINBASE:PAIR-XRP-USD"
|
||||||
|
],
|
||||||
|
}
|
||||||
|
, "db": {
|
||||||
|
"class": "cvttpy_tools.db.timescale.tsdb_client.TimescaleDbClient"
|
||||||
|
}
|
||||||
|
, "collections": {
|
||||||
|
"__dummy__": null
|
||||||
|
, "BNBSPOT": {
|
||||||
|
"instruments": {
|
||||||
|
"PAIR-ADA-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-AVAX-USDT": ["TRADES"]
|
||||||
|
, "PAIR-BCH-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-BTC-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-DOT-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-ETH-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-LINK-USDT": ["TRADES"]
|
||||||
|
, "PAIR-LTC-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-SOL-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-USDC-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-XRP-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
}
|
||||||
|
, "tables": {
|
||||||
|
"trades": "bnbspot.md_trades"
|
||||||
|
, "booktops": "bnbspot.md_booktops"
|
||||||
|
, "booksnaps": "bnbspot.md_booksnaps"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "BNBFUT": {
|
||||||
|
"instruments": {
|
||||||
|
"PERP-BTC-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PERP-ETH-USDT": ["TRADES", "BOOK_TOP"]
|
||||||
|
}
|
||||||
|
, "tables": {
|
||||||
|
"trades": "bnbfut.md_trades"
|
||||||
|
, "booktops": "bnbfut.md_booktops"
|
||||||
|
, "booksnaps": "bnbfut.md_booksnaps"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "COINBASE": {
|
||||||
|
"instruments": {
|
||||||
|
"PAIR-ADA-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-AVAX-USD": ["TRADES"]
|
||||||
|
, "PAIR-BCH-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-BTC-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-DOT-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-ETH-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-LINK-USD": ["TRADES"]
|
||||||
|
, "PAIR-LTC-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-SOL-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
, "PAIR-XRP-USD": ["TRADES", "BOOK_TOP"]
|
||||||
|
}
|
||||||
|
, "tables": {
|
||||||
|
"trades": "coinbase.md_trades"
|
||||||
|
, "booktops": "coinbase.md_booktops"
|
||||||
|
, "booksnaps": "coinbase.md_booksnaps"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# ----------------------------------
|
||||||
|
"exchanges_settings": {
|
||||||
|
"*": {
|
||||||
|
"order_entry": {
|
||||||
|
"enabled": false
|
||||||
|
, "streaming": false
|
||||||
|
},
|
||||||
|
"mkt_data": {
|
||||||
|
"enabled": true
|
||||||
|
, "streaming": true
|
||||||
|
},
|
||||||
|
"accounting": {
|
||||||
|
"enabled": false
|
||||||
|
, "streaming": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||||
|
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||||
|
|
||||||
|
, "db": {
|
||||||
|
"class": "cvttpy_tools.db.timescale.tsdb_client.TimescaleDbClient",
|
||||||
|
"cred_key": "TSDB-CLD32-PROD-OHLCV-DIRECT-RO"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,145 @@
|
|||||||
|
{
|
||||||
|
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||||
|
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||||
|
|
||||||
|
, "db": {
|
||||||
|
"cred_key": "TSDB-CLD32-PROD-OHLCV-DIRECT-RO"
|
||||||
|
}
|
||||||
|
, "instruments": [
|
||||||
|
# ------------- BINANCE
|
||||||
|
{
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-ADA-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-AVAX-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-BCH-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-BNB-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-BTC-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-DOGE-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-DOT-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-ETH-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-HBAR-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-LINK-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-LTC-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-SHIB-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-SOL-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-SUI-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-XLM-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-XRP-USDT"
|
||||||
|
}
|
||||||
|
# ------------- COINBASE
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-ADA-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-AVAX-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-BCH-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-BNB-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-BTC-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-DOGE-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-DOT-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-ETH-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-HBAR-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-LINK-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-LTC-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-SHIB-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-SOL-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-SUI-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-XLM-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-XRP-USD"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
, "mmost": {
|
||||||
|
"cred_key": "MATTERMOST"
|
||||||
|
, "alert_channel": "Alerts-CVTT"
|
||||||
|
, "status_channel": "Status-CVTT"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
@var GLOBAL_CHANNEL_PREFIX=BNBS_OHLCV_REC
|
||||||
|
|
||||||
|
{
|
||||||
|
"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
|
||||||
|
|
||||||
|
, "pubsub_settings": "@env{PUBSUB_SETTINGS_CONFIG_KEY}"
|
||||||
|
, "cache_settings": "@env{CACHE_SETTINGS_CONFIG_KEY}"
|
||||||
|
|
||||||
|
, "global_channel_prefix": ${GLOBAL_CHANNEL_PREFIX}
|
||||||
|
|
||||||
|
, "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": [
|
||||||
|
"BNBSPOT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
, "ohlcv_recorder": {
|
||||||
|
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.OHLCV_RECORDER_STATUS"
|
||||||
|
, "historical_md": {
|
||||||
|
"db": {
|
||||||
|
"cred_key": "TSDB-CLD32-PROD-OHLCV-DCKR"
|
||||||
|
}
|
||||||
|
, "trades_recording": { # unconditional trades recording for 1min aggregates
|
||||||
|
"flush_interval_sec": 5.0
|
||||||
|
"instruments": [
|
||||||
|
{
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-ADA-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-AVAX-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-BCH-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-BNB-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-BTC-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-DOGE-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-DOT-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-ETH-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-HBAR-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-LINK-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-LTC-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-SHIB-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-SOL-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-SUI-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-XLM-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-XRP-USDT"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
@var GLOBAL_CHANNEL_PREFIX=CBASE_OHLCV_REC
|
||||||
|
|
||||||
|
{
|
||||||
|
"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
|
||||||
|
|
||||||
|
# new communication settings
|
||||||
|
, "pubsub_settings": "@env{PUBSUB_SETTINGS_CONFIG_KEY}"
|
||||||
|
, "cache_settings": "@env{CACHE_SETTINGS_CONFIG_KEY}"
|
||||||
|
|
||||||
|
, "global_channel_prefix": ${GLOBAL_CHANNEL_PREFIX}
|
||||||
|
|
||||||
|
, "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"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
, "ohlcv_recorder": {
|
||||||
|
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.OHLCV_RECORDER_STATUS"
|
||||||
|
, "historical_md": {
|
||||||
|
"db": {
|
||||||
|
"cred_key": "TSDB-CLD32-PROD-OHLCV-DCKR"
|
||||||
|
}
|
||||||
|
, "trades_recording": { # unconditional trades recording for 1min aggregates
|
||||||
|
"flush_interval_sec": 5.0
|
||||||
|
"instruments": [
|
||||||
|
{
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-ADA-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-AVAX-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-BCH-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-BNB-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-BTC-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-DOGE-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-DOT-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-ETH-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-HBAR-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-LINK-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-LTC-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-SHIB-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-SOL-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-SUI-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-XLM-USD"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "COINBASE_AT"
|
||||||
|
, "instrument_id": "PAIR-XRP-USD"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
"refdata": {
|
||||||
|
"assets": @inc=http://@env{CONFIG_SERVICE}/refdata/assets
|
||||||
|
, "instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/instruments
|
||||||
|
, "exchange_instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/exchange_instruments
|
||||||
|
, "dynamic_instrument_exchanges": ["ALPACA"]
|
||||||
|
, "exchanges": @inc=http://@env{CONFIG_SERVICE}/refdata/exchanges
|
||||||
|
},
|
||||||
|
"market_data_loading": {
|
||||||
|
"CRYPTO": {
|
||||||
|
"data_directory": "./data/crypto",
|
||||||
|
"db_table_name": "md_1min_bars",
|
||||||
|
"instrument_id_pfx": "PAIR-",
|
||||||
|
},
|
||||||
|
"EQUITY": {
|
||||||
|
"data_directory": "./data/equity",
|
||||||
|
"db_table_name": "md_1min_bars",
|
||||||
|
"instrument_id_pfx": "STOCK-",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
# ====== Funding ======
|
||||||
|
"funding_per_pair": 2000.0,
|
||||||
|
|
||||||
|
# ====== Model =======
|
||||||
|
"model": @inc=http://@env{CONFIG_SERVICE}/apps/pairs_trading/models/@env{MODEL_CONFIG}
|
||||||
|
|
||||||
|
# ====== Trading =======
|
||||||
|
"execution_price": {
|
||||||
|
"column": "vwap",
|
||||||
|
"shift": 1,
|
||||||
|
},
|
||||||
|
# ====== Stop Conditions ======
|
||||||
|
"stop_close_conditions": {
|
||||||
|
"profit": 2.0,
|
||||||
|
"loss": -0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
# ====== End of Session Closeout ======
|
||||||
|
"close_outstanding_positions": true,
|
||||||
|
# "close_outstanding_positions": false,
|
||||||
|
"trading_hours": {
|
||||||
|
"timezone": "America/New_York",
|
||||||
|
"begin_session": "7:30:00",
|
||||||
|
"end_session": "18:30:00",
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"name": "VECM-OPTIMIZED",
|
||||||
|
"model_class": "pairs_trading.lib.pt_strategy.models.VECMModel",
|
||||||
|
|
||||||
|
"stat_model_price": "close", # "vwap"
|
||||||
|
"disequilibrium": {
|
||||||
|
# "open_trshld": 1.75,
|
||||||
|
# "close_trshld": 1.0
|
||||||
|
|
||||||
|
# Testing
|
||||||
|
"open_trshld": 0.75,
|
||||||
|
"close_trshld": 0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
"model_data_policy_class": "pairs_trading.lib.pt_strategy.model_data_policy.ADFOptimizedWndDataPolicy",
|
||||||
|
"min_training_size": 60,
|
||||||
|
"max_training_size": 150,
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"name": "VECM",
|
||||||
|
"model_class": "pairs_trading.lib.pt_strategy.models.VECMModel",
|
||||||
|
|
||||||
|
"stat_model_price": "close", # "vwap"
|
||||||
|
"disequilibrium": {
|
||||||
|
# "open_trshld": 1.75,
|
||||||
|
# "close_trshld": 1.0
|
||||||
|
|
||||||
|
# Testing
|
||||||
|
"open_trshld": 0.75,
|
||||||
|
"close_trshld": 0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
"training_size": 120,
|
||||||
|
"model_data_policy_class": "pairs_trading.lib.pt_strategy.model_data_policy.RollingWindowDataPolicy",
|
||||||
|
}
|
||||||
@@ -0,0 +1,143 @@
|
|||||||
|
{
|
||||||
|
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||||
|
, "cvtt_base_url": "@env{CVTT_URL}"
|
||||||
|
|
||||||
|
, "interval_sec": 60
|
||||||
|
, "history_depth_hours": 2
|
||||||
|
, "api": {
|
||||||
|
"REST": {
|
||||||
|
"port": @env{PAIR_SELECTOR_REST_PORT}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# ====== Instruments =======
|
||||||
|
, "instruments": [
|
||||||
|
{
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-ADA-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-AVAX-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-BCH-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-BNB-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-BTC-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-DOGE-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-DOT-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-ETH-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-HBAR-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-LINK-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-LTC-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-SHIB-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-SOL-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-SUI-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-XLM-USDT"
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"exch_acct": "BNBSPOT"
|
||||||
|
, "instrument_id": "PAIR-XRP-USDT"
|
||||||
|
}
|
||||||
|
# {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-ADA-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-AVAX-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-BCH-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-BNB-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-BTC-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-DOGE-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-DOT-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-ETH-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-HBAR-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-LINK-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-LTC-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-SHIB-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-SOL-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-SUI-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-XLM-USD"
|
||||||
|
# }
|
||||||
|
# , {
|
||||||
|
# "exch_acct": "COINBASE_AT"
|
||||||
|
# , "instrument_id": "PAIR-XRP-USD"
|
||||||
|
# }
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
@var GLOBAL_CHANNEL_PREFIX=PROD_PAIR_SEL_MU
|
||||||
|
|
||||||
|
{
|
||||||
|
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata # tetsetraefafd
|
||||||
|
, "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
|
||||||
|
|
||||||
|
# new communication settings
|
||||||
|
, "pubsub_settings": "@env{PUBSUB_SETTINGS_CONFIG_KEY}"
|
||||||
|
, "cache_settings": "@env{CACHE_SETTINGS_CONFIG_KEY}" # new
|
||||||
|
|
||||||
|
, "global_channel_prefix": ${GLOBAL_CHANNEL_PREFIX}
|
||||||
|
|
||||||
|
, "front_gateway": {
|
||||||
|
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.FRONT_GW.APP_STATUS"
|
||||||
|
, "api": {
|
||||||
|
"REST": {
|
||||||
|
"port": @env{FRONT_GATEWAY_REST_PORT},
|
||||||
|
"base_url": ["POST", "http://localhost:@env{FRONT_GATEWAY_REST_PORT}"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "musvc_peers": {
|
||||||
|
"pricer": true, # enable related client
|
||||||
|
"bookkeeper": false,
|
||||||
|
"trader": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "market_data_gateway": {
|
||||||
|
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.MD_GW.APP_STATUS"
|
||||||
|
, "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."
|
||||||
|
, "exchanges": [
|
||||||
|
"COINBASE_AT"
|
||||||
|
# , "BNBSPOT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
, "pricer": {
|
||||||
|
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.PXER.APP_STATUS"
|
||||||
|
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.PXER."
|
||||||
|
, "historical_md": {
|
||||||
|
"db": {
|
||||||
|
"cred_key": "TSDB-CLD32-PROD-OHLCV-DIRECT-RO"
|
||||||
|
}
|
||||||
|
, "enable_mda_recording": false # RO account is used
|
||||||
|
}
|
||||||
|
, "use_md_aggregate_cache": true
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||||
|
, "cvtt_base_url": "@env{CVTT_URL}"
|
||||||
|
, "interval_sec": 60
|
||||||
|
, "history_depth_hours": 2
|
||||||
|
, "ti_config": {
|
||||||
|
# TODO
|
||||||
|
}
|
||||||
|
# ====== Model =======
|
||||||
|
, "model": @inc=http://@env{CONFIG_SERVICE}/apps/pairs_trading/models/@env{MODEL_CONFIG}
|
||||||
|
, "api": {
|
||||||
|
"REST": {
|
||||||
|
"port": @env{PAIR_TRADER_REST_PORT}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user