十个因子放在一起,为什么可能不如一个因子?

多因子选股完整流水线

约 12 分钟1 个动手实验4 道小题

学完你能说清楚把因子清洗、加权、分层和滚动回测连成可复核流水线。

01学完这一课,你能做到什么

学完这一课,你应该能:

  1. 构造十个教学,并写清窗口、公式和方向假设;
  2. 对每天的股票横截面做 、Z-score 标准化和行业处理;
  3. 比较等权与历史 加权,避免把未成熟的未来收益放进权重;
  4. 用五层组合和 Top-N 组合检查排序能力;
  5. 解释股票池变化、因子反向和失败结果,并保留可复核的实验记录。

这节课的交付物不是一条“必胜公式”,而是一套能重复运行、能检查数据和假设的研究框架。

一句话记住先固定研究方案,再看回测结果。

02先把评分和未来收益分开

综合评分只是在同一时点比较股票:分数高,表示按当前假设更值得进入候选;它不表示未来必涨,也不等于已经实现的风险调整。

完整流程可以写成:因子库 → 预处理 → 权重合成 → 分层与 Top-N 持仓 → 滚动回测 → / 诊断。先把数据区间、调仓频率、持有期、费用、基准和权重规则写下来,再运行实验。不能看到最终曲线后,反复改方向直到结果好看。

这里的“横截面”指同一个交易日上,不同股票之间的比较;“时间序列”指同一只股票跨日期的变化。主要先做横截面排序,再观察排序是否对应未来收益。

一句话记住评分是当下排序,不是未来收益承诺。

03十个因子先写清定义和方向

示例流水线使用十个教学因子:1M、3M、6M ;5 日反转;20 日和 60 日低波;20 日成交额;20 日低;RSI14;BIAS20。

动量可以写成:

动量 = P_t ÷ P_(t−n) − 1

假设当前价格 110,21 个交易日前是 100,则 1M 动量是 110÷100−1=10%。5 日反转则取过去 5 日收益的负值。低波因子把收益波动率取负,表示希望低波动股票得分更高;RSI14 通常减去 50,让 50 附近成为中性中心;BIAS20 描述价格相对 20 日的偏离,方向需要事先写明。

低成交额、低换手并不天然等于更好。高成交额可能代表,也可能代表拥挤;每个方向都只是经济假设,需要在训练期和验证期检验。因子字典还应记录收益定义、波动率样本口径、年化交易日数和缺失处理。

一个因子从字段到评分
  1. 1原始行情价格、成交量
  2. 2计算窗口21/63/126 日
  3. 3方向假设正向或反向
  4. 4横截面得分同日可比较

一句话记住每个因子都要有公式、窗口和方向。

04第一步预处理:用 MAD 限制极端值

某天某因子的横截面值为 x。先求中位数 m,再求:

MAD = median(|x−m|)

例如三只股票的因子值为 1、2、10,中位数 m=2,绝对偏差为 1、0、8,所以 MAD=1。若用三倍稳健尺度,边界为:

下界/上界 = m ± 3×1.4826×MAD

代入上面的数字,边界约为 2±4.4478,也就是约 -2.4478 到 6.4478;10 会被截到上界,而不是删除整只股票。

1.4826 是把 MAD 换算到标准差量级的常用系数,不代表样本真的服从正态分布。MAD 为零、样本太少或缺失很多时,必须规定回退策略;不能为了让分布好看就随意填零。

MAD 去极值

MAD = median(|x−m|),边界 = m ± 3×1.4826×MAD

截断极端值,保留股票记录。

一句话记住去极值是截断,不是删除异常股票。

05第二步标准化:统一尺度但不制造正态分布

Z-score 用来把不同单位的因子放到可比较的尺度:

z = (x−均值) ÷ 标准差

假设某日三个值为 1、2、3,均值为 2;若按总体标准差计算,标准差约为 0.816,那么 x=3 的 Z-score 约为 (3−2)÷0.816≈1.225。

Z-score 只改变中心和尺度,不会强制数据变成正态分布,也不会把结果限制在 0 到 1。成交额、比例和收益率如果未经处理直接相加,数值尺度大的项可能主导总分。标准差为零时要按预先规则处理,避免除零。

一句话记住标准化统一尺度,不保证分布正态。

06第三步行业处理:先决定你要保留什么暴露

银行的低 和科技公司的高 PE,可能只是行业结构差异。若目标是行业内选股,可以先在行业内标准化,再做全市场标准化,减少行业整体差异对排名的影响。

但若目标本来就是做行业配置,就不能把所有行业差异清掉。行业样本太少、分类缺失、行业分类历史变更,都要有明确规则。

所有处理只能使用决策时已经看得到的股票、因子和财务值。财务数据应按公告可得日对齐;不能用全样本拟合出的均值和标准差回填过去,否则会把未来信息带回历史。

行业处理的两种目标

行业内选股

减少行业整体差异,比较同类股票。

行业配置

保留行业差异,让板块强弱进入决策。

一句话记住中性化不是默认正确,先看研究目标。

07合成评分:等权和历史 IC 加权

等权就是十个已处理因子各占 1/10,优点是简单、容易解释;缺点是方向错的因子会抵消,高度重复的因子可能被重复计权。

Rank IC 是因子排序与未来持有期收益排序之间的 Spearman 秩相关。假设某期五只股票的因子排名为 1、2、3、4、5,未来收益排名也完全一致,Rank IC 接近 1;若完全相反,接近 -1。ICIR 通常写作:

ICIR = IC 序列均值 ÷ IC 序列标准差

一种示意权重是 w_j = mean(IC_j) ÷ Σ|mean(IC_j)|。假设三个因子的历史平均 IC 为 0.06、0.03、-0.01,分母为 0.10,权重就是 0.6、0.3、-0.1。分母为零时应回退等权或停止计算。

权重只能使用已经成熟的历史标签。例如 21 日收益标签,最近 21 个交易日尚未走完,就不能拿来计算今天的权重。历史窗口约六个月只是一个设定,不是保证有效;IC 加权也不保证优于等权。线性回归和机器学习可以作为扩展,但仍然要检查。

一句话记住权重只看已经成熟的历史表现。

08五层和 Top-N:检查排序是否有区分力

每个调仓日按综合评分分成五组,统一约定 L5 是最高 20%,L1 是最低 20%。100 只股票时每组 20 只。分别计算各组下一持有期收益,观察排序是否大致单调。

假设五层收益从 L5 到 L1 为 15%、12%、8%、2%、-2%,L5−L1 为:

15%−(-2%)=17 个百分点。

这个差值是排序诊断,不自动等于可交易的纯 Alpha。A 股做空有券源、成本和交易限制,行业、等暴露也可能解释差异。Top5、Top10、Top20 是集中度实验,不要和每组 20% 的五层组合混为一谈。

一句话记住分层看区分力,不能直接当收益承诺。

动手试试

多因子选股实验

完成因子预处理、权重合成、分层与 Top-N 组合的可复核实验。

固定教学截面多因子选股对照实验
IC / ICIR

斯皮尔曼 IC -0.52%,ICIR -3.19。 六个调仓月的 IC 为 -0.40,-0.54,-0.28,-0.47,-0.74,-0.70。用真实波幅除以价格。它是反向因子:排名看谁更稳,不看谁更跳。固定样本上的负相关,不是承诺低波红利永远有效。

Q1+2.51%5 只
Q2+2.94%5 只
Q3+0.66%5 只
Q4-0.31%5 只
Q5-1.69%4 只
先排名,再加权,取中间那一档八因子 · Top 10

波动率、动量、RSI、ADX、量比、价格和 MACD 柱先在截面上排名,再按固定权重加总。每月等权持有 10 只。教学里它是集中和分散之间的平衡点。

运行后将显示六个调仓月的组合收益和回撤最后一月拿了哪些样本换手、费用和有没有买到垃圾股相对等权样本池是否更好

09滚动月度实验:把时间边界写进流程

示例可以先取沪深 300 候选中的 80 只来缩短运行时间,读取约 400 根日 ;最长 126 日动量需要预热,剩余数据可能支持约一年、约 12 期 21 日调仓,但实际期数要按有效数据和标签成熟度计算。

每期流程:

  1. 截止当日读取历史数据并计算十因子;
  2. 做横截面处理,生成已经成熟的历史 IC 权重;
  3. 合成评分,生成五层和 Top5/10/20;
  4. 在预先规定的下一可交易时点成交,持有 21 个交易日;
  5. 记录净值、费用、换手、缺失和无法成交,再进入下一期。

最长因子预热和“完整六个月成熟 IC”是两件事。历史不足时,要明确延后首次交易、缩短窗口或回退等权,不能用未来 IC 补齐。当前沪深 300 成分贯穿所有历史会产生幸存者或成分,应尽量使用历史成分并披露限制。

一轮滚动回测
  1. 1历史数据只到决策日
  2. 2因子与权重标签已成熟
  3. 3排名分组五层/Top-N
  4. 4下一期成交扣成本记录

一句话记住预热、标签成熟和历史成分都要单独核对。

10结果要完整:失败、变化和异常都保留

一次 80 只候选的示例中,低流动性因子 ICIR 约 0.34 较突出,部分动量或反转因子为负;等权信号可能相互抵消,IC 加权有改善方向,但分层价差仍不一定理想。不同年化口径、日期和净值不完整时,不能直接拿示例百分比比较基准。

把候选从 80 扩大到 300 后,排名可能改变:RSI14 更突出,Top5 结果改善但回撤较大,Top20 约 13.6% 的示例接近基准。这个变化说明股票池会改变因子权重、排名和集中组合结果;不能把“越分散越好”或“Top5 一定更好”当作规律。

还可能存在样本短、数据错误、标签、权重滞后和等解释。只有跨时间、跨股票池并扣除成本后仍稳定,才值得继续研究。

一句话记住换股票池后结论变化,本身就是研究结果。

11把研究框架扩展,而不是堆更多参数

可以增加 、股息率、负债、盈利增长和情绪事件等特征,但先列出字段、公式、公告日期和更新频率。财务 CSV、股息率和接口字段是否完整,要以实际文件和返回结果核对;不能因为字段名称相似就混写净利润、营收、毛利率、PE 和 。

更稳妥的方式是把因子分成主信号、拥挤过滤和风险约束,而不是全部线性相加。每次只改变少数假设,记录实验编号,并把最后一段时间留作最终测试。因子少不等于必然有效,模型复杂也不等于必然失效。

一句话记住每次只改少数假设,保留完整实验轨迹。

12动手任务:交付一份可复核实验记录

先用模拟数据手算 MAD、Z-score、行业处理和五层分组;再在相同条件下比较 80 与 300 只股票、等权与历史 IC 权重、Top5/10/20。

报告至少写明:数据截止日、历史成分口径、标签成熟规则、调仓成交假设、费用、基准、各层净值、L5−L1、IC 序列、ICIR、最大回撤和换手。把失败实验和无法成交记录留下来。验收标准是流程可复核,不是必须得到稳定超额收益。

一句话记住验收看流程证据,不只看最终曲线。

检验
检验一下

4 道小题

全部答对,这一课就算真正读懂了。答错了会告诉你为什么。

01MAD 去极值通常应该怎么做?
02Z-score 的正确理解是什么?
0321 日标签尚未成熟时,能否用于今天的 IC 权重?
04L5−L1 最适合先用来做什么?
知识卡

这一课,浓缩成一张卡

学完可以保存或分享给朋友。保存成图片的功能会在下一版加上。

AI+金融投资训练营 · 多因子选股完整流水线多因子流水线最重要的检查是什么?

固定时间边界和预处理规则,再用分层、IC 和成本后的滚动结果检查排序。

  • 标签必须成熟
  • 股票池变化要披露
  • 失败结果不能删除
quant.jtxaionline.com
这一课的要点

记住这 5 句话

  1. 01十个因子必须记录公式、窗口、方向和缺失处理。
  2. 02MAD 截断极端值,Z-score 统一尺度但不制造正态分布。
  3. 03行业处理取决于研究目标,财务值必须按公告可得日对齐。
  4. 04Rank IC 权重只能使用成熟历史标签,L5−L1 是排序诊断。
  5. 05滚动回测要披露历史成分、成本、预热、失败结果和股票池变化。
完成这一课

完成这一课

读完讲义、动手做一次实验、答对小题,这一课就算学完了。

  • 读完讲义
  • 完成一次多因子实验
  • 通过随堂自测

实验数据AI+金融投资训练营教学样本。固定教学样本

固定教学样本只用于解释量化研究方法,不代表任何真实标的未来表现,也不构成投资建议。