| name | multi-factor-model |
| description | 多因子选股模型的完整指南,包括因子选取、有效性检验(排序法)、冗余因子剔除、综合评分模型构建和实证案例。适用于需要构建或优化多因子选股策略的量化投资者。 |
多因子选股模型
概述
多因子模型是应用最广泛的选股模型之一。其核心思想是:采用一系列因子作为选股标准,满足这些因子的股票则被买入,不满足的则卖出。
多因子模型相对来说比较稳定,因为在不同市场条件下,总有一些因子会发挥作用。
何时使用此技能:
- 当需要构建系统化的选股策略时
- 当需要综合多个指标进行选股时
- 当需要构建长期稳健的Alpha收益时
理论基础
有效市场假说与因子
市场上的投资者(价值投资者、投机者、短线交易者)都会根据某些因子来判断股票的涨跌。当有一群交易者同时采用某个因子时,就会造成该因子有效。
例如:当很多投资者认为低PE的价值型股票是好的投资标时,他们纷纷买入低PE股票,会使得该股票出现上涨或超越大市。这样就使得低PE因子的有效性得到体现。
两种判断方法
| 方法 | 原理 | 优点 | 缺点 |
|---|
| 打分法 | 根据各个因子大小对股票打分,按权重加权得到总分 | 相对稳健,不易受极端值影响 | 不能及时调整敏感性 |
| 回归法 | 用过去收益率对因子回归,预测未来收益 | 能及时调整敏感性,不同股票敏感性可不同 | 易受极端值影响 |
推荐:初学者使用打分法,熟练后可尝试回归法
模型构建五步法
第一步:候选因子选取
候选因子类型及示例:
| 类别 | 因子 | 说明 |
|---|
| 估值因子 | PE、PB、PS | 市盈率、市净率、市销率 |
| 成长因子 | 净利润增长率、营收增长率、EPS增长率 | 盈利增长速度 |
| 盈利因子 | ROE、ROA、毛利率、净利率 | 盈利能力 |
| 规模因子 | 总市值、流通市值 | 公司大小 |
| 动量因子 | 20日涨跌幅、60日涨跌幅 | 过去价格表现 |
| 波动因子 | 日收益率标准差 | 价格波动程度 |
| 预期因子 | 分析师一致预期、盈利预测 | 市场预期 |
| 宏观因子 | GDP增速、M2 | 经济环境 |
选取原则:
- 因子必须有经济意义
- 因子必须具备显著的预测能力
- 更多和更有效的因子能增强信息捕获能力
第二步:因子有效性检验
检验方法:排序法
Step 1: 在每个月初计算每只个股的各因子指标
Step 2: 按因子大小从小到大排序,平均分为n个组合(建议5个)
Step 3: 持有至月末,下月初重新构建组合
Step 4: 重复到模型形成期末
有效性判断标准(三个条件):
-
排序关系:组合因子大小与收益应具有较大相关性
- 因子越小收益越高:x₁ < x₂ < ... < xₙ 应导致 r₁ > r₂ > ... > rₙ
- 或因子越大收益越高:反向关系
-
超额收益:极端组合应有显著超额收益
- max(Ri - Rb) > 最小超额收益阈值
- min(Ri - Rb) < 最大负超额收益阈值
-
胜率:不同市场环境下高收益组合跑赢基准概率高
关键指标:
| 指标 | 含义 | 合格标准 |
|---|
| 年化复合收益 | 组合的实际收益 | 最高组合 > 最低组合 |
| 超额收益 | 相对于基准的收益 | > 5% |
| 跑赢概率 | 跑赢基准的月份占比 | > 60% |
第三步:冗余因子剔除
问题:不同因子可能由于内在驱动因素相同,所选出的组合高度一致,需要剔除冗余因子。
剔除步骤:
Step 1: 对不同因子下的n个组合打分(收益越大分值越高)
Step 2: 按月计算个股因子得分间的相关性矩阵
Step 3: 计算整个样本期内相关性矩阵的平均值
Step 4: 设定阈值(通常0.5),超过阈值的因子只保留有效性最强的
案例:盈利收益率与PEG相关性0.89 → 只保留盈利收益率
第四步:综合评分模型
构建方法:
Step 1: 选取去除冗余后的有效因子
Step 2: 每月初计算每只股票的各因子得分
Step 3: 按权重加权求平均分
Step 4: 按总分排序,选取排名靠前的股票
可选参数:
- 选取得分最高的前20%股票
- 或选取得分最高的50~100只股票
注意:
- ST/PT股票应剔除
- 如因子无法取值,该因子不参与平均
第五步:模型评价与改进
需要持续监控和改进的方面:
- 因子有效性:因子可能逐渐失效或新因子有效
- 权重优化:根据市场环境动态调整因子权重
- 交易成本:考虑手续费、滑点对收益的影响
- 风险控制:加入止损、仓位控制等机制
实证案例(1997-2010年A股)
案例背景
- 样本期:1997-2010年(共14年)
- 检验期:1997-2004年(8年)
- 检验期:2005-2010年(6年)
- 股票池:所有正常交易且上市超过一个季度的A股
- 业绩基准:上证指数
候选因子(30个)
| 类别 | 因子 |
|---|
| 估值 | 市盈率(PE)、市净率(PB)、市销率(PS)、PEG |
| 成长 | 净利润增长率、营收增长率、EPS增长率、PEG |
| 盈利 | ROE、ROA、毛利率、净利率、收入净利率 |
| 资本结构 | 资产负债率、流动比率、速动比率 |
| 规模 | 总市值、流通市值 |
| 动量 | 20日涨跌幅、60日涨跌幅、120日涨跌幅 |
| 波动 | 日收益率标准差、周收益率标准差 |
| 技术 | 换手率、震荡指标 |
通过检验的有效因子(初步)
| 因子类别 | 有效因子 |
|---|
| 估值 | 盈利收益率、PE、PB、PEG |
| 盈利 | ROE、ROA、收入净利率、毛利率 |
| 成长 | 净利润增长率、ROE变动、ROA变动 |
| 资本结构 | 资产负债率 |
| 规模 | 流通市值 |
| 动量 | 20日动量 |
| 波动 | 震荡指标 |
剔除冗余后的9个最终因子
| 类别 | 因子 | 说明 |
|---|
| 估值 | 盈利收益率(EP) | 每股收益/股价 |
| 估值 | 市净率(PB) | 股价/每股净资产 |
| 盈利 | 净资产收益率(ROE) | 净利润/净资产 |
| 盈利 | 毛利率 | 毛利润/营业收入 |
| 成长 | 净利润增长率 | 净利润同比增速 |
| 资本结构 | 资产负债率 | 总负债/总资产 |
| 规模 | 流通市值 | 股票流通规模 |
| 动量 | 20日动量 | 过去20日收益率 |
| 波动 | 震荡指标 | 价格波动程度 |
模型效果
| 指标 | 数值 |
|---|
| Q1组合年化复合收益 | 35.48% |
| 上证指数年化收益 | 14.19% |
| 超额收益 | 21.29% |
| 信息比率(IR) | 1.14 |
| 跑赢上证概率 | 68.06% |
| 上涨月份跑赢概率 | 76.09% |
| 下跌月份跑赢概率 | 53.85% |
结论:上升市场表现好于下跌市场
注意事项
模型局限
- 因子失效风险:随着使用多因子模型的投资者增加,部分因子会逐渐失效
- 市场风格变化:以前有效的因子可能在当前市场环境下失效
- 样本外风险:样本内有效的模型在样本外可能表现不佳
- 过拟合风险:模型越复杂越容易过拟合
改进方向
- 增加新因子:如分析师预期因子、宏观因子
- 动态权重:根据因子近期表现动态调整权重
- 行业适配:不同行业使用不同因子
- 风险控制:加入止损、仓位管理
错误处理与故障排查
| 问题 | 原因 | 解决方案 |
|---|
| 因子有效性检验不通过 | 样本期太短或参数不当 | 延长样本期至8年以上,调整分组数 |
| 冗余因子剔除过度 | 阈值设置过低 | 将阈值从0.5提高到0.7 |
| 模型样本外失效 | 过拟合或市场变化 | 简化模型,减少因子数量 |
| 收益低于预期 | 交易成本过高 | 设置滑点,优化持仓周期 |
相关技能
stock-selection/momentum-reversal: 动量与反转策略
stock-selection/sector-rotation: 行业轮动
stock-selection/style-rotation: 风格轮动
portfolio/strategy-selection: 策略组合选择
快速参考
因子选择检查清单
□ 因子具有经济逻辑
□ 因子在样本内显著有效
□ 因子之间相关性 < 0.5
□ 因子在样本外依然有效
□ 因子计算数据可得且准确
常用因子优先级
| 优先级 | 因子 | 稳定性 |
|---|
| ★★★★★ | ROE、盈利收益率 | 最稳定 |
| ★★★★☆ | 净利润增长率 | 较稳定 |
| ★★★☆☆ | 市值、动量 | 中等稳定 |
| ★★☆☆☆ | 换手率、波动率 | 不稳定 |
附录:IC与IR指标
IC(Information Coefficient)
因子IC = 因子值与下期收益的相关系数
- IC > 0:因子与收益正相关
- IC > 0.03:因子有效性可接受
- IC > 0.05:因子有效性较好
IR(Information Ratio)
IR = IC均值 / IC标准差
- IR > 0.5:因子组合获取Alpha能力较强
- IR > 1.0:因子组合获取Alpha能力很强