01
三因子回归模型
Fama-French三因子回归是量化中最经典的模型之一,最早提出是在论文《Common risk factors in the returns on stocks and bonds》中,FAMA三因子回归模型可表示如下
其中,rt为投资组合的收益率,rf为无风险收益率,SMB为规模因子,HML为账面市值比因子,MKT为市场因子。
Fama-French三因子回归通过计算上述的三个因子,对股票的收益来源进行了分解。本文基于这篇论文,在A股上实现Fama-French三因子回归全流程。
论文及源码数据的获取方式见文末
。
02
解释变量
解释变量为三个因子SMB、HML、MKT,先贴上论文中因子定义原文,当然如果你不想看英语,可以跳过看后面我给的说明。
股票按规模分组
股票按账面市值比分组
分组后计算SMB、HML
MKT定义
总结一下
每年五月末,将股票按市值等分为两组Big(B)、Small(S),将账面市值比按30%、40%、40%分为三组Low(L)、Middle(M)、High(H)。上述分组组合之后可以得到六个组合:B/L、B/M、B/H、S/L、S/M、S/H。作者提到之所以规模分两组,账面市值比分三组是考虑到账面市值比的效果更强(黄色部分)。
计算这六个组合的市值加权收益率(Value-weighted return) ,作者提到计算市值加权收益率一方面是为了最小化方差,另一方面可以捕捉到大市值和小市值股票的不同特征。
HML、SMB因子定义如下
公式中左边代表每个组合的市值加权收益率,HML、SMB分别刻画了规模因子和账面市值比因子的风险溢价。
MKT因子定义为RM-RF,其中RM为全市场股票市值加权收益率,RF是无风险利率
以上是解释变量的定义。
03
被解释变量
被解释变量为投资组合的收益率,作者使用doublesort的方法构建了25个投资组合(关于doublesort可以看往期推文:
因子评估——双重排序
)。
还是先给出论文的定义
总结一下
,其实和前文自变量分组的方式是一样的,每年的5月末进行分组,只不过这一次对市值和账面市值比都分别分成5等分,组合之后得到25个投资组合,并计算这25个投资组合的市值加权收益率,作为因变量。
以上就是本文模型部分的全部说明,论文中还讨论了一些其他处理细节,有兴趣可以看看。
在定义好了自变量和因变量之后,就可以做25次回归,对结果进行分析。接下来用A股数据进行实证分析。
04
FF3因子的A股实证
先说明使用的数据
HML、SMB、因变量:使用2009年-2019年全A股月度数据进行计算(用其他频率也可)
MKT:MKT的计算比较简单,直接使用中国资产管理研究中心提供的数据了,当然如果想自己算的话,RM可以考虑用中证全指的收益率,RF可以用10年期国债到期收益率。
数据格式如下,如果你有其他数据源,处理成如下的形式,可以直接使用本文的代码
价格数据
估值数据
市值数据
MKT因子
接下来是实证部分,首先把账面市值比BM和市值mkt数据拼在一起,然后剔除新股和ST股,让结果稳健一些,当然也可以不剔。
price = pd.read_csv(
'复权价格.csv')
ST = pd.read_csv(
'ST.csv')
pb = pd.read_csv(
'PB.csv')
mkt = pd.read_csv(
'mkt.csv')
ipodate = pd.read_csv(
'上市日期.csv')
# 日期处理
price[
'tradedate'] = pd.to_datetime(price.tradedate)
ST[
'entry_dt'] = pd

本文介绍了Fama-French三因子回归模型在A股市场的应用,通过计算规模因子SMB、账面市值比因子HML和市场因子MKT,对股票收益来源进行分解。文章详细阐述了因子定义、数据处理和实证分析过程,展示了A股25个投资组合的回归结果,揭示了不同因子的显著性和影响。
最低0.47元/天 解锁文章
920

被折叠的 条评论
为什么被折叠?



