我有一組 EURUSD 數據并正在尋找套利機會。數據格式如圖所示。mispricing_1=yes何時buy_b_sell_A>0何mispricing_2=yes地buy_A_sell_B>0照片中沒有數據點 whereexploitable=yes但是 when thebuy_b_sell_A>6或 when buy_A_sell_B>6,然后我們得到exploitable=yes我希望計算存在可利用套利機會的平均時間長度,由exploitable=yes我如何計算連續的時間長度,exploitable=yes以便我可以繪制分布然后計算平均值?
2 回答

牧羊人nacy
TA貢獻1862條經驗 獲得超7個贊
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)

繁星coding
TA貢獻1797條經驗 獲得超4個贊
如果將其導入為熊貓框架,我們稱之為 df,則可以執行 df.groupby['exploitable'].mean 您可以執行 .histogram 或其他用于分發的操作。
添加回答
舉報
0/150
提交
取消