- 单只股票单次持仓收益率
计算方式:收益率 = (市价-成本)/成本*100%
收益率也叫做盈亏比,是最直接的策略收益评估指标,后面做回测也要用到。
- Matplotlib可视化库
Matplotlib 是一个Python的2D绘图库。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。可以让数据可视化,更直观的真实给用户,使数据更加客观、更具有说服力。
简单的使用方法:
-
import matplotlib.pyplot as plt
-
df['xxx'].plot()
-
plt.show()
- 代码实现收益率
-
def calculate_prof_pct(data):
-
'''
-
计算单次收益率
-
收益率 = (市价-成本)/成本
-
:param data: 不带收益率原数据
-
:return: 带收益率新数据
-
'''
-
data = data[data['signal'] != 0]
-
data['profit_pct'] = (data['close'] - data['close'].shift(1)) / data['close'].shift(1)
-
data = data[data['signal'] == -1]
-
return data
- 查看数据统计方式
-
# 显示整体数据描述表
-
print(())
-
-
# 可视图图表
-
df['profit_pct'].plot()
-
plt.show()
打印log:
money weekday buy_signal sell_signal signal profit_pct
count 8.460000e+02 846.000000 846.0 846.0 846.0 845.000000
mean 1.003719e+09 0.030733 0.0 -1.0 -1.0 0.002715
std 1.052186e+09 0.172695 0.0 0.0 0.0 0.039480
min 0.000000e+00 0.000000 0.0 -1.0 -1.0 -0.141176
25% 3.425649e+08 0.000000 0.0 -1.0 -1.0 -0.017685
50% 6.620259e+08 0.000000 0.0 -1.0 -1.0 0.000000
75% 1.335996e+09 0.000000 0.0 -1.0 -1.0 0.020270
max 8.596942e+09 1.000000 0.0 -1.0 -1.0 0.209091
平安银行从上市到目前周四尾盘买周一尾盘卖策略收益率表