cyberosa
commited on
Commit
·
a1e2e79
1
Parent(s):
7eba7a1
cleaning and fix on one agent graph
Browse files- tabs/agent_graphs.py +7 -1
- tabs/trader_plots.py +0 -47
tabs/agent_graphs.py
CHANGED
@@ -94,9 +94,15 @@ def get_weekly_average_roi(traders_data: pd.DataFrame) -> pd.DataFrame:
|
|
94 |
# Ensure creation_date is datetime64[ns]
|
95 |
# Since creation_date comes from .dt.date, it's a date object, not datetime
|
96 |
local_df["creation_date"] = pd.to_datetime(local_df["creation_date"])
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
|
98 |
# Aggregate ROI at the date level first
|
99 |
-
daily_avg =
|
100 |
|
101 |
# Set the datetime index
|
102 |
daily_avg = daily_avg.set_index("creation_date")
|
|
|
94 |
# Ensure creation_date is datetime64[ns]
|
95 |
# Since creation_date comes from .dt.date, it's a date object, not datetime
|
96 |
local_df["creation_date"] = pd.to_datetime(local_df["creation_date"])
|
97 |
+
# take the daily mean roi at the trader_address level
|
98 |
+
daily_mean_roi = (
|
99 |
+
local_df.groupby(["trader_address", "creation_date"])["roi"]
|
100 |
+
.mean()
|
101 |
+
.reset_index()
|
102 |
+
)
|
103 |
|
104 |
# Aggregate ROI at the date level first
|
105 |
+
daily_avg = daily_mean_roi.groupby("creation_date")["roi"].mean().reset_index()
|
106 |
|
107 |
# Set the datetime index
|
108 |
daily_avg = daily_avg.set_index("creation_date")
|
tabs/trader_plots.py
CHANGED
@@ -84,53 +84,6 @@ def get_interpretation_text() -> gr.Markdown:
|
|
84 |
return gr.Markdown(interpretation_text)
|
85 |
|
86 |
|
87 |
-
def plot_avg_monthly_ROI(traders_df: pd.DataFrame, market_creator: str) -> gr.Plot:
|
88 |
-
"""Plots the average monthly ROI."""
|
89 |
-
|
90 |
-
filtered_traders_df = traders_df.copy()
|
91 |
-
if market_creator != "all": # filter by market creator
|
92 |
-
filtered_traders_df = filtered_traders_df[
|
93 |
-
traders_df["market_creator"] == market_creator
|
94 |
-
]
|
95 |
-
|
96 |
-
# Create the column month_year from the creation_date
|
97 |
-
filtered_traders_df["month_year"] = filtered_traders_df["creation_date"].apply(
|
98 |
-
lambda x: x.strftime("%Y-%m")
|
99 |
-
)
|
100 |
-
# Compute the average monthly ROI per trader
|
101 |
-
|
102 |
-
monthly_avg_roi_traders = (
|
103 |
-
filtered_traders_df.groupby(["month_year", "trader_address"])["roi"]
|
104 |
-
.mean()
|
105 |
-
.reset_index(name="avg_roi")
|
106 |
-
)
|
107 |
-
|
108 |
-
# Plot the mean value per month in monthly_avg_roi_traders
|
109 |
-
total_monthly_avg_roi = (
|
110 |
-
monthly_avg_roi_traders.groupby("month_year")["avg_roi"]
|
111 |
-
.mean()
|
112 |
-
.reset_index(name="avg_roi")
|
113 |
-
)
|
114 |
-
|
115 |
-
fig = px.line(
|
116 |
-
total_monthly_avg_roi,
|
117 |
-
x="month_year",
|
118 |
-
y="avg_roi",
|
119 |
-
)
|
120 |
-
|
121 |
-
fig.update_layout(
|
122 |
-
xaxis_title="Month-Year",
|
123 |
-
yaxis_title="Average monthly ROI (net profit/cost)",
|
124 |
-
)
|
125 |
-
fig.update_xaxes(
|
126 |
-
tickvals=total_monthly_avg_roi["month_year"].tolist(), # Set x-axis tick values
|
127 |
-
tickformat="%Y-%m",
|
128 |
-
)
|
129 |
-
return gr.Plot(
|
130 |
-
value=fig,
|
131 |
-
)
|
132 |
-
|
133 |
-
|
134 |
def plot_trader_metrics_by_market_creator(
|
135 |
metric_name: str, traders_df: pd.DataFrame
|
136 |
) -> gr.Plot:
|
|
|
84 |
return gr.Markdown(interpretation_text)
|
85 |
|
86 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
def plot_trader_metrics_by_market_creator(
|
88 |
metric_name: str, traders_df: pd.DataFrame
|
89 |
) -> gr.Plot:
|