簡體   English   中英

Python:當變量=是時如何計算平均時間長度

[英]Python: how to calculate average length of times when a variable=yes

我有一組 EURUSD 數據並正在尋找套利機會。 數據格式如照片所示。

在此處輸入圖像描述

buy_b_sell_A>0 mispricing_1=yes當 buy_b_sell_A>0 時 mispricing_2 mispricing_2=yesbuy_A_sell_B>0

在照片中沒有數據點exploitable=yes但是當buy_b_sell_A>6或當buy_A_sell_B>6時,我們得到exploitable=yes

我希望計算存在可利用套利機會的平均時間長度,由exploitable=yes顯示

如何計算連續exploitable=yes的時間長度,以便我可以 plot 分布然后計算平均值?

df=pd.DataFrame(data={'ts':list(range(1,14)),
                  'mp':[0,0,1,1,1,0,0,1,1,0,0,1,0]}) # your data
df.loc[df.mp.diff(1)==1, 'ts1'] = df.ts  # TS1
df.loc[df.mp.diff(1)==-1, 'ts2'] = df.ts  # TS2
df=df[~(df.ts1.isna())|~(df.ts2.isna())] # keep only rows with changes
df.loc[~df.ts2.isna(), 'delta'] = df.ts2 - df.ts1.shift(1)  # TS2-TS1
print (df)

如果你把它作為一個熊貓框架導入,我們稱之為 df,你可以做 df.groupby['exploitable'].mean 你可以做.histogram 或其他東西來分發。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM