计算单次收益 loc写法问题
来源:4-12 【实战作业】:尝试创建基于布林道的择时策略

小马不马虎
2021-09-29
老师你好:
计算单次收益方法,我打印后遇到点问题
def calculate_prof_pct(data):
# 筛选信号不为0的,并且计算涨跌幅
data.loc[data['signal'] != 0, 'profit_pct'] = data['close'].pct_change()
print(data[['close','signal','profit_pct']])
data = data[data['signal'] == -1] # 筛选平仓后的数据:单次收益
return data
这段中 data.loc[data[‘signal’] != 0, ‘profit_pct’] = data[‘close’].pct_change() 并没有排除信号为0元素,还是与上一个元素计算的相差百分比
打印后如下:
close signal profit_pct
2020-01-02 16.46 0 NaN
2020-01-03 16.76 0 NaN
2020-01-06 16.65 0 NaN
2020-01-07 16.73 0 NaN
2020-01-08 16.25 0 NaN
2020-01-09 16.38 0 NaN
2020-01-10 16.28 0 NaN
2020-01-13 16.57 0 NaN
2020-01-14 16.35 0 NaN
2020-01-15 16.11 0 NaN
2020-01-16 15.93 0 NaN
2020-01-17 15.99 0 NaN
2020-01-20 16.05 0 NaN
2020-01-21 15.61 0 NaN
2020-01-22 15.69 0 NaN
2020-01-23 15.16 0 NaN
2020-02-03 13.65 0 NaN
2020-02-04 14.24 0 NaN
2020-02-05 14.27 0 NaN
2020-02-06 14.41 -1 0.009811
2020-02-07 14.26 0 NaN
2020-02-10 14.14 0 NaN
2020-02-11 14.43 0 NaN
2020-02-12 14.41 0 NaN
2020-02-13 14.29 0 NaN
2020-02-14 14.66 0 NaN
2020-02-17 14.99 0 NaN
2020-02-18 14.83 0 NaN
2020-02-19 14.87 0 NaN
2020-02-20 15.21 1 0.022865
2020-02-21 15.20 0 NaN
2020-02-24 14.86 0 NaN
2020-02-25 14.67 0 NaN
2020-02-26 14.62 0 NaN
2020-02-27 14.74 0 NaN
2020-02-28 14.14 0 NaN
2020-03-02 14.43 -1 0.020509
2020-03-03 14.36 0 NaN
2020-03-04 14.33 0 NaN
2020-03-05 15.01 0 NaN
2020-03-06 14.66 0 NaN
2020-03-09 14.09 0 NaN
2020-03-10 14.40 0 NaN
2020-03-11 14.33 0 NaN
2020-03-12 14.32 0 NaN
2020-03-13 14.16 0 NaN
2020-03-16 13.41 0 NaN
2020-03-17 13.08 0 NaN
2020-03-18 12.40 0 NaN
2020-03-19 11.93 0 NaN
2020-03-20 12.21 0 NaN
2020-03-23 11.85 0 NaN
2020-03-24 12.30 0 NaN
2020-03-25 12.55 0 NaN
2020-03-26 12.74 0 NaN
2020-03-27 12.83 0 NaN
2020-03-30 12.62 0 NaN
2020-03-31 12.49 0 NaN
2020-04-01 12.57 0 NaN
2020-04-02 12.65 0 NaN
2020-04-03 12.30 0 NaN
2020-04-07 12.56 0 NaN
2020-04-08 12.47 0 NaN
2020-04-09 12.43 0 NaN
2020-04-10 12.48 0 NaN
2020-04-13 12.28 0 NaN
2020-04-14 12.54 0 NaN
2020-04-15 12.55 1 0.000797
2020-04-16 12.37 0 NaN
2020-04-17 12.57 -1 0.016168
2020-04-20 12.67 1 0.007955
写回答
1回答
-
DeltaF
2021-11-25
00
相似问题