chore: remove performance compare script
This commit is contained in:
@@ -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()
|
|
||||||
Reference in New Issue
Block a user