File size: 1,932 Bytes
2ca4655 786c7d5 2ca4655 f9ef62b b60f995 285f2a6 2ca4655 786c7d5 f9ef62b b60f995 960332d b60f995 960332d f9ef62b 2ca4655 960332d 2ca4655 278fab8 2ca4655 f7c2ff7 2ca4655 285f2a6 2ca4655 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
import logging
from utils import measure_execution_time, DATA_DIR, TMP_DIR
from profitability import (
analyse_all_traders,
label_trades_by_staking,
)
import pandas as pd
from nr_mech_calls import (
create_unknown_traders_df,
compute_daily_mech_calls,
transform_to_datetime,
)
from markets import check_current_week_data
from staking import generate_retention_activity_file
logging.basicConfig(level=logging.INFO)
@measure_execution_time
def prepare_live_metrics(
tools_filename="new_tools.parquet", trades_filename="new_fpmmTrades.parquet"
):
fpmmTrades = pd.read_parquet(TMP_DIR / trades_filename)
tools = pd.read_parquet(TMP_DIR / tools_filename)
# TODO if monday data of the week is missing in new_fpmmTrades then take it from the general file
try:
fpmmTrades["creationTimestamp"] = fpmmTrades["creationTimestamp"].apply(
lambda x: transform_to_datetime(x)
)
except Exception as e:
print(f"Transformation not needed")
# check missing data from Monday
fpmmTrades = check_current_week_data(fpmmTrades)
print("Computing the estimated mech calls dataset")
trader_mech_calls = compute_daily_mech_calls(fpmmTrades=fpmmTrades, tools=tools)
print("Analysing trades...")
all_trades_df = analyse_all_traders(fpmmTrades, trader_mech_calls, daily_info=True)
# staking label
all_trades_df = label_trades_by_staking(all_trades_df)
# create the unknown traders dataset
unknown_traders_df, all_trades_df = create_unknown_traders_df(
trades_df=all_trades_df
)
unknown_traders_df.to_parquet(
TMP_DIR / "unknown_daily_traders.parquet", index=False
)
# save into a separate file
all_trades_df.to_parquet(DATA_DIR / "daily_info.parquet", index=False)
# prepare the retention info file
generate_retention_activity_file()
if __name__ == "__main__":
prepare_live_metrics()
|