跳到主要内容

更新MR

这两天很忙,补一下日报。

仅仅写了3天的日报,就发现了 「mean reversion」策略一些关键问题,有点敏捷开发的节奏😅

近日commit事件 #

  • 计算股票池的时候,添加一个参数:record_date,其用来截取历史数据;
  • 按照新的股票池重新backtest
  • backtest中计算出胜率;
  • 股票池增至 500 支;
  • 暂停虚拟账单;
  • 添加 「实盘日志」,并开发完成一键更新blog相关脚本;
  • 修改 「信号跟踪」中的内容格式,效果如下:

20231225

代码 买/卖 rate 前收盘价 出现次数 周期数 胜利数 胜率
002229 B 3.43 26.78 4 5 5 1.0000
603108 B 2.1 20.49 2 7 7 1.0000
  • 成交记录自动入库,需将csv文件上传至云;

  • 优化股票池算法;

  • blog中添加了hugo-easy-gallery插件,用来展示图片;

  • 修改了前几天commit1事件中的bug:

    1
    2
    3
    
    last_s_index = len(singles) - 1 - singles[::-1].tolist().index("S")
    
    last_s_index = len(singles) - 1 - singles[::-1].tolist().index("S") if "S" in singles.tolist() else -1

mean reversion 分析简报 #

之前在策略回测的时候有个问题:回测时用的是最终的股票池,而在真实交易情况下,股票池是动态的。也就是说,用未来的数据来回测,结果必然好,而如果用现在的数据预测未来,就很难说了。

果不其然,通过模拟真实交易,收益曲线表现很差。原因有二:

  • 账户资金设置问题:账户资金不足时,无法买入,数据失真;
  • 股票池算法问题:收益率并非是决定策略好坏的关键因素。

针对以上问题,进行了如下优化:

  • 使用胜率来优化股票池算法:win_rate >= 0.91;
  • 收益率作为次要指标。

通过回测2023年数据,共交易过76支股票,交易107次,胜率为75.70%,规律可循。