Python:如何计算变量=是时的平均时间长度

我有一组 EURUSD 数据并正在寻找套利机会。数据格式如图所示。

http://img4.mukewang.com/64126ccd0001342e19540535.jpg

mispricing_1=yes何时buy_b_sell_A>0mispricing_2=yesbuy_A_sell_B>0

照片中没有数据点 whereexploitable=yes但是 when thebuy_b_sell_A>6或 when buy_A_sell_B>6,然后我们得到exploitable=yes

我希望计算存在可利用套利机会的平均时间长度,由exploitable=yes

我如何计算连续的时间长度,exploitable=yes以便我可以绘制分布然后计算平均值?


UYOU
浏览 142回答 2
2回答

牧羊人nacy

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

繁星coding

如果将其导入为熊猫框架,我们称之为 df,则可以执行 df.groupby['exploitable'].mean 您可以执行 .histogram 或其他用于分发的操作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python