Skip to content

Commit a4dbb8e

Browse files
committed
Update tradeflow for strings
1 parent de7005e commit a4dbb8e

File tree

1 file changed

+21
-17
lines changed

1 file changed

+21
-17
lines changed

tabs/tradeflow.py

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
import pandas as pd
44

5-
65
pd.options.plotting.backend = "plotly"
7-
from constants import ALL_MARKET_NAMES
8-
from datafetch.api_fetch import get_trades_for_range_pandas
9-
from datafetch.s3_fetch import load_s3_trades_data
106
import numpy as np
117
import pytz
128
import streamlit as st
139

10+
from constants import ALL_MARKET_NAMES
11+
from datafetch.api_fetch import get_trades_for_range_pandas
12+
from datafetch.s3_fetch import load_s3_trades_data
13+
1414

1515
def dedupdf(all_markets, market_name, lookahead=60):
1616
df1 = all_markets.copy()
@@ -50,8 +50,11 @@ def dedupdf(all_markets, market_name, lookahead=60):
5050
"date",
5151
]
5252
).reset_index(drop=True)
53-
oracle_series = df1.groupby("ts")["oraclePrice"].last()
53+
oracle_series = pd.to_numeric(df1.groupby("ts")["oraclePrice"].last())
5454

55+
df1["quoteAssetAmountFilled"] = pd.to_numeric(df1["quoteAssetAmountFilled"])
56+
df1["baseAssetAmountFilled"] = pd.to_numeric(df1["baseAssetAmountFilled"])
57+
df1["oraclePrice"] = pd.to_numeric(df1["oraclePrice"])
5558
df1["markPrice"] = df1["quoteAssetAmountFilled"] / df1["baseAssetAmountFilled"]
5659
df1["buyPrice"] = np.nan
5760
df1["sellPrice"] = np.nan
@@ -60,10 +63,12 @@ def dedupdf(all_markets, market_name, lookahead=60):
6063
]
6164
df1["sellPrice"] = df1.loc[df1["takerOrderDirection"] == "short", "markPrice"]
6265

63-
df1["takerPremium"] = (df1["markPrice"] - df1["oraclePrice"]) * (
64-
2 * (df1["takerOrderDirection"] == "long") - 1
66+
df1["takerPremium"] = (
67+
pd.to_numeric(df1["markPrice"]) - pd.to_numeric(df1["oraclePrice"])
68+
) * (2 * (df1["takerOrderDirection"] == "long") - 1)
69+
df1["takerPremiumDollar"] = pd.to_numeric(df1["takerPremium"]) * pd.to_numeric(
70+
df1["baseAssetAmountFilled"]
6571
)
66-
df1["takerPremiumDollar"] = df1["takerPremium"] * df1["baseAssetAmountFilled"]
6772
df1["takerPremiumNextMinute"] = (
6873
df1["markPrice"]
6974
- df1["ts"].apply(
@@ -217,8 +222,8 @@ def make_clickable(link):
217222
"takerPremium": "mean",
218223
"takerPremiumNextMinute": "mean",
219224
"takerPremiumDollar": "sum",
220-
"takerFee": "sum",
221-
"makerFee": "sum",
225+
"takerFee": lambda x: pd.to_numeric(x).sum(),
226+
"makerFee": lambda x: pd.to_numeric(x).sum(),
222227
}
223228
)
224229
)
@@ -245,8 +250,8 @@ def make_clickable(link):
245250
"takerPremium": "mean",
246251
"takerPremiumNextMinute": "mean",
247252
"takerPremiumDollar": "sum",
248-
"takerFee": "sum",
249-
"makerFee": "sum",
253+
"takerFee": lambda x: pd.to_numeric(x).sum(),
254+
"makerFee": lambda x: pd.to_numeric(x).sum(),
250255
}
251256
)
252257
)
@@ -267,12 +272,11 @@ def make_clickable(link):
267272
st.dataframe(df2)
268273

269274
if user_type != "vAMM":
270-
271275
zol1, zol2, zol3 = st.columns(3)
272276

273-
takerfee = solperp["takerFee"].sum()
274-
makerfee = solperp["makerFee"].sum()
275-
fillerfee = solperp["fillerReward"].sum()
277+
takerfee = pd.to_numeric(solperp["takerFee"]).sum()
278+
makerfee = pd.to_numeric(solperp["makerFee"]).sum()
279+
fillerfee = pd.to_numeric(solperp["fillerReward"]).sum()
276280

277281
showprem = zol3.radio("show premiums in plot", [True, False], 1)
278282
showmarkoutfees = zol3.radio(
@@ -401,7 +405,7 @@ def make_clickable(link):
401405
st.metric(
402406
"vAMM volume:",
403407
"$" + f"{vamm_maker_trades['quoteAssetAmountFilled'].sum().round(2):,}",
404-
f"{vamm_maker_trades['quoteAssetAmountFilled'].sum().round(2)/solperp['quoteAssetAmountFilled'].sum().round(2)*100:,.2f}% of maker volume",
408+
f"{vamm_maker_trades['quoteAssetAmountFilled'].sum().round(2) / solperp['quoteAssetAmountFilled'].sum().round(2) * 100:,.2f}% of maker volume",
405409
)
406410
tabs = st.tabs(["plot", "table"])
407411

0 commit comments

Comments
 (0)