AFML读书笔记--Backtesting through Cross-Validation

Advance Finance Machine Learning读书笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

因为年初疫情影响,书剩在别的地方无法出门取,所以断更了很久,现在持续更新中……
之前有搜到大神weixin_38753422的AFML系列。写得很详细并且有代码和图片解释,链接在此
此系列从Part 1 Chapter 3开始写起,Chapter3之前内容可以在上面的链接里看到。(注意并不是所有内容的整理,而是我个人觉得需要整理的内容)

本文讲的时Part 3 Chapter 12 Backtesting through Cross-Validation (使用CV进行回测)

啥是回测

回测是用于检测投资策略在OOS上的性能表现,大致有两个方向:

  • 前向回测法:将策略在曾经的数据上跑一边,这也是经常被提到的那个回测(历史数据检测)
  • 虚拟回测法:模拟从未发生过的数据,在这个数据上进行测试
前向回测法

缺点:

  • 因为是在一条单一时间线上进行回测,所以很容发生过拟合
  • 如果测试放在一些明显的趋势性时间序列上,会导致在上下波动的区间训练的策略表现极差,如果实际交易中发生于回测时间序列区间相反的趋势,就会发生过拟合,无法泛化的结果
  • 训练数据集太少(Warm-up set 没看懂)

优点:

  • 前向法在历史数据上进行模拟交易,所以它的表现可以直接有策略交易详单得出
  • 历史回测本身就可以避免信息泄露,只要Purge这步操作过就能保证Testset是OOS
交叉验证回测法

优点:

  • 使用CV的Test set是k个不同的情境
  • 生成策略的训练集样本大小一致,也就说利用的信息量一致,后期有可比性
  • 每一个样本都能参与到test set中去

缺点:

  • 和WF回测一样仍是在已有的时间序列方向上进行测试
  • CV在历史数据上并没有像WF一样有交易的模拟记录
  • 操作时要特别主要Test Set 的信息不能流入Train Set(参考Chapter 7 提到的Purge 和 Embargo)

将Purge与CV结合的CPCV回测

1.第一步:将 T T T个样本进行分组,分成 N N N个组,前 1 … … N − 1 1……N-1 1N1个组的样本容量是 T / N T/N T/N,最后第 N N N组的样本容量是

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值