问题遇到的现象和发生背景
在得到股票回报之后,我要怎么把大于0的数值改成1. 小于0的改成0呢
问题相关代码,请勿粘贴截图
import numpy as np
pflsize=20
Datelist=[]
Returnlist=[]
for date in date_all[trainlength:]:
dftemp = df[df.DATE==date].copy()
if len(dftemp)>=2*pflsize:
Datelist.append(date)
dftemp.sort_values(by='Signal', ascending=False, inplace=True)
Returnlist.append(dftemp["RET"][0:pflsize].mean()-dftemp["RET"][-pflsize:].mean())
dfresult=pd.DataFrame(zip(Datelist,Returnlist),
columns=["Date","Return"])
display(dfresult.head())
print("Average return:")
print(dfresult.Return.mean())
print("Std:")
print(dfresult.Return.std())
print("Cumulative return:")
print((dfresult.Return+1).product())
我想要达到的结果
在Return栏中,1 if
return>0
and 0 if return<0
但是应该要怎么写才不会报错呢