From 755d0a1e80dfa4db32802679d2bf54295db00521 Mon Sep 17 00:00:00 2001 From: Cryptoval Trading Technologies Date: Thu, 12 Mar 2026 00:38:01 +0000 Subject: [PATCH] 20260312 --- .../__DEPRECATED__/__OLD__strategies .cfg | 32 --- .../__DEPRECATED__/active_instruments.cfg | 10 - data/apps/__DEPRECATED__/cvtt.cfg | 251 ------------------ .../__DEPRECATED__/cvtt_crypto_coinbs.cfg | 214 --------------- data/apps/__DEPRECATED__/cvttcomm.cfg | 11 - .../apps/__DEPRECATED__/exchange_accounts.cfg | 57 ---- data/apps/__DEPRECATED__/executor_app.cfg | 24 -- data/apps/__DEPRECATED__/md_portal.cfg | 5 - .../__DEPRECATED__/md_rec_monitor_cld21.cfg | 54 ---- data/apps/__DEPRECATED__/md_recorder_old.cfg | 102 ------- data/apps/__DEPRECATED__/quant_app.cfg | 39 --- data/apps/__DEPRECATED__/risk_manager_app.cfg | 41 --- data/apps/__DEPRECATED__/trader_app.cfg | 25 -- .../md/md_recorder/cloud28/md_recorder.cfg | 185 +++++++++++++ .../md/md_recorder/cloud29/md_recorder.cfg | 179 +++++++++++++ data/apps/md/ohlcv_recorder/archive_ohlcv.cfg | 9 + data/apps/md/ohlcv_recorder/ohlcv_monitor.cfg | 145 ++++++++++ .../md/ohlcv_recorder/ohlcv_rec_bnbspot.cfg | 115 ++++++++ .../md/ohlcv_recorder/ohlcv_rec_coinbase.cfg | 116 ++++++++ data/apps/pairs_trading/backtest.cfg | 47 ++++ data/apps/pairs_trading/models/vecm-opt.cfg | 19 ++ data/apps/pairs_trading/models/vecm.cfg | 18 ++ data/apps/pairs_trading/pair_selector.cfg | 143 ++++++++++ .../pairs_trading/pair_selector_musvc.cfg | 65 +++++ data/apps/pairs_trading/pair_trader.cfg | 16 ++ 25 files changed, 1057 insertions(+), 865 deletions(-) delete mode 100644 data/apps/__DEPRECATED__/__OLD__strategies .cfg delete mode 100644 data/apps/__DEPRECATED__/active_instruments.cfg delete mode 100644 data/apps/__DEPRECATED__/cvtt.cfg delete mode 100644 data/apps/__DEPRECATED__/cvtt_crypto_coinbs.cfg delete mode 100644 data/apps/__DEPRECATED__/cvttcomm.cfg delete mode 100644 data/apps/__DEPRECATED__/exchange_accounts.cfg delete mode 100644 data/apps/__DEPRECATED__/executor_app.cfg delete mode 100644 data/apps/__DEPRECATED__/md_portal.cfg delete mode 100644 data/apps/__DEPRECATED__/md_rec_monitor_cld21.cfg delete mode 100644 data/apps/__DEPRECATED__/md_recorder_old.cfg delete mode 100644 data/apps/__DEPRECATED__/quant_app.cfg delete mode 100644 data/apps/__DEPRECATED__/risk_manager_app.cfg delete mode 100644 data/apps/__DEPRECATED__/trader_app.cfg create mode 100644 data/apps/md/md_recorder/cloud28/md_recorder.cfg create mode 100644 data/apps/md/md_recorder/cloud29/md_recorder.cfg create mode 100644 data/apps/md/ohlcv_recorder/archive_ohlcv.cfg create mode 100644 data/apps/md/ohlcv_recorder/ohlcv_monitor.cfg create mode 100644 data/apps/md/ohlcv_recorder/ohlcv_rec_bnbspot.cfg create mode 100644 data/apps/md/ohlcv_recorder/ohlcv_rec_coinbase.cfg create mode 100644 data/apps/pairs_trading/backtest.cfg create mode 100644 data/apps/pairs_trading/models/vecm-opt.cfg create mode 100644 data/apps/pairs_trading/models/vecm.cfg create mode 100644 data/apps/pairs_trading/pair_selector.cfg create mode 100644 data/apps/pairs_trading/pair_selector_musvc.cfg create mode 100644 data/apps/pairs_trading/pair_trader.cfg diff --git a/data/apps/__DEPRECATED__/__OLD__strategies .cfg b/data/apps/__DEPRECATED__/__OLD__strategies .cfg deleted file mode 100644 index a66d558..0000000 --- a/data/apps/__DEPRECATED__/__OLD__strategies .cfg +++ /dev/null @@ -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" - } - } -} diff --git a/data/apps/__DEPRECATED__/active_instruments.cfg b/data/apps/__DEPRECATED__/active_instruments.cfg deleted file mode 100644 index 014bfdb..0000000 --- a/data/apps/__DEPRECATED__/active_instruments.cfg +++ /dev/null @@ -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" - } - } -} diff --git a/data/apps/__DEPRECATED__/cvtt.cfg b/data/apps/__DEPRECATED__/cvtt.cfg deleted file mode 100644 index cce9932..0000000 --- a/data/apps/__DEPRECATED__/cvtt.cfg +++ /dev/null @@ -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" - } - } -} - diff --git a/data/apps/__DEPRECATED__/cvtt_crypto_coinbs.cfg b/data/apps/__DEPRECATED__/cvtt_crypto_coinbs.cfg deleted file mode 100644 index a3ebe70..0000000 --- a/data/apps/__DEPRECATED__/cvtt_crypto_coinbs.cfg +++ /dev/null @@ -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" - } - } -} - diff --git a/data/apps/__DEPRECATED__/cvttcomm.cfg b/data/apps/__DEPRECATED__/cvttcomm.cfg deleted file mode 100644 index 010ccb2..0000000 --- a/data/apps/__DEPRECATED__/cvttcomm.cfg +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "redis", - "comm_settings": "/comm/pubsub/redis/localhost" - , "app_channels": { - "executor": "EXEC" - , "risk_manager": "RMGR" - , "trader": "TRDR" - , "quant": "QUANT" - } -} - diff --git a/data/apps/__DEPRECATED__/exchange_accounts.cfg b/data/apps/__DEPRECATED__/exchange_accounts.cfg deleted file mode 100644 index 3af29bf..0000000 --- a/data/apps/__DEPRECATED__/exchange_accounts.cfg +++ /dev/null @@ -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" - } -} - diff --git a/data/apps/__DEPRECATED__/executor_app.cfg b/data/apps/__DEPRECATED__/executor_app.cfg deleted file mode 100644 index 9aaaec8..0000000 --- a/data/apps/__DEPRECATED__/executor_app.cfg +++ /dev/null @@ -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" - } - } - } -} \ No newline at end of file diff --git a/data/apps/__DEPRECATED__/md_portal.cfg b/data/apps/__DEPRECATED__/md_portal.cfg deleted file mode 100644 index 39040b9..0000000 --- a/data/apps/__DEPRECATED__/md_portal.cfg +++ /dev/null @@ -1,5 +0,0 @@ -{ - # ---------------------------------- - "refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata - , "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm -} diff --git a/data/apps/__DEPRECATED__/md_rec_monitor_cld21.cfg b/data/apps/__DEPRECATED__/md_rec_monitor_cld21.cfg deleted file mode 100644 index 9cea9d4..0000000 --- a/data/apps/__DEPRECATED__/md_rec_monitor_cld21.cfg +++ /dev/null @@ -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 - } - } -} diff --git a/data/apps/__DEPRECATED__/md_recorder_old.cfg b/data/apps/__DEPRECATED__/md_recorder_old.cfg deleted file mode 100644 index c4942fe..0000000 --- a/data/apps/__DEPRECATED__/md_recorder_old.cfg +++ /dev/null @@ -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 - } - } - } -} - diff --git a/data/apps/__DEPRECATED__/quant_app.cfg b/data/apps/__DEPRECATED__/quant_app.cfg deleted file mode 100644 index c5ca944..0000000 --- a/data/apps/__DEPRECATED__/quant_app.cfg +++ /dev/null @@ -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" - } - } - } -} - diff --git a/data/apps/__DEPRECATED__/risk_manager_app.cfg b/data/apps/__DEPRECATED__/risk_manager_app.cfg deleted file mode 100644 index a55e4ff..0000000 --- a/data/apps/__DEPRECATED__/risk_manager_app.cfg +++ /dev/null @@ -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" - } - } - } -} - diff --git a/data/apps/__DEPRECATED__/trader_app.cfg b/data/apps/__DEPRECATED__/trader_app.cfg deleted file mode 100644 index 7acb987..0000000 --- a/data/apps/__DEPRECATED__/trader_app.cfg +++ /dev/null @@ -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 - } -} - diff --git a/data/apps/md/md_recorder/cloud28/md_recorder.cfg b/data/apps/md/md_recorder/cloud28/md_recorder.cfg new file mode 100644 index 0000000..5195c91 --- /dev/null +++ b/data/apps/md/md_recorder/cloud28/md_recorder.cfg @@ -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 + } + } + } +} diff --git a/data/apps/md/md_recorder/cloud29/md_recorder.cfg b/data/apps/md/md_recorder/cloud29/md_recorder.cfg new file mode 100644 index 0000000..7b7aa6d --- /dev/null +++ b/data/apps/md/md_recorder/cloud29/md_recorder.cfg @@ -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 + } + } + } +} diff --git a/data/apps/md/ohlcv_recorder/archive_ohlcv.cfg b/data/apps/md/ohlcv_recorder/archive_ohlcv.cfg new file mode 100644 index 0000000..6805fce --- /dev/null +++ b/data/apps/md/ohlcv_recorder/archive_ohlcv.cfg @@ -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" + } +} diff --git a/data/apps/md/ohlcv_recorder/ohlcv_monitor.cfg b/data/apps/md/ohlcv_recorder/ohlcv_monitor.cfg new file mode 100644 index 0000000..3d2b885 --- /dev/null +++ b/data/apps/md/ohlcv_recorder/ohlcv_monitor.cfg @@ -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" + } +} diff --git a/data/apps/md/ohlcv_recorder/ohlcv_rec_bnbspot.cfg b/data/apps/md/ohlcv_recorder/ohlcv_rec_bnbspot.cfg new file mode 100644 index 0000000..422f863 --- /dev/null +++ b/data/apps/md/ohlcv_recorder/ohlcv_rec_bnbspot.cfg @@ -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" + } + ] + } + } + } +} diff --git a/data/apps/md/ohlcv_recorder/ohlcv_rec_coinbase.cfg b/data/apps/md/ohlcv_recorder/ohlcv_rec_coinbase.cfg new file mode 100644 index 0000000..e2bf474 --- /dev/null +++ b/data/apps/md/ohlcv_recorder/ohlcv_rec_coinbase.cfg @@ -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" + } + ] + } + } + } +} diff --git a/data/apps/pairs_trading/backtest.cfg b/data/apps/pairs_trading/backtest.cfg new file mode 100644 index 0000000..571a2df --- /dev/null +++ b/data/apps/pairs_trading/backtest.cfg @@ -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", + } +} \ No newline at end of file diff --git a/data/apps/pairs_trading/models/vecm-opt.cfg b/data/apps/pairs_trading/models/vecm-opt.cfg new file mode 100644 index 0000000..3cdb9cb --- /dev/null +++ b/data/apps/pairs_trading/models/vecm-opt.cfg @@ -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, +} \ No newline at end of file diff --git a/data/apps/pairs_trading/models/vecm.cfg b/data/apps/pairs_trading/models/vecm.cfg new file mode 100644 index 0000000..3622246 --- /dev/null +++ b/data/apps/pairs_trading/models/vecm.cfg @@ -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", +} \ No newline at end of file diff --git a/data/apps/pairs_trading/pair_selector.cfg b/data/apps/pairs_trading/pair_selector.cfg new file mode 100644 index 0000000..dcd5bb1 --- /dev/null +++ b/data/apps/pairs_trading/pair_selector.cfg @@ -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" + # } + ] +} \ No newline at end of file diff --git a/data/apps/pairs_trading/pair_selector_musvc.cfg b/data/apps/pairs_trading/pair_selector_musvc.cfg new file mode 100644 index 0000000..c49c608 --- /dev/null +++ b/data/apps/pairs_trading/pair_selector_musvc.cfg @@ -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 + } +} \ No newline at end of file diff --git a/data/apps/pairs_trading/pair_trader.cfg b/data/apps/pairs_trading/pair_trader.cfg new file mode 100644 index 0000000..bae8ba2 --- /dev/null +++ b/data/apps/pairs_trading/pair_trader.cfg @@ -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} + } + } +} \ No newline at end of file