没有合适的资源?快使用搜索试试~ 我知道了~
机器学习时代的回测规程1
需积分: 0 0 下载量 160 浏览量
2022-08-03
17:39:59
上传
评论
收藏 1.46MB PDF 举报
温馨提示
试读
22页
引言原创:石川5月23日川总写量化上图是某针对美股的选股策略在长达 50 年的回测内的净值曲线。该策略采用多空对冲、市值中性的方法构建。该策略表现出了五大优秀量
资源详情
资源评论
资源推荐
机器学习时代的回测规程
作者:石川,北京量信投资管理有限公司创始合伙人,清华大学学士、硕士,麻省理工学院
博士。知乎专栏:
https://zhuanlan.zhihu.com/mitcshi。
未经授权,严禁转载。
摘
要
在回测中牢记并遵守这些准则可以有效降低过拟合的风险、避开噪音、找到真
正在样本外可持续的因果关系,获取更高的收益。
让我们从下图这个令人欣喜的回测(backtesting)说起。
0
引言
原创:石川 5月23日川总写量化
上图是某针对美股的选股策略在长达 50 年的回测内的净值曲线。该策略采用多空对冲、市值
中性的方法构建。该策略表现出了五大优秀量化策略的必要不充分(呵呵)特征:
1. 因子计算的方法在回测期内完全一致,没有任何变化;
2. 该策略的表现在近期并没有变差的迹象,说明在该因子上并没有发生“拥挤”;
3. 该因子穿越牛熊,在金融危机时代甚至出现了上涨(在可以做空的假设下);
4. 该因子和其他主流因子(包括市场、Size、Value、Momentum 等)的相关度
极低;
5. 该因子的年换手率仅为 10%,交易成本可以忽略不计。
Too good to be true?
没错,它正是 data mining 的产物。该因子的构建完全没有使用任何基本面或者交易数据,
而仅仅依赖美股上市公司股票代码上的字母。比如苹果公司的股票代码是 AAPL,该代码上的
第 1 至 4 位上的字母分别为 A、A、P 以及 L。该因子的构建方法是做多股票代码第三位字母
为 S 的股票、做空股票代码第三位字母为 U 的股票(记为 S(3) – U(3))。
在实验中,考虑股票代码的前 3 位字母;考虑到全部可能的 26 个字母,以及每个字母可以出
现在多、空两头,因此实验中有成千上万种组合方式。而 S(3) – U(3) 这种组合正是从这些组
合中脱颖而出的、具备了上述五大优秀特征的、仅仅来自 data mining 的虚假策略。
上面这个策略是靠蛮力(brute force)找到的,并不能说是机器学习(Machine
Learning)的产物。机器学习会进行仔细的交叉验证(cross-validation)以确保我们在训练
集和测试集上看到相似的结果。不幸的是,上述策略在整个回测期内的稳定表现大概率会让它
通过交叉验证。这背后的原因是股票市场的数据容易出现路径依赖,造成训练集和测试集之间
并不独立。
这个例子说明,量化投资的小伙伴在回测基于机器学习的策略时将面临很大的挑战。回测的目
的是去伪存真,排除噪音、发现预测指标和资产收益率之间真正的因果关系,从而在样本外的
实盘交易中获得收益。如果回测不靠谱、落入各种陷阱,那么实盘的结果则可想而知。这个问
题在机器学习如此普及的今天显得更加严重。
为了帮助量化交易者更好的杜绝样本内的过拟合,提高发现真正有效策略的概率,三位大咖站
了出来:来自 Research Affiliates 的 Robert Arnott,杜克大学教授、前 AFA 主席
Campbell Harvey,以及诺贝尔经济学奖获得者 Harry Markowitz 在 IPR Journals 的最新
成员 Journal of Financial Data Science 的处女刊上发表了一篇题为 A Backtesting
Protocol in the Era of Machine Learning 的文章(Arnott, Harvey, and Markowitz
2019)。
本文中我用“规程”来对应 Protocol 一词,它也可以被译作“协议”或者“清单”,其目的就是通过
逐步遵循这些准则来减少样本内过拟合的可能性。这个 protocol 之于回测可靠性的作用就好
比飞行员的 checklist 之于飞行安全的作用。Arnott, Harvey, and Markowitz (2019) 一文
提出的 protocol 一共包括七部分,它们是:
1. 研究动机;
2. 多重检验;
3. 样本选择和数据;
4. 交叉验证;
5. 模型动力学;
6. 模型复杂度;
7. 研究文化。
它们构成了一个完整且可操作的体系,能够帮助我们更好的规避样本内的虚假信号、找出能在
样本外更有效的交易策略。前文《所有样本数据都是样本内》曾论述过 protocol 中的第四部
分。不过,鉴于它的系统性,我想用今天这篇文章把这七个角度全部梳理一下。
以下行文并不会逐字逐句的转述 Arnott, Harvey, and Markowitz (2019) 提出的每一个
bullet point,而是会结合我有限的经验和粗浅的认识解读我认为最重要的一些内容。浏览本
文并不能 100% 代替阅读原作,因此强烈建议感兴趣的小伙伴找来 Arnott, Harvey, and
Markowitz (2019) 看一看。
此外,由于公众号之前在倡导科学回测和防止过拟合方面也做过许多努力,很多文章都能很好
的 fit 进这个 protocol,所以会在行文中把它们串联起来。
下文第 1 到第 7 节将分别论述这个 protocol 的七个方面。第 8 节总结全文。
回测规程的第一个方面是研究动机(Research Motivation)。
Harvey 教授直言,金融领域的数据样本太少了(也许超高频除外)。以美股为例,现代金融
时代的股票月频数据大概只有 700 期(相当于 60 年),这对于机器学习应用来说太少了
(回想一下 A 股,通常单因子评测的回测期只有区区 10 年,真是太短了)。因此,这个
protocol 中第一也是最重要的一点就是 a clear economic foundation for any model
—— 任何策略都应该有一个理论先验。注意,是先验,而不是看到数之后再“真香”编故事。
1
研究动机
Chordia, Goyal, and Saretto (2017) 使用基本面指标的不同组合方法构建了两百万个针对
美股的因子策略。在实验设计中,他们对 data mining 进行了必要的惩罚,并最终找到 17
个在统计上和经济上都显著的因子。
其中一个因子的构建方法为:分子是 long-term debt issuance 和 preferred stock
redeemable 之差;分母是 minimum rental commitments four years into the future。
这个因子使用了三个财务指标,但是该组合却毫无业务含义。而上述其他 16 个“显著”的因子
都具有类似的结构,它们都是 data mining 的结果。
在现实中,人们往往站在“任何策略都应该有一个理论先验”的对立面上,即先看数据再找理
由。比如对于前面那个 S(3) – U(3) 的例子。它的那些优秀特征会让人去寻找虚假的理论依据
来说服自己。当一个人能够为 S(3) – U(3) 找到理由,那么如果回测的结果显示相反的结果,
即 U(3) – S(3),相信 TA 也能够找到理由。
“
Any suspicion that the hypothesis was developed after looking at the data is an
obvious red flag.
剩余21页未读,继续阅读
黄浦江畔的夏先生
- 粉丝: 12
- 资源: 299
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0