mirror of
https://github.com/webclinic017/drift.git
synced 2026-07-27 18:57:55 +00:00
65 lines
1.6 KiB
Python
65 lines
1.6 KiB
Python
from binance_historical_data import BinanceDataDumper
|
|
import datetime
|
|
|
|
data_dumper = BinanceDataDumper(
|
|
path_dir_where_to_dump="./data/5min_crypto/",
|
|
data_frequency="5m",
|
|
)
|
|
|
|
assets = [
|
|
"TRXUSDT",
|
|
"XRPUSDT",
|
|
"ADAUSDT",
|
|
"SOLUSDT",
|
|
"AVAXUSDT",
|
|
"DOTUSDT",
|
|
"ETHUSDT",
|
|
"LTCUSDT",
|
|
"BNBUSDT",
|
|
"BTCUSDT",
|
|
"ETCUSDT",
|
|
]
|
|
|
|
data_dumper.dump_data(
|
|
list_tickers=assets,
|
|
date_start=datetime.date(2018, 1, 1),
|
|
date_end=datetime.date(2022, 1, 1),
|
|
is_to_update_existing=False,
|
|
)
|
|
|
|
import os
|
|
from tqdm import tqdm
|
|
import pandas as pd
|
|
|
|
for asset in tqdm(assets):
|
|
path = f"./data/5min_crypto/spot/monthly/klines/{asset}/5m/"
|
|
files = os.listdir(path)
|
|
|
|
def load_df(path):
|
|
df = pd.read_csv(
|
|
path,
|
|
names=[
|
|
"timestamp",
|
|
"open",
|
|
"low",
|
|
"high",
|
|
"close",
|
|
"volume",
|
|
"Closetime",
|
|
"Quote asset volume",
|
|
"Number of trades",
|
|
"Taker buy base asset volume",
|
|
"Taker buy quote asset volume",
|
|
"Ignore",
|
|
],
|
|
)
|
|
df["timestamp"] = pd.to_datetime(df["timestamp"], unit="ms")
|
|
df = df[["timestamp", "open", "high", "low", "close", "volume"]]
|
|
df.set_index("timestamp", inplace=True)
|
|
df.sort_index(inplace=True)
|
|
return df
|
|
|
|
dfs = pd.concat([load_df(path + file) for file in files], axis=0)
|
|
dfs.sort_index(inplace=True)
|
|
dfs.to_parquet(f"./data/5min_crypto/{asset}.parquet")
|