From a748d105ed0a805dc4e40e760eee6ebd19f3f6ab Mon Sep 17 00:00:00 2001 From: Meng Xiangzhuo Date: Wed, 13 Nov 2024 12:45:46 +0800 Subject: [PATCH] chore: remove performance compare script --- tests/exchange/binance_ohlcv_compare.py | 136 ------------------------ 1 file changed, 136 deletions(-) delete mode 100644 tests/exchange/binance_ohlcv_compare.py diff --git a/tests/exchange/binance_ohlcv_compare.py b/tests/exchange/binance_ohlcv_compare.py deleted file mode 100644 index d05b2cf50..000000000 --- a/tests/exchange/binance_ohlcv_compare.py +++ /dev/null @@ -1,136 +0,0 @@ -""" -This file is meant to test the OHLCV download performance between -from rest API and from data.binance.vision - -using https://data.binance.vision: -{Task(trading_mode='spot', pair='ETH/USDT', timeframe='1s', timerange='20240101-20240501'): 28.26517415046692, - Task(trading_mode='spot', pair='ETH/USDT', timeframe='1m', timerange='20180101-20240101'): 17.766807794570923, - Task(trading_mode='spot', pair='ETH/USDT', timeframe='5m', timerange='20180101-20240101'): 11.347743034362793, - Task(trading_mode='futures', pair='ETH/USDT:USDT', timeframe='1m', timerange='20200101-20240101'): 15.93356990814209, - Task(trading_mode='futures', pair='ETH/USDT:USDT', timeframe='5m', timerange='20200101-20240101'): 10.111769914627075} - -using rest API: -{Task(trading_mode='spot', pair='ETH/USDT', timeframe='1s', timerange='20240101-20240501'): 257.9407958984375, - Task(trading_mode='spot', pair='ETH/USDT', timeframe='1m', timerange='20180101-20240101'): 86.42260813713074, - Task(trading_mode='spot', pair='ETH/USDT', timeframe='5m', timerange='20180101-20240101'): 20.111007928848267, - Task(trading_mode='futures', pair='ETH/USDT:USDT', timeframe='1m', timerange='20200101-20240101'): 537.5525922775269, - Task(trading_mode='futures', pair='ETH/USDT:USDT', timeframe='5m', timerange='20200101-20240101'): 111.13234090805054} - -compare: -spot-1s: 9X -spot-1m: 5X -spot-5m: 2X -futures-1m: 34X -futures-5m: 11X - -Usage: - # first switch to the branch you want to test - python tests/exchange/binance_ohlcv_compare.py -""" -# flake8: noqa: E501 - -import pprint -import subprocess -import time -from collections import namedtuple -from pathlib import Path - - -def rm_feather(data_dir, exchange, trading_mode, pair, timeframe): - data_dir = Path(data_dir) - is_futures = trading_mode == "futures" - file_name = ( - pair.replace("/", "_").replace(":", "_") - + "-" - + timeframe - + ("-futures" if is_futures else "") - + ".feather" - ) - file_dir = data_dir / exchange / ("futures" if is_futures else ".") - file_path = file_dir / file_name - file_path.unlink(missing_ok=True) - - -def download_data(trading_mode, exchange, pair, timeframe, timerange): - cmd = ( - f"freqtrade download-data --trading-mode {trading_mode} --exchange {exchange} " - f"--pairs {pair} --timeframe {timeframe} --timerange {timerange}" - ) - start = time.time() - subprocess.run(cmd, shell=True) # noqa: S602 - end = time.time() - elapsed = end - start - - print("-----") - print(trading_mode, timeframe, timerange, elapsed) - print("-----") - - return elapsed - - -def main(): - Task = namedtuple("Task", "trading_mode, pair, timeframe, timerange") - tasks = [ - Task( - "spot", - "ETH/USDT", - "1s", - "20240101-20240501", - ), - Task( - "spot", - "ETH/USDT", - "1m", - "20180101-20240101", - ), - Task( - "spot", - "ETH/USDT", - "5m", - "20180101-20240101", - ), - Task( - "futures", - "ETH/USDT:USDT", - "1m", - "20200101-20240101", - ), - Task( - "futures", - "ETH/USDT:USDT", - "5m", - "20200101-20240101", - ), - ] - - exchange = "binance" - data_dir = "user_data/data" - - data_dir = Path(data_dir) - if not data_dir.exists(): - raise FileNotFoundError(data_dir) - - result = {} - - for task in tasks: - rm_feather( - data_dir=data_dir, - exchange=exchange, - trading_mode=task.trading_mode, - pair=task.pair, - timeframe=task.timeframe, - ) - elapsed = download_data( - trading_mode=task.trading_mode, - exchange=exchange, - pair=task.pair, - timeframe=task.timeframe, - timerange=task.timerange, - ) - result[task] = elapsed - - pprint.pp(result) - - -if __name__ == "__main__": - main()