This commit is contained in:
Cryptoval Trading Technologies
2026-03-12 00:38:01 +00:00
parent cf487995ca
commit 755d0a1e80
25 changed files with 1057 additions and 865 deletions
@@ -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"
}
}
}
-251
View File
@@ -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"
}
}
}
-11
View File
@@ -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"
}
}
-24
View File
@@ -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"
}
}
}
}
-5
View File
@@ -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
}
}
}
}
-39
View File
@@ -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"
}
}
}
}
-25
View File
@@ -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"
}
]
}
}
}
}
+47
View File
@@ -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,
}
+18
View File
@@ -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",
}
+143
View File
@@ -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
}
}
+16
View File
@@ -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}
}
}
}