cyberosa commited on
Commit
8a73d91
·
1 Parent(s): f95e119

updating weekly data for the traders

Browse files
app.py CHANGED
@@ -118,13 +118,13 @@ def prepare_data():
118
  by="creation_timestamp", ascending=True
119
  )
120
  traders_data["month_year_week"] = (
121
- traders_data["creation_timestamp"].dt.to_period("W").dt.strftime("%b-%d")
122
  )
123
  unknown_traders["month_year_week"] = (
124
- unknown_traders["creation_timestamp"].dt.to_period("W").dt.strftime("%b-%d")
125
  )
126
  closed_markets["month_year_week"] = (
127
- closed_markets["opening_datetime"].dt.to_period("W").dt.strftime("%b-%d")
128
  )
129
  return traders_data, closed_markets, daily_info, unknown_traders
130
 
 
118
  by="creation_timestamp", ascending=True
119
  )
120
  traders_data["month_year_week"] = (
121
+ traders_data["creation_timestamp"].dt.to_period("W").dt.strftime("%b-%d-%Y")
122
  )
123
  unknown_traders["month_year_week"] = (
124
+ unknown_traders["creation_timestamp"].dt.to_period("W").dt.strftime("%b-%d-%Y")
125
  )
126
  closed_markets["month_year_week"] = (
127
+ closed_markets["opening_datetime"].dt.to_period("W").dt.strftime("%b-%d-%Y")
128
  )
129
  return traders_data, closed_markets, daily_info, unknown_traders
130
 
data/closed_markets_div.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:7292472caaaba2984a91b8797d5b770d669bec7743693eeb4f1a90f716d653b7
3
- size 56326
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f6b6ff11a79e22ddcfcc3e24305ed6a0892e06888254b6360e89e2ad956529a1
3
+ size 52009
data/daily_info.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:d9f224f954dd108e164b12763dd628e05a5f17a94fd2422d9853f60f470a690d
3
- size 697569
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:23cc8b305b1f2f5b6cc7b4a6017c1aeb2a003ec5cc921be1ad66f380d29a6102
3
+ size 658465
data/unknown_daily_traders.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:5228e7344adf08237bff1159c387f6435c0116e07378adf6981d5326750f9a1e
3
- size 42386
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1480859c96b05ac94e54f2a69c0ad46d3b840c37111051bb2a0174aa60d90a73
3
+ size 25003
data/weekly_mech_calls.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:0ebba634e4a93389e65a39a240e5fa9598b2ef90197e91250069b8abe7450b69
3
- size 55154
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:04536d62dc403476e4b21032b86e781f38aab5c08d69ebc9ccc917e005b9af95
3
+ size 50976
notebooks/trader_agent_metrics.ipynb CHANGED
@@ -111,32 +111,33 @@
111
  "output_type": "stream",
112
  "text": [
113
  "<class 'pandas.core.frame.DataFrame'>\n",
114
- "RangeIndex: 8210 entries, 0 to 8209\n",
115
- "Data columns (total 20 columns):\n",
116
  " # Column Non-Null Count Dtype \n",
117
  "--- ------ -------------- ----- \n",
118
- " 0 trader_address 8210 non-null object \n",
119
- " 1 market_creator 8210 non-null object \n",
120
- " 2 trade_id 8210 non-null object \n",
121
- " 3 creation_timestamp 8210 non-null datetime64[ns, UTC]\n",
122
- " 4 title 8210 non-null object \n",
123
- " 5 market_status 8210 non-null object \n",
124
- " 6 collateral_amount 8210 non-null float64 \n",
125
- " 7 outcome_index 8210 non-null object \n",
126
- " 8 trade_fee_amount 8210 non-null float64 \n",
127
- " 9 outcomes_tokens_traded 8210 non-null float64 \n",
128
- " 10 current_answer 8210 non-null int64 \n",
129
- " 11 is_invalid 8210 non-null bool \n",
130
- " 12 winning_trade 8210 non-null bool \n",
131
- " 13 earnings 8210 non-null float64 \n",
132
- " 14 redeemed 8210 non-null bool \n",
133
- " 15 redeemed_amount 8210 non-null float64 \n",
134
- " 16 num_mech_calls 8210 non-null int64 \n",
135
- " 17 mech_fee_amount 8210 non-null float64 \n",
136
- " 18 net_earnings 8210 non-null float64 \n",
137
- " 19 roi 8210 non-null float64 \n",
138
- "dtypes: bool(3), datetime64[ns, UTC](1), float64(8), int64(2), object(6)\n",
139
- "memory usage: 1.1+ MB\n"
 
140
  ]
141
  }
142
  ],
@@ -1359,6 +1360,78 @@
1359
  "source": [
1360
  "compute_weekly_metrics_by_market_creator(trader_agent_metrics)"
1361
  ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1362
  }
1363
  ],
1364
  "metadata": {
 
111
  "output_type": "stream",
112
  "text": [
113
  "<class 'pandas.core.frame.DataFrame'>\n",
114
+ "RangeIndex: 88355 entries, 0 to 88354\n",
115
+ "Data columns (total 21 columns):\n",
116
  " # Column Non-Null Count Dtype \n",
117
  "--- ------ -------------- ----- \n",
118
+ " 0 trader_address 88355 non-null object \n",
119
+ " 1 market_creator 88355 non-null object \n",
120
+ " 2 trade_id 88355 non-null object \n",
121
+ " 3 creation_timestamp 88355 non-null datetime64[ns, UTC]\n",
122
+ " 4 title 88355 non-null object \n",
123
+ " 5 market_status 88355 non-null object \n",
124
+ " 6 collateral_amount 88355 non-null float64 \n",
125
+ " 7 outcome_index 88355 non-null object \n",
126
+ " 8 trade_fee_amount 88355 non-null float64 \n",
127
+ " 9 outcomes_tokens_traded 88355 non-null float64 \n",
128
+ " 10 current_answer 88355 non-null int64 \n",
129
+ " 11 is_invalid 88355 non-null bool \n",
130
+ " 12 winning_trade 88355 non-null bool \n",
131
+ " 13 earnings 88355 non-null float64 \n",
132
+ " 14 redeemed 88355 non-null bool \n",
133
+ " 15 redeemed_amount 88355 non-null float64 \n",
134
+ " 16 num_mech_calls 88355 non-null int64 \n",
135
+ " 17 mech_fee_amount 88355 non-null float64 \n",
136
+ " 18 net_earnings 88355 non-null float64 \n",
137
+ " 19 roi 88355 non-null float64 \n",
138
+ " 20 staking 88355 non-null object \n",
139
+ "dtypes: bool(3), datetime64[ns, UTC](1), float64(8), int64(2), object(7)\n",
140
+ "memory usage: 12.4+ MB\n"
141
  ]
142
  }
143
  ],
 
1360
  "source": [
1361
  "compute_weekly_metrics_by_market_creator(trader_agent_metrics)"
1362
  ]
1363
+ },
1364
+ {
1365
+ "cell_type": "code",
1366
+ "execution_count": 2,
1367
+ "metadata": {},
1368
+ "outputs": [],
1369
+ "source": [
1370
+ "tools_df = pd.read_parquet(\"../tmp/tools.parquet\")"
1371
+ ]
1372
+ },
1373
+ {
1374
+ "cell_type": "code",
1375
+ "execution_count": 3,
1376
+ "metadata": {},
1377
+ "outputs": [
1378
+ {
1379
+ "data": {
1380
+ "text/plain": [
1381
+ "error\n",
1382
+ "0 780323\n",
1383
+ "1 214538\n",
1384
+ "Name: count, dtype: int64"
1385
+ ]
1386
+ },
1387
+ "execution_count": 3,
1388
+ "metadata": {},
1389
+ "output_type": "execute_result"
1390
+ }
1391
+ ],
1392
+ "source": [
1393
+ "tools_df.error.value_counts()"
1394
+ ]
1395
+ },
1396
+ {
1397
+ "cell_type": "code",
1398
+ "execution_count": 4,
1399
+ "metadata": {},
1400
+ "outputs": [
1401
+ {
1402
+ "data": {
1403
+ "text/plain": [
1404
+ "994861"
1405
+ ]
1406
+ },
1407
+ "execution_count": 4,
1408
+ "metadata": {},
1409
+ "output_type": "execute_result"
1410
+ }
1411
+ ],
1412
+ "source": [
1413
+ "len(tools_df)"
1414
+ ]
1415
+ },
1416
+ {
1417
+ "cell_type": "code",
1418
+ "execution_count": 5,
1419
+ "metadata": {},
1420
+ "outputs": [
1421
+ {
1422
+ "data": {
1423
+ "text/plain": [
1424
+ "21.564620585187278"
1425
+ ]
1426
+ },
1427
+ "execution_count": 5,
1428
+ "metadata": {},
1429
+ "output_type": "execute_result"
1430
+ }
1431
+ ],
1432
+ "source": [
1433
+ "(214538/994861)*100"
1434
+ ]
1435
  }
1436
  ],
1437
  "metadata": {
scripts/num_mech_calls.py CHANGED
@@ -60,7 +60,7 @@ def compute_total_mech_calls():
60
  tools["request_date"] = tools["request_time"].dt.date
61
  tools = tools.sort_values(by="request_time", ascending=True)
62
  tools["month_year_week"] = (
63
- tools["request_time"].dt.to_period("W").dt.strftime("%b-%d")
64
  )
65
 
66
  except Exception as e:
@@ -79,7 +79,7 @@ def compute_total_mech_calls():
79
  fpmmTrades["creation_date"] = fpmmTrades["creation_timestamp"].dt.date
80
  fpmmTrades = fpmmTrades.sort_values(by="creation_timestamp", ascending=True)
81
  fpmmTrades["month_year_week"] = (
82
- fpmmTrades["creation_timestamp"].dt.to_period("W").dt.strftime("%b-%d")
83
  )
84
 
85
  nr_traders = len(fpmmTrades["trader_address"].unique())
 
60
  tools["request_date"] = tools["request_time"].dt.date
61
  tools = tools.sort_values(by="request_time", ascending=True)
62
  tools["month_year_week"] = (
63
+ tools["request_time"].dt.to_period("W").dt.strftime("%b-%d-%Y")
64
  )
65
 
66
  except Exception as e:
 
79
  fpmmTrades["creation_date"] = fpmmTrades["creation_timestamp"].dt.date
80
  fpmmTrades = fpmmTrades.sort_values(by="creation_timestamp", ascending=True)
81
  fpmmTrades["month_year_week"] = (
82
+ fpmmTrades["creation_timestamp"].dt.to_period("W").dt.strftime("%b-%d-%Y")
83
  )
84
 
85
  nr_traders = len(fpmmTrades["trader_address"].unique())
scripts/utils.py CHANGED
@@ -22,10 +22,10 @@ def get_current_week():
22
 
23
  # Get the start and end dates of the current week (starting on Sunday)
24
  current_week_start = current_date - timedelta(days=current_date.weekday() + 1)
25
- return current_week_start.strftime("%b-%d")
26
 
27
 
28
  def get_next_week():
29
  current_date = datetime.now()
30
  next_week_start = current_date + timedelta(days=7 - (current_date.weekday() + 1))
31
- return next_week_start.strftime("%b-%d")
 
22
 
23
  # Get the start and end dates of the current week (starting on Sunday)
24
  current_week_start = current_date - timedelta(days=current_date.weekday() + 1)
25
+ return current_week_start.strftime("%b-%d-%Y")
26
 
27
 
28
  def get_next_week():
29
  current_date = datetime.now()
30
  next_week_start = current_date + timedelta(days=7 - (current_date.weekday() + 1))
31
+ return next_week_start.strftime("%b-%d-%Y")
tabs/market_plots.py CHANGED
@@ -134,12 +134,12 @@ def plot_total_bet_amount_per_trader_per_market(
134
  # Convert string dates to datetime and sort them
135
  all_dates_dt = sorted(
136
  [
137
- datetime.strptime(date, "%b-%d")
138
  for date in total_bet_amount["month_year_week"].unique()
139
  ]
140
  )
141
  # Convert back to string format
142
- all_dates = [date.strftime("%b-%d") for date in all_dates_dt]
143
  fig = px.box(
144
  total_bet_amount,
145
  x="month_year_week",
 
134
  # Convert string dates to datetime and sort them
135
  all_dates_dt = sorted(
136
  [
137
+ datetime.strptime(date, "%b-%d-%Y")
138
  for date in total_bet_amount["month_year_week"].unique()
139
  ]
140
  )
141
  # Convert back to string format
142
+ all_dates = [date.strftime("%b-%d-%Y") for date in all_dates_dt]
143
  fig = px.box(
144
  total_bet_amount,
145
  x="month_year_week",
tabs/trader_plots.py CHANGED
@@ -115,12 +115,12 @@ def plot_trader_metrics_by_market_creator(
115
  # Convert string dates to datetime and sort them
116
  all_dates_dt = sorted(
117
  [
118
- datetime.strptime(date, "%b-%d")
119
  for date in traders_filtered["month_year_week"].unique()
120
  ]
121
  )
122
  # Convert back to string format
123
- all_dates = [date.strftime("%b-%d") for date in all_dates_dt]
124
  fig = px.box(
125
  traders_filtered,
126
  x="month_year_week",
@@ -243,12 +243,12 @@ def plot_total_bet_amount(
243
  # Convert string dates to datetime and sort them
244
  all_dates_dt = sorted(
245
  [
246
- datetime.strptime(date, "%b-%d")
247
  for date in total_bet_amount["month_year_week"].unique()
248
  ]
249
  )
250
  # Convert back to string format
251
- all_dates = [date.strftime("%b-%d") for date in all_dates_dt]
252
  total_bet_amount["trader_market"] = total_bet_amount.apply(
253
  lambda x: (x["trader_type"], x["market_creator"]), axis=1
254
  )
@@ -330,12 +330,12 @@ def plot_active_traders(
330
  # Convert string dates to datetime and sort them
331
  all_dates_dt = sorted(
332
  [
333
- datetime.strptime(date, "%b-%d")
334
  for date in active_traders["month_year_week"].unique()
335
  ]
336
  )
337
  # Convert back to string format
338
- all_dates = [date.strftime("%b-%d") for date in all_dates_dt]
339
  color_mapping = [
340
  "royalblue",
341
  "goldenrod",
 
115
  # Convert string dates to datetime and sort them
116
  all_dates_dt = sorted(
117
  [
118
+ datetime.strptime(date, "%b-%d-%Y")
119
  for date in traders_filtered["month_year_week"].unique()
120
  ]
121
  )
122
  # Convert back to string format
123
+ all_dates = [date.strftime("%b-%d-%Y") for date in all_dates_dt]
124
  fig = px.box(
125
  traders_filtered,
126
  x="month_year_week",
 
243
  # Convert string dates to datetime and sort them
244
  all_dates_dt = sorted(
245
  [
246
+ datetime.strptime(date, "%b-%d-%Y")
247
  for date in total_bet_amount["month_year_week"].unique()
248
  ]
249
  )
250
  # Convert back to string format
251
+ all_dates = [date.strftime("%b-%d-%Y") for date in all_dates_dt]
252
  total_bet_amount["trader_market"] = total_bet_amount.apply(
253
  lambda x: (x["trader_type"], x["market_creator"]), axis=1
254
  )
 
330
  # Convert string dates to datetime and sort them
331
  all_dates_dt = sorted(
332
  [
333
+ datetime.strptime(date, "%b-%d-%Y")
334
  for date in active_traders["month_year_week"].unique()
335
  ]
336
  )
337
  # Convert back to string format
338
+ all_dates = [date.strftime("%b-%d-%Y") for date in all_dates_dt]
339
  color_mapping = [
340
  "royalblue",
341
  "goldenrod",