我在EXCEL上进行了这样一组计算:
=IF(AND(B2=1,B3=-1),-1,IF(AND(B2=-1,B3=1),1,IF(B2=B3,C2+B3,0)))
实现结果如下:
df['signal2']=df['signal'].shift()
df1=df.loc[0:50,('signal','signal2')]
def get_signal3(x):
if x['signal']==1:
if x['signal2']==-1:
return 1
elif x['signal']==-1:
if x['signal2']==1:
return -1
elif x['signal']==x['signal2']:
return x.shift()+x
df1['signal3']=df1.apply(get_signal3,axis=1)
结果如下:
x['signal']==1 但 x['signal2'] 为空时, get_signal3 函数没有对应的返回值。