统一视角下的因子投资

CAPM

资本资产定价模型(Capital Asset Pricing Model, CAPM)说:

E(Ri)−Rf=βi(E(RM)−Rf)E(R_i)-R_f = \beta_i(E(R_M)-R_f)

其中

  • RiR_i 指资产 ii 的收益率
  • RfR_f 指无风险收益率
  • RMR_M 指市场组合的收益率
  • βi=Cov(Ri,RM)Var(RM)\beta_i = \frac{Cov(R_i,R_M)}{Var(R_M)},指资产 ii 对市场风险的暴露程度。

上面的式子就是在说:资产的预期超额收益率由市场组合的预期超额收益率和资产对市场风险的暴露大小决定。

CAPM是最简单的线性因子模型,市场组合也被称为市场因子。

这里应当思考,市场组合是什么?按上面的解释, RMR_M 是市场组合的收益率,市场组合是导出这个收益率的东西,其数学形式目前还没有展现。

看因子的定义。

线性多因子定价模型

CAPM提出的这个简单的关系为后续大量线性多因子定价模型的研究拉开了序幕。 人们发现不同资产的收益率并非由单一的市场因子决定, 而是同时受到其他因子的影响。

Ross(1976) 提出了著名的套利定价理论(Arbitrage Pricing Theory, APT) , 在CAPM的基础上做了进一步延伸, 构建了线性多因子定价模型(简称多因子模型) 。 多因子模型假设资产i的预期超额收益由以下多元线性模型决定:

E(Rie)=βiTλE(R_i^e) = \boldsymbol\beta_i^T\boldsymbol \lambda

其中

  • E(Rie)E(R_i^e) 指资产 ii 的预期超额收益
  • βi\boldsymbol\beta_i 指资产 ii 在不同因子上的暴露组成的向量
  • λ\boldsymbol \lambda 指因子预期收益率,也常被称为因子溢价

为何舍弃 E(Ri)−RfE(R_i)-R_f 而用 E(Rie)E(R_i^e)表示超额收益

有一类资产是多空对冲构建的资金中性投资组合,比如做多资产 ii 的超额收益率是 Ri−RfR_i-R_f ,做空资产 jj 的超额收益率是 Rj−RfR_j-R_f,若我们构建资产组合为做多 ii ,做空 jj ,那么这个资产组合的收益率为

(Ri−Rf)−Rj−Rf=Ri−Rj(R_i-R_f) - R_j-R_f = R_i - R_j

为了包括这种超额收益率的计算,采用符号 E(Rie)E(R_i^e)。

以下简称预期超额收益率为预期收益率。

上面的模型在说:资产的预期收益率由一系列因子的预期收益率和资产在这些因子上的暴露决定。

这个模型比较不同资产在同一时间截面上的预期收益率之间的差异,而不是同一资产在时序上的收益率。

这个模型当然不能完美地贴合现实,故上式左右两侧常常并不相等,而是存在定价误差 (pricing error) αi\alpha_i:

E(Rie)=αi+βiTλE(R_i^e) = \alpha_i + \boldsymbol\beta_i^T\boldsymbol \lambda

可以从两个角度来理解定价误差:

  • 模型有误,遗漏了因子。(有个疑惑:为什么不说是整个模型有误,为什么认为线性模型是正确的?)
  • 模型没有问题,但我们现实中只能观察到一个截面数据 RieR_i^e,它与期望有差异是被允许的。
    • 若差异并非显著偏离零,这可以被归因给随机性
    • 若显著偏离零, 它则代表了某个可以通过套利而获得超额收益的机会; 它也同时说明由于某些原因, 市场对该资产出现错误定价(mispricing) , 从而导致其实际预期收益率和多因子模型下的预期收益率出现了偏离。

如何选择因子来构建多因子模型, 如何计算资产在因子上的暴露以及因子的收益率, 如何使用统计学的方法对定价误差αi进行正式检验就成了使用多因子模型研究资产定价时必须回答的问题。 而多因子模型一经提出, 用来回答上述问题的相关理论也得到了迅速的发展。 如今多因子模型早已成为实证资产定价(empirical asset pricing) 研究的最主要方法, 也由此在投资实务中催生了一个全新的类别——因子投资(factor investing) 。

因子、多因子模型和异象

对于某个给定的资产 ii, 如果它的实际预期收益率和多因子模型隐含的预期收益率之间的误差 αi\alpha_i 显著不为零, 则称这个资产为一个异象(anomaly) 。

下面给出因子的定义:

一个因子描述了众多资产共同暴露的某种系统性风险, 该风险是资产收益率背后的驱动力; 因子收益率正是这种系统性风险的风险溢价或风险补偿, 它是这些资产的共性收益。

以上定义导出了因子需要满足的两个必要条件:

  1. 因子驱动了资产收益率的共同运动(co-movement) , 因此因子一定和资产收益率的协方差矩阵有关;
  2. 从长期来看因子是可以获得正收益的, 这意味着因子必须是被定价的。

不应该把所有因子都放在一个多因子模型里。 选择因子时应考虑以下两点:

  • 人们希望加入模型的因子是相互独立的、 每个因子都能对解释资产预期收益率截面差异有显著的增量贡献。
  • 简约法则(The Law of Parsimony)。从定义出发, 每个因子代表的是资产暴露的某种共性风险。 因此从常识来说, 多因子模型中因子的个数一定是有限的。

异象变量:构建异象的指标。

举个例子, 在股票市场中, 人们经常根据某个公司财务指标或者量价指标来把股票排序, 并按照排序高低构建一个多、 空对冲投资组合,若投资组合的 α\alpha 显著大于零,则该投资组合是异象,而构建该组合的指标就是异象变量。


αi\alpha_i 和 λ\boldsymbol \lambda 都被称为因子,前者被称为异象因子,后者被称为定价因子。

截面角度 vs 时序角度

多因子模型是关于均值的模型。预期收益率是收益率在时间序列上的平均。资产 ii 的收益率 RieR^e_i 是一个随机变量,给定时间 tt ,它有一个实现值 RiteR^e_{it} 。 同样地,因子也都是随机变量,在给定时间点有实现值。这样,多因子模型可以沿时间轴展开:

Rite=αi+βiTλt+ϵitR^e_{it} = \alpha_i + \boldsymbol \beta_i^T\boldsymbol \lambda_t + \epsilon_{it}

注意 αi\alpha_i 与时间无关,如何理解?这是模型假设?如何理解这个假设?

在时序角度下,因子投资中的两个重要问题是方差模型和因子择时。

方差模型

把 NN 个资产的时序多元回归模型放在一起表达:

Rte=α+βtTλt+ϵtR^e_t = \boldsymbol \alpha + \boldsymbol \beta_t^T\boldsymbol \lambda_t +\boldsymbol \epsilon_t

其中

Rte=[R1te⋯RNte]Tα=[α1⋯αN]Tβ=[β1⋯βN]ϵt=[ϵ1t⋯ϵNt]T\begin{align*} R^e_t &= \begin{bmatrix}R^e_{1t} & \cdots & R^e_{Nt}\end{bmatrix}^T\\ \boldsymbol\alpha &= \begin{bmatrix}\alpha_1 & \cdots & \alpha_N\end{bmatrix}^T\\ \boldsymbol\beta & = \begin{bmatrix}\boldsymbol\beta_1 & \cdots & \boldsymbol\beta_N\end{bmatrix}\\ \boldsymbol\epsilon_t &= \begin{bmatrix}\boldsymbol\epsilon_{1t} & \cdots & \boldsymbol\epsilon_{Nt}\end{bmatrix}^T \end{align*}

  • RteR^e_t: tt 时刻诸资产期望收益率构成的向量
  • α\boldsymbol\alpha : 定价误差向量,注意这家伙跟 tt 无关。(如何理解?)
  • β\boldsymbol\beta:因子暴露矩阵
  • ϵt\boldsymbol\epsilon_t :随机扰动向量,满足 E(ϵt)=0,Cov(λt,ϵt)=0E(\boldsymbol\epsilon_t)=\boldsymbol 0, Cov(\boldsymbol \lambda_t,\boldsymbol\epsilon_t)=\boldsymbol 0

对上式两边同时求协方差矩阵,得

Σ=βΣλβT+Σϵ\Sigma = \boldsymbol\beta\Sigma_\lambda \boldsymbol\beta^T + \Sigma_\epsilon

这里补充一些多元统计的东西:

  • Cov(X,Y)=E[(X−μX)(Y−μY)]=[Cov(Xi,Yj)]Cov(\boldsymbol X,\boldsymbol Y) = E[(\boldsymbol X-\mu_{\boldsymbol X})(\boldsymbol Y-\mu_{\boldsymbol Y})] = [Cov(X_i,Y_j)]
  • Cov(Y,X)=Cov(X,Y)TCov(\boldsymbol Y,\boldsymbol X) = Cov(\boldsymbol X,\boldsymbol Y)^T
  • Cov(⋅,⋅)Cov(\cdot,\cdot) 具有双线性
  • Cov(AX,BY)=ACov(X,Y)BTCov(A\boldsymbol X,B\boldsymbol Y) = ACov(\boldsymbol X,\boldsymbol Y)B^T

上式意味着因子必须和资产的协方差矩阵有关。

由于因子体现资产的的共性收益,一个好的模型应该尽可能解释不同资产收益率之间的共性运动。反映到上式就是说,因子的选择应该使得 βΣλβT\boldsymbol\beta\Sigma_\lambda \boldsymbol\beta^T 尽可能接近资产协方差矩阵 Σ\Sigma 的非对角线元素。

计算投资组合的波动率必须知道资产收益率之间的协方差。从数学上说, 如果使用历史收益率序列计算样本协方差矩阵,那么历史数据的期数 TT 需满足 T≥NT\ge N , 否则用历史数据估算出的样本协方差矩阵就是不可逆的。当资产个数 NN 很大时, 要求 T≥NT\ge N 是不切实际的。 然而,如果把资产的收益率通过多因子模型转化为因子的收益率, 则可以大大简化上述问题。

假设有 NN 只股票,每只股票我们有 TT 期的收益率样本,排成矩阵:

R=[r11⋯r1N⋮⋮rT1⋯rTN]R=\begin{bmatrix} r_{11} & \cdots & r_{1N} \\ \vdots & & \vdots \\ r_{T1} & \cdots & r_{TN} \end{bmatrix}

易知协方差矩阵可以用 (R−1T11TR)T(R−1T11TR)(R-\frac{1}{T}\boldsymbol{1}\boldsymbol{1}^TR)^T(R-\frac{1}{T}\boldsymbol{1}\boldsymbol{1}^TR) 估计,而它的秩如同 R−1T11TRR-\frac{1}{T}\boldsymbol{1}\boldsymbol{1}^TR (这是一个 T×NT\times N 矩阵,下记为 XX),且其形状为 N×NN\times N ,而

rank(XTX)=rank(X)≤min{T,N}\mathrm{rank}(X^TX) = \mathrm{rank}(X)\leq \mathrm{min}\{T,N\}

所以想满秩,必须有 T≥NT\geq N。

为了计算投资组合的权重。

记资产收益率向量为 rr ,权重为 ww (ww 分量之和为 11),那么投资组合的波动为

Var(wTr)=Cov(wTr,wTr)=wTΣrwVar(w^Tr) = Cov(w^Tr,w^Tr) = w^T\Sigma_r w

要求使得波动最小的 ww 。这是条件极值问题,用拉格朗日方法可以解,有唯一解的条件正是 Σr\Sigma_r 可逆。

交易日的数量肯定比股票数量大了,为啥说不现实呢?我的理解是,这个模型假定 αi\alpha_i 与时间无关,但怎么会与时间无关呢?应该理解为短时间不变,这样的话,交易日窗口 TT 就不能拉太大。

在多因子模型中, 因子的个数 KK 往往远小于资产的个数, 因此使用多因子模型分析资产收益率相当于一种降维处理。使用多因子模型计算资产协方差矩阵并进行风险控制的有很多, 但其中最著名的大概要数Barra多因子模型。

因子择时

如果能够通过择时来挑出某个因子“好使”的时候配置、 在它“不好使”的时候规避, 那么无疑会提高使用因子的风险收益水平。 正是在这个动机的趋势下, 因子择时始终是业界的研究热点之一


统一视角下的因子投资
https://wtx17.github.io/2026/06/28/统一视角下的因子投资/
作者
wtx
发布于
2026年6月28日
更新于
2026年11月6日
许可协议