From b693b5777847751779569c973f53b8a5dd26962c Mon Sep 17 00:00:00 2001 From: Cryptoval Trading Technologies Date: Fri, 11 Oct 2024 22:18:06 +0000 Subject: [PATCH] progress --- data/apps/md_recorder.cfg | 68 +++++++++++++++++++++++++-- data/apps/research/mkt_simulator.cfg | 64 ++++++++++++++++++------- data/refdata/exchange_instruments.cfg | 28 ++++++++--- data/refdata/exchanges.cfg | 13 ++++- data/refdata/instruments.cfg | 38 ++++++++++++++- 5 files changed, 183 insertions(+), 28 deletions(-) diff --git a/data/apps/md_recorder.cfg b/data/apps/md_recorder.cfg index 9e2902d..c42782a 100644 --- a/data/apps/md_recorder.cfg +++ b/data/apps/md_recorder.cfg @@ -14,7 +14,59 @@ //------------------------------------------------------------------------------ , "md_recorder": { - "db": { + "instrument_groups": { + "BNBFUT_CLD21": [ + "BNBFUT:PERP-BTC-USDT" + , "BNBFUT:PERP-ETH-USDT" + ] + "BNBFUT_CVTTDATA": [ + "BNBFUT:PERP-BTC-USDT" + , "BNBFUT:PERP-ETH-USDT" + ] + , "BNBSPOT_CLD21": [ + "BNBSPOT:PAIR-ADA-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" + ] + , "BNBSPOT_CVTTDATA": [ + "BNBSPOT:PAIR-ADA-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_CLD21": [ + "COINBASE:PAIR-ADA-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" + ] + , "COINBASE_CVTTDATA": [ + "COINBASE:PAIR-ADA-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 @@ -31,11 +83,15 @@ } , "BNBSPOT": { "instruments": { - "PAIR-BTC-USDT": ["TRADES", "BOOK_TOP"] + "PAIR-ADA-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-XRP-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" @@ -56,9 +112,13 @@ } , "COINBASE": { "instruments": { - "PAIR-BTC-USD": ["TRADES", "BOOK_TOP"] + "PAIR-ADA-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": { diff --git a/data/apps/research/mkt_simulator.cfg b/data/apps/research/mkt_simulator.cfg index 728713e..abd700d 100644 --- a/data/apps/research/mkt_simulator.cfg +++ b/data/apps/research/mkt_simulator.cfg @@ -1,16 +1,27 @@ @var CONFIG_SERVICE=cloud23.cvtt.vpn:6789 @var SQLITE_DIR=/home/oleg/tmp/sqlite +@var FROM_TIME="2024-10-03 13:30:00" +@var INTERVAL="18 minutes" + { "refdata": @inc=http://${CONFIG_SERVICE}/refdata/refdata , "redis": @inc=http://${CONFIG_SERVICE}/apps/common/redis , "redis_settings": "localhost" , "simulation": { - "speed_factor": 0.0, + "speed_factor": 100.0, "time_events_interval_ms": 0 } , "market_simulator" : { - "market_data": { + "initial_positions": { + "exchange": "COINBASE", + "assets": { + "BTC": 0.0 + , "ETH": 0.0 + , "USD": 10000 + } + } + , "market_data": { "sources": [ # { # "loader_class": "cvttpy.trading.mkt_data.time_series.loaders.sqlite_loader.SqliteMdLoader" @@ -38,8 +49,8 @@ { "loader_class": "cvttpy.trading.mkt_data.time_series.loaders.tsdb_loader.TimescaleTSLoader" , "credentials_key": "TSDB_MD_CVTTDATA_RO" - , "interval": "2 hours" - , "from_time": "2024-10-03 09:00:00" + , "interval": ${INTERVAL} + , "from_time": ${FROM_TIME} #"2024-10-03 09:00:00" , "exchange_id": "COINBASE" , "instruments": ["PAIR-BTC-USD"] , "md_type": "TRADES" @@ -60,8 +71,8 @@ , { "loader_class": "cvttpy.trading.mkt_data.time_series.loaders.tsdb_loader.TimescaleTSLoader" , "credentials_key": "TSDB_MD_CVTTDATA_RO" - , "interval": "2 hours" - , "from_time": "2024-10-03 09:00:00" + , "interval": ${INTERVAL} + , "from_time": ${FROM_TIME} #"2024-10-03 09:00:00" , "exchange_id": "COINBASE" , "instruments": ["PAIR-BTC-USD"] , "md_type": "BOOK_TOP" @@ -79,28 +90,49 @@ ] , "time_column": "time" } - ], - "api": { + ] + , "api": { "web_socket": { "url": "ws://localhost:8080/ws" } } } - , "accounting": { - "initial_positions": { - "COINBASE": { - "BTC": 0 - , "USD": 1000.0 - } - } - } , "order_entry": { "execution": { + "execute_on": ["BOOK_TOP", "TRADES"] "top_only": true ,"min_order_age_sec": 0.1 , "pricing_method": "BY_MKT_TRD_PRICE_BY_ORDER" + + , "short_sale_allowed": false + , "fee_schedule": { + "taker_fee": 0.006 + "maker_fee": 0.004 + } # , "presubscribe_md_types": ["BOOK_TOP", "TRADES"] } + , "api": { + "web_socket": { + "url": "ws://localhost:8180/ws" + } + , "REST": { + "port": 8181 + "new_order_url": ["POST", "http://localhost:8181/order"] + , "cancel_order_url": ["POST", "http://localhost:8181/cancel"] + , "cancel_all_url": ["POST", "http://localhost:8181/cancel_all"] + , "open_orders_url": ["GET", "http://localhost:8181/open_orders"] + , "order_status_url": ["GET", "http://localhost:8181/order_status"] + } + } + } + , "accounting": { + "api": { + "REST": { + "port": 8182 + , "positions_url": ["GET", "http://localhost:8182/positions"] + , "trades_url": ["GET", "http://localhost:8182/trades"] + } + } } } } diff --git a/data/refdata/exchange_instruments.cfg b/data/refdata/exchange_instruments.cfg index 0dc886a..51e673c 100644 --- a/data/refdata/exchange_instruments.cfg +++ b/data/refdata/exchange_instruments.cfg @@ -39,9 +39,9 @@ "md_symbol": "AAVEBUSD", "trade_symbol": "AAVEBUSD" }, - "PAIR-XRP-BUSD": { - "md_symbol": "XRPBUSD", - "trade_symbol": "XRPBUSD" + "PAIR-ADA-USDT": { + "md_symbol": "ADAUSDT", + "trade_symbol": "ADAUSDT" }, "PAIR-AVAX-BUSD": { "md_symbol": "AVAXBUSD", @@ -51,6 +51,10 @@ "md_symbol": "BCHBUSD", "trade_symbol": "BCHBUSD" }, + "PAIR-BCH-USDT": { + "md_symbol": "BCHUSDT", + "trade_symbol": "BCHUSDT" + }, "PAIR-BTC-BUSD": { "md_symbol": "BTCBUSD", "trade_symbol": "BTCBUSD" @@ -71,6 +75,10 @@ "md_symbol": "DOGEUSDT", "trade_symbol": "DOGEUSDT" }, + "PAIR-DOT-USDT": { + "md_symbol": "DOTUSDT", + "trade_symbol": "DOTUSDT" + }, "PAIR-ETH-BUSD": { "md_symbol": "ETHBUSD", "trade_symbol": "ETHBUSD" @@ -111,9 +119,9 @@ "md_symbol": "MATICUSDT", "trade_symbol": "MATICUSDT" }, - "PAIR-SOL-BUSD": { - "md_symbol": "SOLBUSD", - "trade_symbol": "SOLBUSD" + "PAIR-SOL-USDT": { + "md_symbol": "SOLUSDT", + "trade_symbol": "SOLUSDT" }, "PAIR-UNI-BUSD": { "md_symbol": "UNIBUSD", @@ -235,6 +243,10 @@ "md_symbol": "AVAX-USD", "trade_symbol": "AVAX-USD" }, + "PAIR-ADA-USD": { + "md_symbol": "ADA-USD", + "trade_symbol": "ADA-USD" + }, "PAIR-BCH-USD": { "md_symbol": "BCH-USD", "trade_symbol": "BCH-USD" @@ -247,6 +259,10 @@ "md_symbol": "DOGE-USD", "trade_symbol": "DOGE-USD" }, + "PAIR-DOT-USD": { + "md_symbol": "DOT-USD", + "trade_symbol": "DOT-USD" + }, "PAIR-ETH-USD": { "md_symbol": "ETH-USD", "trade_symbol": "ETH-USD" diff --git a/data/refdata/exchanges.cfg b/data/refdata/exchanges.cfg index 6026073..db88a1b 100644 --- a/data/refdata/exchanges.cfg +++ b/data/refdata/exchanges.cfg @@ -316,6 +316,17 @@ } } + , "COINBASE_SIM": { + "exchange_id": "COINBASE" + , "name": "Coinbase Advanced Trade (Simulation)" + , "type": "SPOT" + + + , "mktdata" : { + "class": "cvttpy.exchanges.mkt_simulator.mkt_data.MktSimMdClientFeed" + "ws_url": ["WS", "ws://localhost:8080/ws"] + } + } # ---------------------------- G , "GEMINI": { # https://docs.gemini.com/rest-api @@ -426,7 +437,7 @@ , "mktdata" : { "class": "cvttpy.exchanges.mkt_simulator.mkt_data.MktSimMdClientFeed" - "ws_url": "ws://localhost:8080/ws" + "ws_url": ["WS", "ws://localhost:8080/ws"] } } # ---------------------------- O diff --git a/data/refdata/instruments.cfg b/data/refdata/instruments.cfg index 48aa8cd..5f8cb93 100644 --- a/data/refdata/instruments.cfg +++ b/data/refdata/instruments.cfg @@ -13,6 +13,18 @@ "quantity_precision": "0.001", "price_tick": 0.01 }, + "PAIR-ADA-USD": { + "base_asset": "ADA", + "quote_asset": "USD", + "quantity_precision": "0.1", + "price_tick": 0.0001 + }, + "PAIR-ADA-USDT": { + "base_asset": "ADA", + "quote_asset": "USDT", + "quantity_precision": "0.1", + "price_tick": 0.0001 + }, "PAIR-ASD-USDT": { "base_asset": "ASD", "quote_asset": "USDT", @@ -51,6 +63,12 @@ "quantity_precision": "0.001", "price_tick": 0.1 }, + "PAIR-BCH-USDT": { + "base_asset": "BCH", + "quote_asset": "USDT", + "quantity_precision": "0.001", + "price_tick": 0.1 + }, "PAIR-BTC-BUSD": { "base_asset": "BTC", "quote_asset": "BUSD", @@ -100,6 +118,18 @@ "quantity_precision": "0.01", "price_tick": 0.00001 }, + "PAIR-DOT-USD": { + "base_asset": "DOT", + "quote_asset": "USD", + "quantity_precision": "0.01", + "price_tick": 0.001 + }, + "PAIR-DOT-USDT": { + "base_asset": "DOT", + "quote_asset": "USDT", + "quantity_precision": "0.01", + "price_tick": 0.001 + }, # --- PAIR-E "PAIR-ETH-BUSD": { "base_asset": "ETH", @@ -216,7 +246,13 @@ "PAIR-SOL-USD": { "base_asset": "SOL", "quote_asset": "USD", - "quantity_precision": "0.01", + "quantity_precision": "0.001", + "price_tick": 0.01 + }, + "PAIR-SOL-USDT": { + "base_asset": "SOL", + "quote_asset": "USDT", + "quantity_precision": "0.001", "price_tick": 0.01 }, # --- PAIR-U