美文网首页
#滑动平均策略——python回测结果 (中山大学岭南学院量化投

#滑动平均策略——python回测结果 (中山大学岭南学院量化投

作者: 两只鹏_d026 | 来源:发表于2017-10-13 16:03 被阅读0次

策略如下:

  • 回测区间为2016年10月10日至2017年10月13日,选择沪深300进行回测。
  • 记录所有当天5日滑动平均价格高于20日滑动平均价格的股票
  • 将总资金额的一半n/2用于买入股票,每一支股票按照等额购入
  • 买入后的第二天清仓

回测过程:
数据获取(获取股票收盘价stock_price、大盘收盘价benchmark_price以及公司名称stocks):

def getPrice():
  stocks_name='沪深300'
  start_date='2016-10-01'
  end_date='2017-10-13'
  fields=['ClosingPx']
  #选择沪深300里面所有的股票代码
  stocks=index_components(stocks_name)
  #正式获取股票价格
  stock_price=get_price(stocks,start_date=start_date,end_date=end_date,fields=fields)
  #获得沪深300指数
  benchmark_name='399300.XSHE'
  benchmark_price=get_price(benchmark_name,start_date=start_date,end_date=end_date,fields=fields)
  return stock_price,benchmark_price,stocks
这里对沪深300指数解释一下:对样本空间内股票在最近一年(新股为上市以来)的日均成交金额由高到低进行排名,剔除排名在后50%的股票,然后对剩余股票按照日均总市值由高到低进行排名,选取排名在前300名的股票作为指数样本。
数据处理——计算滑动平均数(长短期): 滑动平均累积收益率(加入交易成本).png

忽略了交易成本,输出结果为:[1.1195674560662801, 0.5043859649122807, -8.8431527706262312, 0.092890344378694187]
最后计算得到年化收益率为11.9%,胜率为50.4%,夏普率为-8.84,最大回撤为9.2%

滑动平均累积收益率(不加入交易成本).png

总结:从不计交易成本的输出结果我们可以看出,最终策略的累积收益率还是跑不赢大盘,策略本身对于累积收益率提升的贡献并不大。同时由于策略交易过于频繁,持有时间过于短暂(一天),每次交易的获益基本都会被交易成本吸收掉,导致累积收益率一路走低。

相关文章

网友评论

      本文标题:#滑动平均策略——python回测结果 (中山大学岭南学院量化投

      本文链接:https://www.haomeiwen.com/subject/ucwzyxtx.html