This commit is contained in:
Cryptoval Trading Technologies 2024-05-01 19:22:21 +01:00
parent 920831523a
commit 7a173c54fb
27 changed files with 475 additions and 232 deletions

View File

@ -3,13 +3,9 @@
{ {
"refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata
, "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis , "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/redis
, "algos": @inc=http://${CONFIG_SVC_HOST}:6789/apps/algos , "algos": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/algos
# , "cvttcomm": {
# "type": "redis"
# , "redis_settings": "cvtt-prod-02"
# }
, "session_type": "CALENDAR" , "session_type": "CALENDAR"
, "calendar_session": { , "calendar_session": {
"trading_hours_url": [ "trading_hours_url": [
@ -17,8 +13,90 @@
, "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}"
] ]
} }
, "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.sqlite.sqlite_client.SqliteClient"
, "file_name": "aaa"
}
, "from_time": {
"BUY": "09:29"
"SELL": "15:30"
}
}
# , "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"
}
, "result": {
"repository": "${ResultPath}/backtest_results.json"
, "db_file": "${ResultPath}/%T.backtest.db"
}
}
, "exchanges_settings": { , "exchanges_settings": {
"COINBASE_AT-MDPORTAL": { "ALPACA_SNDBX-MDPORTAL": {
"order_entry": {
"enabled": true
, "streaming": true
},
"mkt_data": {
"enabled": true
, "streaming": true
},
"accounting": {
"enabled": false
, "streaming": false
}
, "credentials_key": {
"read_only": "ALPACA_SANDBOX"
, "trade": "ALPACA_SANDBOX"
}
}
, "ALPACA_SNDBX-MDP-03": {
"order_entry": {
"enabled": true
, "streaming": true
},
"mkt_data": {
"enabled": true
, "streaming": true
},
"accounting": {
"enabled": false
, "streaming": false
}
, "credentials_key": {
"read_only": "ALPACA_SANDBOX"
, "trade": "ALPACA_SANDBOX"
}
}
, "COINBASE_AT-MDPORTAL": {
"order_entry": { "order_entry": {
"enabled": true "enabled": true
, "streaming": true , "streaming": true
@ -38,45 +116,3 @@
} }
} }
} }
# , "books": {
# "ALPACA_BK02": {}
# , "ALPACA_BK_ILYA_01": {}
# }
# # --------------------------------------------------------------------
# , "trader": {
# "app_channel": "TRDR" active_exchanges_: str
# , "is_short_allowed": false
# , "exchanges_settings": {
# "*": {
# "mkt_data": {
# "enabled": true
# , "streaming": true
# },
# }
# }
# , "trading_pos_diff_pct_trigger": 10.0
# , "trading_depth": {
# "USD": 1000.0,
# }
# }
# , "quant": {
# "app_channel": "QUANT"
# , "strategies": @inc=http://${CONFIG_SVC_HOST}:6789/apps/strategies
# , "exchanges_settings": {
# "*": {
# "mkt_data": {
# "enabled": true
# , "streaming": true
# },
# }
# # , "COINBASE_AT": {
# # "mkt_data": {
# # "enabled": true
# # , "streaming": true
# # },
# # }
# }
# }
# }

View File

@ -20,16 +20,28 @@
, "marketable_stage_added_ticks": 0 , "marketable_stage_added_ticks": 0
}, },
} }
, "TRDALGO_ICEBERG01": { , "TRDALGO_ICEBERG01_COINBS": {
"class": "cvttpy.trading.algos.twap.TwapAlgo" "class": "cvttpy.trading.algos.twap.TwapAlgo"
, "params": { , "params": {
"num_slices": 5 "num_slices": 5
, "duration_sec": 1500 # 25 min , "duration_sec": 1500 # 25 min
, "max_order_usd": 100 , "max_order_usd": 100.
, "passive_stage_t1": 0 , "passive_stage_t1": 0
, "aggressive_stage_t2": 0 , "aggressive_stage_t2": 0
, "aggressivity_scale": [0.5, 1.0] # 0.5 = mid, 1.0= BBO-1 tick , "aggressivity_scale": [0.5, 1.0] # 0.5 = mid, 1.0= BBO-1 tick
, "marketable_stage_added_ticks": 0 , "marketable_stage_added_ticks": 0
}, },
} }
, "TRDALGO_ICEBERG01_ALPACA": {
"class": "cvttpy.trading.algos.twap.TwapAlgo"
, "params": {
"num_slices": 5
, "duration_sec": 1500 # 25 min
, "max_order_usd": 1000.
, "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
},
}
} }

View File

@ -24,4 +24,9 @@
, "read_timeout" : 0.01 , "read_timeout" : 0.01
, "ping_timeout_secs": 2.0 , "ping_timeout_secs": 2.0
} }
, "cvtt-prod-03": {
"url": "redis://cvtt-prod-03.cvtt.vpn"
, "read_timeout" : 0.01
, "ping_timeout_secs": 2.0
}
} }

View File

@ -9,7 +9,7 @@
"class": "cvttpy.trading.strategies.vwap_strat.VWAP001" "class": "cvttpy.trading.strategies.vwap_strat.VWAP001"
, "params": { , "params": {
"vwap_interval": "1 hour" "vwap_interval": "1 hour"
, "hist_md_database": { , "hist_md_source": {
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient" "class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient"
, "cred_key": "TSDB_MD_CVTTDATA_RO" , "cred_key": "TSDB_MD_CVTTDATA_RO"
, "data_type": "OHLCV" , "data_type": "OHLCV"

View File

@ -3,7 +3,7 @@
{ {
"refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata
, "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis , "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/redis
, "cvttcomm": { , "cvttcomm": {
"type": "redis" "type": "redis"
# , "redis_settings": "localhost" # , "redis_settings": "localhost"
@ -140,27 +140,7 @@
# -------------------------------------------------------------------- # --------------------------------------------------------------------
, "quant": { , "quant": {
"app_channel": "QUANT" "app_channel": "QUANT"
, "strategies": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/strategies
, "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": { , "exchanges_settings": {
"COINBASE_AT": { "COINBASE_AT": {
"mkt_data": { "mkt_data": {

View File

@ -3,7 +3,7 @@
{ {
"refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata
, "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis , "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/redis
, "cvttcomm": { , "cvttcomm": {
"type": "redis" "type": "redis"
# , "redis_settings": "localhost" # , "redis_settings": "localhost"
@ -37,7 +37,7 @@
} }
# , "interval": "4 hours" # , "interval": "4 hours"
, "interval": "2 hours" , "interval": "2 hours"
, "from_time": "2024-04-01 09:00:00" , "from_time": "2024-04-15 09:00:00"
} }
, "initial_positions": { , "initial_positions": {
"COINBASE": { "COINBASE": {
@ -72,7 +72,7 @@
}, },
} }
} }
, "algos": @inc=http://${CONFIG_SVC_HOST}:6789/apps/algos , "algos": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/algos
, "trading_pos_diff_pct_trigger": 10.0 , "trading_pos_diff_pct_trigger": 10.0
, "trading_depth": { , "trading_depth": {
"BTC": 0.001 "BTC": 0.001
@ -107,7 +107,7 @@
, "quant": { , "quant": {
"app_channel": "QUANT" "app_channel": "QUANT"
, "strategies": @inc=http://${CONFIG_SVC_HOST}:6789/apps/strategies , "strategies": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/strategies
, "exchanges_settings": { , "exchanges_settings": {
"COINBASE_AT": { "COINBASE_AT": {
"mkt_data": { "mkt_data": {

View File

@ -3,7 +3,7 @@
{ {
"refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata
, "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis , "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/redis
, "active_instruments": @inc=http://${CONFIG_SVC_HOST}:6789/apps/active_instruments , "active_instruments": @inc=http://${CONFIG_SVC_HOST}:6789/apps/active_instruments
, "cvttcomm": { , "cvttcomm": {
"type": "redis" "type": "redis"
@ -33,7 +33,7 @@
}, },
} }
} }
, "algos": @inc=http://${CONFIG_SVC_HOST}:6789/apps/algos , "algos": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/algos
, "trading_pos_diff_pct_trigger": 10.0 , "trading_pos_diff_pct_trigger": 10.0
, "trading_depth": { , "trading_depth": {
"USD": 1000.0, "USD": 1000.0,
@ -102,7 +102,7 @@
# -------------------------------------------------------------------- # --------------------------------------------------------------------
, "quant": { , "quant": {
"app_channel": "QUANT" "app_channel": "QUANT"
, "strategies": @inc=http://${CONFIG_SVC_HOST}:6789/apps/strategies , "strategies": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/strategies
, "exchanges_settings": { , "exchanges_settings": {
"*": { "*": {
"mkt_data": { "mkt_data": {

View File

@ -3,7 +3,7 @@
{ {
"refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata
, "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis , "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/redis
, "active_instruments": @inc=http://${CONFIG_SVC_HOST}:6789/apps/active_instruments , "active_instruments": @inc=http://${CONFIG_SVC_HOST}:6789/apps/active_instruments
, "cvttcomm": { , "cvttcomm": {
"type": "redis" "type": "redis"
@ -33,7 +33,7 @@
}, },
} }
} }
, "algos": @inc=http://${CONFIG_SVC_HOST}:6789/apps/algos , "algos": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/algos
, "trading_pos_diff_pct_trigger": 10.0 , "trading_pos_diff_pct_trigger": 10.0
, "trading_depth": { , "trading_depth": {
"USD": 1000.0, "USD": 1000.0,
@ -102,7 +102,7 @@
# -------------------------------------------------------------------- # --------------------------------------------------------------------
, "quant": { , "quant": {
"app_channel": "QUANT_03" "app_channel": "QUANT_03"
, "strategies": @inc=http://${CONFIG_SVC_HOST}:6789/apps/strategies , "strategies": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/strategies
, "exchanges_settings": { , "exchanges_settings": {
"*": { "*": {
"mkt_data": { "mkt_data": {

View File

@ -0,0 +1,47 @@
{
"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.TwapAlgo"
, "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_COINBS": {
"class": "cvttpy.trading.algos.twap.TwapAlgo"
, "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
},
}
, "TRDALGO_ICEBERG01_ALPACA": {
"class": "cvttpy.trading.algos.twap.TwapAlgo"
, "params": {
"num_slices": 5
, "duration_sec": 1500 # 25 min
, "max_order_usd": 1000.
, "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
},
}
}

View File

@ -1,6 +1,6 @@
{ {
"refdata": @inc=http://cloud11.cvtt.vpn:6789/refdata/refdata "refdata": @inc=http://cloud11.cvtt.vpn:6789/refdata/refdata
, "redis": @inc=http://cloud11.cvtt.vpn:6789/apps/redis , "redis": @inc=http://cloud11.cvtt.vpn:6789/apps/common/redis
, "cvttcomm": @inc=http://cloud11.cvtt.vpn:6789/apps/cvttcomm , "cvttcomm": @inc=http://cloud11.cvtt.vpn:6789/apps/cvttcomm
, "exchanges_settings": { , "exchanges_settings": {
"COINBASE_AT": { "COINBASE_AT": {

View File

@ -2,7 +2,7 @@
{ {
"refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata
, "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis , "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/redis
, "cvttcomm": @inc=http://${CONFIG_SVC_HOST}:6789/apps/cvttcomm , "cvttcomm": @inc=http://${CONFIG_SVC_HOST}:6789/apps/cvttcomm
, "quant": { , "quant": {
"books": { "books": {
@ -15,7 +15,7 @@
"dummy": "dummy" "dummy": "dummy"
} }
} }
} }
} }
, "exchanges_settings": { , "exchanges_settings": {
"COINBASE_AT": { "COINBASE_AT": {

View File

@ -0,0 +1,32 @@
{
"localhost": {
"url": "redis://localhost"
, "read_timeout" : 0.01
, "ping_timeout_secs": 2.0
}
, "cloud17": {
"url": "redis://cloud17.cvtt.vpn"
, "read_timeout" : 0.01
, "ping_timeout_secs": 2.0
}
, "cvttdata": {
"url": "redis://cvttdata.cvtt.vpn"
, "read_timeout" : 0.01
, "ping_timeout_secs": 2.0
}
, "cvtt-prod-01": {
"url": "redis://cvtt-prod-01.cvtt.vpn"
, "read_timeout" : 0.01
, "ping_timeout_secs": 2.0
}
, "cvtt-prod-02": {
"url": "redis://cvtt-prod-02.cvtt.vpn"
, "read_timeout" : 0.01
, "ping_timeout_secs": 2.0
}
, "cvtt-prod-03": {
"url": "redis://cvtt-prod-03.cvtt.vpn"
, "read_timeout" : 0.01
, "ping_timeout_secs": 2.0
}
}

View File

@ -3,7 +3,7 @@
"refdata": @inc=http://cloud11.cvtt.vpn:6789/refdata/refdata "refdata": @inc=http://cloud11.cvtt.vpn:6789/refdata/refdata
, "cvttcomm": @inc=http://cloud11.cvtt.vpn:6789/apps/cvttcomm , "cvttcomm": @inc=http://cloud11.cvtt.vpn:6789/apps/cvttcomm
, "redis": @inc=http://cloud11.cvtt.vpn:6789/apps/redis , "redis": @inc=http://cloud11.cvtt.vpn:6789/apps/common/redis
, "risk_manager": { , "risk_manager": {
"book": "CVTT_BK01" "book": "CVTT_BK01"
, "database": { , "database": {

View 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_source": {
"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
}
}
}

View File

@ -1,7 +1,7 @@
{ {
"refdata": @inc=http://cloud11.cvtt.vpn:6789/refdata/refdata "refdata": @inc=http://cloud11.cvtt.vpn:6789/refdata/refdata
, "cvttcomm": @inc=http://cloud11.cvtt.vpn:6789/apps/cvttcomm , "cvttcomm": @inc=http://cloud11.cvtt.vpn:6789/apps/cvttcomm
, "redis": @inc=http://cloud11.cvtt.vpn:6789/apps/redis , "redis": @inc=http://cloud11.cvtt.vpn:6789/apps/common/redis
, "exchanges_settings": { , "exchanges_settings": {
"COINBASE_AT": { "COINBASE_AT": {
"mkt_data": { "mkt_data": {
@ -10,7 +10,7 @@
}, },
} }
} }
, "trader": { , "trader": {
"books": { "books": {
"CVTT_BK01": {} "CVTT_BK01": {}
} }

View File

@ -3,5 +3,5 @@
{ {
# ---------------------------------- # ----------------------------------
"refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata
, "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis , "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/redis
} }

View File

@ -1,69 +0,0 @@
@var CONFIG_SVC_HOST=cloud16.cvtt.vpn
{
# ----------------------------------
"refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata
, "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis
, "md_portal": {
"app_channel": "MD_PORTAL_03"
, "exchanges_settings": {
"ALPACA_SNDBX": {
"order_entry": {
"enabled": false
, "streaming": false
},
"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
}
}
, "BNBFUT": {
"order_entry": {
"enabled": false
, "streaming": false
},
"mkt_data": {
"enabled": true
, "streaming": true
},
"accounting": {
"enabled": false
, "streaming": false
}
}
"COINBASE_AT": {
"order_entry": {
"enabled": false
, "streaming": false
},
"mkt_data": {
"enabled": true
, "streaming": true
},
"accounting": {
"enabled": false
, "streaming": false
}
}
}
}
}

View File

@ -2,7 +2,7 @@
{ {
"refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata
, "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis , "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/redis
, "active_instruments": @inc=http://${CONFIG_SVC_HOST}:6789/apps/active_instruments , "active_instruments": @inc=http://${CONFIG_SVC_HOST}:6789/apps/active_instruments
, "cvttcomm": { , "cvttcomm": {
"type": "redis" "type": "redis"

View File

@ -23,6 +23,6 @@
} }
} }
, "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata , "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata
, "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis , "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/redis
} }

View File

@ -23,6 +23,6 @@
} }
} }
, "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata , "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata
, "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis , "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/redis
} }

View File

@ -1,7 +1,7 @@
@var CONFIG_SVC_HOST=cloud16.cvtt.vpn @var CONFIG_SVC_HOST=cloud16.cvtt.vpn
{ {
"refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata
, "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis , "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/redis
, "active_instruments": @inc=http://${CONFIG_SVC_HOST}:6789/apps/active_instruments , "active_instruments": @inc=http://${CONFIG_SVC_HOST}:6789/apps/active_instruments
"exchanges_settings": { "exchanges_settings": {
"*": { "*": {

View File

@ -1,7 +1,7 @@
@var CONFIG_SVC_HOST=cloud16.cvtt.vpn @var CONFIG_SVC_HOST=cloud16.cvtt.vpn
{ {
"refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata "refdata": @inc=http://${CONFIG_SVC_HOST}:6789/refdata/refdata
, "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/redis , "redis": @inc=http://${CONFIG_SVC_HOST}:6789/apps/common/redis
, "active_instruments": @inc=http://${CONFIG_SVC_HOST}:6789/apps/active_instruments , "active_instruments": @inc=http://${CONFIG_SVC_HOST}:6789/apps/active_instruments
, "exchanges_settings": { , "exchanges_settings": {
"*": { "*": {

View File

@ -1,7 +1,7 @@
@var CVTT_CONFIG_HOST=cloud16.cvtt.vpn @var CVTT_CONFIG_HOST=cloud16.cvtt.vpn
{ {
"refdata": @inc=http://${CVTT_CONFIG_HOST}:6789/refdata/refdata "refdata": @inc=http://${CVTT_CONFIG_HOST}:6789/refdata/refdata
, "redis": @inc=http://${CVTT_CONFIG_HOST}:6789/apps/redis , "redis": @inc=http://${CVTT_CONFIG_HOST}:6789/apps/common/redis
, "cvttcomm": { , "cvttcomm": {
"type": "redis" "type": "redis"

View File

@ -1,7 +0,0 @@
{
"folders": [
{
"path": "../.."
}
]
}

View File

@ -1,10 +0,0 @@
{
"hist_md_database": {
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient",
"connect": {
"host": "cvttdata.cvtt.vpn",
"port": 5432,
"database": "coinbase"
}
}
}

View File

@ -285,6 +285,131 @@
}, },
} }
} }
, "GEMINI": {
"instruments": {
# --- PAIRs
"PAIR-BTC-USD": {
"md_symbol": "BTCUSD",
"trade_symbol": "BTCUSD"
"specifics": {
"quote_increment": 0.5,
}
}
# --- PERPs
, "PERP-BTC-GUSD": {
"md_symbol": "BTCGUSDPERP",
"trade_symbol": "BTCGUSDPERP",
"base_asset": "BTCGUSDPERP",
"specifics": {
"quote_increment": 0.5,
}
}
# "PERP-BNB-GUSD": {
# "md_symbol": "BNBGUSDPERP",
# "trade_symbol": "BNBGUSDPERP",
# "base_asset": "BNBGUSDPERP",
# "specifics": {
# "quote_increment": 0.5,
# }
# },
# "PERP-ETH-GUSD": {
# "md_symbol": "ETHGUSDPERP",
# "trade_symbol": "ETHGUSDPERP",
# "base_asset": "ETHGUSDPERP",
# "specifics": {
# "quote_increment": 0.5,
# }
# },
# "PERP-PEPE-GUSD": {
# "md_symbol": "PEPEGUSDPERP",
# "trade_symbol": "PEPEGUSDPERP",
# "base_asset": "PEPEGUSDPERP",
# "specifics": {
# "quote_increment": 0.5,
# }
# },
# "PERP-XRP-GUSD": {
# "md_symbol": "XRPGUSDPERP",
# "trade_symbol": "XRPGUSDPERP",
# "base_asset": "XRPGUSDPERP",
# "specifics": {
# "quote_increment": 0.5,
# }
# },
# "PERP-SOL-GUSD": {
# "md_symbol": "SOLGUSDPERP",
# "trade_symbol": "SOLGUSDPERP",
# "base_asset": "SOLGUSDPERP",
# "specifics": {
# "quote_increment": 0.5,
# }
# },
# "PERP-MATIC-GUSD": {
# "md_symbol": "MATICGUSDPERP",
# "trade_symbol": "MATICGUSDPERP",
# "base_asset": "MATICGUSDPERP",
# "specifics": {
# "quote_increment": 0.5,
# }
# },
# "PERP-DOGE-GUSD": {
# "md_symbol": "DOGEGUSDPERP",
# "trade_symbol": "DOGEGUSDPERP",
# "base_asset": "DOGEGUSDPERP",
# "specifics": {
# "quote_increment": 0.5,
# }
# },
# "PERP-DOT-GUSD": {
# "md_symbol": "DOTGUSDPERP",
# "trade_symbol": "DOTGUSDPERP",
# "base_asset": "DOTGUSDPERP",
# "specifics": {
# "quote_increment": 0.5,
# }
# },
# "PERP-AVAX-GUSD": {
# "md_symbol": "AVAXGUSDPERP",
# "trade_symbol": "AVAXGUSDPERP",
# "base_asset": "AVAXGUSDPERP",
# "specifics": {
# "quote_increment": 0.5,
# }
# },
# "PERP-LTC-GUSD": {
# "md_symbol": "LTCGUSDPERP",
# "trade_symbol": "LTCGUSDPERP",
# "base_asset": "LTCGUSDPERP",
# "specifics": {
# "quote_increment": 0.5,
# }
# },
# "PERP-INJ-GUSD": {
# "md_symbol": "INJGUSDPERP",
# "trade_symbol": "INJGUSDPERP",
# "base_asset": "INJGUSDPERP",
# "specifics": {
# "quote_increment": 0.5,
# }
# },
# "PERP-LINK-GUSD": {
# "md_symbol": "LINKGUSDPERP",
# "trade_symbol": "LINKGUSDPERP",
# "base_asset": "LINKGUSDPERP",
# "specifics": {
# "quote_increment": 0.5,
# }
# },
# "PERP-WIF-GUSD": {
# "md_symbol": "WIFGUSDPERP",
# "trade_symbol": "WIFGUSDPERP",
# "base_asset": "WIFGUSDPERP",
# "specifics": {
# "quote_increment": 0.5,
# }
# },
}
},
#******************************************************************************* #*******************************************************************************
#******************************************************************************* #*******************************************************************************
#******************************************************************************* #*******************************************************************************

View File

@ -2,7 +2,7 @@
# @var DatabaseHost=cryptoval1.sheynin.home # @var DatabaseHost=cryptoval1.sheynin.home
{ {
"__DUMMY__": {} "__DUMMY__": {}
# ---------------------- A # ----------------------------- A
, "ALPACA_SNDBX": { , "ALPACA_SNDBX": {
# https://docs.alpaca.markets/reference/ # https://docs.alpaca.markets/reference/
"exchange_id": "ALPACA" "exchange_id": "ALPACA"
@ -31,9 +31,12 @@
, "ws_url": ["WSS", "wss://stream.data.alpaca.markets/v2/iex"] , "ws_url": ["WSS", "wss://stream.data.alpaca.markets/v2/iex"]
, "REST": { , "REST": {
"hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"] "hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"]
, "hist_md_quotes": ["GET", "https://data.alpaca.markets/v2/stocks/quotes"]
, "hist_md_trades": ["GET", "https://data.alpaca.markets/v2/stocks/trades"]
, "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"] , "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"]
, "assets": ["GET", "https://paper-api.alpaca.markets/v2/assets"]
# , "assets": ["GET", "https://data.alpaca.markets/v2/assets"]
} }
} }
, "accounting": { , "accounting": {
"class": "cvttpy.exchanges.alpaca.account.AlpacaAccounting" "class": "cvttpy.exchanges.alpaca.account.AlpacaAccounting"
@ -73,6 +76,8 @@
, "REST": { , "REST": {
"hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"] "hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"]
, "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"] , "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"]
, "hist_md_quotes": ["GET", "https://data.alpaca.markets/v2/stocks/quotes"]
, "hist_md_trades": ["GET", "https://data.alpaca.markets/v2/stocks/trades"]
} }
} }
, "accounting": { , "accounting": {
@ -101,12 +106,55 @@
, "REST": { , "REST": {
"hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"] "hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"]
, "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"] , "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"]
, "hist_md_quotes": ["GET", "https://data.alpaca.markets/v2/stocks/quotes"]
, "hist_md_trades": ["GET", "https://data.alpaca.markets/v2/stocks/trades"]
} }
} }
, "accounting": { , "accounting": {
} }
} }
# ---------------------- B , "ALPACA_SNDBX-MDP-03": {
# https://docs.alpaca.markets/reference/
"exchange_id": "ALPACA"
, "name": "Alpaca Trading"
, "type": "EQUITY"
, "cred_key": "ALPACA_SANDBOX"
, "order_entry": {
"class": "cvttpy.exchanges.alpaca.connector.AlpacaOrderEntryClient"
, "REST": {
"submit_order_url": ["POST", "https://paper-api.alpaca.markets/v2/orders"]
, "orders_url": ["GET", "https://paper-api.alpaca.markets/v2/orders"]
, "order_status": ["GET", "https://paper-api.alpaca.markets/v2/orders/{order_id}"]
, "cancel_order_url": ["DELETE", "https://paper-api.alpaca.markets/v2/orders/{order_id}"]
, "cancel_all_url": ["DELETE", "https://paper-api.alpaca.markets/v2/orders"]
}
, "ws_url": ["WSS", "wss://paper-api.alpaca.markets/stream"]
}
, "mktdata" : {
"class": "cvttpy.exchanges.proxies.md_portal_clnt.mkt_data.MktDataPortalFeed"
, "portal_name": "MD_PORTAL_ALPACA_03"
, "REST": {
"hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"]
, "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"]
, "hist_md_quotes": ["GET", "https://data.alpaca.markets/v2/stocks/quotes"]
, "hist_md_trades": ["GET", "https://data.alpaca.markets/v2/stocks/trades"]
}
}
, "accounting": {
"class": "cvttpy.exchanges.alpaca.account.AlpacaAccounting"
, "REST": {
"balances_url": ["GET", "https://paper-api.alpaca.markets/v2/positions"]
, "account_info_url": ["GET", "https://paper-api.alpaca.markets/v2/account"]
, "trades_url": ["GET", "https://paper-api.alpaca.markets/v2/account/activities/FILL"]
}
}
}
# ---------------------------- B
, "BITSTAMP": { , "BITSTAMP": {
"exchange_id": "BITSTAMP" "exchange_id": "BITSTAMP"
, "name": "Bitstamp" , "name": "Bitstamp"
@ -122,7 +170,6 @@
, "ws_url": ["WSS", "wss://ws.bitstamp.net"] , "ws_url": ["WSS", "wss://ws.bitstamp.net"]
} }
} }
, "BNBSPOT": { , "BNBSPOT": {
"exchange_id": "BNBSPOT" "exchange_id": "BNBSPOT"
, "name": "Binance Spot" , "name": "Binance Spot"
@ -201,49 +248,49 @@
} }
} }
} }
# ---------------------- C # ---------------------------- C
, "CVTT": { # , "CVTT": {
"exchange_id": "CVTT" # "exchange_id": "CVTT"
, "name": "CVTT Executor (proxy)" # , "name": "CVTT Executor (proxy)"
, "type": "PROXY" # , "type": "PROXY"
, "order_entry": { # , "order_entry": {
"class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient" # "class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient"
} # }
, "accounting": { # , "accounting": {
"class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient" # "class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient"
} # }
,"listen_channel_prefix": "CVTT_CLNT" # ,"listen_channel_prefix": "CVTT_CLNT"
# , "executor_channel": "EXEC" # # , "executor_channel": "EXEC"
} # }
, "CVTT_COINBASE": { # , "CVTT_COINBASE": {
"exchange_id": "CVTT_COINBS" # "exchange_id": "CVTT_COINBS"
, "name": "CVTT Trader (proxy)" # , "name": "CVTT Trader (proxy)"
, "type": "PROXY" # , "type": "PROXY"
, "order_entry": { # , "order_entry": {
"class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient" # "class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient"
} # }
, "accounting": { # , "accounting": {
"class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient" # "class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient"
} # }
,"listen_channel_prefix": "CVTT_CLNT" # ,"listen_channel_prefix": "CVTT_CLNT"
, "executor_channel": "EXEC" # , "executor_channel": "EXEC"
} # }
, "CVTT_COINBASE_LOCAL": { # , "CVTT_COINBASE_LOCAL": {
"exchange_id": "CVTT_COINBS" # "exchange_id": "CVTT_COINBS"
, "name": "CVTT Trader (proxy)" # , "name": "CVTT Trader (proxy)"
, "type": "PROXY" # , "type": "PROXY"
, "order_entry": { # , "order_entry": {
"class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient" # "class": "cvttpy.exchanges.proxies.cvtt.connector.CvttExecutorClient"
} # }
,"listen_channel_prefix": "CVTT_CLNT" # ,"listen_channel_prefix": "CVTT_CLNT"
, "executor_channel": "EXEC" # , "executor_channel": "EXEC"
} # }
, "COINBASE_AT": { , "COINBASE_AT": {
"exchange_id": "COINBASE" "exchange_id": "COINBASE"
, "name": "Coinbase Advanced Trade" , "name": "Coinbase Advanced Trade"
@ -308,19 +355,28 @@
, "mktdata" : { , "mktdata" : {
"class": "cvttpy.exchanges.proxies.md_portal_clnt.mkt_data.MktDataPortalFeed" "class": "cvttpy.exchanges.proxies.md_portal_clnt.mkt_data.MktDataPortalFeed"
, "portal_name": "MD_PORTAL_COINBS_02" , "portal_name": "MD_PORTAL_COINBS_01"
} }
} }
, "MD_PORTAL": { # ---------------------------- G
"exchange_id": "MD_PORTAL" , "GEMINI": {
, "name": "MD Portal (proxy)" "exchange_id": "GEMINI"
, "type": "PROXY" , "name": "Gemini"
, "type": "SPOT"
, "module" : "cvttpy.oms.exchange"
, "connector_class" : "MdOnlyExchangeConnector"
, "mktdata" : { , "mktdata" : {
"class": "cvttpy.exchanges.proxies.md_portal_clnt.mkt_data.MktDataPortalFeed" "class": "cvttpy.exchanges.gemini.mkt_data.GeminiMdFeed"
, "reconnect_secs": 1
, "ws_url": ["WSS" , "wss://api.gemini.com/v2/marketdata"]
} }
} }
# ---------------------------- M
, "MD_PORTAL_ALPACA_02": { , "MD_PORTAL_ALPACA_02": {
"exchange_id": "MD_PORTAL" "exchange_id": "MD_PORTAL"
, "name": "MD Portal (proxy)" , "name": "MD Portal (proxy)"
@ -332,7 +388,18 @@
, "channel_prefix": "MD_ALPACA_02" , "channel_prefix": "MD_ALPACA_02"
} }
} }
, "MD_PORTAL_COINBS_02": { , "MD_PORTAL_ALPACA_03": {
"exchange_id": "MD_PORTAL"
, "name": "MD Portal (proxy)"
, "type": "PROXY"
, "mktdata" : {
"class": "cvttpy.exchanges.proxies.md_portal_clnt.mkt_data.MktDataPortalFeed"
, "redis_settings": "cvtt-prod-03"
, "channel_prefix": "MD_ALPACA_03"
}
}
, "MD_PORTAL_COINBS_01": {
"exchange_id": "MD_PORTAL" "exchange_id": "MD_PORTAL"
, "name": "MD Portal (proxy)" , "name": "MD Portal (proxy)"
, "type": "PROXY" , "type": "PROXY"
@ -340,7 +407,7 @@
, "mktdata" : { , "mktdata" : {
"class": "cvttpy.exchanges.proxies.md_portal_clnt.mkt_data.MktDataPortalFeed" "class": "cvttpy.exchanges.proxies.md_portal_clnt.mkt_data.MktDataPortalFeed"
, "redis_settings": "cvtt-prod-02" , "redis_settings": "cvtt-prod-02"
, "channel_prefix": "MD_COINBS_02" , "channel_prefix": "MD_COINBS_01"
} }
} }
} }