mirror of
https://github.com/webclinic017/drift.git
synced 2026-08-06 15:47:52 +00:00
feat(Data): added daily_glassnode DataCollection (#99)
This commit is contained in:
committed by
GitHub
parent
442915f847
commit
867269df2b
@@ -0,0 +1,62 @@
|
||||
#%%
|
||||
import pandas as pd
|
||||
from tqdm import tqdm
|
||||
from utils.glassnode import GlassnodeClient, Indicators, Mining
|
||||
|
||||
path = 'data/daily_glassnode/'
|
||||
client = GlassnodeClient(asset='BTC', since='2014-01-01', until='2021-12-17')
|
||||
print("Client initiated")
|
||||
indicator_client = Indicators(client)
|
||||
|
||||
indicator_names = ['rhodl_ratio',
|
||||
'cvdd',
|
||||
'difficulty_ribbon_compression',
|
||||
'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',
|
||||
]
|
||||
|
||||
def process_df(df: pd.DataFrame) -> pd.DataFrame:
|
||||
df.index.rename('time', inplace=True)
|
||||
if len(df.columns) != 1:
|
||||
df = df[['v']]
|
||||
df.rename(columns={df.columns[0]: 'close'}, inplace=True)
|
||||
df.sort_index(inplace=True)
|
||||
return df
|
||||
|
||||
for name in tqdm(indicator_names):
|
||||
method_to_call = getattr(indicator_client, name)
|
||||
df = method_to_call()
|
||||
df = process_df(df)
|
||||
df.to_csv(path + name + '.csv')
|
||||
|
||||
|
||||
# Mining data
|
||||
|
||||
mining_names = ['hash_rate']
|
||||
mining_client = Mining(client)
|
||||
|
||||
for name in tqdm(mining_names):
|
||||
method_to_call = getattr(mining_client, name)
|
||||
df = method_to_call()
|
||||
df = process_df(df)
|
||||
df.to_csv(path + name + '.csv')
|
||||
Reference in New Issue
Block a user