241 lines
8.0 KiB
INI
241 lines
8.0 KiB
INI
@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
|
|
, "active_instruments": @inc=http://${CONFIG_SVC_HOST}:6789/apps/active_instruments
|
|
, "cvttcomm": {
|
|
"type": "redis"
|
|
, "redis_settings": "cvtt-prod-02"
|
|
}
|
|
, "session_type": "CALENDAR"
|
|
, "calendar": {
|
|
"trading_hours_url": [
|
|
"GET"
|
|
, "http://cloud16.cvtt.vpn:8000/api/v1/markets/hours?mic=XNYS&start={start}&end={end}"
|
|
]
|
|
}
|
|
, "books": {
|
|
"ALPACA_BK02": {}
|
|
}
|
|
# --------------------------------------------------------------------
|
|
, "trader": {
|
|
"app_channel": "TRDR" active_exchanges_: str
|
|
|
|
, "is_short_allowed": false
|
|
, "exchanges_settings": {
|
|
"*": {
|
|
"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": {
|
|
"USD": 1000.0,
|
|
}
|
|
}
|
|
# --------------------------------------------------------------------
|
|
"executor": {
|
|
"app_channel": "EXEC"
|
|
, "exchanges_settings": {
|
|
"COINBASE_AT": {
|
|
"order_entry": {
|
|
"enabled": true
|
|
, "streaming": true
|
|
},
|
|
"mkt_data": {
|
|
"enabled": false
|
|
, "streaming": false
|
|
},
|
|
"accounting": {
|
|
"enabled": false
|
|
, "streaming": false
|
|
}
|
|
, "credentials_key": {
|
|
"read_only": "COINBASE_ADV_RO"
|
|
, "trade": "COINBASE_ADV_TRD"
|
|
}
|
|
}
|
|
, "ALPACA_SNDBX": {
|
|
"order_entry": {
|
|
"enabled": true
|
|
, "streaming": true
|
|
},
|
|
"mkt_data": {
|
|
"enabled": false
|
|
, "streaming": false
|
|
},
|
|
"accounting": {
|
|
"enabled": false
|
|
, "streaming": false
|
|
}
|
|
, "credentials_key": {
|
|
"read_only": "ALPACA_SANDBOX"
|
|
, "trade": "ALPACA_SANDBOX"
|
|
}
|
|
}
|
|
, "ALPACA_SNDBX-MDPORTAL": {
|
|
"order_entry": {
|
|
"enabled": true
|
|
, "streaming": true
|
|
},
|
|
"mkt_data": {
|
|
"enabled": false
|
|
, "streaming": false
|
|
},
|
|
"accounting": {
|
|
"enabled": false
|
|
, "streaming": false
|
|
}
|
|
, "credentials_key": {
|
|
"read_only": "ALPACA_SANDBOX"
|
|
, "trade": "ALPACA_SANDBOX"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# --------------------------------------------------------------------
|
|
, "quant": {
|
|
"app_channel": "QUANT"
|
|
# , "strategy": "CVTT_QST001"
|
|
# , "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": {
|
|
"*": {
|
|
"mkt_data": {
|
|
"enabled": true
|
|
, "streaming": true
|
|
},
|
|
}
|
|
, "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": {
|
|
"*": {
|
|
"mkt_data": {
|
|
"enabled": true
|
|
, "streaming": true
|
|
},
|
|
"accounting": {
|
|
"enabled": true
|
|
, "streaming": false
|
|
}
|
|
, "credentials_key": {
|
|
"trade": "ALPACA_SANDBOX"
|
|
, "read_only": "ALPACA_SANDBOX"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
, "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/%T.cvtt_alpaca_sandbox.db"
|
|
}
|
|
}
|
|
}
|
|
|