量化因子投资——多因子模型Excel构建
选股的本质就是"多维度体检"——价值因子看估值,质量因子看盈利,动量因子看趋势,低波动因子看风险。不要把鸡蛋放在一个篮子里,也不要只看一个指标。让数据说话,而不是让感觉说话。
一、量化因子投资的核心逻辑
1.1 什么是因子?
因子是解释股票收益差异的变量。
通俗解释:
因子就像体检指标——血压、血糖、胆固醇,每个指标反映身体的一个方面。
常见因子类型:
| 因子类型 | 代表指标 | 逻辑 |
|---|---|---|
| 价值因子 | PE、PB、股息率 | 便宜有好货 |
| 质量因子 | ROE、毛利率、盈利稳定性 | 好公司值得溢价 |
| 动量因子 | 过去1-12个月收益 | 趋势延续 |
| 低波动因子 | 波动率、Beta | 低风险高收益悖论 |
| 规模因子 | 市值 | 小盘溢价 |
1.2 多因子模型的优势
单一因子的局限:
- 价值因子:可能选到价值陷阱
- 动量因子:可能追高被套
- 质量因子:可能错过反转机会
多因子的优势:
- 分散单一因子的风险
- 捕捉不同市场环境的机会
- 提高策略稳健性
二、常见因子计算
2.1 价值因子
PE(市盈率):
=股价 / 每股收益PB(市净率):
=股价 / 每股净资产股息率:
=每股股息 / 股价价值得分:
// PE、PB越低越好,股息率越高越好 // 标准化后加权 =(-PE_Z - PB_Z + 股息率_Z) / 32.2 质量因子
ROE:
=净利润 / 净资产毛利率:
=(营业收入 - 营业成本) / 营业收入盈利稳定性:
// 过去5年ROE的标准差倒数 =1 / STDEV(ROE_5年)质量得分:
=(ROE_Z + 毛利率_Z + 稳定性_Z) / 32.3 动量因子
20日动量:
=(当前价 - 20日前价格) / 20日前价格60日动量:
=(当前价 - 60日前价格) / 60日前价格动量得分:
=(动量20_Z + 动量60_Z) / 22.4 低波动因子
波动率:
// 20日收益率标准差年化 =STDEV(日收益率_20日) * SQRT(252)Beta:
=COVAR(股票收益, 市场收益) / VAR(市场收益)低波动得分:
// 波动率和Beta越低越好 =(-波动率_Z - Beta_Z) / 2三、多因子打分模型
3.1 数据标准化
Z-score标准化:
=(原始值 - AVERAGE(所有股票该因子)) / STDEV(所有股票该因子)为什么标准化:
- 不同因子量纲不同
- 消除量纲影响,可比可加
3.2 因子权重设计
等权重:
总得分 = (价值_Z + 质量_Z + 动量_Z + 低波动_Z) / 4自定义权重:
// 根据市场环境调整 总得分 = 价值_Z*0.3 + 质量_Z*0.3 + 动量_Z*0.2 + 低波动_Z*0.2IC加权(高级):
根据因子历史IC(信息系数)动态调整权重。
3.3 Excel实现多因子模型
数据表结构:
| 股票代码 | PE | PB | ROE | 毛利率 | 动量20 | 波动率 | 价值_Z | 质量_Z | 动量_Z | 低波_Z | 总得分 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 600519 | 28 | 8 | 25% | 92% | 15% | 20% | -0.5 | 1.2 | 0.8 | -0.3 | 0.30 |
计算步骤:
- 获取所有股票的原始因子值
- 对每个因子计算Z-score
- 按权重加权求和
- 排名,选前N只
四、因子有效性检验
4.1 IC分析
IC(Information Coefficient):
因子得分与未来收益的相关性。
Excel计算:
=CORREL(本期因子得分, 下期收益率)判断标准:
- IC > 0.03:有效
- IC > 0.05:优秀
- IC < 0:反向因子
4.2 分层回测
方法:
- 按因子得分将股票分为5组(Q1-Q5)
- 每组等权重构建组合
- 持有期(如1个月)后调仓
- 比较各组收益
Excel实现:
// 分组(假设100只股票,每组20只) =IF(RANK(总得分)<=20, "Q1", IF(RANK(总得分)<=40, "Q2", IF(RANK(总得分)<=60, "Q3", IF(RANK(总得分)<=80, "Q4", "Q5"))))理想结果:
Q1(最高分组)收益 > Q2 > Q3 > Q4 > Q5(最低分组)
4.3 单调性检验
目的:
检验因子是否具有单调性——得分越高,收益越高。
方法:
计算各组平均收益,看是否单调递增。
五、多因子选股策略回测
5.1 策略设计
策略规则:
- 每月初计算所有股票因子得分
- 选取得分最高的20只股票
- 等权重配置
- 持有1个月,下月调仓
5.2 Excel回测框架
步骤1:准备历史数据
每月各股票的因子值和次月收益。
步骤2:计算每月信号
// 按总得分排名 =RANK(总得分, 所有股票总得分) // 选前20 =IF(排名<=20, "买入", "")步骤3:计算组合收益
// 买入股票的次月平均收益 =AVERAGEIF(信号列, "买入", 次月收益列)步骤4:计算累计收益
// 累计净值 =上月净值 * (1 + 本月组合收益)5.3 绩效评估
| 指标 | 计算方法 |
|---|---|
| 年化收益 | (期末净值/期初净值)^(12/月数) - 1 |
| 年化波动 | STDEV(月收益) * SQRT(12) |
| 夏普比率 | (年化收益 - 无风险收益) / 年化波动 |
| 最大回撤 | 峰值到谷底最大跌幅 |
| 胜率 | 盈利月份 / 总月份 |
六、因子迭代优化
6.1 因子失效识别
信号:
- IC持续下降
- 分层回测单调性消失
- 策略收益下滑
应对:
- 降低该因子权重
- 替换为新因子
- 增加因子数量
6.2 因子组合优化
相关性分析:
=CORREL(因子1, 因子2)原则:
- 选相关性低的因子组合
- 避免信息重叠
6.3 动态权重调整
方法1:滚动IC加权
// 用过去12个月IC作为权重 权重 = 该因子12月平均IC / SUM(所有因子12月平均IC)方法2:市场环境判断
- 牛市:增加动量因子权重
- 熊市:增加价值、低波动因子权重
- 震荡市:增加质量因子权重
七、总结与行动清单
7.1 核心要点
| 因子类型 | 代表指标 | 适用环境 |
|---|---|---|
| 价值 | PE、PB | 熊市、震荡市 |
| 质量 | ROE、毛利率 | 长期持有 |
| 动量 | 20日/60日收益 | 牛市 |
| 低波动 | 波动率、Beta | 熊市、保守 |
7.2 下一步行动
- 今天就做:选择3-5个因子,计算你关注股票的因子值
- 本周完成:构建简单的多因子打分模型,选出前10名
- 本月目标:进行分层回测,验证因子有效性
7.3 一个提醒
多因子不是万能的:
- 因子会失效,需要持续监控
- 历史表现不代表未来
- 过度优化会导致过度拟合
建议:
- 从简单因子开始
- 定期检验因子有效性
- 保持谦逊,持续迭代
量化因子是科学投资的基础,但市场永远有不理性的部分。
标签:多因子模型 | 量化因子 | 价值投资 | 动量策略 | 因子投资 | 因子检验 | IC分析
字数:约2900字
推荐阅读:
- 上一篇:《期权策略分析——希腊字母与盈亏图Excel绘制》
- 下一篇:《机器学习入门——用Python+Excel实现简单预测》
