.
This commit is contained in:
parent
3aea35f424
commit
4724505fdf
35
data/apps/algos.cfg
Normal file
35
data/apps/algos.cfg
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"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
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -37,7 +37,7 @@
|
|||||||
}
|
}
|
||||||
# , "interval": "4 hours"
|
# , "interval": "4 hours"
|
||||||
, "interval": "6 hours"
|
, "interval": "6 hours"
|
||||||
, "from_time": "2024-03-01 09:00:00"
|
, "from_time": "2024-04-01 09:00:00"
|
||||||
}
|
}
|
||||||
, "initial_positions": {
|
, "initial_positions": {
|
||||||
"COINBASE": {
|
"COINBASE": {
|
||||||
@ -77,6 +77,35 @@
|
|||||||
"class": "cvttpy.trading.algos.simple.SimpleTradingAlgo"
|
"class": "cvttpy.trading.algos.simple.SimpleTradingAlgo"
|
||||||
, "params": {}
|
, "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_pos_diff_pct_trigger": 10.0
|
||||||
, "trading_depth": {
|
, "trading_depth": {
|
||||||
|
|||||||
179
data/apps/cvtt_crypto_coinbs.cfg
Normal file
179
data/apps/cvtt_crypto_coinbs.cfg
Normal file
@ -0,0 +1,179 @@
|
|||||||
|
@var CONFIG_SVC_HOST=cloud16.cvtt.vpn
|
||||||
|
@var ResultPath=/tmp
|
||||||
|
|
||||||
|
{
|
||||||
|
"refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata
|
||||||
|
, "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis
|
||||||
|
, "cvttcomm": {
|
||||||
|
"type": "redis"
|
||||||
|
# , "redis_settings": "localhost"
|
||||||
|
, "redis_settings": "cloud17"
|
||||||
|
}
|
||||||
|
, "session_type": "PERMANENT"
|
||||||
|
, "books": {
|
||||||
|
"CVTT_BK01": {}
|
||||||
|
}
|
||||||
|
, "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": "2 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": @inc=http://${CONFIG_SVC_HOST}:6789/apps/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://${CONFIG_SVC_HOST}:6789/apps/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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@ -10,7 +10,7 @@
|
|||||||
, "redis_settings": "cvtt-prod-02"
|
, "redis_settings": "cvtt-prod-02"
|
||||||
}
|
}
|
||||||
, "session_type": "CALENDAR"
|
, "session_type": "CALENDAR"
|
||||||
, "calendar": {
|
, "calendar_session": {
|
||||||
"trading_hours_url": [
|
"trading_hours_url": [
|
||||||
"GET"
|
"GET"
|
||||||
, "http://cloud16.cvtt.vpn:8000/api/v1/markets/hours?mic=XNYS&start={start}&end={end}"
|
, "http://cloud16.cvtt.vpn:8000/api/v1/markets/hours?mic=XNYS&start={start}&end={end}"
|
||||||
@ -32,41 +32,7 @@
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
, "algos": {
|
, "algos": @inc=http://${CONFIG_SVC_HOST}:6789/apps/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_pos_diff_pct_trigger": 10.0
|
||||||
, "trading_depth": {
|
, "trading_depth": {
|
||||||
"USD": 1000.0,
|
"USD": 1000.0,
|
||||||
@ -135,34 +101,7 @@
|
|||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
, "quant": {
|
, "quant": {
|
||||||
"app_channel": "QUANT"
|
"app_channel": "QUANT"
|
||||||
# , "strategy": "CVTT_QST001"
|
, "strategies": @inc=http://${CONFIG_SVC_HOST}:6789/apps/strategies
|
||||||
# , "strategy": "VWAP001"
|
|
||||||
, "strategy": "DAILY_STOCK_001"
|
|
||||||
, "strategies": {
|
|
||||||
"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_database": {
|
|
||||||
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient"
|
|
||||||
, "cred_key": "TSDB_MD_CVTTDATA_RO"
|
|
||||||
, "data_type": "OHLCV"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "DAILY_STOCK_001": {
|
|
||||||
"class": "cvttpy.trading.strategies.daily_stocks_strat.DailyStocksStrategy"
|
|
||||||
, "params": {
|
|
||||||
"liquidate_at": "15:45" # EDT Time
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
, "exchanges_settings": {
|
, "exchanges_settings": {
|
||||||
"*": {
|
"*": {
|
||||||
"mkt_data": {
|
"mkt_data": {
|
||||||
@ -170,12 +109,12 @@
|
|||||||
, "streaming": true
|
, "streaming": true
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
, "COINBASE_AT": {
|
# , "COINBASE_AT": {
|
||||||
"mkt_data": {
|
# "mkt_data": {
|
||||||
"enabled": true
|
# "enabled": true
|
||||||
, "streaming": true
|
# , "streaming": true
|
||||||
},
|
# },
|
||||||
}
|
# }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
|
|||||||
25
data/apps/strategies.cfg
Normal file
25
data/apps/strategies.cfg
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"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_database": {
|
||||||
|
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient"
|
||||||
|
, "cred_key": "TSDB_MD_CVTTDATA_RO"
|
||||||
|
, "data_type": "OHLCV"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, "DAILY_STOCK_001": {
|
||||||
|
"class": "cvttpy.trading.strategies.daily_stocks_strat.DailyStocksStrategy"
|
||||||
|
, "params": {
|
||||||
|
"liquidate_at": "15:45" # EDT Time
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -2,15 +2,15 @@
|
|||||||
"__DUMMY__": {}
|
"__DUMMY__": {}
|
||||||
# ---------------------------------------------
|
# ---------------------------------------------
|
||||||
, "ALPACA": {
|
, "ALPACA": {
|
||||||
"instruments": {
|
"instrument_template": {
|
||||||
# "STOCK-AAPL": {
|
# --- US Stocks only.
|
||||||
# "md_symbol": "AAPL",
|
"instrument_id": "STOCK-{symbol}"
|
||||||
# "trade_symbol": "AAPL"
|
, "base_asset": "EQT.{symbol}"
|
||||||
# }
|
, "quote_asset": "USD"
|
||||||
# "STOCK-IBM": {
|
, "quantity_precision": "1"
|
||||||
# "md_symbol": "IBM",
|
, "price_tick": 0.01
|
||||||
# "trade_symbol": "IBM"
|
, "md_symbol": "{symbol}"
|
||||||
# }
|
, "trade_symbol": "{symbol}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
, "BNBSPOT": {
|
, "BNBSPOT": {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user