关于python策略的问题,策略运行出来后是一条直线是什么原因啊


dd1=ts.get_k_data('002466',start='2020-01-01',end='2021-07-21')[['date','close']]
dd2=ts.get_k_data('300014',start='2020-01-01',end='2021-07-21')[['close']]
stocks_pp=['002466','300014']
dd=pd.concat([dd1,dd2],axis=1)
dd.set_index('date',inplace=True)
dd.columns=stocks_pp
# dd.plot(figsize=(10,6))
dd['pricedelta']=dd['300014']-dd['002466']
dd['zcscore']=(dd['pricedelta']-dd['pricedelta'].mean())/dd['pricedelta'].std()
dd['position1']=np.where(dd['zcscore']>1.49,-1,np.nan)
dd['position1']=np.where(dd['zcscore']<-1,1,dd['position1'])
dd['position1']=np.where(abs(dd['zcscore'])<0.4,0,dd['position1'])
dd['position1']=dd['position1'].fillna(method='ffill')
dd['position2']=-np.sign(dd['position1'])
dd['return1']=np.log(dd['002466']/dd['002466'].shift(1))
dd['return2']=np.log(dd['300014']/dd['300014'].shift(1))
dd['strategy']=0.5*np.log(dd['position1'].shift(1)*dd['return1'])+0.5*np.log(dd['position2'].shift(1)*dd['return2'])
dd[['return1','return2','strategy']].cumsum().apply(np.exp).dropna().plot(figsize=(10,6))

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/645107469626183.png)

结果报错
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\arraylike.py:358: RuntimeWarning: divide by zero encountered in log
result = getattr(ufunc, method)(*inputs, **kwargs)
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\arraylike.py:358: RuntimeWarning: invalid value encountered in log
result = getattr(ufunc, method)(*inputs, **kwargs)
是什么原因,应该如何修改啊

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^