股票python量化交易014-计算收益率

时间:2024-10-01 20:27:51
  • 单只股票单次持仓收益率

计算方式:收益率 = (市价-成本)/成本*100%

收益率也叫做盈亏比,是最直接的策略收益评估指标,后面做回测也要用到。

  • Matplotlib可视化库

Matplotlib 是一个Python的2D绘图库。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。可以让数据可视化,更直观的真实给用户,使数据更加客观、更具有说服力。

简单的使用方法:

  1. import matplotlib.pyplot as plt
  2. df['xxx'].plot()
  3. plt.show()
  • 代码实现收益率
  1. def calculate_prof_pct(data):
  2. '''
  3. 计算单次收益率
  4. 收益率 = (市价-成本)/成本
  5. :param data: 不带收益率原数据
  6. :return: 带收益率新数据
  7. '''
  8. data = data[data['signal'] != 0]
  9. data['profit_pct'] = (data['close'] - data['close'].shift(1)) / data['close'].shift(1)
  10. data = data[data['signal'] == -1]
  11. return data
  • 查看数据统计方式
  1. # 显示整体数据描述表
  2. print(())
  3. # 可视图图表
  4. df['profit_pct'].plot()
  5. 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

平安银行从上市到目前周四尾盘买周一尾盘卖策略收益率表