Spaces:
Runtime error
Runtime error
cyberosa
commited on
Commit
Β·
09ddc82
1
Parent(s):
f0f1e9a
DAA graphs based on Dune data
Browse files- app.py +42 -47
- tabs/daily_graphs.py +21 -1
app.py
CHANGED
|
@@ -33,7 +33,7 @@ from tabs.daily_graphs import (
|
|
| 33 |
plot_daily_metrics,
|
| 34 |
trader_daily_metric_choices,
|
| 35 |
default_daily_metric,
|
| 36 |
-
|
| 37 |
)
|
| 38 |
from scripts.utils import get_traders_family
|
| 39 |
from tabs.market_plots import (
|
|
@@ -137,14 +137,21 @@ def load_all_data():
|
|
| 137 |
)
|
| 138 |
df7 = pd.read_parquet(all_mech_calls_df)
|
| 139 |
|
| 140 |
-
#
|
| 141 |
-
|
| 142 |
repo_id="valory/Olas-predict-dataset",
|
| 143 |
-
filename="
|
| 144 |
repo_type="dataset",
|
| 145 |
)
|
| 146 |
-
df8 = pd.read_parquet(
|
| 147 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 148 |
|
| 149 |
|
| 150 |
def prepare_data():
|
|
@@ -157,7 +164,8 @@ def prepare_data():
|
|
| 157 |
retention_df,
|
| 158 |
active_traders,
|
| 159 |
all_mech_calls,
|
| 160 |
-
|
|
|
|
| 161 |
) = load_all_data()
|
| 162 |
all_trades["creation_timestamp"] = all_trades["creation_timestamp"].dt.tz_convert(
|
| 163 |
"UTC"
|
|
@@ -204,40 +212,27 @@ def prepare_data():
|
|
| 204 |
.dt.start_time.dt.strftime("%b-%d-%Y")
|
| 205 |
)
|
| 206 |
|
| 207 |
-
# prepare daa
|
| 208 |
-
|
| 209 |
-
|
| 210 |
-
[
|
| 211 |
-
"market_creator",
|
| 212 |
-
"trader_address",
|
| 213 |
-
"creation_timestamp",
|
| 214 |
-
]
|
| 215 |
-
]
|
| 216 |
-
selected_trades.drop_duplicates(inplace=True)
|
| 217 |
-
selected_trades["tx_date"] = pd.to_datetime(
|
| 218 |
-
selected_trades["creation_timestamp"].dt.date, format="%b-%d-%Y"
|
| 219 |
)
|
| 220 |
-
|
| 221 |
-
|
| 222 |
-
|
| 223 |
-
|
| 224 |
-
|
| 225 |
-
|
| 226 |
-
|
| 227 |
-
|
| 228 |
-
|
| 229 |
-
gnosis_txs_df["tx_date"] = pd.to_datetime(
|
| 230 |
-
gnosis_txs_df["tx_date"], format="%b-%d-%Y"
|
| 231 |
)
|
| 232 |
-
|
| 233 |
-
|
| 234 |
-
|
| 235 |
-
|
| 236 |
-
|
| 237 |
-
|
| 238 |
-
]
|
| 239 |
-
daa_df = pd.concat([selected_trades, gnosis_txs_df], ignore_index=True)
|
| 240 |
-
daa_df.drop_duplicates(inplace=True)
|
| 241 |
return (
|
| 242 |
traders_data,
|
| 243 |
closed_markets,
|
|
@@ -246,7 +241,8 @@ def prepare_data():
|
|
| 246 |
retention_df,
|
| 247 |
active_traders,
|
| 248 |
all_mech_calls,
|
| 249 |
-
|
|
|
|
| 250 |
)
|
| 251 |
|
| 252 |
|
|
@@ -258,7 +254,8 @@ def prepare_data():
|
|
| 258 |
raw_retention_df,
|
| 259 |
active_traders,
|
| 260 |
all_mech_calls,
|
| 261 |
-
|
|
|
|
| 262 |
) = prepare_data()
|
| 263 |
|
| 264 |
retention_df = prepare_retention_dataset(
|
|
@@ -690,16 +687,14 @@ with demo:
|
|
| 690 |
with gr.Row():
|
| 691 |
gr.Markdown(" # Daily active agents in Pearl markets")
|
| 692 |
with gr.Row():
|
| 693 |
-
rolling_avg_plot =
|
| 694 |
-
|
| 695 |
-
market_creator="pearl",
|
| 696 |
)
|
| 697 |
with gr.Row():
|
| 698 |
gr.Markdown(" # Daily active agents in QS markets")
|
| 699 |
with gr.Row():
|
| 700 |
-
rolling_avg_plot =
|
| 701 |
-
|
| 702 |
-
market_creator="quickstart",
|
| 703 |
)
|
| 704 |
|
| 705 |
with gr.TabItem("π Markets KullbackβLeibler divergence"):
|
|
|
|
| 33 |
plot_daily_metrics,
|
| 34 |
trader_daily_metric_choices,
|
| 35 |
default_daily_metric,
|
| 36 |
+
plot_rolling_average_dune,
|
| 37 |
)
|
| 38 |
from scripts.utils import get_traders_family
|
| 39 |
from tabs.market_plots import (
|
|
|
|
| 137 |
)
|
| 138 |
df7 = pd.read_parquet(all_mech_calls_df)
|
| 139 |
|
| 140 |
+
# daa for quickstart and pearl
|
| 141 |
+
daa_qs_df = hf_hub_download(
|
| 142 |
repo_id="valory/Olas-predict-dataset",
|
| 143 |
+
filename="latest_result_DAA_QS.parquet",
|
| 144 |
repo_type="dataset",
|
| 145 |
)
|
| 146 |
+
df8 = pd.read_parquet(daa_qs_df)
|
| 147 |
+
|
| 148 |
+
daa_pearl_df = hf_hub_download(
|
| 149 |
+
repo_id="valory/Olas-predict-dataset",
|
| 150 |
+
filename="latest_result_DAA_Pearl.parquet",
|
| 151 |
+
repo_type="dataset",
|
| 152 |
+
)
|
| 153 |
+
df9 = pd.read_parquet(daa_pearl_df)
|
| 154 |
+
return df1, df2, df3, df4, df5, df6, df7, df8, df9
|
| 155 |
|
| 156 |
|
| 157 |
def prepare_data():
|
|
|
|
| 164 |
retention_df,
|
| 165 |
active_traders,
|
| 166 |
all_mech_calls,
|
| 167 |
+
daa_qs_df,
|
| 168 |
+
daa_pearl_df,
|
| 169 |
) = load_all_data()
|
| 170 |
all_trades["creation_timestamp"] = all_trades["creation_timestamp"].dt.tz_convert(
|
| 171 |
"UTC"
|
|
|
|
| 212 |
.dt.start_time.dt.strftime("%b-%d-%Y")
|
| 213 |
)
|
| 214 |
|
| 215 |
+
# prepare the daa dataframes
|
| 216 |
+
daa_pearl_df["day"] = pd.to_datetime(
|
| 217 |
+
daa_pearl_df["day"], format="%Y-%m-%d 00:00:00.000 UTC"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 218 |
)
|
| 219 |
+
daa_qs_df["day"] = pd.to_datetime(
|
| 220 |
+
daa_qs_df["day"], format="%Y-%m-%d 00:00:00.000 UTC"
|
| 221 |
+
)
|
| 222 |
+
daa_pearl_df["day"] = daa_pearl_df["day"].dt.tz_localize("UTC")
|
| 223 |
+
daa_qs_df["day"] = daa_qs_df["day"].dt.tz_localize("UTC")
|
| 224 |
+
daa_qs_df["tx_date"] = pd.to_datetime(daa_qs_df["day"]).dt.date
|
| 225 |
+
daa_pearl_df["tx_date"] = pd.to_datetime(daa_pearl_df["day"]).dt.date
|
| 226 |
+
daa_pearl_df["seven_day_trailing_avg"] = pd.to_numeric(
|
| 227 |
+
daa_pearl_df["seven_day_trailing_avg"], errors="coerce"
|
|
|
|
|
|
|
| 228 |
)
|
| 229 |
+
daa_pearl_df["seven_day_trailing_avg"] = daa_pearl_df[
|
| 230 |
+
"seven_day_trailing_avg"
|
| 231 |
+
].round(2)
|
| 232 |
+
daa_qs_df["seven_day_trailing_avg"] = pd.to_numeric(
|
| 233 |
+
daa_qs_df["seven_day_trailing_avg"], errors="coerce"
|
| 234 |
+
)
|
| 235 |
+
daa_qs_df["seven_day_trailing_avg"] = daa_qs_df["seven_day_trailing_avg"].round(2)
|
|
|
|
|
|
|
| 236 |
return (
|
| 237 |
traders_data,
|
| 238 |
closed_markets,
|
|
|
|
| 241 |
retention_df,
|
| 242 |
active_traders,
|
| 243 |
all_mech_calls,
|
| 244 |
+
daa_qs_df,
|
| 245 |
+
daa_pearl_df,
|
| 246 |
)
|
| 247 |
|
| 248 |
|
|
|
|
| 254 |
raw_retention_df,
|
| 255 |
active_traders,
|
| 256 |
all_mech_calls,
|
| 257 |
+
daa_qs_df,
|
| 258 |
+
daa_pearl_df,
|
| 259 |
) = prepare_data()
|
| 260 |
|
| 261 |
retention_df = prepare_retention_dataset(
|
|
|
|
| 687 |
with gr.Row():
|
| 688 |
gr.Markdown(" # Daily active agents in Pearl markets")
|
| 689 |
with gr.Row():
|
| 690 |
+
rolling_avg_plot = plot_rolling_average_dune(
|
| 691 |
+
daa_pearl_df,
|
|
|
|
| 692 |
)
|
| 693 |
with gr.Row():
|
| 694 |
gr.Markdown(" # Daily active agents in QS markets")
|
| 695 |
with gr.Row():
|
| 696 |
+
rolling_avg_plot = plot_rolling_average_dune(
|
| 697 |
+
daa_qs_df,
|
|
|
|
| 698 |
)
|
| 699 |
|
| 700 |
with gr.TabItem("π Markets KullbackβLeibler divergence"):
|
tabs/daily_graphs.py
CHANGED
|
@@ -265,7 +265,7 @@ def plot_rolling_average(
|
|
| 265 |
print(rolling_avg_df.head())
|
| 266 |
|
| 267 |
# Ensure 'creation_date' is a column, not an index
|
| 268 |
-
if "
|
| 269 |
rolling_avg_df = rolling_avg_df.reset_index()
|
| 270 |
|
| 271 |
fig = px.bar(
|
|
@@ -281,3 +281,23 @@ def plot_rolling_average(
|
|
| 281 |
return gr.Plot(
|
| 282 |
value=fig,
|
| 283 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 265 |
print(rolling_avg_df.head())
|
| 266 |
|
| 267 |
# Ensure 'creation_date' is a column, not an index
|
| 268 |
+
if "tx_date" not in rolling_avg_df.columns:
|
| 269 |
rolling_avg_df = rolling_avg_df.reset_index()
|
| 270 |
|
| 271 |
fig = px.bar(
|
|
|
|
| 281 |
return gr.Plot(
|
| 282 |
value=fig,
|
| 283 |
)
|
| 284 |
+
|
| 285 |
+
|
| 286 |
+
def plot_rolling_average_dune(
|
| 287 |
+
daa_df: pd.DataFrame,
|
| 288 |
+
) -> gr.Plot:
|
| 289 |
+
"""Function to plot the rolling average of daily active traders"""
|
| 290 |
+
|
| 291 |
+
fig = px.bar(
|
| 292 |
+
daa_df,
|
| 293 |
+
x="tx_date",
|
| 294 |
+
y="seven_day_trailing_avg",
|
| 295 |
+
)
|
| 296 |
+
fig.update_layout(
|
| 297 |
+
xaxis_title="Date",
|
| 298 |
+
yaxis_title="7-day rolling average of DAA",
|
| 299 |
+
)
|
| 300 |
+
|
| 301 |
+
return gr.Plot(
|
| 302 |
+
value=fig,
|
| 303 |
+
)
|