Jikipedia
第 21 篇

CAPM+APT 多因子模型

CAPM 只把收益归给市场 β,解释不了的部分记为每只股票自己的 α。这篇用 APT 的思路给 α 建模:假设 α 由公司的财务因子决定,拿「历史几期的财务因子 ↔ 同期 α」做多元线性回归,用回归系数加当期财务数据预测未来 α,然后买入预测 α 最高的股票。沪深 300 池、2006-01-01 到 2016-06-06 回测收益 545.56%。本篇是量化课堂第 21 篇(postId=1955,作者刘凡,编辑肖睿,难度进阶上,深度 level-0)。素材见 raw/collections/jq-quant-classroom/21-21-capmapt多因子模型md.md。

量化CAPMAPTalpha多因子财务因子超额收益

这是什么

CAPM 的「单因子(只有市场)」升级版:把股票收益拆成 无风险 + β·市场 + 个股 α 三部分,再用财务因子去预测 α。文章先讲 CAPM 为什么「不完美」,再给 α 的建模与选股流程、回测结果与对冲改进建议。前提到《多因子策略-APT 模型》(post 1474,不在本库)与线性回归(post 1786,本系列 part 32)——真正讲 APT 理论的是那篇外部文章。

核心要点

CAPM 的回顾与它的不完美

  • 前提:投资者大多风险厌恶,高风险要求高预期收益;分散能消掉一部分风险,但市场风险、国家风险这类消不掉。
  • CAPM(1964,夏普/林特尔/特里诺/莫辛)按股票与市场风险的相关性估算单只股票的预期收益。
  • 记号:市场超额 R_M = r_M − r_f,股票超额 R_i = r_i − r_f;模型写 E[R_i] = β_i·R_M,或 r_i = r_f + β_i(r_M − r_f)。
  • 图像含义:β=0 时只有无风险收益;β 越大,超额收益与市场联动都越大。
  • 不完美在哪:CAPM 假设市场风险是唯一风险因子。现实里只靠市场解释不了收益,所以要加个股内秉的部分 α:r_i = r_f + β_i(r_M − r_f) + α_i。
  • α 的例子:市值因素、动量因素、各种财务因素——都是 CAPM 没写进去的「个股自己的因素」。

CAPM+APT:用财务因子预测 α

  • 假设:α 与公司财务指标密切相关。做法:拿历史的财务指标和历史的 α 做线性回归,用算出的系数 + 当期的财务指标预测下一期 α。
  • 数据结构(每只股票):t1 的因子值 ↔ t1至今的 α₁;t2 ↔ t2t1 的 α₂;…到 t4 ↔ t4~t3 的 α₄,共 4 期。N 只股票 × 4 期 = 4N 组观测。
  • 实际选的财务因子:市盈率、扣除非经常损益后的净利润、净资产收益率等九个指标(具体选取方法在 APT 原文章节)。
  • 回归模型:α = b₁F₁ + b₂F₂ + … + b_nF_n。估出系数后,把当期财务因子代入,算出未来一段时间的 α 预估值。

策略与回测

  • 策略四步:
    1. 按 CAPM 算股票池每只股票对应财报季度的 α。
    2. 把该季度的财报因子与 α 做多元线性回归。
    3. 用回归系数预测下一期 α。
    4. 把预测 α 排序,选 N 只 α 最大的持有;若 α>0 的不足 N 只,就全取 α>0 的;资产平均分配。
  • 对冲实现(原文提示):买入预期 α>0 的组合、卖空沪深 300 指数;把社区回测里的「日均收益率」换成同期的 α 观测值即可。
  • 回测:股票池沪深 300、N=0(原文如此,疑为笔误)、2006-01-01 到 2016-06-06,策略收益率 545.56%
  • 结论:总体比大盘略高,最近一两年尤为明显;叠加对冲应更好。
  • 超额曲线(策略净值÷大盘净值):08 年以后才总体有效;牛市表现好、熊市略有回撤。
  • 15 年后超额回撤看着大,部分是比例尺放大的假象:资产已涨好几倍,而股指期货只按最初资产价值的仓位对冲,效果自然变差。解法是动态调仓——按当前资产价值更新对冲仓位(作者说等股指期货回测功能上线再展开)。

机制 / 论证

  • 为什么用财务因子预测 α:α 是 CAPM 没解释的「个股内秉」,而市值、动量、财务这些因素历史上被证明能解释收益差——把它们对历史 α 回归,就是把「哪些财务特征带来超额」经验化。
  • 为什么回归能外推:假设因子与 α 的关系在时间上稳定,则「当期因子 × 历史系数」能估未来 α。这是样本内相关外推,成立与否取决于关系是否稳定。
  • 为什么买预测 α 最大的:α 高 = 超额强,按 CAPM 定价修正逻辑,高 α 股票之后收益会更高(本篇口径,与 CAPM 模型应用策略 的「买 α 最小」矛盾,见该页与下节)。
  • 为什么对冲后期权反而失灵:期货对冲仓位数按最初资产价值固定,资产涨了几倍后空单相对太小,盖不住股票仓——所以「按当前价值动态调仓」才是对冲的正确姿势。

可操作

  • 复现参数(保留原文):股票池沪深 300;9 个财务因子(含市盈率、扣非净利润、ROE);每只股票回看 4 个财报期做 4N 组回归;回测 2006-01-01~2016-06-06;策略收益率 545.56%(N=0 疑笔误,应为持仓数)。
  • 决策规则:预测 α>0 的股票、取 α 最大 N 只(不足 N 只就全取 α>0)、等权配置。
  • 对冲版:多头 α 组合 + 卖空沪深 300 指数;核心改进是按当前资产价值动态调整对冲仓位,不能固定最初仓位。
  • 涉及聚宽取数与计算:财务因子来自 get_fundamentals(聚宽行情与财务数据获取 API);收益回归可参考 part 32(OLS,W7);股票池/换仓参考 股票池(交易对象范围与过滤)聚宽策略框架(initialize / handle_data / before_trading_start)。raw 无代码,实现细节 [需要验证]。
  • 与既有页衔接:9 个因子里 PE/ROE/扣非利润的字段口径见 利润表(读懂一段时间赚了多少钱)(跨域)与财务概念页。

术语

  • APT:套利定价模型(Arbitrage Pricing Theory),允许收益由多个风险因子解释的理论;本文借它的「多因子」思路,具体内容在外部文章 post 1474,本库未收录。
  • α:CAPM 解释不了、归给个股自己的超额收益部分。
  • 多元线性回归:多个自变量(财务因子)预测一个因变量(α)的回归。
  • 财报季度观测:一只股票一个财报季的因子值与同期 α 组成一行数据。
  • 4N 组观测:N 只股票各取 4 期 = 4N 个样本点。
  • 扣除非经常损益后的净利润:去掉一次性损益的净利润(更接近主营盈利能力)。

不确定 / 待验证

  • APT 理论本身不在这篇 raw 里:本文多次引用《多因子策略-APT 模型》(post 1474),「α 与财务指标相关」的论证与因子选取方法都指向那篇外部文,本库未收录 [需要验证]。
  • 方向口径与 part 20 矛盾:本文「持有预测 α 最大的股票」(通行说法);part 20(同作者)写「买 α 最小」。本页照录两文原文,方向性结论待核对官方源码/附图 [需要验证]。
  • 回测「N=0」疑为笔误(若 N=0 则第四步选股无法执行),可能指未限持仓数或漏写数字 [需要验证]。
  • 「08 年以后才总体有效」与「最近一两年尤为明显」是 2006–2016 样本内的观察;样本外是否继续有效未验证。
  • 9 个财务因子的完整清单、各期 α 观测的具体切分(财报日 vs 区间)在附图表里,raw 未逐项列出 [需要验证]。
  • 对冲动态调仓只是建议,作者自述等股指期货回测上线再展开;15 年后超额回撤的「比例尺假象」判断为作者解释。
  • 545.56% 是策略净值口径(未对冲、未扣对冲成本)的累计收益。

相关

更新 2026-09-06

检索知识库

按标题、类型或正文检索