use np.where instead of apply
This commit is contained in:
@@ -117,31 +117,26 @@ def populate_dataframe_with_trades(
|
|||||||
is_between, "imbalances"
|
is_between, "imbalances"
|
||||||
].apply(lambda x: stacked_imbalance_ask(x, stacked_imbalance_range=_stacked_imb))
|
].apply(lambda x: stacked_imbalance_ask(x, stacked_imbalance_range=_stacked_imb))
|
||||||
|
|
||||||
bid = df.loc[is_between, "bid"].apply(
|
bid = np.where(
|
||||||
lambda _: np.where(
|
trades_grouped_df["side"].str.contains("sell"),
|
||||||
trades_grouped_df["side"].str.contains("sell"),
|
trades_grouped_df["amount"],
|
||||||
trades_grouped_df["amount"],
|
0,
|
||||||
0,
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
ask = df.loc[is_between, "ask"].apply(
|
ask = np.where(
|
||||||
lambda _: np.where(
|
trades_grouped_df["side"].str.contains("buy"),
|
||||||
trades_grouped_df["side"].str.contains("buy"),
|
trades_grouped_df["amount"],
|
||||||
trades_grouped_df["amount"],
|
0,
|
||||||
0,
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
deltas_per_trade = ask - bid
|
deltas_per_trade = ask - bid
|
||||||
min_delta = 0
|
min_delta = 0
|
||||||
max_delta = 0
|
max_delta = 0
|
||||||
delta = 0
|
delta = 0
|
||||||
for deltas in deltas_per_trade:
|
for d in deltas_per_trade:
|
||||||
for d in deltas:
|
delta += d
|
||||||
delta += d
|
if delta > max_delta:
|
||||||
if delta > max_delta:
|
max_delta = delta
|
||||||
max_delta = delta
|
if delta < min_delta:
|
||||||
if delta < min_delta:
|
min_delta = delta
|
||||||
min_delta = delta
|
|
||||||
df.loc[is_between, "max_delta"] = max_delta
|
df.loc[is_between, "max_delta"] = max_delta
|
||||||
df.loc[is_between, "min_delta"] = min_delta
|
df.loc[is_between, "min_delta"] = min_delta
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user