量化百科

【量化】Fama-French三因子模型构建策略

由polll创建,最终由polll 被浏览 101 用户

导语: CAPM模型认为,收益风险同源。市场风险是唯一能给股票带来超额收益的风险。但是事实上除了市场风险外,Fama-French认为市场上还存在还有市值风险,账面市值比风险等,据此建立的模型被称为“Fama-French三因子模型”。本文旨在深入浅出介绍三因子模型的思想并提供一个选股应用。

![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='257' height='345'></svg>)

本文由JoinQuant量化课堂推出,由官号转载,已授权 。本文难度标签为进阶上,理解深度标签:level-0

**作者:**导数君

**编辑:**宏观经济算命师

阅读前需要了解:

线性回归模型,理解深度:level 0

CAPM模型,理解深度:level 0

有关理解深度:

level0表示知道模型的原理,输入输出;

level1表示知道模型推导原理;

level2表示能严格用数学工具对模型进行推导。

Fama-French三因子模型概述

看到CAPM模型,大家有没有想过,为什么有的股票有正的超额收益,有的股票的超额收益却是负的?是不是市场风险不能够完全解释个股的超额收益?

是的。

Fama和French这两个人研究股票超额收益率的时候发现了一个神奇的现象:有两类股票的历史平均收益率一般会高于CAPM模型所预测的收益率。它们是小公司股票、以及具有较高股权账面-市值比的股票。Fama和French分析后认为:1)市值比较小的公司通常规模比较小,公司相对而言没那么稳定,因此风险较大,需要获得更高的收益来补偿;2)账面市值比就是账面的所有者权益除以市值(下以简称B/M)。B/M较高则说明市场上对公司的估值比公司自己的估值更低。这些公司一般都是销售状况或者盈利能力不是十分好的公司,因此相对于低B/M的公司来说需要更高的收益来补偿。

这个三因子模型的本质就是把CAPM中的 alpha (未被解释的超额收益)分解掉,将其分解成市值因素、B/M因素和其他未被解释的因素(可以看成是新的 alpha ),可以用如下公式表达:

R_i=a_i+b_i R_M+s_i E(SMB)+h_i E(HMI)+varepsilon _i 其中 R_i=E(r_i-r_f)指股票i比起无风险投资的期望超额收益率。 R_M=E(r_M-r_f),为市场相对无风险投资的期望超额收益率,E(SMB)是小市值公司相对大市值公司股票的期望超额收益率,E(HMI)则是高B/M公司股票比起低B/M的公司股票的期望超额收益率,而 varepsilon_{i}是回归残差项。

对三因子模型的理解

上面这个三因子模型和CAPM模型在表达式上面的区别就是多了几个回归的自变量。因此,

打眼一看,不少的读者(包括小编第一次接触的时候)可能会觉得这个模型只是为传统多因子模型提供了两个因子(市值、B/M)而已,然后用传统的因子打分、回归等方法进行选股。

小编只想说,其实并不是这样。

诚然,上面这种理解也可以用来建模,但它并不是本来Fama和French想表达的!那么他们究竟想说什么呢?我们再仔细看一下三因子模型的表达式:

R_i=a_i+b_i R_M+s_i E(SMB)+h_i E(HMI)+varepsilon _i

R_iR_M是什么,前文刚介绍过。但这个E(SMB)怎么理解呢?Fama把市场里面的所有股票按市值排序,然后等分成三份:第一份是大市值股票(市值在所有股票中最大的1/3),第二份是中市值股票,第三份是小市值股票(市值在所有股票中最小的1/3)。记大市值股票的平均期望收益率为 E(r_S),小市值股票的期望收益率为 E(r_B)。那么 E(SMB)=E(r_S )-E(r_B)。E(HMI)的定义也类似。

小编认为,三因子模型的贡献,在于发现了股票的期望收益不仅仅与市场的系统风险有关,还和市值风险和账面市值比风险有关。市值和B/M这一类因子是对市场整体进行一个衡量的,而不是对个股的衡量。

对于市场的衡量,我们也可以用多元线性回归的方法来估计。三因子模型的表达式中 a_i,b_i,s_i,h_i都是回归系数, b_i描述的是股票本身的市场方面风险的大小, s_i描述的是股票本身的市值方面风险的大小, h_i描述的是股票本身的账面市值比方面风险的大小。

三、FF三因子模型套利法选股

举一个具体应用的例子:

我们再看一眼三因子模型的表达式(是最后一眼了,各位别烦躁):

R_i=a_i+b_i R_M+s_i E(SMB)+h_i E(HMI)+varepsilon _i

如果默认三因子模型是正确的,而且市场风险、市值风险、账面市值比这三类风险能很好地解释个股的超额收益, alpha _i的长期均值应该是0。那么,如果对于某个时期的股票,回归得到 alpha_i,说明这段时间里面收益率偏低(因此股价也偏低),而根据有效市场假设,出来混总是要还的,今天的偏离在未来要涨回来的。

所以我们的选股思路非常简单:

  1. 先设定一个调仓频率,每T=10天调仓一次
  2. 设定一个样本长度S=63天。
  3. 然后在调仓日对于过去S天的数据进行回归分析,计算出每个股票在过去的S天里面 alpha_i观测值,
  4. 然后买入 alpha_i最小的N(N=10)支股票即可。

以上参数皆可调整,详细的回测代码及其注释见这里 。2006年至今的收益率高达792.67%,不仅跑赢了大盘,还跑赢了不少转化为多因子模型的方法的选股策略。下图表示这个策略的收益情况:

![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='554' height='139'></svg>)

这个策略的Alpha高达18.4%,而且beta非常接近1,因此可以使用沪深300指数来对冲市场风险从而获得超额收益,下图表示这个策略的净值和沪深300组合的净值的比值:

![](data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='554' height='407'></svg>)

从这个图中我们可以看出,虽然在熊市的时候回撤较大,但是如果用适合仓位的沪深300股指期货进行对冲的话,收益还是比较稳定的,因此说明了这个策略还是非常有效的。

好啦,本篇到此为止,欢迎关注后续文章!

代码和回测请见:https://www.joinquant.com/post/1668

本文由JoinQuant__量化课堂推出,版权归JoinQuant__所有,商业转载请联系我们获得授权,非商业转载请注明出处。

标签

Fama-French三因子模型Fama-French五因子模型