@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" } , "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": "3 hours" , "from_time": "2024-02-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 , "algo": "TRDALGO_001" , "exchanges_settings": { "COINBASE_AT": { "mkt_data": { "enabled": true , "streaming": true }, } } , "algos": { "TRDALGO_001": { "class": "cvttpy.trading.algos.simple.SimpleTradingAlgo" , "params": {} } } , "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" # , "strategy": "CVTT_QST001" , "strategy": "VWAP001" , "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" } , "publish_details": true } } } , "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" } } }