From a2bbb4080230ea83ce06c67eb8fc9807d378cacd Mon Sep 17 00:00:00 2001 From: Cryptoval Trading Technologies Date: Wed, 27 Sep 2023 23:34:51 +0000 Subject: [PATCH] config_service initial --- data/apps/executor_app.cfg | 32 ++ data/apps/md_recorder.cfg | 105 ++++ data/db/hist_md.cfg | 10 + data/refdata/assets.cfg | 17 + data/refdata/exchange_instruments.cfg | 671 ++++++++++++++++++++++++++ data/refdata/exchanges.cfg | 192 ++++++++ data/refdata/instruments.cfg | 617 +++++++++++++++++++++++ data/refdata/refdata.cfg | 6 + 8 files changed, 1650 insertions(+) create mode 100644 data/apps/executor_app.cfg create mode 100644 data/apps/md_recorder.cfg create mode 100644 data/db/hist_md.cfg create mode 100644 data/refdata/assets.cfg create mode 100644 data/refdata/exchange_instruments.cfg create mode 100644 data/refdata/exchanges.cfg create mode 100644 data/refdata/instruments.cfg create mode 100644 data/refdata/refdata.cfg diff --git a/data/apps/executor_app.cfg b/data/apps/executor_app.cfg new file mode 100644 index 0000000..7f28b71 --- /dev/null +++ b/data/apps/executor_app.cfg @@ -0,0 +1,32 @@ +{ + "refdata": @inc=http://cloud11.cvtt.vpn:6789/refdata/refdata + , "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" + } + } + } + , "redis": { + "url": "redis://cloud17.cvtt.vpn" + , "listen_channel_patterns": { + "executor": ["EXEC*", "ALL:*"] + , "risk_manager": ["RMGR*", "ALL:*"] + , "trader": ["TRDR*", "ALL:*"] + , "quant": ["QANT*", "ALL:*"] + } + } +} \ No newline at end of file diff --git a/data/apps/md_recorder.cfg b/data/apps/md_recorder.cfg new file mode 100644 index 0000000..cdc2786 --- /dev/null +++ b/data/apps/md_recorder.cfg @@ -0,0 +1,105 @@ +@var WINDOW_SIZE_SEC=2592000 # 30 days + +{ + "md_recorder": { + "db": { + #"module": "cvttpy.tools.db.timescale.tsdb_client" + #, "class": "TimescaleDbClient" + "class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient" + , "connect": { + "host": "cryptoval1.cvtt.vpn" + , "port": 5432 + , "database": "coinbase" + } + } + , "trades_tbl": "md_trades" + , "booktop_tbl": "md_booktops" + , "booksnap_tbl": "md_booksnaps" + , "flush_interval_sec": 0.5 + , "prune_interval_sec": 3600 + + , "collections": { + "__dummy__": null + , "COINBASE": { + "instruments": { + "PAIR-BTC-USD": { + "TRADES": ${WINDOW_SIZE_SEC}, + "BOOK_TOP": ${WINDOW_SIZE_SEC}, + # "BOOK_DEPTH": 3600 + } + , "PAIR-ETH-USD": { + "TRADES": ${WINDOW_SIZE_SEC}, + "BOOK_TOP": ${WINDOW_SIZE_SEC}, + # "BOOK_DEPTH": null + } + , "PAIR-LTC-USD": { + "TRADES": ${WINDOW_SIZE_SEC}, + "BOOK_TOP": ${WINDOW_SIZE_SEC}, + } + , "PAIR-XRP-USD": { + "TRADES": ${WINDOW_SIZE_SEC}, + "BOOK_TOP": ${WINDOW_SIZE_SEC}, + } + } + } + , "BNBSPOT": { + "instruments": { + "PAIR-BTC-USDT": { + "TRADES": ${WINDOW_SIZE_SEC}, + "BOOK_TOP": ${WINDOW_SIZE_SEC}, + } + , "PAIR-ETH-USDT": { + "TRADES": ${WINDOW_SIZE_SEC}, + "BOOK_TOP": ${WINDOW_SIZE_SEC}, + } + , "PAIR-LTC-USDT": { + "TRADES": ${WINDOW_SIZE_SEC}, + "BOOK_TOP": ${WINDOW_SIZE_SEC}, + } + , "PAIR-XRP-USDT": { + "TRADES": ${WINDOW_SIZE_SEC}, + "BOOK_TOP": ${WINDOW_SIZE_SEC}, + } + , "PAIR-USDT-USD": { + "TRADES": ${WINDOW_SIZE_SEC}, + "BOOK_TOP": ${WINDOW_SIZE_SEC}, + } + } + } + } + } + + # ---------------------------------- + , "refdata": @inc=http://cloud11.cvtt.vpn:6789/refdata/refdata + , "exchanges_settings": { + "COINBASE_AT": { + "order_entry": { + "enabled": false + , "streaming": true + }, + "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 + } + } + } +} + diff --git a/data/db/hist_md.cfg b/data/db/hist_md.cfg new file mode 100644 index 0000000..671a5ac --- /dev/null +++ b/data/db/hist_md.cfg @@ -0,0 +1,10 @@ +{ + "hist_md_database": { + "class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient", + "connect": { + "host": "cryptoval1.cvtt.vpn", + "port": 5432, + "database": "coinbase" + } + } +} \ No newline at end of file diff --git a/data/refdata/assets.cfg b/data/refdata/assets.cfg new file mode 100644 index 0000000..dc9a06d --- /dev/null +++ b/data/refdata/assets.cfg @@ -0,0 +1,17 @@ +{ + "USD": { + "pricing": { + "method": "fixed" + , "value": 1.0 + } + , "qty_precision": "0.01" + } + "BTC": { + "pricing": { + "method": "exch_inst" + , "exchange_id": "COINBASE" + , "instrument_id": "PAIR-BTC-USD" + } + , "qty_precision": "0.00000001" + } +} diff --git a/data/refdata/exchange_instruments.cfg b/data/refdata/exchange_instruments.cfg new file mode 100644 index 0000000..2ef68d1 --- /dev/null +++ b/data/refdata/exchange_instruments.cfg @@ -0,0 +1,671 @@ +{ + "__DUMMY__": {} + # --------------------------------------------- + , "BNBSPOT": { + # "aliases": [ + # "BNBSPOT-MD", + # "BNBS-TST" + # ], + "instruments": { + "PAIR-AAVE-BUSD": { + "md_symbol": "AAVEBUSD", + "trade_symbol": "AAVEBUSD" + }, + "PAIR-XRP-BUSD": { + "md_symbol": "XRPBUSD", + "trade_symbol": "XRPBUSD" + }, + "PAIR-AVAX-BUSD": { + "md_symbol": "AVAXBUSD", + "trade_symbol": "AVAXBUSD" + }, + "PAIR-BCH-BUSD": { + "md_symbol": "BCHBUSD", + "trade_symbol": "BCHBUSD" + }, + "PAIR-BTC-BUSD": { + "md_symbol": "BTCBUSD", + "trade_symbol": "BTCBUSD" + }, + "PAIR-BTC-USDT": { + "md_symbol": "BTCUSDT", + "trade_symbol": "BTCUSDT" + }, + "PAIR-BUSD-USDT": { + "md_symbol": "BUSDUSDT", + "trade_symbol": "BUSDUSDT" + }, + "PAIR-DOGE-BUSD": { + "md_symbol": "DOGEBUSD", + "trade_symbol": "DOGEBUSD" + }, + "PAIR-DOGE-USDT": { + "md_symbol": "DOGEUSDT", + "trade_symbol": "DOGEUSDT" + }, + "PAIR-ETH-BUSD": { + "md_symbol": "ETHBUSD", + "trade_symbol": "ETHBUSD" + }, + "PAIR-ETH-USD": { + "md_symbol": "ETHUSD", + "trade_symbol": "ETHUSD" + }, + "PAIR-ETH-USDT": { + "md_symbol": "ETHUSDT", + "trade_symbol": "ETHUSDT" + }, + "PAIR-LINK-BUSD": { + "md_symbol": "LINKBUSD", + "trade_symbol": "LINKBUSD" + }, + "PAIR-LINK-USDT": { + "md_symbol": "LINKUSDT", + "trade_symbol": "LINKUSDT" + }, + "PAIR-LTC-BUSD": { + "md_symbol": "LTCBUSD", + "trade_symbol": "LTCBUSD" + }, + "PAIR-LTC-USDT": { + "md_symbol": "LTCUSDT", + "trade_symbol": "LTCUSDT" + }, + "PAIR-LTC-USD": { + "md_symbol": "LTCUSD", + "trade_symbol": "LTCUSD" + }, + "PAIR-MATIC-BUSD": { + "md_symbol": "MATICBUSD", + "trade_symbol": "MATICBUSD" + }, + "PAIR-MATIC-USDT": { + "md_symbol": "MATICUSDT", + "trade_symbol": "MATICUSDT" + }, + "PAIR-SOL-BUSD": { + "md_symbol": "SOLBUSD", + "trade_symbol": "SOLBUSD" + }, + "PAIR-UNI-BUSD": { + "md_symbol": "UNIBUSD", + "trade_symbol": "UNIBUSD" + }, + "PAIR-USDT-USD": { + "md_symbol": "USDTUSD", + "trade_symbol": "USDTUSD" + }, + "PAIR-XRP-BTC": { + "md_symbol": "XRPBTC", + "trade_symbol": "XRPBTC" + }, + "PAIR-XRP-BUSD": { + "md_symbol": "XRPBUSD", + "trade_symbol": "XRPBUSD" + }, + "PAIR-XRP-USDT": { + "md_symbol": "XRPUSDT", + "trade_symbol": "XRPUSDT" + }, + } + } + , "BNBSPOT_US": { + # "aliases": [ + # "BNB_US-MD" + # ] + "instruments": { + "PAIR-BTC-USD": { + "md_symbol": "BTCUSD" + , "trade_symbol": "BTCUSD" + } + , "PAIR-ETH-USD": { + "md_symbol": "ETHUSD" + , "trade_symbol": "ETHUSD" + } + , "PAIR-LTC-USD": { + "md_symbol": "LTCUSD" + , "trade_symbol": "LTCUSD" + } + , "PAIR-USDT-USD": { + "md_symbol": "USDTUSD" + , "trade_symbol": "USDTUSD" + } + , "PAIR-XRP-USD": { + "md_symbol": "XRPUSD" + , "trade_symbol": "XRPUSD" + } + } + } + , "COINBASE": { + "aliases": [ + "COINBASE_AT" + , "CVTT_COINBS" + ], + "instruments": { + "PAIR-AAVE-USD": { + "md_symbol": "AAVE-USD", + "trade_symbol": "AAVE-USD" + }, + "PAIR-AVAX-USD": { + "md_symbol": "AVAX-USD", + "trade_symbol": "AVAX-USD" + }, + "PAIR-BCH-USD": { + "md_symbol": "BCH-USD", + "trade_symbol": "BCH-USD" + }, + "PAIR-BTC-USD": { + "md_symbol": "BTC-USD", + "trade_symbol": "BTC-USD" + }, + "PAIR-DOGE-USD": { + "md_symbol": "DOGE-USD", + "trade_symbol": "DOGE-USD" + }, + "PAIR-ETH-USD": { + "md_symbol": "ETH-USD", + "trade_symbol": "ETH-USD" + }, + "PAIR-LINK-USD": { + "md_symbol": "LINK-USD", + "trade_symbol": "LINK-USD" + }, + "PAIR-LTC-USD": { + "md_symbol": "LTC-USD", + "trade_symbol": "LTC-USD" + }, + "PAIR-MATIC-USD": { + "md_symbol": "MATIC-USD", + "trade_symbol": "MATIC-USD" + }, + "PAIR-MPL-USD": { + "md_symbol": "MPL-USD", + "trade_symbol": "MPL-USD" + }, + "PAIR-SOL-USD": { + "md_symbol": "SOL-USD", + "trade_symbol": "SOL-USD" + }, + "PAIR-UNI-USD": { + "md_symbol": "UNI-USD", + "trade_symbol": "UNI-USD" + }, + "PAIR-USDT-USD": { + "md_symbol": "USDT-USD", + "trade_symbol": "USDT-USD" + }, + "PAIR-XRP-USD": { + "md_symbol": "XRP-USD", + "trade_symbol": "XRP-USD" + }, + } + } + #******************************************************************************* + #******************************************************************************* + #******************************************************************************* + # + # ------------------------ A + # + , "ASD-SPOT": { + "aliases": [ + "ASD-MD" + ] + , "instruments": { + "PAIR-ASD-USDT": { + "md_symbol": "ASD/USDT" + , "trade_symbol": "ASD/USDT" + } + , "PAIR-BTC-USDT": { + "md_symbol": "BTC/USDT" + , "trade_symbol": "BTC/USDT" + } + , "PAIR-ETH-USDT": { + "md_symbol": "ETH/USDT" + , "trade_symbol": "ETH/USDT" + } + } + } + # + # ------------------------ B + # + , "BITSTAMP": { + "aliases": [ + "BITSTAMP-MD" + ] + , "instruments": { + "PAIR-EUR-USD": { + "md_symbol": "eurusd" + , "trade_symbol": "eurusd" + } + , "PAIR-XRP-EUR": { + "md_symbol": "xrpeur" + , "trade_symbol": "xrpeur" + } + , "PAIR-XRP-USD": { + "md_symbol": "xrpusd" + , "trade_symbol": "xrpusd" + } + } + } + , "BNB_US": { + "aliases": [ + "BNB_US-MD" + ] + , "instruments": { + "PAIR-BTC-USD": { + "md_symbol": "BTCUSD" + , "trade_symbol": "BTCUSD" + } + , "PAIR-USDT-USD": { + "md_symbol": "USDTUSD" + , "trade_symbol": "USDTUSD" + } + , "PAIR-XRP-USD": { + "md_symbol": "XRPUSD" + , "trade_symbol": "XRPUSD" + } + } + } + , "BNBFUT": { + "aliases": [ + "BNBFUT-MD" + , "BNBFUT-TST" + ] + , "instruments": { + "PERP-AAVE-USDT": { + "md_symbol": "AAVEUSDT" + , "trade_symbol": "AAVEUSDT" + } + , "PERP-AVAX-USDT": { + "md_symbol": "AVAXUSDT" + , "trade_symbol": "AVAXUSDT" + } + , "PERP-BCH-USDT": { + "md_symbol": "BCHUSDT" + , "trade_symbol": "BCHUSDT" + } + , "PERP-BTC-BUSD": { + "md_symbol": "BTCBUSD" + , "trade_symbol": "BTCBUSD" + } + , "PERP-BTC-USDT": { + "md_symbol": "BTCUSDT" + , "trade_symbol": "BTCUSDT" + } + , "PERP-DOGE-USDT": { + "md_symbol": "DOGEUSDT" + , "trade_symbol": "DOGEUSDT" + } + , "PERP-ETH-BUSD": { + "md_symbol": "ETHBUSD" + , "trade_symbol": "ETHBUSD" + }, + "PERP-ETH-USDT": { + "md_symbol": "ETHUSDT" + , "trade_symbol": "ETHUSDT" + } + , "PERP-LINK-BUSD": { + "md_symbol": "LINKBUSD" + , "trade_symbol": "LINKBUSD" + } + , "PERP-LINK-USDT": { + "md_symbol": "LINKUSDT" + , "trade_symbol": "LINKUSDT" + } + , "PERP-LTC-BUSD": { + "md_symbol": "LTCBUSD" + , "trade_symbol": "LTCBUSD" + } + , "PERP-LTC-USDT": { + "md_symbol": "LTCUSDT" + , "trade_symbol": "LTCUSDT" + } + , "PERP-MATIC-USDT": { + "md_symbol": "MATICUSDT" + , "trade_symbol": "MATICUSDT" + } + , "PERP-SOL-BUSD": { + "md_symbol": "SOLBUSD" + , "trade_symbol": "SOLBUSD" + } + , "PERP-UNI-BUSD": { + "md_symbol": "UNIBUSD" + , "trade_symbol": "UNIBUSD" + } + } + } + , "BNBFUT-COIN": { + "aliases": [ + "BNBFUT-COIN-MD" + , "BNBFUT-COIN-TST" + ] + , "instruments": { + "PERPC-BTC-USD": { + "md_symbol": "BTCUSD_PERP" + , "trade_symbol": "BTCUSD_PERP" + } + , "PERPC-DOGE-USD": { + "md_symbol": "DOGEUSD_PERP" + , "trade_symbol": "DOGEUSD_PERP" + } + , "PERPC-ETH-USD": { + "md_symbol": "ETHUSD_PERP" + , "trade_symbol": "ETHUSD_PERP" + } + , "PERPC-LINK-USD": { + "md_symbol": "LINKUSD_PERP" + , "trade_symbol": "LINKUSD_PERP" + } + , "PERPC-LTC-USD": { + "md_symbol": "LTCUSD_PERP" + , "trade_symbol": "LTCUSD_PERP" + } + , "PERPC-MATIC-USD": { + "md_symbol": "MATICUSD_PERP", + "trade_symbol": "MATICUSD_PERP" + } + } + } + #****************************************************************** + #******** C O M M A S (here) + #****************************************************************** + , "BTSO": { + "aliases": [ + "BTSO-MD", + "BTSO-BKTST", + "BTSO-TST" + ], + "instruments": { + "PAIR-BTC-MXN": { + "md_symbol": "btc_mxn", + "trade_symbol": "btc_mxn" + }, + "PAIR-XRP-MXN": { + "md_symbol": "xrp_mxn", + "trade_symbol": "xrp_mxn" + }, + "PAIR-XRP-USD": { + "md_symbol": "xrp_usd", + "trade_symbol": "xrp_usd" + }, + "PAIR-USD-MXN": { + "md_symbol": "usd_mxn", + "trade_symbol": "usd_mxn" + } + } + } + , "BYBIT": { + "aliases": [ + "BYBIT-MD" + ], + "instruments": { + "PAIR-GENE-USDT": { + "md_symbol": "GENEUSDT", + "trade_symbol": "GENEUSDT" + }, + "PAIR-USDC-USDT": { + "md_symbol": "USDCUSDT", + "trade_symbol": "USDCUSDT" + }, + "PAIR-ETH-USDT": { + "md_symbol": "ETHUSDT", + "trade_symbol": "ETHUSDT" + }, + "PAIR-BTC-USDT": { + "md_symbol": "BTCUSDT", + "trade_symbol": "BTCUSDT" + }, + "PAIR-MATIC-USDT": { + "md_symbol": "MATICUSDT", + "trade_symbol": "MATICUSDT" + }, + "PAIR-LINK-USDT": { + "md_symbol": "LINKUSDT", + "trade_symbol": "LINKUSDT" + }, + "PAIR-DOGE-USDT": { + "md_symbol": "DOGEUSDT", + "trade_symbol": "DOGEUSDT" + }, + } + } + , "BYBITFUT": { + "aliases": [ + "BYBITFUT-MD" + ], + "instruments": { + "PERP-BTC-USDT": { + "md_symbol": "BTCUSDT", + "trade_symbol": "BTCUSDT" + }, + "PERP-ETH-USDT": { + "md_symbol": "ETHUSDT", + "trade_symbol": "ETHUSDT" + }, + "PERP-MATIC-USDT": { + "md_symbol": "MATICUSDT", + "trade_symbol": "MATICUSDT" + }, + "PERP-LINK-USDT": { + "md_symbol": "LINKUSDT", + "trade_symbol": "LINKUSDT" + }, + "PERP-LTC-USDT": { + "md_symbol": "LTCUSDT", + "trade_symbol": "LTCUSDT" + }, + "PERP-DOGE-USDT": { + "md_symbol": "DOGEUSDT", + "trade_symbol": "DOGEUSDT" + }, + }, + } + # + # ------------------------ C + # + , "COINBS_INTL": { + "aliases": [ + "COINBS_INTL-MD", "COINBS_INTL-SNDBX", "COINBS_INTL-SNDBX-MD" + ], + "instruments": { + "PERP-BTC-USDC": { + "md_symbol": "BTC-PERP", + "trade_symbol": "BTC-PERP" + }, + "PERP-ETH-USDC": { + "md_symbol": "ETH-PERP", + "trade_symbol": "ETH-PERP" + }, + } + } + , "COINEX": { + "aliases": [ + "COINEX-MD" + ], + "instruments": { + "PAIR-GENE-USDT": { + "md_symbol": "GENEUSDT", + "trade_symbol": "GENEUSDT" + }, + } + } + # + # ------------------------ D + # + , "DEXALOT": { + "aliases": [ + "DEXALOT-MD" + ], + "instruments": { + "PAIR-AVAX-USDT": { + "md_symbol": "AVAX/USDt", + "trade_symbol": "AVAX/USDt" + }, + } + } + # + # ------------------------ F + # + , "FIREFLY": { + "aliases": [ + "FIREFLY-MD" + ], + "instruments": { + "PERP-ETH-USD": { + "md_symbol": "ETH-PERP", + "trade_symbol": "ETH-PERP" + }, + "PERP-BTC-USD": { + "md_symbol": "BTC-PERP", + "trade_symbol": "BTC-PERP" + }, + }, + } + ,"FIXER": { + "aliases": [ + "FIXER-MD" + ], + "instruments": { + "PAIR-EUR-USD": { + "md_symbol": "EUR-USD", + "trade_symbol": "EUR-USD", + }, + "PAIR-USD-MXN": { + "md_symbol": "USD-MXN", + "trade_symbol": "USD-MXN", + }, + "PAIR-USD-JPY": { + "md_symbol": "USD-JPY", + "trade_symbol": "USD-JPY", + }, + } + } + # + # ------------------------ G + # + , "GEMINI": { + "aliases": [ + "GEMINI-MD", "GEMINI-SNDBX", "GEMINI-SNDBX-NOFIX" + ], + "instruments": { + "PERP-BTC-GUSD": { + "md_symbol": "BTCGUSDPERP", + "trade_symbol": "BTCGUSDPERP" + "specifics": { + "quote_increment": 0.5, + } + }, + } + } + # + # ------------------------ I + # + , "ITBT": { + "aliases": [ + "ITBT-MD", + "ITBT-BKTST" + ], + "instruments": { + "PAIR-BTC-USD": { + "md_symbol": "BTCUSD", + "trade_symbol": "BTCUSD" + }, + "PAIR-ETH-USD": { + "md_symbol": "ETHUSD", + "trade_symbol": "ETHUSD" + }, + "PAIR-MATIC-USD": { + "md_symbol": "MATICUSD", + "trade_symbol": "MATICUSD" + }, + "PAIR-SOL-USD": { + "md_symbol": "SOLUSD", + "trade_symbol": "SOLUSD" + }, + "PAIR-BCH-USD": { + "md_symbol": "BCHUSD", + "trade_symbol": "BCHUSD" + }, + "PAIR-LTC-USD": { + "md_symbol": "LTCUSD", + "trade_symbol": "LTCUSD" + }, + "PAIR-UNI-USD": { + "md_symbol": "UNIUSD", + "trade_symbol": "UNIUSD" + }, + "PAIR-AAVE-USD": { + "md_symbol": "AAVEUSD", + "trade_symbol": "AAVEUSD" + }, + "PAIR-LINK-USD": { + "md_symbol": "LINKUSD", + "trade_symbol": "LINKUSD" + }, + } + } + # + # ------------------------ S + # + , "SHIFT": { + "aliases": [ + "SHIFT-MD" + ], + "instruments": { + "PAIR-EUR-USD": { + "md_symbol": "EUR/USD", + "trade_symbol": "EUR/USD", + }, + "PAIR-EUR-GBP": { + "md_symbol": "EUR/GBP", + "trade_symbol": "EUR/GBP", + }, + "PAIR-GBP-USD": { + "md_symbol": "GBP/USD", + "trade_symbol": "GBP/USD", + }, + "PAIR-USD-MXN": { + "md_symbol": "USD/MXN", + "trade_symbol": "USD/MXN", + }, + "PAIR-USD-JPY": { + "md_symbol": "USD/JPY", + "trade_symbol": "USD/JPY", + }, + } + } + # + # ------------------------ X + # + , "XRPDEX": { + "aliases": [ + "XRPDEX-MD" + ], + "instruments": { + "PAIR-EUR-USD": { + "md_symbol": "EUR-USD", + "trade_symbol": "EUR-USD", + "specifics": { + "base_issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "quote_issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq" + } + }, + "PAIR-XRP-EUR": { + "md_symbol": "XRP-EUR", + "trade_symbol": "XRP-EUR", + "specifics": { + "quote_issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + } + }, + "PAIR-XRP-USD": { + "md_symbol": "XRP-USD", + "trade_symbol": "XRP-USD", + "specifics": { + "quote_issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + } + } + } + } +} + + diff --git a/data/refdata/exchanges.cfg b/data/refdata/exchanges.cfg new file mode 100644 index 0000000..2313ef2 --- /dev/null +++ b/data/refdata/exchanges.cfg @@ -0,0 +1,192 @@ +{ + "__DUMMY__": {} + # ---------------------- C + , "BNBSPOT": { + "exchange_id": "BNBSPOT" + , "name": "Binance Spot" + , "type": "SPOT" + + , "mktdata" : { + "class": "cvttpy.exchanges.binance.spot.mkt_data.BnbSpotMultiWsFeed" + , "max_connections": 10 + , "reconnect_secs": 2.0 + + + , "ws_url": ["WSS", "wss://stream.binance.com/ws"] + } + } + , "BNBFUT": { + "exchange_id": "BNBFUT" + , "name": "Binance Futures USD-M" + , "type": "FUTURES" + + , "mktdata" : { + "class": "cvttpy.exchanges.binance.futures.mkt_data.BnbFutMultiWsFeed" + , "max_connections": 10 + , "reconnect_secs": 2.0 + + , "ws_url": ["WSS", "wss://fstream.binance.com/ws"] + } + } + , "BNBFUT-2": { + "exchange_id": "BNBFUT" + , "name": "Binance Futures USD-M" + , "type": "FUTURES" + + , "mktdata" : { + "class": "cvttpy.exchanges.binance.futures.mkt_data.BinanceFuturesFeedWs2" + , "max_connections": 10 + , "reconnect_secs": 2.0 + , "ws_timeout_secs": 0.0001 + + , "ws_url": ["WSS", "wss://fstream.binance.com/ws"] + } + } + + , "BNBFUT-BT-FEED": { + "exchange_id": "BNBFUT" + , "name": "Binance Futures USD-M" + , "type": "FUTURES" + + , "mktdata" : { + "class": "cvttpy.exchanges.book_top_feed.mkt_data.BookTopFeedClient" + , "mmap_file": "/tmp/BNBFUT.MD.dat" + } + } + , "BNBSPOT_US": { + "exchange_id": "BNBSPOT_US" + , "name": "Binance.US" + , "type": "SPOT" + + , "mktdata" : { + "class": "cvttpy.exchanges.binance.spot.mkt_data.BinanceSpotFeed" + , "reconnect_secs": 10 + + , "ws_url": ["WSS", "wss://stream.binance.us:9443/ws"] + } + } + # ---------------------- C + , "CVTT_COINBASE": { + "exchange_id": "CVTT_COINBS" + , "name": "CVTT Trader (proxy)" + , "type": "PROXY" + + , "order_entry": { + "class": "cvttpy.exchanges.proxies.cvtt.connector.CvttTraderClient" + + } + , "redis": { + "url": "redis://cloud17.cvtt.vpn" + ,"listen_channel_prefix": "CVTT_CLNT" + , "trader_channel": "TRDR" + , "ping_timeout_secs": 2.0 + } + } + , "CVTT_COINBASE_LOCAL": { + "exchange_id": "CVTT_COINBS" + , "name": "CVTT Trader (proxy)" + , "type": "PROXY" + + , "order_entry": { + "class": "cvttpy.exchanges.proxies.cvtt.connector.CvttTraderClient" + + } + , "redis": { + "url": "redis://localhost" + ,"listen_channel_prefix": "CVTT_CLNT" + , "trader_channel": "TRDR" + , "ping_timeout_secs": 1.0 + } + } + , "COINBASE_AT": { + "exchange_id": "COINBASE" + , "name": "Coinbase Advanced Trade" + , "type": "SPOT" + + , "order_entry": { + "class": "cvttpy.exchanges.coinbase.spot.connector.CoinbaseSpotRestExchConnector" + + , "REST": { + "open_orders_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/orders/historical/batch"] + , "submit_order_url": ["POST", "https://api.coinbase.com/api/v3/brokerage/orders"] + , "cancel_order_url": ["POST", "https://api.coinbase.com/api/v3/brokerage/orders/batch_cancel"] + }, + "ws_url": ["WSS", "wss://advanced-trade-ws.coinbase.com"] + } + + , "accounting": { + "class": "cvttpy.exchanges.coinbase.spot.account.CoinbaseSpotAccounting" + + , "REST": { + "balances_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/accounts"] + , "get_trades_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/orders/historical/fills"] + , "get_transactions_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/transaction_summary"] + } + } + + , "mktdata" : { + "class": "cvttpy.exchanges.coinbase.spot.mkt_data.CoinbaseMultiWsFeed" + + , "reconnect_secs": 2 + , "max_connections": 10 + , "price_throttle": true + + , "ws_url": ["WSS", "wss://ws-feed.pro.coinbase.com"] + } + } + , "BACKTEST_001": { + "exchange_id": "COINBASE" + , "name": "Coinbase Backtest" + , "type": "BACKTEST" + + # , "order_entry": { + # "class": "cvttpy.exchanges.coinbase.spot.connector.CoinbaseSpotRestExchConnector" + + # , "REST": { + # "open_orders_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/orders/historical/batch"] + # , "submit_order_url": ["POST", "https://api.coinbase.com/api/v3/brokerage/orders"] + # , "cancel_order_url": ["POST", "https://api.coinbase.com/api/v3/brokerage/orders/batch_cancel"] + # }, + # "ws_url": ["WSS", "wss://advanced-trade-ws.coinbase.com"] + # } + + # , "accounting": { + # "class": "cvttpy.exchanges.coinbase.spot.account.CoinbaseSpotAccounting" + + # , "REST": { + # "balances_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/accounts"] + # , "get_trades_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/orders/historical/fills"] + # , "get_transactions_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/transaction_summary"] + # } + # } + + , "mktdata" : { + "class": "cvttpy.research.backtest.mkt_data.BacktestSimFeed" + , "db": { + "module": "cvttpy.tools.db.timescale.tsdb_client" + , "class": "TimescaleDbClient" + , "connect": { + "host": "cryptoval1.cvtt.vpn" + , "port": 5432 + , "database": "coinbase" + } + } + , "readers": [ + { + "class": "cvttpy.research.time_series.ts_df_reader" + , "table": "md_trades" + , "interval": "12 hours" + , "from_time": null + } + , { + "class": "cvttpy.research.time_series.ts_df_reader" + , "table": "md_booktops" + , "interval": "12 hours" + , "from_time": null + } + ] + + } + } +} + diff --git a/data/refdata/instruments.cfg b/data/refdata/instruments.cfg new file mode 100644 index 0000000..d861175 --- /dev/null +++ b/data/refdata/instruments.cfg @@ -0,0 +1,617 @@ +{ + # -------------------------------------- PAIRs + # --- PAIR-A + "PAIR-AAVE-BUSD": { + "base_asset": "AAVE", + "quote_asset": "BUSD", + "price_precision": "0.01", + "quantity_precision": "0.001", + "value_precision": "0.0001", + "price_tick": 0.01 + }, + "PAIR-AAVE-USD": { + "base_asset": "AAVE", + "quote_asset": "USD", + "price_precision": "0.01", + "quantity_precision": "0.001", + "value_precision": "0.0001", + "price_tick": 0.01 + }, + "PAIR-ASD-USDT": { + "base_asset": "ASD", + "quote_asset": "USDT", + "price_precision": "0.01", + "quantity_precision": "0.0001", + "value_precision": "0.000000001", + "contract_size": 1.0, + "price_tick": 0.1 + }, + "PAIR-AVAX-BUSD": { + "base_asset": "AVAX", + "quote_asset": "BUSD", + "price_precision": "0.00001", + "quantity_precision": "0.00001", + "value_precision": "0.0000000001", + "price_tick": 0.00001 + }, + "PAIR-AVAX-USD": { + "base_asset": "AVAX", + "quote_asset": "USD", + "price_precision": "0.00001", + "quantity_precision": "0.00001", + "value_precision": "0.0000000001", + "price_tick": 0.00001 + }, + "PAIR-AVAX-USDT": { + "base_asset": "AVAX", + "quote_asset": "USDT", + "price_precision": "0.00001", + "quantity_precision": "0.00001", + "value_precision": "0.0000000001", + "price_tick": 0.00001 + }, + # --- PAIR-B + "PAIR-BCH-BUSD": { + "base_asset": "BCH", + "quote_asset": "BUSD", + "price_precision": "0.1", + "quantity_precision": "0.001", + "value_precision": "0.0001", + "price_tick": 0.1 + }, + "PAIR-BCH-USD": { + "base_asset": "BCH", + "quote_asset": "USD", + "price_precision": "0.1", + "quantity_precision": "0.001", + "value_precision": "0.0001", + "price_tick": 0.1 + }, + "PAIR-BTC-BUSD": { + "base_asset": "BTC", + "quote_asset": "BUSD", + "price_precision": "0.01", + "quantity_precision": "0.00000001", + "value_precision": "0.0000000001", + "price_tick": 0.1 + }, + "PAIR-BTC-MXN": { + "base_asset": "BTC", + "quote_asset": "MXN", + "price_precision": "1.0", + "quantity_precision": "0.000001", + "value_precision": "0.000001", + "price_tick": 1 + }, + "PAIR-BTC-USD": { + "base_asset": "BTC", + "quote_asset": "USD", + "price_precision": "0.01", + "quantity_precision": "0.00000001", + "value_precision": "0.0000000001", + "price_tick": 0.1 + }, + "PAIR-BTC-USDT": { + "base_asset": "BTC", + "quote_asset": "USDT", + "price_precision": "0.01", + "quantity_precision": "0.00000001", + "value_precision": "0.0000000001", + "price_tick": 0.1 + }, + "PAIR-BUSD-USDT": { + "base_asset": "BUSD", + "quote_asset": "USDT", + "price_precision": "0.0001", + "quantity_precision": "0.0001", + "value_precision": "0.00000001", + "price_tick": 0.0001 + }, + # --- PAIR-D + "PAIR-DOGE-BUSD": { + "base_asset": "DOGE", + "quote_asset": "BUSD", + "price_precision": "0.00001", + "quantity_precision": "0.01", + "value_precision": "0.00001", + "price_tick": 0.00001 + }, + "PAIR-DOGE-USD": { + "base_asset": "DOGE", + "quote_asset": "USD", + "price_precision": "0.00001", + "quantity_precision": "0.01", + "value_precision": "0.00001", + "price_tick": 0.00001 + }, + "PAIR-DOGE-USDT": { + "base_asset": "DOGE", + "quote_asset": "USDT", + "price_precision": "0.00001", + "quantity_precision": "0.01", + "value_precision": "0.00001", + "price_tick": 0.00001 + }, + # --- PAIR-E + "PAIR-ETH-BUSD": { + "base_asset": "ETH", + "quote_asset": "BUSD", + "price_precision": "0.01", + "quantity_precision": "0.0001", + "value_precision": "0.00000001", + "price_tick": 0.01 + }, + "PAIR-ETH-USD": { + "base_asset": "ETH", + "quote_asset": "USD", + "price_precision": "0.01", + "quantity_precision": "0.0001", + "value_precision": "0.00000001", + "price_tick": 0.01 + }, + "PAIR-ETH-USDT": { + "base_asset": "ETH", + "quote_asset": "USDT", + "price_precision": "0.01", + "quantity_precision": "0.0001", + "value_precision": "0.00000001", + "price_tick": 0.01 + }, + "PAIR-EUR-GBP": { + "base_asset": "EUR", + "quote_asset": "GBP", + "price_precision": "0.00001", + "quantity_precision": "0.00001", + "value_precision": "0.0000000001", + "price_tick": 0.00001 + }, + "PAIR-EUR-USD": { + "base_asset": "EUR", + "quote_asset": "USD", + "price_precision": "0.00001", + "quantity_precision": "0.00001", + "value_precision": "0.0000000001", + "price_tick": 0.00001 + }, + # --- PAIR-G + "PAIR-GENE-USDT": { + "base_asset": "GENE", + "quote_asset": "USDT", + "price_precision": "0.001", + "quantity_precision": "0.01", + "value_precision": "0.000001", + "price_tick": 0.001 + }, + "PAIR-GBP-USD": { + "base_asset": "GBP", + "quote_asset": "USD", + "price_precision": "0.00001", + "quantity_precision": "0.00001", + "value_precision": "0.0000000001", + "price_tick": 0.00001 + }, + # --- PAIR-L + "PAIR-LINK-BUSD": { + "base_asset": "LINK", + "quote_asset": "BUSD", + "price_precision": "0.001", + "quantity_precision": "0.01", + "value_precision": "0.00001", + "price_tick": 0.001 + }, + "PAIR-LINK-USD": { + "base_asset": "LINK", + "quote_asset": "USD", + "price_precision": "0.001", + "quantity_precision": "0.01", + "value_precision": "0.00001", + "price_tick": 0.001 + }, + "PAIR-LINK-USDT": { + "base_asset": "LINK", + "quote_asset": "USDT", + "price_precision": "0.001", + "quantity_precision": "0.01", + "value_precision": "0.00001", + "price_tick": 0.001 + }, + "PAIR-LTC-BUSD": { + "base_asset": "LTC", + "quote_asset": "BUSD", + "price_precision": "0.01", + "quantity_precision": "0.001", + "value_precision": "0.00001", + "price_tick": 0.01 + }, + "PAIR-LTC-USD": { + "base_asset": "LTC", + "quote_asset": "USD", + "price_precision": "0.01", + "quantity_precision": "0.001", + "value_precision": "0.00001", + "price_tick": 0.01 + }, + "PAIR-LTC-USDT": { + "base_asset": "LTC", + "quote_asset": "USDT", + "price_precision": "0.01", + "quantity_precision": "0.001", + "value_precision": "0.00001", + "price_tick": 0.01 + }, + # --- PAIR-M + "PAIR-MATIC-BUSD": { + "base_asset": "MATIC", + "quote_asset": "USD", + "price_precision": "0.0001", + "quantity_precision": "0.01", + "value_precision": "0.0000001", + "price_tick": 0.0001 + }, + "PAIR-MATIC-USD": { + "base_asset": "MATIC", + "quote_asset": "USD", + "price_precision": "0.0001", + "quantity_precision": "0.01", + "value_precision": "0.0000001", + "price_tick": 0.0001 + }, + "PAIR-MATIC-USDT": { + "base_asset": "MATIC", + "quote_asset": "USDT", + "price_precision": "0.0001", + "quantity_precision": "0.01", + "value_precision": "0.0000001", + "price_tick": 0.0001 + }, + "PAIR-MPL-USD": { + "base_asset": "MPL", + "quote_asset": "USD", + "price_precision": "0.01", + "quantity_precision": "0.001", + "value_precision": "0.0000001", + "price_tick": 0.01 + }, + # --- PAIR-S + "PAIR-SOL-BUSD": { + "base_asset": "SOL", + "quote_asset": "BUSD", + "price_precision": "0.01", + "quantity_precision": "0.01", + "value_precision": "0.0001", + "price_tick": 0.01 + }, + "PAIR-SOL-USD": { + "base_asset": "SOL", + "quote_asset": "USD", + "price_precision": "0.01", + "quantity_precision": "0.01", + "value_precision": "0.0001", + "price_tick": 0.01 + }, + # --- PAIR-U + "PAIR-UNI-BUSD": { + "base_asset": "UNI", + "quote_asset": "BUSD", + "price_precision": "0.01", + "quantity_precision": "0.01", + "value_precision": "0.0001", + "price_tick": 0.01 + }, + "PAIR-UNI-USD": { + "base_asset": "UNI", + "quote_asset": "USD", + "price_precision": "0.01", + "quantity_precision": "0.01", + "value_precision": "0.0001", + "price_tick": 0.01 + }, + "PAIR-USD-JPY": { + "base_asset": "USD", + "quote_asset": "JPY", + "price_precision": "0.001", + "quantity_precision": "0.001", + "value_precision": "0.0000001", + "price_tick": 0.001 + }, + "PAIR-USD-MXN": { + "base_asset": "USD", + "quote_asset": "MXN", + "price_precision": "0.001", + "quantity_precision": "0.001", + "value_precision": "0.0000001", + "price_tick": 0.001 + }, + "PAIR-USDC-USDT": { + "base_asset": "USDC", + "quote_asset": "USDT", + "price_precision": "0.0001", + "quantity_precision": "1", + "value_precision": "0.000001", + "price_tick": 0.0001 + }, + "PAIR-USDT-USD": { + "base_asset": "USDT", + "quote_asset": "USD", + "price_precision": "0.0001", + "quantity_precision": "0.0001", + "value_precision": "0.0000001", + "price_tick": 0.0001 + }, + # --- PAIR-X + "PAIR-XRP-BTC": { + "base_asset": "XRP", + "quote_asset": "BTC", + "price_precision": "0.00000001", + "quantity_precision": "1.0", + "value_precision": "0.00000001", + "price_tick": 0.00000001 + }, + "PAIR-XRP-BUSD": { + "base_asset": "XRP", + "quote_asset": "BUSD", + "price_precision": "0.0001", + "quantity_precision": "0.01", + "value_precision": "0.0000001", + "price_tick": 0.0001 + }, + "PAIR-XRP-EUR": { + "base_asset": "XRP", + "quote_asset": "EUR", + "price_precision": "0.0001", + "quantity_precision": "0.01", + "value_precision": "0.0001", + "price_tick": 0.00001 + }, + "PAIR-XRP-MXN": { + "base_asset": "XRP", + "quote_asset": "MXN", + "price_precision": "0.000001", + "quantity_precision": "0.01", + "value_precision": "0.00000001", + "price_tick": 0.000001 + }, + "PAIR-XRP-USD": { + "base_asset": "XRP", + "quote_asset": "USD", + "price_precision": "0.0001", + "quantity_precision": "0.01", + "value_precision": "0.0001", + "price_tick": 0.00001 + }, + "PAIR-XRP-USDT": { + "base_asset": "XRP", + "quote_asset": "USDT", + "price_precision": "0.0001", + "quantity_precision": "0.01", + "value_precision": "0.0001", + "price_tick": 0.0001 + }, + # **************************************************** + # PERPs + # **************************************************** + # --- PERP-A + "PERP-AAVE-USDT": { + "base_asset": "AAVE", + "quote_asset": "USDT", + "price_precision": "0.1", + "quantity_precision": "0.001", + "value_precision": "0.0001", + "price_tick": 0.1 + }, + "PERP-AVAX-USDT": { + "base_asset": "AVAX", + "quote_asset": "USDT", + "price_precision": "0.00001", + "quantity_precision": "0.00001", + "value_precision": "0.0000000001", + "price_tick": 0.00001 + }, + # --- PERP-B + "PERP-BCH-USDT": { + "base_asset": "BCH", + "quote_asset": "USDT", + "price_precision": "0.1", + "quantity_precision": "0.001", + "value_precision": "0.0001", + "price_tick": 0.1 + }, + "PERP-BTC-BUSD": { + "base_asset": "BTC", + "quote_asset": "BUSD", + "price_precision": "0.01", + "quantity_precision": "0.00000001", + "value_precision": "0.0000000001", + "price_tick": 0.1 + }, + "PERP-BTC-GUSD": { + "base_asset": "BTC", + "quote_asset": "GUSD", + "price_precision": "0.01", + "quantity_precision": "0.001", + "value_precision": "0.00001", + "price_tick": 0.01 + }, + "PERP-BTC-USD": { + "base_asset": "BTC", + "quote_asset": "USD", + "price_precision": "0.1", + "quantity_precision": "1", + "value_precision": "0.1", + "price_tick": 0.1 + }, + "PERP-BTC-USDC": { + "base_asset": "BTC", + "quote_asset": "USDC", + "price_precision": "0.01", + "quantity_precision": "0.001", + "value_precision": "0.00001", + "price_tick": 0.01 + }, + "PERP-BTC-USDT": { + "base_asset": "BTC", + "quote_asset": "USDT", + "price_precision": "0.01", + "quantity_precision": "0.001", + "value_precision": "0.00001", + "price_tick": 0.01 + }, + # --- PERP-D + "PERP-DOGE-USDT": { + "base_asset": "DOGE", + "quote_asset": "USDT", + "price_precision": "0.000001", + "quantity_precision": "1", + "value_precision": "0.000001", + "price_tick": 0.000001 + }, + # --- PERP-E + "PERP-ETH-BUSD": { + "base_asset": "ETH", + "quote_asset": "BUSD", + "price_precision": "0.01", + "quantity_precision": "0.0001", + "value_precision": "0.00000001", + "price_tick": 0.01 + }, + "PERP-ETH-USDC": { + "base_asset": "ETH", + "quote_asset": "USDC", + "price_precision": "0.01", + "quantity_precision": "0.001", + "value_precision": "0.00001", + "price_tick": 0.01 + }, + "PERP-ETH-USD": { + "base_asset": "ETH", + "quote_asset": "USD", + "price_precision": "0.01", + "quantity_precision": "1", + "value_precision": "0.01", + "price_tick": 0.01 + }, + "PERP-ETH-USDT": { + "base_asset": "ETH", + "quote_asset": "USDT", + "price_precision": "0.01", + "quantity_precision": "0.001", + "value_precision": "0.00001", + "price_tick": 0.01 + }, + # --- PERP-L + "PERP-LINK-BUSD": { + "base_asset": "LINK", + "quote_asset": "BUSD", + "price_precision": "0.001", + "quantity_precision": "0.01", + "value_precision": "0.00001", + "price_tick": 0.001 + }, + "PERP-LINK-USDT": { + "base_asset": "LINK", + "quote_asset": "USDT", + "price_precision": "0.001", + "quantity_precision": "0.01", + "value_precision": "0.00001", + "price_tick": 0.001 + }, + "PERP-LTC-BUSD": { + "base_asset": "LTC", + "quote_asset": "BUSD", + "price_precision": "0.01", + "quantity_precision": "0.001", + "value_precision": "0.00001", + "price_tick": 0.01 + }, + "PERP-LTC-USDT": { + "base_asset": "LTC", + "quote_asset": "USDT", + "price_precision": "0.01", + "quantity_precision": "0.001", + "value_precision": "0.00001", + "price_tick": 0.01 + }, + # --- PERP-M + "PERP-MATIC-USDT": { + "base_asset": "MATIC", + "quote_asset": "USDT", + "price_precision": "0.00001", + "quantity_precision": "1", + "value_precision": "0.00001", + "price_tick": 0.00001 + }, + # --- PERP-S + "PERP-SOL-BUSD": { + "base_asset": "SOL", + "quote_asset": "BUSD", + "price_precision": "0.01", + "quantity_precision": "0.01", + "value_precision": "0.0001", + "price_tick": 0.01 + }, + # --- PERP-U + "PERP-UNI-BUSD": { + "base_asset": "UNI", + "quote_asset": "BUSD", + "price_precision": "0.01", + "quantity_precision": "0.01", + "value_precision": "0.0001", + "price_tick": 0.01 + }, + # **************************************************** + # PERPCs (coin-margined) + # **************************************************** + # --- PERPC-B + "PERPC-BTC-USD": { + "base_asset": "BTC", + "quote_asset": "USD", + "price_precision": "0.1", + "quantity_precision": "1", + "value_precision": "0.1", + "price_tick": 0.1 + }, + # --- PERPC-D + "PERPC-DOGE-USD": { + "base_asset": "DOGE", + "quote_asset": "USDT", + "price_precision": "0.000001", + "quantity_precision": "1", + "value_precision": "0.000001", + "price_tick": 0.000001 + }, + # --- PERPC-E + "PERPC-ETH-USD": { + "base_asset": "ETH", + "quote_asset": "USD", + "price_precision": "0.01", + "quantity_precision": "1", + "value_precision": "0.01", + "price_tick": 0.01 + }, + # --- PERPC-L + "PERPC-LINK-USD": { + "base_asset": "LINK", + "quote_asset": "USDT", + "price_precision": "0.001", + "quantity_precision": "1", + "value_precision": "0.001", + "price_tick": 0.001 + }, + "PERPC-LTC-USD": { + "base_asset": "LTC", + "quote_asset": "USDT", + "price_precision": "0.01", + "quantity_precision": "1", + "value_precision": "0.01", + "price_tick": 0.01 + }, + # --- PERPC-M + "PERPC-MATIC-USD": { + "base_asset": "MATIC", + "quote_asset": "USDT", + "price_precision": "0.0001", + "quantity_precision": "1", + "value_precision": "0.0001", + "price_tick": 0.0001 + } +} diff --git a/data/refdata/refdata.cfg b/data/refdata/refdata.cfg new file mode 100644 index 0000000..13a77a4 --- /dev/null +++ b/data/refdata/refdata.cfg @@ -0,0 +1,6 @@ +{ + "assets": @inc=http://cloud11.cvtt.vpn:6789/refdata/assets + , "instruments": @inc=http://cloud11.cvtt.vpn:6789/refdata/instruments + , "exchanges": @inc=http://cloud11.cvtt.vpn:6789/refdata/exchanges + , "exchange_instruments": @inc=http://cloud11.cvtt.vpn:6789/refdata/exchange_instruments +}