feat(Data): added daily_glassnode DataCollection (#99)

This commit is contained in:
Mark Aron Szulyovszky
2022-01-03 13:57:36 +01:00
committed by GitHub
parent 442915f847
commit 867269df2b
64 changed files with 74837 additions and 698 deletions
+37 -32
View File
@@ -1,43 +1,48 @@
from utils.types import Path, FileName, DataSource, DataCollection
from utils.helpers import flatten
daily_etf = ["GLD", "IEF", "QQQ", "SPY", "TLT"]
daily_etf = list(zip(["data/daily_etf"] * len(daily_etf), daily_etf))
def transform_to_data_collection(path: str, file_names: list[str]) -> DataCollection:
return list(zip([path] * len(file_names), file_names))
daily_crypto = ["ADA_USD",
"BCH_USD",
"BNB_USD",
"BTC_USD",
"DOT_USD",
"ETC_USD",
"ETH_USD",
"FIL_USD",
"LTC_USD",
"SOL_USD",
"THETA_USD",
"TRX_USD",
"UNI_USD",
"XLM_USD",
"XRP_USD",
"XTZ_USD"]
daily_crypto = list(zip(["data/daily_crypto"] * len(daily_crypto), daily_crypto))
__daily_etf = ["GLD", "IEF", "QQQ", "SPY", "TLT"]
__daily_crypto = ["ADA_USD", "BCH_USD", "BNB_USD", "BTC_USD", "DOT_USD", "ETC_USD", "ETH_USD", "FIL_USD", "LTC_USD", "SOL_USD", "THETA_USD", "TRX_USD", "UNI_USD", "XLM_USD", "XRP_USD", "XTZ_USD"]
hourly_crypto = ["BTC_USD", "DASH_USD", "ETC_USD", "ETH_USD", "LTC_USD", "TRX_USD", "XLM_USD", "XMR_USD", "XRP_USD"]
hourly_crypto = list(zip(["data/hourly_crypto"] * len(hourly_crypto), hourly_crypto))
__hourly_crypto = ["BTC_USD", "DASH_USD", "ETC_USD", "ETH_USD", "LTC_USD", "TRX_USD", "XLM_USD", "XMR_USD", "XRP_USD"]
__daily_glassnode = ['rhodl_ratio',
# 'cvdd',
'nvt_ratio',
'nvt_signal',
'velocity',
'supply_adjusted_cdd',
'binary_cdd',
'supply_adjusted_dormancy',
'puell_multiple',
'asopr',
'reserve_risk',
'sopr',
'cdd',
'asol',
'msol',
'dormancy',
'liveliness',
'relative_unrealized_profit',
'relative_unrealized_loss',
'nupl',
'sth_nupl',
'lth_nupl',
'ssr',
'bvin',
# 'hash_rate'
]
data_collections = dict(
daily_crypto = daily_crypto,
daily_etf = daily_etf,
hourly_crypto = hourly_crypto
daily_only_btc = transform_to_data_collection("data/daily_crypto", ['BTC_USD']),
daily_crypto = transform_to_data_collection("data/daily_crypto", __daily_crypto),
daily_etf = transform_to_data_collection("data/daily_etf", __daily_etf),
hourly_crypto = transform_to_data_collection("data/hourly_crypto", __hourly_crypto),
daily_glassnode =transform_to_data_collection("data/daily_glassnode", __daily_glassnode),
)
def preprocess_data_collections_config(data_dict: dict) -> dict:
data_dict = data_dict.copy()
keys = ['assets', 'other_assets']
# keys = ['assets', 'other_assets', 'exogenous_data']
for key in keys:
preset_names = data_dict[key]
data_dict[key] = flatten([data_collections[preset_name] for preset_name in preset_names])
return data_dict