news 2026/9/27 22:24:23

量化求真08|两个好因子,放在一起会更好吗?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
量化求真08|两个好因子,放在一起会更好吗?

前言|多一把尺子,未必多一份信息

上一篇,我们问20日动量分数能否把后来的强弱排出来。假设它通过了认真检验,一个自然的想法是再添一项:股票波动小一些,会不会更稳?

听起来,两条理由比一条周全。但如果第二个分数总把同一批股票排在前面,合成之后也许什么新东西都没得到。如果两种分数经常意见相反,简单相加也可能把原本有用的排序冲淡。还有一种情况更麻烦:测试期的排序有所改善,真正下单以后却因为持仓更替和费用,净收益反而变差。

本篇继续沿用本系列的研究对象,以平台内置的“20日动量”和“20日波动率”为例,讲一场严谨的双因子比较。选择它们是为了让问题具体,不预设两者在本地数据上分别有效,更不预设合成有效。文中的数值与示意图均非平台实测;真正实验应保留单因子、组合及失败结果的全貌。

目录

  • 前言|多一把尺子,未必多一份信息
  • 01|先问第二个因子新增了什么
  • 02|比较之前,让分数站在同一块地上
  • 03|相关性高低,分别意味着什么?
  • 04|两种分数怎么合成,排名会怎样变?
  • 05|权重只能在训练期决定
  • 06|四条路线,在同一测试期比较
  • 07|排序改善之后,交易代价也要入账
  • 08|怎样给出不过界的结论?
  • 关于本文的研究口径
  • 参考资料

01|先问第二个因子新增了什么

假设两个人分别给一批股票评分。第一个人说A最好、B其次、C最后;第二个人也给出完全相同的次序。他们可以使用不同名字,甚至不同的计算公式,但对“该买谁”这个问题,第二张纸暂时没有增加新选择。

在因子研究中,我们关心的正是这件事:加入第二个因子后,股票的排序是否得到新的、有用的区分。

最简单的极端情形是两个因子经过同一方向调整和标准化后完全相同。记两种标准分为Z 1 Z_1Z1​与Z 2 Z_2Z2​,若每只股票都满足Z 2 = Z 1 Z_2=Z_1Z2​=Z1​,等权合成就只是:

S = 0.5 Z 1 + 0.5 Z 2 = Z 1 S=0.5Z_1+0.5Z_2=Z_1S=0.5Z1​+0.5Z2​=Z1​

分数可能写成了两项,排名却一点没变。再跑一次回测,不会凭空获得第二份独立证据。

图1:方法示意。左边的完全重复是思想实验;右边只说明可能改变排序,不暗示改变后一定更好。

真实因子很少完全一样。平台的20日动量看过去价格变化,20日波动率看过去日收益的起伏。两者名字和含义不同,但都来自价格信息,仍可能把相近的股票排在前面。反过来,排序不同也不等于新增了对未来收益有用的信息。新因子可能只是增加了噪声。所谓“新增”,最终要同时回答两个问题:它是否提供了不同的排序,以及这种不同在后续时期有没有改善判断。

02|比较之前,让分数站在同一块地上

如果动量单独用一批股票评估,波动率用另一批股票评估,合成又只保留两边都没缺值的股票,三个结果摆在同一张表上并不公平。表现差异可能来自股票名单改变,而不是第二个因子本身。

因此,正式比较先固定研究日期、股票范围、未来收益时点和持有期,再处理每个交易日的分数。平台“因子组合”会在同一批数据上对各因子采用相同的清洗设置,并将候选方案放到共同样本里比较。第七篇独立运行的单因子截图,不能直接当作这张组合比较表中的“原方案”。

图2:研究流程图。每一步都可能改变可评估的股票数量;缺失不能当作股票表现差。

清洗有几项容易误解。去极值是限制极端分数对标准化的影响,不是删除事后亏损的股票。缺失值处理可以让缺分数的股票退出这次共同比较,也可以按当日规则补值;两种方法会改变样本,必须事先确定。统一方向让“分数越高越看好”的含义一致:20日动量按原方向使用,20日波动率在平台中按反方向使用,低波动才对应更高的方向调整分数。

方向是一条研究假设,并非低波动股票必然会涨。若看到结果后才把方向翻过来,同样是在选择历史赢家,必须记录为新的尝试。

接着按当日股票横截面做标准化。它把“过去涨幅”和“过去波动”放到可比较的尺度上,避免因为一个因子数字天然较大,就自动取得更高权重。标准化只用当日可得数据;不能把未来全部日期的平均值拿回来修正过去分数。

03|相关性高低,分别意味着什么?

平台会展示训练期的因子相关性。它先看每个交易日两种分数在股票之间的排序关系,再对各日结果取平均。一个较高的绝对值,表示两者在这段训练历史里经常给出相近或相反的排序;绝对值较低,则说明排序关系没那么固定。

图3:0.85是独立教学数字,不是20日动量与20日波动率的实测相关性。平台的0.7提示线不是自动删除线。

但一张相关性表还不能替我们决定是否合成。

相关性高,说明第二个因子可能重复已有信息,仍要检查少数不同排序的股票是否恰好重要。相关性低,也只说明两种分数不同,不说明第二种不同能预测未来。一个随机生成的分数也可能与动量几乎不相关,却不会因此值得加进组合。

还要辨清这张表是什么相关性。它比较的是两种因子在同一天的股票排序,不是第七篇的“因子分数对后来收益”的Rank IC。前者回答“彼此像不像”,后者回答“后来排得准不准”。两个数都叫相关,不能放在同一列解释。

平台在绝对相关性达到0.7时给出重复信息提示,但不会自动替研究者删掉因子。这个阈值是提醒查看,不是“0.69安全、0.71无效”的分界。若我们看到测试期结果后,才不断增删候选因子,相关性检查本身也会变成选择过程的一部分。

04|两种分数怎么合成,排名会怎样变?

将两个因子都调整为“越高越看好”,并在当日共同样本中标准化后,组合分数可以写成:

S i , t = w m Z i , t ( m ) + w v Z i , t ( v ) , w m + w v = 1 S_{i,t}=w_mZ_{i,t}^{(m)}+w_vZ_{i,t}^{(v)}, \qquad w_m+w_v=1Si,t​=wm​Zi,t(m)​+wv​Zi,t(v)​,wm​+wv​=1

Z ( m ) Z^{(m)}Z(m)和Z ( v ) Z^{(v)}Z(v)分别是动量与低波动方向调整、标准化后的分数;w m w_mwm​和w v w_vwv​是对应权重。本文只讨论非负权重;权重为零就表示某个因子本轮不参与打分。平台的“等权”取各一半,“手动权重”按输入的相对份额归一化,“自动权重”则根据训练期Rank IC决定,下一节再说。

看一个仅为理解计算的局部例子。某天有三只股票,我们只摘出它们的标准分;完整截面中的其他股票没有画出。

股票动量标准分低波动标准分等权综合分
A+1.2−0.4+0.4
B+0.3+0.9+0.6
C−0.7+0.1−0.3

只按动量,A排在B前;等权以后,B排到A前。**这就是第二个因子真正产生影响的地方:它改变了哪些股票会入选。**至于B后来是不是比A表现更好,表里没有答案。

图4:手工局部算例,三只股票之外还有未展示的共同样本;综合分计算无误,但并非平台实测排序。

若某天20日波动率分数完全相同,标准化后该因子在这天不提供区分能力。若大量股票有缺值,补值也可能制造很多相同分数。这样的日期要检查有效股票数和实际入选名单,不能只看到一个“综合得分”标题就以为信息比以前丰富。

05|权重只能在训练期决定

合成还有一个更大的风险:看完哪组权重在历史上最漂亮,再说自己早就认为这个权重最合理。第五篇的参数问题,在这里又出现了,只是参数名字改成了因子权重。

为了让选择过程可复核,先定两段时间。训练期可以决定清洗方法、因子方向与权重规则;测试期只检查冻结后的方案。平台要求训练结束早于测试开始。训练期计算权重时,未来收益标签也被截在训练结束日之前,避免临近边界的样本借用测试期价格。测试期的收益标签同样不能越过测试结束日。

图5:方法示意。权重冻结发生在测试期之前;测试后改规则,下一轮应再找未见数据。

平台“自动权重(高级)”取各因子在训练期的Rank IC均值,负值或无效值按零处理,再把正值归一化。若全部没有正权重,这个方案会报错,不会自动把负值取绝对值、反转方向或替你选一个赢家。这个机制是一种明确的研究规则,并不保证比等权好。训练期Rank IC高的因子,测试期可能衰减;它与其他因子是否互补,也不是只看各自IC就能决定。

如果研究者想用手动权重,也完全可以,但要写明依据和确定日期。不要把手动权重说成“常识选择”,却在背后试过十几种比例。Novy-Marx关于多信号策略回测的研究,特别提醒了从许多候选信号与组合中挑优胜者带来的选择偏差。[1] 本篇不借论文给某个权重背书,只把它当成为什么要保留选择记录的依据。

06|四条路线,在同一测试期比较

本次研究可以事先列出四条路线:单独20日动量、单独20日波动率、两者等权、两者按训练期IC确定权重。如果自动权重无正值而失败,就如实保留失败;不能悄悄换成在测试期看起来更好的手动权重。

平台“因子组合”页面会把单因子、等权组合和“我的组合”放在一张测试期表里。建议至少并排读四项:Rank IC、同日最高组与最低组的未来收益差、Top组成员更替率、有效IC天数。它们分别回答排序能力、分组差异、名单变化和统计基础;不能只挑最好看的一列。

图6:出版版式模板,数值位置留白。平台真实比较表可直接截图,替换时保留失败项和有效样本数。

“有增量”至少需要提出具体比较。比如组合的测试期Rank IC比动量单因子高,且最高组与最低组差异没有反向,才值得追问第二个因子是否提供了新的预测信息。但一段测试期中的小幅差距可能是噪声,不应自动写成统计上确定的提升。还要看它是否只改善极少数日期、是否主要改变了几只无法成交的股票。

读表时,最好写出“组合减去原因子”的差值,而不只写两者各自的好成绩。差值的方向和大小,才对准“新增”这个问题。再看逐月或逐年结果:如果全部改善来自很短的一段行情,不能把全期平均数写成普遍规律。有效IC天数也不是越多就自动越可信;连续持有期的未来收益会重叠,相邻日期并非完全独立。本文没有做差值的显著性检验,因此即使将来实测差值为正,也应先写“在这段样本内改善”,而不是“已证明第二因子有效”。

特别留意“等权”与“我的组合”的关系。如果权重方式本身选了等权,两栏就是同一套规则,不能把同一结果记作两次独立通过。即使用了自动权重,某个因子被赋零权重时,也应说明最后实际上依赖哪一项,而不是仍把它称为“两因子共同发现”。

如果各路线结果都不佳,结论并不难写:在已测试样本和口径下,没有证据表明加入第二因子改善了排序。保留这个结果,比继续改权重直到出现一张漂亮的测试表,更符合研究者的职责。

07|排序改善之后,交易代价也要入账

假设组合测试期Rank IC略好于动量单因子,但Top组成员更替得更快。新分数可能让策略更频繁地换股票。因子室的“成员更替率”只是新增成员占当日Top组人数的比例,尚未涉及具体股数、仓位、买卖价和费用。它提示交易问题,不是交易成本本身。

图7:因子诊断与实际交易之间仍有持仓、订单和成交环节。

下一步应把“保存组合并去回测”形成的规则带入单次回测,固定股票资格、资金、调仓周期、持仓数、成本和风险设置,与单因子路线在相同日期下比较。平台可以保留已验证的组合权重与清洗规则,但因子室的未来收益参照是次日收盘,策略回测会按自身执行规则模拟交易,两边图线不能一一相减。

在同一回测口径下,净收益差可以先拆成一条最朴素的账:

Δ R n e t = Δ R g r o s s − Δ C \Delta R_{\mathrm{net}} =\Delta R_{\mathrm{gross}}-\Delta CΔRnet​=ΔRgross​−ΔC

左边是组合相对单因子的净收益差,右边依次是扣费前收益差和额外交易代价。这里的C CC不仅是明确列出的佣金、印花税,还要检查滑点、无法按理想价格成交以及未成交造成的偏离。公式是比较框架,不表示本项目已经算出任何一项真实差值;不同资金规模和成交约束下,三项都可能变化。

完整回测至少看净收益、最大回撤、持仓集中度、交易成本和未成交订单。第六篇已经说明,资金规模增加时成交约束会改变账户。若组合看起来更会挑股票,却总挑到更难买的股票,也不能只拿因子室最高分组的未来收益为它辩护。

现实研究中,交易成本足以改变异常收益的可用性。Novy-Marx与Velikov关于交易成本的研究提供了这方面的背景。[2] 但我们的组合能否承担费用,仍要以本项目自己的成交模型、资金规模和实际回测为准。

08|怎样给出不过界的结论?

一份有说服力的双因子报告,不需要保证组合获胜,而需要让读者看到它为什么被提出、怎样形成、如何被比较、最后在哪一步表现变好或变差。

如果训练期两因子排序接近,测试期组合也没有改善,可以写“新增信息有限”;不必因为标题是“双因子”,就硬找出提升。如果测试期排序改善,但账户净收益没有改善,要把新入选股票、成员更替、成交缺口和成本摊开,找出收益在哪一步消失。如果净收益也改善,再检查差距是否稳定、是否跑赢事先选定的比较基准、是否依赖某一年和少数股票。

图8:结论模板,不包含任何平台实测数据。出现不利结果时,应如实停在相应证据层。

最不该写的,是“两个因子都不错,所以组合一定更稳”。这个句子跳过了重叠、清洗、权重选择、测试期表现和真实交易五道检查。

本篇的方法也不是要把因子数量压到越少越好。真正值得增加的因子,应在事先约定的样本和后续时期里,提供已有因子没有充分表达的排序信息,并在账户约束下留下可解释的增益。做到这里,“两个因子”才开始比“一个因子”更有意义。


关于本文的研究口径

本文没有执行新的因子组合实验。图3的0.85、图4的三股票标准分均为手工教学数字;图6留白等待真实比较表。所有示意图都不代表20日动量与20日波动率的实际相关性、预测力或策略净收益。两者是否各自有效,是待检验问题,不是正文前提。

本地实现核对:平台因子室支持等权、手动、训练期Rank IC自动权重;清洗支持按日去极值、共同样本缺失剔除或中位数填充,再按方向标准化合成。训练期相关性是同日横截面Spearman相关的跨日平均,仅供提示;达到0.7不会自动删因子。自动权重把训练期负或无效Rank IC设为零,正值归一化。训练期和测试期的收益价格被限制在各自结束日内。比较表展示测试期Rank IC、Rank IC IR、普通IC、同日多空收益差、Top组成员更替率和有效IC天数,不是扣成本的账户报告。

因子组合研究仍沿用第七篇的未来收益观察方式;把组合带入回测时,需要另行确认实际股票池、成交日期、费用和仓位规则。“增量预测信息”“分组差异”“净账户收益”是不同层级的结论。本文没有估计提升的统计显著性,也没有将训练期或测试期的示意结果当成已验证业绩。

参考资料

  1. Novy-Marx, R. (2015).Backtesting Strategies Based on Multiple Signals. NBER Working Paper No. 21329. 研究原文与摘要。本文引用其对多信号组合选择偏差的研究提醒;不把论文结果套用为本项目的过拟合概率。

  2. Novy-Marx, R., & Velikov, M. (2014;发表于2016).A Taxonomy of Anomalies and Their Trading Costs. NBER Working Paper No. 20721 /The Review of Financial Studies, 29(1), 104–147. 工作论文原文与发表信息。用于说明交易成本是因子落地的独立检验环节,非本项目成本的直接估计。

  3. 本系列第七篇:《高分股票,后来真的涨了吗?》。单因子排序的时间与样本口径是本篇比较的起点。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/27 22:22:54

别再到处问“AI写论文哪个排第一”了:计算机应用工程毕设工具这样选才顺手 [特殊字符]‍[特殊字符]

先说结论:学术写作 AI 工具没有一份适合所有人的绝对排行榜,只有“按毕设阶段匹配工具”的实用榜。 尤其是计算机应用工程专业的同学,毕业设计往往不是单纯写一篇文章,而是要交一个“能跑的系统 一份说得清设计与实验的论文”。比…

作者头像 李华
网站建设 2026/9/27 22:22:13

实用的办公室软件推荐 远程办公用什么软件好

办公室软件种类繁多,但多数远控办公工具要么收费昂贵,要么使用体验粗糙,很难适配日常外勤、居家办公需求。办公室软件想要兼顾实用、稳定与高性价比,不妨试试无界趣连2.0,轻松满足日常远程办公、跨设备协作等需求&…

作者头像 李华
网站建设 2026/9/27 22:21:57

止盈止损参数选择:RR盈亏比3:1背后的逻辑

止盈止损参数选择:RR盈亏比3:1背后的逻辑 止盈止损参数不是拍脑袋定的。RR(Risk-Reward Ratio)3:1 是一个被广泛引用的基准,但很多人只知道"要设 3:1",不知道它从哪来、什么时候该改、改了之后期望收益怎么变…

作者头像 李华
网站建设 2026/9/27 22:21:28

数据库存储 for SQList:用 TaoToken 统一 Key 打通 AI 工具配置链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华