cyberosa
commited on
Commit
·
cdd36ac
1
Parent(s):
e29f544
replacing the 4 weeks by the 2 weeks rolling average
Browse files- app.py +1 -1
- tabs/trader_plots.py +5 -5
app.py
CHANGED
@@ -389,7 +389,7 @@ with demo:
|
|
389 |
outputs=trader_u_markets_plot,
|
390 |
)
|
391 |
with gr.Row():
|
392 |
-
gr.Markdown("#
|
393 |
with gr.Row():
|
394 |
pearl_rolling_avg_plot = plot_rolling_average_roi(
|
395 |
weekly_roi_df=weekly_metrics_by_market_creator,
|
|
|
389 |
outputs=trader_u_markets_plot,
|
390 |
)
|
391 |
with gr.Row():
|
392 |
+
gr.Markdown("# 2-weeks rolling average ROI for Pearl traders")
|
393 |
with gr.Row():
|
394 |
pearl_rolling_avg_plot = plot_rolling_average_roi(
|
395 |
weekly_roi_df=weekly_metrics_by_market_creator,
|
tabs/trader_plots.py
CHANGED
@@ -396,8 +396,8 @@ def get_sevenday_rolling_average_by_market_creator(
|
|
396 |
return combined_rolling_avg
|
397 |
|
398 |
|
399 |
-
def
|
400 |
-
"""Function to get the
|
401 |
# Create a local copy of the dataframe
|
402 |
local_df = weekly_roi_df.copy()
|
403 |
|
@@ -410,7 +410,7 @@ def get_fourweeks_rolling_average_roi(weekly_roi_df: pd.DataFrame) -> pd.DataFra
|
|
410 |
|
411 |
# Group by market_creator and calculate rolling average of unique trader_address
|
412 |
trader_rolling_avg_roi = (
|
413 |
-
local_df.resample("W")["roi"].mean().rolling(window=
|
414 |
)
|
415 |
trader_rolling_avg_roi.rename(columns={"roi": "rolling_avg_roi"}, inplace=True)
|
416 |
return trader_rolling_avg_roi
|
@@ -424,9 +424,9 @@ def plot_rolling_average_roi(
|
|
424 |
filtered_roi_df = weekly_roi_df.loc[
|
425 |
weekly_roi_df["market_creator"] == market_creator
|
426 |
]
|
427 |
-
rolling_avg_roi_df =
|
428 |
else:
|
429 |
-
rolling_avg_roi_df =
|
430 |
print(rolling_avg_roi_df.head())
|
431 |
# Ensure 'month_year_week' is a column, not an index
|
432 |
if "month_year_week" not in rolling_avg_roi_df.columns:
|
|
|
396 |
return combined_rolling_avg
|
397 |
|
398 |
|
399 |
+
def get_twoweeks_rolling_average_roi(weekly_roi_df: pd.DataFrame) -> pd.DataFrame:
|
400 |
+
"""Function to get the 2-week rolling average of the ROI by market_creator and total"""
|
401 |
# Create a local copy of the dataframe
|
402 |
local_df = weekly_roi_df.copy()
|
403 |
|
|
|
410 |
|
411 |
# Group by market_creator and calculate rolling average of unique trader_address
|
412 |
trader_rolling_avg_roi = (
|
413 |
+
local_df.resample("W")["roi"].mean().rolling(window=2).mean().reset_index()
|
414 |
)
|
415 |
trader_rolling_avg_roi.rename(columns={"roi": "rolling_avg_roi"}, inplace=True)
|
416 |
return trader_rolling_avg_roi
|
|
|
424 |
filtered_roi_df = weekly_roi_df.loc[
|
425 |
weekly_roi_df["market_creator"] == market_creator
|
426 |
]
|
427 |
+
rolling_avg_roi_df = get_twoweeks_rolling_average_roi(filtered_roi_df)
|
428 |
else:
|
429 |
+
rolling_avg_roi_df = get_twoweeks_rolling_average_roi(weekly_roi_df)
|
430 |
print(rolling_avg_roi_df.head())
|
431 |
# Ensure 'month_year_week' is a column, not an index
|
432 |
if "month_year_week" not in rolling_avg_roi_df.columns:
|