pythonipo模型_【python量化】Fama-French三因子回归A股实证(附源码)

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

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值