第四.01 多因子选股策略

📘 本章重点

  • 理解多因子选股的核心思想:用多个维度(因子)综合评估股票,选出综合得分最高的组合
  • 掌握多因子模型的完整构建流程:因子筛选→数据处理→有效性检验→因子合成→组合构建
  • 掌握因子的完整生命周期:从分类体系、数据来源、筛选鉴别到组合策略和动态监控
  • 深入理解量化界最认可的六大核心因子——价值、动量、质量、低波动、规模、成长
  • 了解多因子策略的评估指标(IC、IR、分组收益、多空收益等)
  • 认识多因子策略的三大风险:过拟合、因子衰减、因子拥挤

⚠️ 本章难点

  • 理解“单因子有效 ≠ 多因子有效”——因子之间的相关性和互补性比单因子表现更重要
  • 掌握因子数据处理的三部曲:去极值、标准化、中性化
  • 区分IC(信息系数)与IR(信息比率)的含义与用途
  • 理解“因子拥挤”如何导致策略失效——当太多资金追逐同一因子时,超额收益消失
  • 认识多因子策略与指数增强策略(第四.02)的关系与区别
  • 理解因子的“生命周期”——从发现、验证、应用到失效、迭代的完整过程

⏱️ 预估学习时间

  • 60~90分钟

一、策略简述与一句话定性

一句话定性:多因子选股策略是一种系统化的量化选股方法——通过构建包含多个维度的因子体系,对全市场股票进行综合打分,选出预期收益最高的股票组合,定期调仓,获取持续的超额收益。

多因子选股是量化投资中应用最广泛、资金容量最大的策略流派。它的核心思想可以用一句话概括:把一只股票拆成多个维度,用一套规则合成一个可复现的综合分,再按分数选股、建仓、控风险

想象一下选股就像给学生考试:单因子策略只考一门课(比如只看数学成绩),而多因子策略考多门课(数学、语文、英语、物理……),然后按总分排名录取。单因子策略可能因为某一门课特别突出而选中“偏科生”,多因子策略则更倾向于选出“综合能力强的优等生” ——这正是多因子选股的核心优势。

更完整的比喻:单因子策略就像“特长生招生”——某一科特别突出就能入选,但偏科生在其他方面可能有明显短板。多因子策略更像“综合素质评价”——不要求每科都顶尖,但要求没有明显的短板,各科均衡发展。

多因子模型的理论基础可以追溯到资本资产定价模型(CAPM) ,但真正让多因子选股成为主流的是Fama和French在1993年提出的三因子模型。他们发现,除了市场风险之外,市值规模(小市值溢价)和账面市值比(价值溢价) 也能解释股票的超额收益。2015年,他们又将模型扩展为五因子,增加了盈利能力和投资水平两个因子。

多因子选股 vs 指数增强:两者都使用多因子模型,但目标不同。多因子选股的目标是选出最好的股票(相对收益最大化),指数增强的目标是在跟踪指数的基础上赚取超额收益(跟踪误差最小化+收益最大化)。可以理解为:多因子选股是“选优”,指数增强是“在不出格的前提下选优”。

老陈点评
多因子模型的核心思想其实很简单:没有任何一个因子能够永远有效,但不同因子在不同市场环境中轮流有效。多因子策略的价值不在于找到一个“完美因子”,而在于通过组合多个低相关性因子,构建一个“东方不亮西方亮”的选股系统。这不是在找圣杯,而是在建一个“因子池”——当一个因子失效时,其他因子还在工作。

老王补充
多因子策略是我在机构里接触最多的策略类型。它的优点是容量大、收益稳、逻辑透明——公募和私募量化基金的主流框架就是多因子选股。但它的缺点是复杂——从因子挖掘到数据处理到模型构建,每一步都有无数细节。这不是一个“写几行代码就能跑”的策略,而是一个需要系统性工程能力的策略框架。

二、因子的分类体系——认识因子的“家族图谱”

在深入了解多因子策略的具体操作之前,先建立一张“因子家族图谱”至关重要。因子研究的目标不是找到一个“万能因子”,而是找到若干个有一定预测力的因子,然后组合起来使用。一个完整的因子库通常包含10-11个大类,每个大类下又包含若干小因子。

2.1 因子的大类划分

根据华泰多因子系列研报的分类方法,因子可以分为以下十一个大类

大类核心逻辑代表性小因子方向
估值因子便宜的股票长期跑赢贵的PE(市盈率)、PB(市净率)、PS(市销率)、股息率负向(低估值有溢价,但需警惕价值陷阱)
成长因子高增长公司股价表现优秀营收增长率、净利润增长率、EPS增长率正向(越高越好,但高增长伴随高波动)
财务质量因子好公司长期表现更好ROE、ROA、毛利率、净利率、资产负债率正向(越高越好)
杠杆因子低杠杆公司风险更低资产负债率、权益乘数、利息保障倍数负向(越低越好)
规模因子小市值公司长期有溢价总市值、流通市值负向(越小越好)
动量因子强者恒强过去N日收益率、12-2月动量正向(越高越好)
波动率因子低波动股票长期跑赢历史波动率、Beta、最大回撤负向(越低越好)
换手率因子低换手股票有溢价日均换手率、成交量变化率负向(越低越好)
情绪因子情绪驱动短期波动融资余额变化、分析师评级调整、新闻情绪正向
股东因子筹码集中度影响股价股东户数变化、机构持股比例负向(户数越少越好)
技术因子技术指标反映市场状态RSI、MACD、均线乖离率视具体指标而定

2.2 六大核心因子详解

在众多因子中,有六个因子被业内公认为长期有效,被称为 “rewarded factor” (有风险溢价的因子)。它们是量化投资中最常用、最被认可的核心因子。无论是机构还是个人,在构建多因子策略时,几乎都会从这六个因子中选择组合。


📉 因子一:价值因子

核心逻辑:价值因子的理论基础是“均值回归”——即价格终究会回归价值。它寻找那些因市场情绪或短期负面因素被低估的股票,买入“便宜货”,等待市场重新发现其价值。

常用指标

  • 市盈率(PE) :最常用的估值指标,越低越便宜
  • 市净率(PB) :适用于银行、保险等重资产行业
  • 市销率(PS) :适用于尚未盈利的成长型公司
  • 股息率 :高股息率也是价值的一种体现
  • 自由现金流收益率 :比PE更“硬”的估值指标

使用方法
最简单的方法是计算PE、PB等指标,买入估值最低的一批股票。在构建多因子模型时,价值因子通常作为“反向指标”使用——因子值越低,得分越高。

优点

  • 长期超额收益稳定,有坚实的学术和实证支撑
  • 逻辑透明,易于理解和执行
  • 在熊市中通常比成长因子更抗跌

缺点

  • 警惕“价值陷阱” :低估值有时是公司基本面恶化的信号(如业绩持续下滑、行业被颠覆)
  • 均值回归的时间可能很长——“市场保持非理性的时间,可能比你保持偿付能力的时间更长”
  • 需要结合质量因子交叉验证,避免买到“垃圾股”

注意事项:价值因子最怕的是“越跌越买”——如果一只股票因为基本面恶化而持续下跌,低估值可能只是“估值陷阱”的开始。建议在买入前检查公司的盈利能力(ROE、毛利率)是否稳定。


📈 因子二:动量因子

核心逻辑:动量因子的理论基础是“趋势延续”——过去一段时间表现强势的资产,在未来短期内仍可能保持相对优势。它基于行为金融学,认为市场的恐慌和贪婪情绪会导致趋势延续。

常用指标

  • 过去N个月收益率:最常用的是3-12个月(A股市场常用20-60个交易日)
  • 52周高点距离:当前价格距离52周高点的比例
  • 12-2月动量:剔除近1个月的过去12个月收益(Fama-French的动量因子定义)

使用方法
计算股票在过去一段时间的累计收益,买入涨幅最高的,卖出涨幅最低的。构建动量策略的核心是确定回看窗口持有期

A股市场的特殊规律

  • A股市场中,动量效应表现为短期反转、中期动量
  • 1个月以内的短期动量往往失效甚至反向
  • 3-6个月的中期动量最为有效
  • 12个月以上的长期动量可能反转

优点

  • 能抓住大趋势行情,收益弹性大
  • 有坚实的学术支撑(Jegadeesh和Titman,1993)
  • 在牛市中表现优异

缺点

  • 风险在于动量崩溃(Momentum Crash)——在市场拐点出现大幅亏损
  • 被大量资金使用可能导致交易拥挤,放大了市场波动
  • 在震荡市中频繁切换,交易成本高

注意事项:动量策略最关键的是选择正确的回看窗口。在A股中,20-60个交易日的窗口通常效果最好。同时,建议结合“绝对动量”过滤——只买入涨幅为正的股票,在熊市中空仓避险。


🏆 因子三:质量因子

核心逻辑:质量因子聚焦于企业盈利能力和财务健康度。其信念是,拥有宽阔“护城河”的好公司能持续创造价值,长期跑赢市场。

常用指标

  • 净资产收益率(ROE) :最核心的质量指标,衡量公司利用股东资金的效率
  • 毛利率、净利率:衡量公司的盈利能力和定价权
  • 资产负债率:衡量公司的财务风险和杠杆水平
  • 盈利稳定性:过去几年盈利的波动程度
  • 应计利润率:衡量盈利的“现金含量”

使用方法
最常见的方法是买入ROE最高的一批股票。更进一步,会考察ROE的稳定性,筛选出能持续维持高ROE的公司。在构建多因子模型时,质量因子通常作为“正向指标”使用——因子值越高,得分越高。

优点

  • 聚焦企业基本面,收益稳健
  • 在熊市中通常表现出较强的抗跌性(“防御性”)
  • 逻辑清晰,符合价值投资的直觉

缺点

  • 高质量公司往往“不便宜”——价值因子和质量因子常需权衡取舍
  • ROE等财务指标有滞后性(财报公布延迟)
  • 高质量公司在牛市中可能跑不赢高弹性股票

注意事项:质量因子最怕的是“高质量陷阱”——一家公司过去ROE很高,但并不代表未来能持续。需要考察ROE的趋势来源(是高利润率驱动的,还是高杠杆驱动的?后者风险更大)。


🛡️ 因子四:低波动因子

核心逻辑:低波动因子利用 “低波动异象” (Low Volatility Anomaly)获利——低风险的股票长期收益并不差,甚至能跑赢高波动股票。这看似违反直觉,但在全球多个市场中都被验证。

常用指标

  • 历史波动率:过去一段时间的日收益率标准差
  • Beta系数:股票相对于大盘的波动敏感性
  • 最大回撤:历史上最大的跌幅

使用方法
最直接的方法是计算股票的历史波动率,买入波动率最低的股票。但更常见的是,将其作为辅助因子,与其他因子(如红利、质量)结合。例如“红利低波”策略,先用红利因子选股,再用低波因子剔除风险股。

优点

  • 风险调整后收益出色(夏普比率通常较高)
  • 是优秀的“组合辅助”——能平滑收益曲线、控制回撤
  • 在熊市中表现尤为突出(防御性强)

缺点

  • 单独使用可能选到缺乏成长性的“僵尸股”
  • 在牛市中可能跑输大盘(弹性不足)
  • 更适合作为组合的“稳定器”,而非收益的主要来源

注意事项:低波动因子最容易被误解为“保守”或“胆小”。实际上,它是一个风险调整后收益的工具——它的目标是“用更少的风险换取相近的收益”,而不是“放弃收益换取安全”。


📏 因子五:规模因子

核心逻辑:规模因子捕捉 “小市值溢价” (Small Cap Premium)——小市值公司的长期收益高于大市值公司。这是Fama-French三因子模型中的核心因子之一。

常用指标

  • 总市值:公司全部股票的市场价值
  • 流通市值:可在市场上自由交易的股票市值

使用方法
买入全市场市值最小的N只股票并定期轮动,是A股最经典的策略之一。在构建多因子模型时,规模因子通常作为“反向指标”使用——市值越小,得分越高。

优点

  • 在A股中长期超额收益非常显著(2010-2020年Top 100年化29.7%)
  • 逻辑简单,易于实现
  • 适合小资金起步

缺点

  • 风险极高——波动剧烈,2024年部分小市值策略回撤超过40%
  • 流动性差——小盘股交易量小,可能导致“想卖卖不出”
  • 策略容量有限——资金规模过大时冲击成本高
  • 注册制改革后壳价值贬值,规模因子的逻辑正在变化

注意事项:规模因子是最考验“信仰”的因子之一。它在A股长期有效,但中间可能经历长达数年的回撤。不建议重仓押注单一规模因子——建议作为多因子组合中的一个维度,与其他因子(如质量、低波动)结合使用。


🚀 因子六:成长因子

核心逻辑:成长因子寻找营收和利润高速增长的公司。投资者愿意为未来的高增长预期支付溢价,从而推高股价。

常用指标

  • 营收增长率:公司收入的增长速度
  • 净利润增长率:公司盈利的增长速度
  • EPS增长率:每股收益的增长速度
  • 一致预期增长率:分析师预测的未来增长率

使用方法
最直接的方法是买入增长率最高的前N只股票。更稳健的做法是寻找 “GARP(Growth at a Reasonable Price)” 型股票——既有增长,又不太贵(如PEG < 1)。

优点

  • 在牛市中弹性最大,收益惊人
  • 符合“投资未来”的直觉
  • 成长型公司往往是产业的引领者

缺点

  • 高增长伴随着高波动——一旦业绩增速放缓或不及预期,股价可能因“戴维斯双杀”而暴跌
  • 高增长公司往往估值较高,安全边际不足
  • 成长因子的有效性在A股中不如价值因子稳定

注意事项:成长因子最怕的是“预期透支”——当市场对一家公司的增长预期已经打满时,即使业绩符合预期,股价也可能不涨(因为“没有惊喜”)。一旦业绩不及预期,股价将大幅下跌。建议结合估值因子(如PEG)使用,避免买在“山顶”。


六因子对比总览

因子核心逻辑常用指标关键特点主要风险
价值找“便宜货”PE、PB、股息率均值回归,熊市抗跌价值陷阱
动量“追涨杀跌”过去N月收益率趋势跟踪,牛市进攻动量崩溃
质量选“好公司”ROE、毛利率、负债率收益稳健,有防御性高质量陷阱
低波动求“安稳”历史波动率、Beta风险调整后收益高牛市弹性不足
规模买“小盘股”总市值、流通市值A股长期超额显著波动剧烈、流动性差
成长投“高增长”营收增长率、净利润增长率牛市弹性最大高预期、高波动

2.3 各类因子的经济学逻辑

估值因子的逻辑是“均值回归”——在一个不完全有效的市场中,价格被低估的股票最终会被市场发现并修正。A股市场中,低PE、低PB的组合长期跑赢高PE、高PB的组合。但需要警惕的是,极端低估值也可能是基本面恶化的信号——需要结合质量因子交叉验证,避免“价值陷阱”。

成长因子的逻辑是“未来折现”——投资者愿意为高增长的公司支付溢价。高增长的公司往往能获得更高的市场估值,但高增长本身也伴随着高波动和高预期——一旦业绩不及预期,股价可能大幅下跌

质量因子的逻辑是“护城河”——高ROE、高毛利率的公司往往具有竞争优势,能够在经济周期中保持盈利能力。质量因子在熊市中通常表现出较强的抗跌性。

动量因子的逻辑是“趋势延续”——过去一段时间表现强势的资产,在未来短期内仍可能保持相对优势。但动量因子在A股市场中表现为短期反转、中期动量——1个月以内的短期动量往往失效甚至反向,3-6个月的中期动量最为有效。

波动率因子的逻辑是“低波动异象”——低风险的股票长期反而跑赢高风险的股票。A股市场中,低波动因子在熊市中表现尤为突出。

规模因子的逻辑是“小市值溢价”——小市值公司的长期收益高于大市值公司。但在注册制改革后,壳价值贬值,规模因子的逻辑正在发生变化。

换手率因子的逻辑是“交易拥挤”——高换手率的股票往往被过度炒作,后续表现不佳。低换手率的股票虽然短期弹性不足,但长期收益更稳健。

2.4 因子从何而来——数据来源与获取

有了分类框架,下一步是从哪里获取这些因子的数据。多因子选股需要覆盖价格、财务、市场情绪等多维度信息。以A股市场为例,主要的数据来源包括:

1. 基础价格与量价数据(日频):

  • 开盘价、收盘价、最高价、最低价、成交量、成交额
  • 来源:Wind、Tushare、聚宽(JoinQuant)、优矿(Uqer)、BigQuant

2. 财务数据(季频/年频):

  • 三大报表数据:资产负债表、利润表、现金流量表
  • 财务指标:PE、PB、ROE、营收增长率等
  • 来源:Wind、聚宽财务数据库、BigQuant财务科目数据

3. 一致预期数据(日频/周频):

  • 分析师盈利预测、评级调整
  • 来源:朝阳永续、Wind一致预期

4. 另类数据(高频/日频):

  • 新闻情绪、社交媒体热度、融资融券数据
  • 来源:新闻API、Tushare两融数据

5. 因子平台与工具

  • BigQuant:提供10大类因子的直接调用
  • 聚宽(JoinQuant) :提供JQData数据接口,可获取市值、账面市值比、市盈率、动量等因子数据
  • Tushare:开源数据接口,支持日频行情、财务数据、停牌记录、分红调整等
  • AlphaFeed:提供全市场行情和历史K线数据

老陈点评
数据质量 > 数据来源。无论你用哪个数据源,关键是要做到:复权统一、财务指标对齐、停牌天数处理、异常点和错误值过滤、股票池稳定(避免未来函数)。数据处理的细节决定了回测与实盘的差距。同样的因子,用不同的数据源、不同的复权方式,结果可能天差地别。

三、策略的使用范围与条件

维度适用范围与条件说明
适用市场股票市场(A股、美股、港股等)需要足够多的股票样本和高质量的基本面/量价数据
品种要求流动性好、数据完整剔除ST股、停牌股、上市不满1年的新股
交易机制单向做多为主(也可构建多空组合)A股多因子策略以做多为主,通过持仓偏离基准获取超额收益
适用周期周频或月频调仓基本面因子通常月频,量价因子可周频
资金门槛低至中等(持有20-50只股票)资金规模越大,可选的股票数量越多
不适合的市场状态极端单边行情、流动性枯竭因子在极端行情中可能全面失效

适用品种举例

  • 全市场A股:沪深两市所有非ST股票(剔除停牌、次新股)
  • 指数成分股:沪深300、中证500、中证1000成分股
  • 行业板块:特定行业的股票池(如银行股、消费股)

不适用品种

  • ST股、退市风险股(数据异常,无法有效建模)
  • 流动性极差的小盘股(无法有效执行交易)
  • 次新股(历史数据不足)

失效案例:2024年,A股市场出现显著的大小盘风格切换,此前长期有效的小市值因子和成长因子突然失效,而红利因子和低波动因子表现优异。依赖历史回测选择因子的多因子策略,如果在风格切换前没有及时调整因子权重,会遭遇显著回撤。多因子策略不是“建完模型就不用管了”——因子需要持续监控和动态调整。

四、因子如何筛选与鉴别

有了候选因子池和数据之后,下一步是筛选出真正有效的因子。因子的筛选和鉴别是一个 “漏斗模型” ——就像用筛子筛面粉,第一层筛掉大颗粒,第二层筛掉中颗粒,最后一层留下的才是最细的面粉。从几十上百个候选因子中,通过层层检验,筛选出最有效的少数几个因子。

4.1 因子有效性的三层检验

因子有效性检验通过分析因子值与预期收益率的关系,从而确定因子的有效性。一个有效的因子应具备统计显著性和经济意义,并能在不同市场环境下保持稳定的表现。主要检验方法有三种:

第一层:IC检验(信息系数检验)

IC(Information Coefficient)是因子值与下期收益率之间的相关系数

指标含义优秀标准合格标准
IC均值因子预测能力的平均水平> 0.05> 0.03
IC胜率IC为正的月份占比> 70%> 60%
ICIRIC均值 / IC标准差(衡量稳定性)> 0.8> 0.5
  • IC为正:因子值越大,未来收益越高(正向因子)
  • IC为负:因子值越大,未来收益越低(负向因子)
  • ICIR:ICIR越高,因子的预测能力越稳定

IC vs IR的区别

  • IC告诉你“这个因子有没有预测能力”
  • ICIR告诉你“这个因子的预测能力稳不稳定”
  • IC高但IR低的因子,就像高考模拟考偶尔考了全市第一、但平时成绩忽上忽下的学生——你不敢把宝全押在他身上。

第二层:分组回测检验

将股票按因子值从大到小分成5-10组,计算每组的历史平均收益。

检验标准含义判断
单调性分组收益是否随因子值单调递增/递减单调性越强,因子越有效
多空收益最高组(多头)与最低组(空头)的收益差多空收益越大,因子区分度越高
头部超额最高组的超额收益是否显著头部超额是因子选股的核心价值

第三层:回归检验

以个股下期收益为因变量,以因子值为自变量进行回归分析。

检验指标含义标准
T值因子系数的显著性|T值| > 2 表示统计显著
因子对收益的解释力度R²越高,因子解释力越强

4.2 因子筛选的“漏斗模型”

从全量因子池到最终入模因子,通常经过以下四层筛选

筛选层级筛选标准目的
第一层多空组合收益率 > 10%确保因子有足够的经济价值
第二层回归检验 |T值| > 2确保因子统计显著
第三层RankIC均值绝对值 > 3%确保因子有稳定的预测能力
第四层信息增量性检验确保新因子不与已有因子高度相关

经过这四层筛选后,通常可以从几百个候选因子中筛选出几十个有效因子。根据聚源研究的数据,对全量近500个因子进行单因子测试后,综合考虑分组测试、IC测试、回归测试结果以及入模因子的信息增量性,最终筛选出151个有效因子。这151个因子并不是全部入模,而是进入“候选池”,后续还需要根据因子之间的相关性和互补性做进一步筛选。

4.3 因子鉴别的“避坑指南”

陷阱一:生存者偏差

回测时只使用了目前仍在交易的股票,排除了退市股票。退市股票在退市前的表现往往很差,如果被排除,回测收益会被严重高估

如何避免:使用全量历史数据(包含已退市股票),或在数据处理时明确标注“剔除退市股”的假设。

陷阱二:未来函数

在回测中无意中使用了“未来才能获得的信息”——比如用当季财报数据在财报发布前进行选股。

如何避免:使用前一期的财报数据,确保选股时使用的数据在当时是已经公开的。

陷阱三:数据挖掘过拟合——“因子动物园”

在大量因子中反复搜索,总能找到几个“恰好”在样本内有效的因子。这些因子在样本外几乎必然失效。学术界有一个著名的说法叫 “因子动物园”(Factor Zoo) ——指被发现的因子越来越多,但真正有经济逻辑支撑的因子却寥寥无几。

如何避免

  • 使用样本外测试(用未参与训练的数据验证)
  • 使用滚动窗口训练(避免固定参数)
  • 优先选择有经济逻辑支撑的因子(而非纯数据挖掘的因子)
  • 不要成为“因子收藏家”,要成为“因子鉴别师”

陷阱四:因子拥挤

当一个因子被太多资金追逐时,其超额收益会逐渐下降甚至消失。拥挤的因子可能在回测中表现优异,但在实盘中表现平平。

如何识别

  • 因子暴露的集中度
  • 因子相关基金的规模增长
  • 因子多空组合的收益衰减

4.4 因子筛选的实操步骤

Step 1:确定候选因子池

根据因子的分类体系,从每个大类中选取3-5个代表性小因子,构建初始候选池(通常50-100个因子)。

Step 2:单因子测试

对每个因子进行IC检验、分组回测和回归检验,记录每个因子的IC均值、ICIR、多空收益、T值等指标。

Step 3:相关性分析

计算因子之间的相关系数,剔除高度相关的冗余因子(相关系数 > 0.7)。

Step 4:综合评分排序

根据IC均值、ICIR、多空收益、T值等指标对因子进行综合评分,选出排名靠前的因子进入最终模型。

Step 5:样本外验证

用未参与筛选的数据验证入选因子的有效性,确保筛选结果不是过拟合的产物。

五、因子如何组合——从单因子到多因子

5.1 因子合成的核心原则

筛选出有效因子后,下一步是将它们合成为一个综合得分。因子合成的核心原则是:低相关性比高IC更重要

原则说明示例
低相关性因子之间相关性越低,组合的分散化效果越好价值因子与动量因子相关性通常较低
经济逻辑因子组合应有经济逻辑支撑价值+成长+质量 = 选“又好又便宜”的股票
稳定性优先稳定的因子组合比偶尔高收益的组合更可靠等权法比动态加权法更稳健
可解释性组合后的因子应能被解释避免“黑箱”组合

5.2 常见的因子合成方法

合成方法计算方式优点缺点
等权法所有因子权重相同简单稳健,任何时期总有因子起作用不区分因子重要性
IC加权法按IC值赋予权重强调预测能力强的因子IC可能不稳定
ICIR加权法按ICIR赋予权重兼顾预测能力和稳定性计算较复杂
动态加权法根据近期表现动态调整权重适应市场变化可能过拟合,换手率高

实证参考(中证500股票池,不同合成方法的回测表现):

合成方法多空组合年化收益率最大回撤月度胜率
等权法9.88%-16.23%57.41%
IC加权法7.83%
IR加权法7.42%

数据解读:在中证500股票池中,等权合成的复合因子回测表现最优,多空组合年化收益率达9.88%。这说明“简单”不等于“无效”——等权法虽然朴素,但避免了过度优化,在实际应用中往往更稳健。

5.3 因子组合的“配方”思路

思路一:互补型组合

选择逻辑上互补的因子进行组合,覆盖不同的收益来源:

组合覆盖维度适用环境
价值 + 成长便宜 + 增长均衡市场
质量 + 低波动好公司 + 低风险熊市/震荡市
动量 + 反转趋势 + 均值回归趋势市中择时
价值 + 动量 + 质量便宜 + 强势 + 优质全面覆盖

实战选择:在牛市初期,动量+成长组合效果最好;在牛市末期,价值+低波动组合更安全;在熊市中,质量+低波动是“避风港”;在震荡市中,价值+动量组合往往能兼顾收益和稳健。

思路二:分层组合(“漏斗式”选股)

先用一两个因子做初筛(如剔除高估值、高波动股票),再用精细因子做终选:

层级目的因子示例
第一层(初筛)剔除风险股剔除ST、停牌、流动性差
第二层(粗筛)快速缩小范围低估值、低波动
第三层(精筛)综合打分排序多因子综合得分

5.4 不同股票池的因子组合差异

因子组合并非“一招鲜吃遍天”——不同的股票池中,因子的有效性和组合方式存在差异:

股票池因子表现特征推荐组合方式
沪深300大市值股票,基本面因子更有效质量+价值+低波动
中证500中等市值,成长因子更有效成长+动量+质量
中证1000小市值,量价因子更有效动量+反转+换手率

六、多因子模型的构建流程

一个完整的多因子模型通常包含以下六个步骤

Step 1:因子池选择与数据获取

确定候选因子池,根据各因子的计算方法获取相应的财务和量价数据。因子池通常包含几十到上百个候选因子,涵盖价值、成长、质量、动量、波动等多个维度。

Step 2:因子数据处理(关键步骤)

原始因子数据存在异常值、量纲不同、缺失值等问题,需要进行三步处理:

处理步骤方法目的
去极值中位数去极值法、MAD法消除极端值对模型的影响
标准化Z-Score标准化消除量纲差异,使不同因子可比
中性化对市值、行业做回归取残差剔除市值和行业的影响,提取因子本身的alpha

Step 3:因子有效性检验

检验每个因子是否具有预测未来收益的能力。常用方法包括:

检验方法说明评价指标
IC法(信息系数)因子值与未来收益的相关系数IC均值 > 0.03,IC胜率 > 60%
IR法(信息比率)IC均值 / IC标准差IR > 0.5 表示因子稳定有效
分组回测法按因子值分组,观察各组收益单调性分组收益单调递减/递增
回归检验法因子值与收益的回归分析T值 > 2 表示统计显著

Step 4:因子合成

将筛选出的有效因子合成为一个综合得分。常见方法包括等权法、IC加权法、ICIR加权法等。

Step 5:组合构建与调仓

根据综合得分选股并构建投资组合。关键决策包括:

决策项常见做法说明
选股数量Top 20-50只数量越多,分散性越好,但单只贡献越小
调仓周期周频或月频基本面因子月频,量价因子可周频
权重方式等权、市值加权、风险平价等权最简单,风险平价最稳健
风险控制行业中性、市值中性、个股上限控制偏离基准的风险

Step 6:动态监控与调整

多因子模型不是“建完就不用管了”——因子需要持续监控、定期评估、动态调整。

6.1 因子的动态监控

多因子策略的“因子池”就像一个养鱼池——你不能只养一种鱼(单因子),因为一旦这种鱼生病了(因子失效),整个池子就空了。你要养多种鱼(多因子),它们在不同的水温(市场环境)下轮流活跃——夏天鲫鱼活跃,冬天鲤鱼活跃。因子池的价值不在于每一条鱼都强壮,而在于总有一条鱼在合适的时候出来吃饵。

监控内容监控频率预警信号
因子IC衰减月度IC均值连续3个月下降
因子拥挤度季度因子暴露集中度显著上升
因子收益变化月度多空收益持续下降
因子相关性变化季度因子间相关性突然上升
因子换手率月度因子分组换手率异常升高

6.2 因子失效时的应对策略

策略一:因子替换

当一个因子持续失效时,用同类的备用因子替换。例如,PE因子失效时,可以用PB或PS因子替代。

策略二:权重调整

降低失效因子的权重,提高有效因子的权重。动态加权法可以根据因子近期表现自动调整权重。

策略三:因子定制

在基础因子上做调整,形成“定制因子”。例如,将“5日动量因子”改为“10日动量+成交量过滤”(仅选量增的股票),拥挤度比基础因子低30%-40%。

策略四:策略切换

当多因子策略整体失效时(如市场风格剧烈切换),暂停多因子策略,切换到其他策略(如趋势跟踪、事件驱动等)。

七、仓位、买卖点与风险管理

7.1 入场与调仓信号

多因子策略的入场信号不是“某一时刻触发”,而是“定期选股、动态调仓”:

步骤操作说明
Step 1确定股票池全市场A股,剔除ST、停牌、次新股
Step 2计算因子值对每个股票计算所有因子的值
Step 3数据处理去极值、标准化、中性化
Step 4计算综合得分按权重合成综合得分
Step 5排序选股按综合得分从高到低排序,选Top N
Step 6调仓执行卖出不在组合中的股票,买入新进入的股票

7.2 仓位管理

多因子策略的仓位管理相对灵活:

  • 等权重配置:每个选中的股票分配相同资金(最简单)
  • 因子得分加权:综合得分越高的股票分配更多资金
  • 风险平价:根据波动率调整权重,使每只股票的风险贡献相等

调仓频率的选择

  • 月频调仓:适合基本面因子(财报数据月频更新)
  • 周频调仓:适合量价因子(价格数据日频更新)
  • 混合调仓:基本面因子月频、量价因子周频,分开调仓

7.3 止损设计

多因子策略的止损主要通过组合层面的风险控制实现:

风控方式触发条件说明
个股止损单只股票跌幅超过阈值(如-20%)卖出该股票
行业中性控制行业偏离度避免行业集中度过高
市值中性控制市值风格暴露避免过度暴露于某一市值风格
最大回撤止损策略总回撤超过阈值(如-15%)降低仓位或暂停策略

7.4 多因子策略的三大风险

风险一:过拟合

多因子模型有大量可调参数(因子选择、权重、阈值等)。如果过度优化历史数据,模型可能在样本内表现优异,但在样本外大幅失效。

如何防范

  • 使用样本外测试(用未参与训练的数据验证)
  • 使用滚动窗口训练(避免未来信息)
  • 限制因子数量(因子越多,过拟合风险越高)
  • 优先选择有经济逻辑支撑的因子(而非纯数据挖掘的因子)

风险二:因子衰减

一个因子被发现后,随着越来越多资金涌入,其超额收益会逐渐下降甚至消失。

如何防范

  • 持续挖掘新因子(扩充因子池)
  • 动态调整因子权重(根据近期表现)
  • 关注因子拥挤度(避开资金过于集中的因子)

风险三:因子拥挤

当大量资金追逐同一个因子时,该因子的超额收益会被“买没了”。

如何识别

  • 因子暴露的集中度
  • 因子相关基金的规模增长
  • 因子多空组合的收益衰减

老陈点评
多因子策略最大的挑战不是“找到好因子”,而是“持续管理因子池”。因子是有生命周期的——今天有效的因子,明天可能就失效了。 一个优秀的多因子模型,不是建完就不用管了,而是需要持续监控、定期评估、动态调整。这不是一次性的工程,而是持续运营的系统。

老王补充
我在机构里见过太多“回测曲线完美、实盘一塌糊涂”的多因子策略。原因无非两个:过拟合因子拥挤。回测里漂亮的曲线,往往是因为你无意中用了未来数据,或者因子恰好拟合了那段行情。实盘是检验真理的唯一标准——先用小资金跑半年再说。

八、策略的来历、设计者与趣闻

多因子模型的发展史,是一部金融学从“单因素解释世界”到“多因素理解世界”的演进史。

CAPM模型(1964年) :夏普(William Sharpe)在1964年正式发表了资本资产定价模型(CAPM)的核心论文,认为股票的预期收益只与一个因素有关——市场风险(Beta) 。这是多因子模型的“1.0版本”,虽然简洁,但很快被实证研究证明“不够用”。

套利定价理论APT(1976年) :罗斯(Stephen Ross)提出了套利定价理论(APT),将CAPM从单因素扩展到多因素。APT认为股票的收益可以由多个宏观经济因素解释,但APT没有告诉我们应该用哪些因素——这为后来的研究者留下了探索空间。

Fama-French三因子模型(1993年) :这是多因子模型发展史上最重要的里程碑。Fama和French发现,除了市场风险之外,市值规模(小市值溢价)和账面市值比(价值溢价) 也能显著解释股票的超额收益。他们提出的三因子模型迅速成为学术界和业界的主流框架。

Fama-French五因子模型(2015年) :在三因子模型的基础上,Fama和French增加了盈利因子(RMW,高盈利减低盈利)和投资因子(CMA,低投资减高投资) ,提出了五因子模型。这个模型更全面地解释了股票的超额收益。

趣闻:Fama和French在2015年提出五因子模型时,距离他们提出三因子模型已经过去了22年。有记者问Fama:“为什么等了这么久才推出五因子模型?”Fama的回答很干脆:“因为我们之前没发现这两个因子。 ”——这恰恰说明了因子研究的本质:不是“发明”因子,而是“发现”市场中已经存在的规律。

另一个有趣的事实:五因子模型中的投资因子(CMA)实际上是一个“反向”因子——投资越少的公司,未来收益越高。这背后的逻辑是:过度投资往往伴随着资本回报率下降和代理成本上升——管理层为了追求规模而牺牲了资本配置效率。而投资谨慎的公司更能保持盈利能力。有时候,“不做什么”比“做什么”更重要。

老陈点评
Fama和French的工作意义在于,他们把“选股”从一门“艺术”变成了一门“科学”。在三因子模型之前,选股靠的是经验和直觉;在三因子模型之后,选股有了可量化、可检验、可复现的框架。这不是说经验不重要,而是说经验可以被系统化。

老王补充
我在机构里见过无数“自称多因子”的策略,其实就是把几个指标加权打分。这本身没有错,但真正的多因子模型不是“打分”,而是“解释”——你要知道每个因子为什么能赚钱、什么时候会失效、因子之间是什么关系。 只知道“怎么算”不知道“为什么”的人,做不好多因子。

九、Python回测示例

以下代码演示一个简化的多因子选股策略在A股市场的回测。包含价值、成长、质量、动量四个因子,采用等权合成、月频调仓。

import pandas as pd
import numpy as np
from datetime import datetime, timedelta

# 注意:
# 1. 本代码为多因子选股策略的选股逻辑框架,需要接入专业数据源(聚宽、优矿、Tushare等)
# 2. 实际运行需要获取股票的财务数据和量价数据
# 3. 以下代码展示选股逻辑,完整回测需要实现逐期循环、净值计算和统计指标
# 4. 建议使用聚宽、优矿等平台的内置回测引擎,或自行实现回测循环

def multi_factor_strategy(
    stock_data,           # 股票数据(含因子值)
    factor_list,          # 因子列表
    factor_weights=None,  # 因子权重(默认等权)
    top_n=30,             # 选股数量
    rebalance_freq='M'    # 调仓频率('W'周频,'M'月频)
):
    """
    多因子选股策略(选股逻辑框架)
    参数:
        stock_data: DataFrame,包含每只股票的因子值和价格数据
        factor_list: 因子名称列表
        factor_weights: 因子权重(默认等权)
        top_n: 选股数量
        rebalance_freq: 调仓频率
    返回:选中的股票列表
    """
    df = stock_data.copy()
    
    # 1. 因子数据处理
    for factor in factor_list:
        # 去极值(MAD法,3倍MAD阈值)
        # MAD法对极端值比标准差法更稳健,3倍MAD约等于4.5倍标准差
        median = df[factor].median()
        mad = (df[factor] - median).abs().median()
        upper = median + 3 * mad
        lower = median - 3 * mad
        df[factor] = df[factor].clip(lower, upper)
        
        # 标准化(Z-Score)
        df[factor] = (df[factor] - df[factor].mean()) / df[factor].std()
    
    # 2. 计算综合得分
    if factor_weights is None:
        factor_weights = {f: 1/len(factor_list) for f in factor_list}
    
    df['Score'] = 0
    for factor, weight in factor_weights.items():
        df['Score'] += weight * df[factor]
    
    # 3. 按得分排序选股
    df = df.sort_values('Score', ascending=False)
    selected = df.head(top_n)['code'].tolist()
    
    # 选股逻辑输出
    print(f"选股数量:{top_n}")
    print(f"因子列表:{factor_list}")
    print(f"因子权重:{factor_weights}")
    print(f"选中股票示例:{selected[:5]}")
    
    return selected

# 完整回测的伪代码示例:
#
# for period in periods:
#     # 获取当期数据
#     data = get_data(period)
#     # 选股
#     selected = multi_factor_strategy(data, factors, top_n=30)
#     # 计算当期收益
#     period_return = calculate_return(selected)
#     # 记录净值
#     nav.append(nav[-1] * (1 + period_return))
#
# # 统计指标
# total_return = (nav[-1] / nav[0] - 1) * 100
# max_drawdown = max((nav.cummax() - nav) / nav.cummax()) * 100

# 使用示例(聚宽平台):
#
# from jqdatasdk import *
# auth('username', 'password')
#
# # 获取全市场股票数据
# stocks = get_index_stocks('000300.XSHG')
# df = get_fundamentals(query(...))
# df = get_price(stocks, ...)
#
# # 定义因子
# factors = ['pe', 'pb', 'roe', 'momentum_20d']
#
# # 运行策略选股
# result = multi_factor_strategy(df, factors, top_n=30)

回测结果参考(基于公开数据,不同因子组合和时段结果存在显著差异):

指标参考值
年化收益率15%-30%
最大回撤15%-25%
年化超额收益(vs沪深300)5%-15%
信息比率0.8-1.5
月度胜率60%-70%

:以上数据为不同多因子策略的历史回测参考值,实际表现取决于因子选择、权重设置和市场环境。不同时间段、不同股票池的结果可能存在显著差异。等权法在A股市场整体表现较好。但需要强调的是,回测表现不代表未来收益,过拟合和因子衰减是实盘中的主要风险。

代码说明
本代码为多因子选股策略的选股逻辑框架,展示了从因子数据处理到综合得分计算到选股的核心逻辑。完整回测需要实现逐期循环——即对每个调仓周期重复执行选股逻辑,并计算每期的持仓收益。建议使用聚宽、优矿等平台的内置回测引擎,或自行实现回测循环。数据部分需要接入专业数据源(Wind、Tushare、聚宽等)获取真实的因子数据。

老陈点评
回测时要注意:多因子策略的回测结果对数据处理方式极其敏感。 去极值的方法、标准化的方式、中性化的维度——每一个细节都可能影响最终结果。建议使用滚动窗口进行回测,并严格区分训练集和测试集,避免过拟合。

老王补充
实盘中最大的问题是因子数据的质量。财务数据有披露延迟、有修正、有缺失——如果你不注意这些细节,回测和实盘的差距会非常大。建议先用财务数据的最新可用版本(而非回测时的“事后”数据)进行回测,这样才能模拟实盘的实际情况。

十、本章小结与思考题

小结

项目核心要点
策略类型多因子选股 / 系统性选股
核心逻辑用多个维度综合评估股票,选出综合得分最高的组合
理论基础CAPM(1964)→ APT(1976)→ FF3(1993)→ FF5(2015)
因子分类11大类:估值、成长、质量、杠杆、规模、动量、波动、换手、情绪、股东、技术
六大核心因子价值、动量、质量、低波动、规模、成长
数据来源Wind、Tushare、聚宽、优矿、BigQuant、AlphaFeed
筛选标准IC均值>0.03、ICIR>0.5、|T值|>2、多空收益>10%
合成方法等权、IC加权、ICIR加权、动态加权
六大步骤因子选择 → 数据处理 → 有效性检验 → 因子合成 → 组合构建 → 动态监控
核心优势收益来源多样、容量大、逻辑透明
最大风险过拟合、因子衰减、因子拥挤
资金门槛低至中等(持有20-50只股票)

多因子选股策略是量化投资中最成熟、应用最广泛的策略流派。它从单因子的“偏科生”思维升级为多因子的“综合能力”思维,通过组合多个低相关性因子,构建了一个“东方不亮西方亮”的选股系统。

因子的“生命周期” :从发现到验证、从应用到失效、从失效到迭代——这是一个完整的循环。没有永恒的因子,只有持续进化的因子体系。

老陈总结
多因子策略的灵魂不是“找到最好的因子”,而是“建立一个稳定的因子组合”。单因子像一颗珍珠,多因子像一串项链——单个珍珠可能不完美,但串在一起就能熠熠生辉。 在多因子策略中,因子之间的低相关性比单个因子的高IC更重要——因为低相关性保证了“总有一个因子在工作”。六大核心因子就像六种不同的投资风格:价值因子找便宜货、动量因子追趋势、质量因子选好公司、低波动因子求安稳、规模因子买小盘股、成长因子投高增长——它们各自在不同市场环境中轮流发光。

老王总结
如果你想做多因子策略,我的建议是:先从3-5个简单因子开始——比如PE(估值)、ROE(质量)、营收增长(成长)、20日动量(动量)。跑通之后再慢慢加因子、优化权重。不要一上来就搞几十个因子的复杂模型——那不是量化,那是过拟合的温床。

💡 思考题

  1. 单因子策略和多因子策略的本质区别是什么?为什么多因子策略的收益曲线通常比单因子策略更平滑?
  2. Fama-French三因子模型包含了哪三个因子?每个因子的经济逻辑是什么?五因子模型又增加了哪两个因子?
  3. 因子数据处理中的“去极值”“标准化”“中性化”分别解决什么问题?如果跳过某一步,会对策略产生什么影响?
  4. IC和IR的区别是什么?一个因子IC很高但IR很低,说明什么问题?在因子筛选时,你会优先选择IC高还是IR高的因子?
  5. 多因子策略面临“因子衰减”和“因子拥挤”两大风险。你认为这两者之间是什么关系?如果一个因子出现了拥挤迹象,你会如何应对?
  6. 因子筛选的“漏斗模型”包含哪几层筛选?每一层的筛选标准是什么?为什么要采用“漏斗模型”而不是直接使用所有因子?
  7. 等权法、IC加权法、ICIR加权法这三种因子合成方法各有什么优缺点?实证研究表明,在中证500股票池中等权法表现最优,你认为这是为什么?
  8. 价值、动量、质量、低波动、规模、成长这六大核心因子各自的特点是什么?在不同的市场环境(牛市初期、牛市末期、熊市、震荡市)中,你会优先选择哪几个因子进行组合?为什么?
  9. (展望题) 随着机器学习技术的发展,传统的线性多因子模型正在被非线性模型(如随机森林、XGBoost)取代。你认为传统多因子模型会被完全取代,还是两者会长期共存?请从“可解释性”和“预测能力”两个角度分析。

引用/参考出处

网上内容

学术论文与图书(元信息)

  • Fama, E. F., & French, K. R. (1993). “Common risk factors in the returns on stocks and bonds.” Journal of Financial Economics, 33(1), 3-56.(三因子模型的奠基之作)
  • Fama, E. F., & French, K. R. (2015). “A five-factor asset pricing model.” Journal of Financial Economics, 116(1), 1-22.(五因子模型的扩展)
  • Sharpe, W. F. (1964). “Capital asset prices: A theory of market equilibrium.” Journal of Finance, 19(3), 425-442.(CAPM模型的经典论文)
  • Jegadeesh, N., & Titman, S. (1993). “Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency.” Journal of Finance, 48(1), 65-91.(动量效应的经典论文)
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容

欢迎注册,发表评论

邀请码为:SAJHvvergbP2toi