Spaces:
Sleeping
Sleeping
third commit
Browse files- app.py +14 -14
- tabs/__pycache__/error.cpython-310.pyc +0 -0
- tabs/__pycache__/tool_win.cpython-310.pyc +0 -0
- tabs/__pycache__/trades.cpython-310.pyc +0 -0
- tabs/error.py +13 -6
- tabs/tool_win.py +19 -12
- tabs/trades.py +24 -7
app.py
CHANGED
@@ -9,10 +9,10 @@ from tabs.trades import (
|
|
9 |
plot_trade_details
|
10 |
)
|
11 |
from tabs.tool_win import (
|
12 |
-
get_tool_winning_rate,
|
13 |
get_overall_winning_rate,
|
14 |
-
|
15 |
-
|
16 |
)
|
17 |
from tabs.error import (
|
18 |
get_error_data,
|
@@ -55,7 +55,7 @@ winning_rate_df = get_tool_winning_rate(
|
|
55 |
tools_df=tools_df,
|
56 |
inc_tools=INC_TOOLS
|
57 |
)
|
58 |
-
|
59 |
wins_df=winning_rate_df
|
60 |
)
|
61 |
trades_count_df = get_overall_trades(
|
@@ -132,19 +132,19 @@ with demo:
|
|
132 |
)
|
133 |
|
134 |
with gr.Row():
|
135 |
-
winning_plot =
|
136 |
-
wins_df=
|
137 |
winning_selector="win_perc"
|
138 |
)
|
139 |
|
140 |
-
def
|
141 |
-
return
|
142 |
-
wins_df=
|
143 |
winning_selector=winning_selector
|
144 |
)
|
145 |
|
146 |
winning_selector.change(
|
147 |
-
|
148 |
inputs=winning_selector,
|
149 |
outputs=winning_plot
|
150 |
)
|
@@ -165,19 +165,19 @@ with demo:
|
|
165 |
)
|
166 |
|
167 |
with gr.Row():
|
168 |
-
plot_tool_win_rate =
|
169 |
wins_df=winning_rate_df,
|
170 |
tool=INC_TOOLS[0]
|
171 |
)
|
172 |
|
173 |
-
def
|
174 |
-
return
|
175 |
wins_df=winning_rate_df,
|
176 |
tool=tool
|
177 |
)
|
178 |
|
179 |
sel_tool.change(
|
180 |
-
|
181 |
inputs=sel_tool,
|
182 |
outputs=plot_tool_win_rate
|
183 |
)
|
|
|
9 |
plot_trade_details
|
10 |
)
|
11 |
from tabs.tool_win import (
|
12 |
+
get_tool_winning_rate,
|
13 |
get_overall_winning_rate,
|
14 |
+
plot_tool_winnings_overall,
|
15 |
+
plot_tool_winnings_by_tool
|
16 |
)
|
17 |
from tabs.error import (
|
18 |
get_error_data,
|
|
|
55 |
tools_df=tools_df,
|
56 |
inc_tools=INC_TOOLS
|
57 |
)
|
58 |
+
winning_rate_overall_df = get_overall_winning_rate(
|
59 |
wins_df=winning_rate_df
|
60 |
)
|
61 |
trades_count_df = get_overall_trades(
|
|
|
132 |
)
|
133 |
|
134 |
with gr.Row():
|
135 |
+
winning_plot = plot_tool_winnings_overall(
|
136 |
+
wins_df=winning_rate_overall_df,
|
137 |
winning_selector="win_perc"
|
138 |
)
|
139 |
|
140 |
+
def update_tool_winnings_overall_plot(winning_selector):
|
141 |
+
return plot_tool_winnings_overall(
|
142 |
+
wins_df=winning_rate_overall_df,
|
143 |
winning_selector=winning_selector
|
144 |
)
|
145 |
|
146 |
winning_selector.change(
|
147 |
+
update_tool_winnings_overall_plot,
|
148 |
inputs=winning_selector,
|
149 |
outputs=winning_plot
|
150 |
)
|
|
|
165 |
)
|
166 |
|
167 |
with gr.Row():
|
168 |
+
plot_tool_win_rate = plot_tool_winnings_by_tool(
|
169 |
wins_df=winning_rate_df,
|
170 |
tool=INC_TOOLS[0]
|
171 |
)
|
172 |
|
173 |
+
def update_tool_winnings_by_tool_plot(tool):
|
174 |
+
return plot_tool_winnings_by_tool(
|
175 |
wins_df=winning_rate_df,
|
176 |
tool=tool
|
177 |
)
|
178 |
|
179 |
sel_tool.change(
|
180 |
+
update_tool_winnings_by_tool_plot,
|
181 |
inputs=sel_tool,
|
182 |
outputs=plot_tool_win_rate
|
183 |
)
|
tabs/__pycache__/error.cpython-310.pyc
CHANGED
Binary files a/tabs/__pycache__/error.cpython-310.pyc and b/tabs/__pycache__/error.cpython-310.pyc differ
|
|
tabs/__pycache__/tool_win.cpython-310.pyc
CHANGED
Binary files a/tabs/__pycache__/tool_win.cpython-310.pyc and b/tabs/__pycache__/tool_win.cpython-310.pyc differ
|
|
tabs/__pycache__/trades.cpython-310.pyc
CHANGED
Binary files a/tabs/__pycache__/trades.cpython-310.pyc and b/tabs/__pycache__/trades.cpython-310.pyc differ
|
|
tabs/error.py
CHANGED
@@ -1,6 +1,10 @@
|
|
1 |
import pandas as pd
|
2 |
import gradio as gr
|
3 |
|
|
|
|
|
|
|
|
|
4 |
def set_error(row):
|
5 |
if row.error not in [True, False]:
|
6 |
if not row.prompt_response:
|
@@ -31,11 +35,12 @@ def plot_error_data(error_all_df):
|
|
31 |
title="Error Percentage",
|
32 |
x_title="Week",
|
33 |
y_title="Error Percentage",
|
34 |
-
height=800,
|
35 |
show_label=True,
|
36 |
interactive=True,
|
37 |
show_actions_button=True,
|
38 |
-
tooltip=["request_month_year_week", "error_perc"]
|
|
|
|
|
39 |
)
|
40 |
|
41 |
def plot_tool_error_data(error_df, tool):
|
@@ -51,10 +56,11 @@ def plot_tool_error_data(error_df, tool):
|
|
51 |
interactive=True,
|
52 |
show_actions_button=True,
|
53 |
tooltip=["request_month_year_week", "error_perc"],
|
54 |
-
width=800,
|
55 |
value=error_tool,
|
56 |
x="request_month_year_week",
|
57 |
-
y="error_perc"
|
|
|
|
|
58 |
)
|
59 |
|
60 |
def plot_week_error_data(error_df, week):
|
@@ -68,10 +74,11 @@ def plot_week_error_data(error_df, week):
|
|
68 |
title="Error Percentage",
|
69 |
x_title="Tool",
|
70 |
y_title="Error Percentage",
|
71 |
-
height=800,
|
72 |
show_label=True,
|
73 |
interactive=True,
|
74 |
show_actions_button=True,
|
75 |
-
tooltip=["tool", "error_perc"]
|
|
|
|
|
76 |
)
|
77 |
|
|
|
1 |
import pandas as pd
|
2 |
import gradio as gr
|
3 |
|
4 |
+
|
5 |
+
HEIGHT=600
|
6 |
+
WIDTH=1000
|
7 |
+
|
8 |
def set_error(row):
|
9 |
if row.error not in [True, False]:
|
10 |
if not row.prompt_response:
|
|
|
35 |
title="Error Percentage",
|
36 |
x_title="Week",
|
37 |
y_title="Error Percentage",
|
|
|
38 |
show_label=True,
|
39 |
interactive=True,
|
40 |
show_actions_button=True,
|
41 |
+
tooltip=["request_month_year_week", "error_perc"],
|
42 |
+
height=HEIGHT,
|
43 |
+
width=WIDTH
|
44 |
)
|
45 |
|
46 |
def plot_tool_error_data(error_df, tool):
|
|
|
56 |
interactive=True,
|
57 |
show_actions_button=True,
|
58 |
tooltip=["request_month_year_week", "error_perc"],
|
|
|
59 |
value=error_tool,
|
60 |
x="request_month_year_week",
|
61 |
+
y="error_perc",
|
62 |
+
height=HEIGHT,
|
63 |
+
width=WIDTH
|
64 |
)
|
65 |
|
66 |
def plot_week_error_data(error_df, week):
|
|
|
74 |
title="Error Percentage",
|
75 |
x_title="Tool",
|
76 |
y_title="Error Percentage",
|
|
|
77 |
show_label=True,
|
78 |
interactive=True,
|
79 |
show_actions_button=True,
|
80 |
+
tooltip=["tool", "error_perc"],
|
81 |
+
height=HEIGHT,
|
82 |
+
width=WIDTH
|
83 |
)
|
84 |
|
tabs/tool_win.py
CHANGED
@@ -1,6 +1,11 @@
|
|
1 |
import pandas as pd
|
2 |
import gradio as gr
|
3 |
|
|
|
|
|
|
|
|
|
|
|
4 |
def set_error(row):
|
5 |
if row.error not in [True, False]:
|
6 |
if not row.prompt_response:
|
@@ -10,21 +15,21 @@ def set_error(row):
|
|
10 |
|
11 |
|
12 |
def get_tool_winning_rate(tools_df, inc_tools):
|
13 |
-
tools_inc = tools_df[tools_df['tool'].isin(inc_tools)]
|
14 |
tools_inc['error'] = tools_inc.apply(set_error, axis=1)
|
15 |
tools_non_error = tools_inc[tools_inc['error'] != True]
|
16 |
-
tools_non_error['currentAnswer'].replace('no'
|
17 |
-
tools_non_error['currentAnswer'].replace('yes', 'Yes', inplace=True)
|
18 |
tools_non_error = tools_non_error[tools_non_error['currentAnswer'].isin(['Yes', 'No'])]
|
19 |
tools_non_error = tools_non_error[tools_non_error['vote'].isin(['Yes', 'No'])]
|
20 |
-
tools_non_error['win'] = tools_non_error['currentAnswer'] == tools_non_error['vote']
|
21 |
-
tools_non_error['win'] = tools_non_error['win'].astype(int)
|
22 |
tools_non_error.columns = tools_non_error.columns.astype(str)
|
23 |
wins = tools_non_error.groupby(['tool', 'request_month_year_week', 'win']).size().unstack().fillna(0)
|
24 |
-
wins['win_perc'] = (wins[1] / (wins[0] + wins[1]))*100
|
25 |
wins.reset_index(inplace=True)
|
26 |
wins['total_request'] = wins[0] + wins[1]
|
27 |
wins.columns = wins.columns.astype(str)
|
|
|
|
|
28 |
return wins
|
29 |
|
30 |
|
@@ -38,7 +43,7 @@ def get_overall_winning_rate(wins_df):
|
|
38 |
return overall_wins
|
39 |
|
40 |
|
41 |
-
def
|
42 |
wins_df,
|
43 |
winning_selector="win_perc"
|
44 |
):
|
@@ -50,14 +55,15 @@ def plot_winning_trades(
|
|
50 |
interactive=True,
|
51 |
show_actions_button=True,
|
52 |
tooltip=["request_month_year_week", winning_selector],
|
53 |
-
width=800,
|
54 |
value=wins_df,
|
55 |
x="request_month_year_week",
|
56 |
-
y=winning_selector
|
|
|
|
|
57 |
)
|
58 |
|
59 |
|
60 |
-
def
|
61 |
return gr.BarPlot(
|
62 |
title="Winning Rate",
|
63 |
x_title="Week",
|
@@ -65,9 +71,10 @@ def plot_winning_plot_by_tool(wins_df, tool):
|
|
65 |
x="request_month_year_week",
|
66 |
y="win_perc",
|
67 |
value=wins_df[wins_df['tool'] == tool],
|
68 |
-
width=800,
|
69 |
show_label=True,
|
70 |
interactive=True,
|
71 |
show_actions_button=True,
|
72 |
-
tooltip=["request_month_year_week", "win_perc"]
|
|
|
|
|
73 |
)
|
|
|
1 |
import pandas as pd
|
2 |
import gradio as gr
|
3 |
|
4 |
+
|
5 |
+
HEIGHT=600
|
6 |
+
WIDTH=1000
|
7 |
+
|
8 |
+
|
9 |
def set_error(row):
|
10 |
if row.error not in [True, False]:
|
11 |
if not row.prompt_response:
|
|
|
15 |
|
16 |
|
17 |
def get_tool_winning_rate(tools_df, inc_tools):
|
18 |
+
tools_inc = tools_df[tools_df['tool'].isin(inc_tools)].copy()
|
19 |
tools_inc['error'] = tools_inc.apply(set_error, axis=1)
|
20 |
tools_non_error = tools_inc[tools_inc['error'] != True]
|
21 |
+
tools_non_error.loc[:, 'currentAnswer'] = tools_non_error['currentAnswer'].replace({'no': 'No', 'yes': 'Yes'})
|
|
|
22 |
tools_non_error = tools_non_error[tools_non_error['currentAnswer'].isin(['Yes', 'No'])]
|
23 |
tools_non_error = tools_non_error[tools_non_error['vote'].isin(['Yes', 'No'])]
|
24 |
+
tools_non_error['win'] = (tools_non_error['currentAnswer'] == tools_non_error['vote']).astype(int)
|
|
|
25 |
tools_non_error.columns = tools_non_error.columns.astype(str)
|
26 |
wins = tools_non_error.groupby(['tool', 'request_month_year_week', 'win']).size().unstack().fillna(0)
|
27 |
+
wins['win_perc'] = (wins[1] / (wins[0] + wins[1])) * 100
|
28 |
wins.reset_index(inplace=True)
|
29 |
wins['total_request'] = wins[0] + wins[1]
|
30 |
wins.columns = wins.columns.astype(str)
|
31 |
+
# Convert request_month_year_week to string and explicitly set type for Altair
|
32 |
+
wins['request_month_year_week'] = wins['request_month_year_week'].astype(str)
|
33 |
return wins
|
34 |
|
35 |
|
|
|
43 |
return overall_wins
|
44 |
|
45 |
|
46 |
+
def plot_tool_winnings_overall(
|
47 |
wins_df,
|
48 |
winning_selector="win_perc"
|
49 |
):
|
|
|
55 |
interactive=True,
|
56 |
show_actions_button=True,
|
57 |
tooltip=["request_month_year_week", winning_selector],
|
|
|
58 |
value=wins_df,
|
59 |
x="request_month_year_week",
|
60 |
+
y=winning_selector,
|
61 |
+
height=HEIGHT,
|
62 |
+
width=WIDTH
|
63 |
)
|
64 |
|
65 |
|
66 |
+
def plot_tool_winnings_by_tool(wins_df, tool):
|
67 |
return gr.BarPlot(
|
68 |
title="Winning Rate",
|
69 |
x_title="Week",
|
|
|
71 |
x="request_month_year_week",
|
72 |
y="win_perc",
|
73 |
value=wins_df[wins_df['tool'] == tool],
|
|
|
74 |
show_label=True,
|
75 |
interactive=True,
|
76 |
show_actions_button=True,
|
77 |
+
tooltip=["request_month_year_week", "win_perc"],
|
78 |
+
height=HEIGHT,
|
79 |
+
width=WIDTH
|
80 |
)
|
tabs/trades.py
CHANGED
@@ -2,6 +2,9 @@ import gradio as gr
|
|
2 |
import pandas as pd
|
3 |
|
4 |
|
|
|
|
|
|
|
5 |
def prepare_trades(trades_df):
|
6 |
trades_df['creation_timestamp'] = pd.to_datetime(trades_df['creation_timestamp'])
|
7 |
trades_df['month_year'] = trades_df['creation_timestamp'].dt.to_period('M').astype(str)
|
@@ -48,7 +51,9 @@ def plot_trade_details(trade_detail, trades_df):
|
|
48 |
show_label=True,
|
49 |
interactive=True,
|
50 |
show_actions_button=True,
|
51 |
-
tooltip=["month_year_week", "percentile", "mech_calls"]
|
|
|
|
|
52 |
)
|
53 |
|
54 |
if trade_detail == "collateral amount":
|
@@ -73,7 +78,9 @@ def plot_trade_details(trade_detail, trades_df):
|
|
73 |
show_label=True,
|
74 |
interactive=True,
|
75 |
show_actions_button=True,
|
76 |
-
tooltip=["month_year_week", "percentile", "collateral_amount"]
|
|
|
|
|
77 |
)
|
78 |
|
79 |
if trade_detail == "earnings":
|
@@ -98,7 +105,9 @@ def plot_trade_details(trade_detail, trades_df):
|
|
98 |
show_label=True,
|
99 |
interactive=True,
|
100 |
show_actions_button=True,
|
101 |
-
tooltip=["month_year_week", "percentile", "earnings"]
|
|
|
|
|
102 |
)
|
103 |
|
104 |
if trade_detail == "net earnings":
|
@@ -123,7 +132,9 @@ def plot_trade_details(trade_detail, trades_df):
|
|
123 |
show_label=True,
|
124 |
interactive=True,
|
125 |
show_actions_button=True,
|
126 |
-
tooltip=["month_year_week", "percentile", "net_earnings"]
|
|
|
|
|
127 |
)
|
128 |
|
129 |
if trade_detail == "ROI":
|
@@ -148,7 +159,9 @@ def plot_trade_details(trade_detail, trades_df):
|
|
148 |
show_label=True,
|
149 |
interactive=True,
|
150 |
show_actions_button=True,
|
151 |
-
tooltip=["month_year_week", "percentile", "ROI"]
|
|
|
|
|
152 |
)
|
153 |
|
154 |
def plot_trades_by_week(trades_df):
|
@@ -159,7 +172,9 @@ def plot_trades_by_week(trades_df):
|
|
159 |
show_label=True,
|
160 |
interactive=True,
|
161 |
show_actions_button=True,
|
162 |
-
tooltip=["month_year_week", "trades"]
|
|
|
|
|
163 |
)
|
164 |
|
165 |
def plot_winning_trades_by_week(trades_df):
|
@@ -170,5 +185,7 @@ def plot_winning_trades_by_week(trades_df):
|
|
170 |
show_label=True,
|
171 |
interactive=True,
|
172 |
show_actions_button=True,
|
173 |
-
tooltip=["month_year_week", "winning_trade"]
|
|
|
|
|
174 |
)
|
|
|
2 |
import pandas as pd
|
3 |
|
4 |
|
5 |
+
HEIGHT=600
|
6 |
+
WIDTH=1000
|
7 |
+
|
8 |
def prepare_trades(trades_df):
|
9 |
trades_df['creation_timestamp'] = pd.to_datetime(trades_df['creation_timestamp'])
|
10 |
trades_df['month_year'] = trades_df['creation_timestamp'].dt.to_period('M').astype(str)
|
|
|
51 |
show_label=True,
|
52 |
interactive=True,
|
53 |
show_actions_button=True,
|
54 |
+
tooltip=["month_year_week", "percentile", "mech_calls"],
|
55 |
+
height=HEIGHT,
|
56 |
+
width=WIDTH
|
57 |
)
|
58 |
|
59 |
if trade_detail == "collateral amount":
|
|
|
78 |
show_label=True,
|
79 |
interactive=True,
|
80 |
show_actions_button=True,
|
81 |
+
tooltip=["month_year_week", "percentile", "collateral_amount"],
|
82 |
+
height=HEIGHT,
|
83 |
+
width=WIDTH
|
84 |
)
|
85 |
|
86 |
if trade_detail == "earnings":
|
|
|
105 |
show_label=True,
|
106 |
interactive=True,
|
107 |
show_actions_button=True,
|
108 |
+
tooltip=["month_year_week", "percentile", "earnings"],
|
109 |
+
height=HEIGHT,
|
110 |
+
width=WIDTH
|
111 |
)
|
112 |
|
113 |
if trade_detail == "net earnings":
|
|
|
132 |
show_label=True,
|
133 |
interactive=True,
|
134 |
show_actions_button=True,
|
135 |
+
tooltip=["month_year_week", "percentile", "net_earnings"],
|
136 |
+
height=HEIGHT,
|
137 |
+
width=WIDTH
|
138 |
)
|
139 |
|
140 |
if trade_detail == "ROI":
|
|
|
159 |
show_label=True,
|
160 |
interactive=True,
|
161 |
show_actions_button=True,
|
162 |
+
tooltip=["month_year_week", "percentile", "ROI"],
|
163 |
+
height=HEIGHT,
|
164 |
+
width=WIDTH
|
165 |
)
|
166 |
|
167 |
def plot_trades_by_week(trades_df):
|
|
|
172 |
show_label=True,
|
173 |
interactive=True,
|
174 |
show_actions_button=True,
|
175 |
+
tooltip=["month_year_week", "trades"],
|
176 |
+
height=HEIGHT,
|
177 |
+
width=WIDTH
|
178 |
)
|
179 |
|
180 |
def plot_winning_trades_by_week(trades_df):
|
|
|
185 |
show_label=True,
|
186 |
interactive=True,
|
187 |
show_actions_button=True,
|
188 |
+
tooltip=["month_year_week", "winning_trade"],
|
189 |
+
height=HEIGHT,
|
190 |
+
width=WIDTH
|
191 |
)
|