量化选股因子构建与有效性验证:从单因子到多因子组合
发布时间:3小时前阅读:34
一、为什么因子是量化策略的“地基”?
做量化交易,本质上是在用历史数据找规律,再用规律去预测未来。这个“规律”在量化世界里通常被称为因子(Factor)。
一个因子可以是一个财务指标、一个技术指标,甚至是一个另类数据。比如:
- 市盈率低于行业平均的股票,未来收益是否更高?
- 过去 20 日涨幅靠前的股票,是否存在动量效应?
- 北向资金近 5 日净流入靠前的股票,会不会被机构继续买入?
每一个问题,背后都是一个因子。把多个有效因子组合起来,就形成了一个多因子选股模型。
但很多新手一上来就堆指标,拿几十个因子跑机器学习模型,结果回测收益惊人,实盘一跑就亏。问题通常不是模型不够复杂,而是因子本身的有效性没有验证过。
如果你刚开始接触量化,不确定自己适合用什么因子、从哪个方向入手,与其一个人闷头试错,不如找个靠谱的人问一下——专业的量化顾问能帮你快速判断方向,少走几个月弯路。
这篇文章会讲清楚:一个因子从想法到落地,需要经历哪些步骤;怎么判断一个因子是真的有效,还是只是在回测里"拟合"出来的;以及如何把多个因子组合成一个可执行的选股策略。
二、什么样的因子才值得放进策略里?
一个能用的因子,至少要满足三个条件:
1. 有明确的经济或行为金融学解释
因子不能只是“某个数字在历史数据里看起来涨得好”。如果你解释不清它为什么有效,那很可能只是噪声。
比如“低市盈率”因子有明确解释:估值偏低的公司,市场悲观情绪过度,未来存在修复空间,这是价值投资的核心逻辑。
再比如“动量”因子:投资者对新信息的反应常常不足,上涨趋势会延续一段时间。
如果一个因子你只能说“它过去很牛”,却说不出为什么牛,建议谨慎使用。
2. 与收益有稳定的相关性
因子值和未来收益之间应该存在可重复的相关关系。注意,是相关,不是因果。量化交易不追求解释一切,只追求“这个信号反复出现”。
通常会做IC 检验(Information Coefficient):计算每个交易日因子值和下一天收益率的秩相关系数。IC 均值稳定为正或负,且 IC 的波动不大,这个因子才值得信赖。
3. 在不同市场环境里表现一致
牛市、熊市、震荡市里都表现还不错的因子,才有生命力。只在某一种行情里爆发的因子,实盘风险会很大。
建议把历史数据按市场环境切分,分别看因子表现。很多因子在牛市里非常强,熊市里完全失效,这种因子就要控制权重或者加过滤条件。
三、单因子构建的完整流程
一个因子从想法到可用,通常要走以下五步:
第一步:明确因子定义
以“20 日涨跌幅”动量因子为例:
- 取什么周期?5 日、20 日、60 日?
- 收益率怎么算?收盘价复权还是不复权?
- 行业间是否可比?周期股和科技股波动天然不同,是否需要行业中性化?
这些问题没有统一答案,但必须在做策略前就确定。很多策略“飘移”问题,根源就是因子定义不统一。
第二步:清洗数据,处理停牌、ST、新股
A 股市场有几个坑必须处理:
| 数据问题 | 影响 | 常见处理方式 |
| 停牌期间无交易 | 收益率异常为 0 | 剔除停牌超过 N 日的股票 |
| ST 股波动极大 | 因子值被极端值主导 | 单独剔除或加风险标记 |
| 新股上市前 5 日 | 涨跌幅无限制,数据不稳定 | 通常剔除上市不满 60 日的新股 |
注:A股注册制改革后,主板新股上市前5个交易日不设涨跌幅限制(参考:证监会《首次公开发行股票注册管理办法》,2023年2月17日施行)。 | 除权除息 | 价格突变导致收益失真 | 必须使用前复权或后复权价格 |
这一步看似简单,但实战中 70% 的“神奇因子”都是在数据处理上出了错。
第三步:计算因子值并去极值、标准化
不同因子的量纲不一样。市盈率可能是 5 到 100,市值可能是 10 亿到 2 万亿。如果不处理,大市值股票可能天然主导某些因子。
常用方法:
- 去极值:用 MAD 法或 3σ 法把极端值拉回合理范围。
- 标准化:按行业或全市场做 Z-Score 标准化,让不同因子可比。
- 中性化:去除市值、行业的影响,让因子本身的信息更纯粹。
第四步:做分组收益检验
把所有股票按因子值从高到低分成 5 组或 10 组,观察每组未来的平均收益。如果因子有效,应该能看到明显的单调性:因子值最高的一组收益最高,最低的一组收益最低。
这叫做分组检验(Quantile Test),是判断因子有效性的基础方法。
第五步:IC 检验与换手率分析
除了分组收益,还要看:
- IC 均值:是否稳定。
- ICIR(IC 均值 / IC 标准差):是否足够高,一般大于 0.3 算可用。
- 换手率:因子变化是否太频繁,导致交易成本吃掉收益。
一个 IC 高但换手率也高的因子,实盘可能并不赚钱。因子最终能不能落地,必须综合考虑收益和成本。
四、多因子组合:不是越多越好
很多新手以为因子越多,模型越厉害。事实恰恰相反:因子过多,容易带来多重共线性和过拟合。
比如“20 日收益率”和“60 日收益率”高度相关,两个都放进模型,其实增加不了多少信息,反而让模型不稳定。
多因子组合的常见方法
| 方法 | 思路 | 适用场景 |
| 等权合成 | 多个因子标准化后直接相加 | 因子间相关性低、解释力强 |
| IC 加权 | 按因子历史 IC 表现赋权 | 不同因子有效性差异明显 |
| 因子正交化 | 去除因子之间的相关性 | 因子间存在共线性 |
| 机器学习模型 | 用 XGBoost、LSTM 等拟合 | 数据量足够、特征工程扎实 |
新手建议从等权合成或IC 加权开始。模型简单、可解释、好调优。等因子研究和数据处理功底扎实了,再尝试复杂模型。
组合因子的两个核心原则
- 因子间低相关:价值、动量、质量、波动率这类不同维度的因子,组合效果通常更好。
- 每个因子都单独验证过:不要拿一堆“可能有用”的指标一起跑模型,这样出来的权重没有经济意义。
五、回测中常见的 5 个因子陷阱
因子验证离不开回测,但回测本身也有很多坑。以下是最常见的 5 个:
1. 未来函数
用当天的财报数据去选股,但财报收盘后才发布。实盘里你根本不可能在盘中知道这个数据。所有基本面数据必须注意发布时点。
2. 幸存者偏差
回测时只拿当前还在上市的股票跑历史,那些已经退市或 ST 的股票被自动剔除了。这会让策略看起来比实际强很多。正确做法是用历史全 A 股数据,包含退市股。
3. 忽略交易成本
印花税、佣金、滑点、冲击成本,在高换手策略里会大幅侵蚀收益。做因子回测时,至少要把双边成本按 0.3% 到 0.5% 考虑进去。
4. 过拟合
因子参数太多、优化得太细,就会在历史数据上表现很好,但未来完全失效。控制过拟合的方法包括:样本外测试、滚动回测、减少参数、简化模型。
5. 参数过度优化
“20 日动量”效果好,但换成 18 日、22 日效果差很多?这通常说明因子对参数敏感,稳健性不够。好的因子应该对参数变化不那么敏感。
六、实操建议:从 3 个经典因子开始练手
如果你刚开始研究因子,建议从这三个方向入手:
1. 估值因子:EP(盈利收益率)
EP = 净利润 / 总市值。它是市盈率的倒数。大量实证研究表明,低估值股票在 A 股市场长期有超额收益。
2. 质量因子:ROE 稳定性
不是单看 ROE 高低,而是看过去 3 到 5 年 ROE 是否稳定。盈利稳定的公司,通常商业模式更成熟,风险也更可控。
3. 动量因子:20 日累计收益
短期动量在 A 股市场中长期存在,但波动较大。可以配合波动率或成交量做过滤,降低反转风险。
把这三个因子分别验证后,再尝试做价值 + 质量 + 动量的组合模型,是很多机构的经典起手式。
七、因子落地:把模型变成可执行的交易信号
因子研究到最后,必须变成能下单的信号。落地时要考虑:
- 选股范围:全 A 股、沪深 300、中证 500,还是某个行业?
- 调仓频率:日频、周频、月频?频率越高,交易成本越高。
- 持仓数量:选 10 只、30 只、50 只?集中度影响波动。
- 权重分配:等权、市值加权、风险平价?
- 风控模块:止损、仓位控制、最大回撤限制。
一个只在回测里漂亮的模型,不能叫策略。能讲清楚"买什么、什么时候买、买多少、什么时候卖",才是真正的可执行方案。
很多人在因子落地这一步卡住了——选股范围怎么定、调仓频率设多少、持仓数量给几只,这些看起来都是参数,但每个选择背后都有实盘风险。不确定的时候,找个有实盘经验的经理聊一下,比自己硬试要靠谱得多。
八、写在最后:因子研究是慢功夫,不是找圣杯
量化因子的本质是寻找市场里反复出现的价格驱动因素。它不能保证你每笔都赚,但一个好的因子组合,可以在长期给你带来概率优势。
真正难的不是跑模型,而是对数据有敬畏、对因子有解释、对回测有戒心。如果你还在纠结“到底用哪个因子”“为什么我的因子实盘不行”,大概率不是模型不够复杂,而是验证做得不够扎实。
如果你对因子构建、多因子组合、回测验证、还是实盘落地中的某个环节感到卡壳——说实话,这些环节里任何一个都可能让你卡几周甚至几个月——与其一个人反复试错,不如直接找个靠谱的经理帮你梳理。微信搜索关注"叩富问财"服务号,输入"量化工具"就能找到我。我可以根据你目前的交易目标和数据基础,帮你做 1 对 1 的专属服务:手把手演示因子从 0 到 1 的构建过程、帮你避开回测和实盘中的常见大坑、提供适合你账户规模和风险偏好的操作攻略。不确定的时候,问一下比你硬试更靠谱。
(说明:量化交易涉及市场风险,历史表现不代表未来收益,本文仅供学习交流,不构成具体投资建议。)
温馨提示:投资有风险,选择需谨慎。
下一篇资讯:
暂无下一篇


问一问

+微信
分享该文章
