dUp= delta[delta > 0]
dDown= delta[delta < 0]
您还需要类似:
RolUp = RolUp.reindex_like(delta, method='ffill')RolDown = RolDown.reindex_like(delta, method='ffill')
否则
RS = RolUp / RolDown不会做你想要的
编辑: 似乎这是RS计算的一种更准确的方法:
# dUp= delta[delta > 0]# dDown= delta[delta < 0]# dUp = dUp.reindex_like(delta, fill_value=0)# dDown = dDown.reindex_like(delta, fill_value=0)dUp, dDown = delta.copy(), delta.copy()dUp[dUp < 0] = 0dDown[dDown > 0] = 0RolUp = pd.rolling_mean(dUp, n)RolDown = pd.rolling_mean(dDown, n).abs()RS = RolUp / RolDown



