跳到正文
阅读设置

阅读设置

导出或导入阅读记录
保留你的阅读记录

已读、收藏、阅读位置和阅读设置保存在当前浏览器地址下。换一个地址不会自动带过去。

迁移时先在原地址导出,再到新地址选择备份文件。操作只在浏览器本地完成,不上传服务器,也不会删除原地址的记录。

导入前会检查文件并请你确认。已读和收藏合并;遇到冲突时保留当前地址已有的位置、最近阅读和设置。

G85 · 选读

多因子怎样组合:先处理重复信息,再比较增量价值

用同一小股票池组合动量与一项价格特征,手算方向、秩得分、简单权重与消融,识别没有增量和事后选权重。

尚未标记已读案例与模板 ↓

一张选股表只有动量,似乎太单薄。再加质量、低波动、趋势强度,是不是就更稳了?先别急着把三列平均:其中两列可能在重复说“过去涨得多”,第三列还可能把分数方向弄反。

更有意思的是,两项信号都算对了,组合后仍可能一股没换。今天的任务不是给表格加满指标,而是判断新的一列究竟改变了什么,以及这种改变值不值得继续研究。

先说明你准备增加什么

读完这一篇,你应能把两项信号统一方向与尺度,手算一份简单组合;用相同条件比较单信号和组合;保存一条允许“暂未发现增量”的研究记录。复杂模型只建立进入条件,暂不训练模型。

因子策略可使用价格、财务等不同特征,但特征名称不能代替机制和实施过程。CFA公开概要把投资论点、资料处理、检验、评价及风险与交易成本连接起来。[1] 因此,增加信号也应从一个可检验的解释开始。

例如,动量关注过去相对强势是否延续;补充一个“近期日收益变动较小优先”的价格信号,试问它能否在同样强势的股票中提供区别。这只是研究假设:过去安静的股票未来也可能跳空,历史涨幅与短期安静也可能来自同一种行业环境。

G84已经提醒过,处理信号与控制持仓暴露是两件事。本篇保留原始动量,不偷偷换成行业残差;两列合在一起,也不自动得到行业中性或风险分散的持仓。

把一张表上的方向和单位理顺

以下独立C7-85机制练习复用C7-82的A、B、C、E,D仍因动量端点缺失而不合格。动量为m月收盘决策时,用总回报指数m−1除以m−12再减1,跳过最近月m。其他资格、稳定ID、下一可交易时点等沿用原例。

新增输入为决策前最近两个正常交易日、均已可得的合成收盘到收盘总回报率。候选特征取这两个日收益绝对值的平均,记为Q;Q越低,预定偏好越高。两日只为手算,不能当作足够可靠的风险估计窗口,也不是推荐实盘窗口。

ID动量M前一日收益最近一日收益Q:平均绝对日收益
A10%−1%1%1%
B20%−2%2%2%
C20%−4%4%4%
E−10%−3%3%3%

Q不是样本标准差。它只计算离零的绝对变化,不能把“平均绝对日收益2%”写成“未来波动率2%”。它没有使用下一持有期收益;若真正研究,应另行预登记足够历史、窗口长度、有效观测和异常价格处理,并取得相应真实资料。

现在如果直接平均M和Q,Q越高反而加分,与“安静优先”相反。即使先改成负Q,尺度仍要说明:把20%写成20还是0.20,会在错误实现里改变两列的相对影响。所谓各占一半,必须先讲清各占的是哪一种得分。

常见标准化会减均值、除以标准差,也可能对异常值敏感;它不是唯一选择。[2] 为方便手算,本例预定使用截面秩得分,先统一“越高越偏好”,再组合,不使用标准差缩放。

排名相同,不要先替它们决定胜负

四只股票中,最不偏好的秩为1,最偏好的秩为4,并列取所占位置的平均秩。动量从低到高是E、A、B/C,因此B与C都得3.5,而不是先按ID拆成3和4。Q方向相反,从高Q到低Q排列是C、E、B、A。

每列得分取“秩减1,再除以3”,范围为0到1。组合分为动量得分的一半加Q得分的一半。这套秩处理会丢掉原始差距大小:20%比10%高多少,不再按10个百分点直接进入组合。这是透明的取舍,不是免费改进。

ID动量秩Q偏好秩动量得分Q得分各半组合分
A241/312/3
B3.535/62/33/4
C3.515/605/12
E1201/31/6

例如B是(5/6+2/3)/2=3/4。两列权重分别50%,是对标准化信号的权重;不是给两项策略各分配一半账户资金。组合先给每只股票算一个分,再据此生成一套持仓,策略组合则要处理两套完整规则、持仓和账户,留待G91。

预定仍取前20%,人数向上取整,四只选一只;组合分并列才按稳定ID升序决定持仓。单独动量选B,单独Q选A,各半组合还是选B。分数改变了,名单未必改变;只看组合分表,容易把这一点漏过去。

新名字会不会只是旧信息又投了一票

再造一列“强化趋势”,定义为2M。它与M数值不同,秩却完全相同;把两个秩得分各占一半,结果逐行等于原动量得分。标签从一个变成两个,信息没有增加。

假如原来打算动量与Q各占50%,后来加入这个复制信号并给三列等权,动量家族实际就占了三分之二,Q只剩三分之一。看似更分散,实为不知不觉加重一个观点。

真实研究不能只找这种完全复制。应在开发期检查信号截面相关的时间变化、缺失覆盖和持仓重合,辨认不同窗口、公式是不是主要表达同一段价格走势。相关高不必一律删,相关低也不能直接称为互补:一种非线性变换可能改变线性相关,但仍携带相近的信息。

更要回到经济风险。两列统计关系不强,最后却都挑中同一行业、规模或流动性条件的股票,风险仍可能一起出现。相关检查帮助定位重复,不能代替G84的暴露检查,也不能凭两列的相关性证明收益分散。

给新增信号一次公平的检验

接下来做消融比较(ablation):每次去掉一项,观察结果如何变化。本例至少保存动量单独、Q单独、各半组合,以及动量加复制信号四行;不能只挑组合漂亮的那行展示。

未来收益仍用C7-82已公开的同一合成输入:m+1首个正常交易日开盘持有至m+2对应开盘,A为4%、B为−2%、C为6%、E为0%,均含分配、未扣交易费,假设完整成交。同池等权毛收益为2%。这些数字已经在前文出现,因此本次是回顾机制演练,不是未知留出测试。

版本选中持有期毛收益相对同池等权差额
动量单独B−2%−4个百分点
Q单独A4%2个百分点
动量/Q各半B−2%−4个百分点
动量/复制动量各半B−2%−4个百分点

各半组合相对动量基线没有本期持仓或毛收益增量,复制列也没有增加信息。Q单独这一期更好,仍不能据此宣告它有稳定预测力,更不能把“最好的一行”追认成预先选好的方案。

真实比较要保持数据版本、共同合格池、执行和收益时间、基准、费用情景与研究尝试预算一致。若第二列缺失,组合只留下资料齐全的股票,就要在这个共同池重跑动量基线,并另外报告被排除范围。否则改善可能来自换了股票池。

本例没有完整跨期成交与现金流水,所以只报告毛收益。真实组合即使排名更好,也可能因名单变化更频繁而付出更多成本;同一种费率不等于各版本成本金额相同。费用后差额、换手、回撤和暴露都要另做对照,不能拿本表直接通过实施验收。

为什么不现在把Q权重调高

看到A涨了4%,读者很自然会问:把Q加到75%会怎样?这个问题可以算,但如果权重由已看到的结果驱动,就已进入开发试验,而非对原冻结方案的独立验证。多次尝试并只报告赢家,是回测过拟合研究关注的问题之一。[3]

权重、方向、窗口、缺失、排序和去极值方法都属于选择。真实流程先划定开发、验证与最终测试角色,给候选数设限;用开发材料形成方案,验证阶段作有限比较并保存全部尝试,再冻结最终版本。最终结果一旦推动修改,就记录已见与污染,不能重新命名为未知。

当规则只用当时共同股票池做截面排名,计算当时的秩本身不需要未来收益。若改成学习历史均值、填补值或模型参数,则只能在允许的训练材料上估计,再按冻结规则应用;不能用完整未来样本算好参数倒回去。[4]

更复杂的模型应有具体进入理由:简单基线遗漏了什么关系,新增模型如何公平检验,数据是否足够、成本是否可承受、解释和维护由谁负责。复杂性只是更多选择机会,不能用算法名称替代增量证据。

换一个条件,自己重建判断

先做解释题:动量加2M为什么不算增加信息?再判断一个错误:B的Q字段缺失,作者在组合里把它当0分,却在动量基线里保留B,然后宣称组合进步。问题出在哪里?

答案要点是两列秩完全相同,平均后不变;复制还可能暗中增加某一信号家族权重。缺失不是低分,给0改变含义。若预定共同完整池政策,应双方都排除B并重算排名、人数和基准,同时报告覆盖变化;若使用其他填补政策,须事先定义并另行验证。

按共同完整池政策实际重算一次:只剩A、C、E,秩得分的分母随人数改成2。三者动量得分依次为1/2、1、0,Q偏好得分为1、0、1/2;各半组合分为3/4、1/2、1/4,选A,动量单独则选C。共同池基准毛收益是(4%+6%+0%)/3,约3.3333%。组合本期4%仍低于单动量的6%,所以“排掉一项缺值后组合选得不错”也不足以说明组合提供增量;比较对象必须一起更新。

近迁移任务:在独立权重变式中,保留上表所有得分,动量占25%、Q占75%。先不看未来收益,算A与B的组合分和最终首选;再说明它能否因为本表收益更高,就替代原各半方案成为“已验证最优权重”。

A为1/12+3/4=5/6,B为5/24+1/2=17/24,C为5/24,E为1/4,因此选A。它在给定持有期赚4%,但权重是在已知结果的材料上演练,只能登记为一个回顾试验。要声称改进,需要另行冻结方案并取得没有参与选择的适当检验,而不是删除原来亏损的一行。

保存一页组合试验卡

请留下两项信号的字段、经济解释、方向、观察窗与可得时间、缺失政策、秩或尺度公式、权重及选择理由。写明哪些材料已经看过,在揭示评估结果前保存方案;现在补写的只能标为回顾重建。

附件保留原始行、各列处理分、组合分、资格、排名与持仓,并附完整消融表、覆盖变化、基准、成本状态及全部尝试。自检时随机挑两行手算,核对复制列是否增加了隐含权重、共同池是否一致,以及没有增量的版本是否仍在档案里。

请AI或CoTrading生成结果时,也要求输出这条计算链。若当前工具不能导出相应字段或实际未运行,就保存手算示范与未验证清单。C9尚未取得真实资料、确定供应商或完成实验,不能把这里的四行合成演练写成真实多因子研究通过。

小结:增加一列之前,先问它改变了哪一个决定

先查机制、方向、尺度和缺失,再查它是不是旧信息的重复表达。分数权重的名字很容易写,真正需要看的是它对资格、排名、持仓和共同暴露的影响。

然后在同一条件下保留单项与组合,连同失败版本一起比较。没有增量可以是有效的研究结论;已经知道结果后调权重,只能开启一条诚实记录的新试验,不能把过去重新包装成独立证据。

参考资料

  1. CFA Institute:Active Equity Investing—Strategies,2026公开概要。支持因子策略与量化研究流程,不代表已读取付费课程。
  2. scikit-learn:Preprocessing data。标准化、尺度与异常值;本篇自行定义秩得分,不将工具文档作为金融收益依据。
  3. Bailey等:The Probability of Backtest Overfitting,2015-02修订稿。多次试验和事后选择风险;本篇未计算论文PBO方法。
  4. scikit-learn:Common pitfalls and recommended practices。训练与测试隔离、预处理及特征选择的信息泄漏。

资料核查日期2026-10-29。AI辅助编写与检查,待人类金融审校和目标读者试读。C7-85新增收益输入、信号和权重变式为合成机制练习,不证明真实因子或策略有效。

本篇配套材料

C9-90 · 6 份材料
  • export base CSV · 输入与说明
    SHA256 d592c5e543
  • export variant CSV · 输入与说明
    SHA256 6191865d40
  • index HTML · 输入与说明
    SHA256 1a4916c763
  • inputs CSV · 输入与说明
    SHA256 f612452d62
  • README MD · 输入与说明
    SHA256 ae767e9c4f
  • review 20261029 MD · 输入与说明
    SHA256 f744b66712
浏览全部案例与模板 →
来源、版本与审查说明

最后更新:2026-10-29

SHA256 80de8cf8eb57d1748ed2d81fb3fcdadaeae2f4d45fc42aac178119beb88f7fac

案例:C9

当前网页接入相应书稿;AI审查、双语复核及未完成项按内容发布检查登记。人工金融审校与目标读者试读未进行。

报告本篇问题或勘误
全书目录

记录只保存在当前浏览器。

本篇目录
搜索全书