我有一组 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
提交
取消