fama matlab源码_基于优化算法改造的Fama-French三因子模型

基于光大证券金融工程研报《站在巨人的肩膀上,从牛基组合到牛股发现 ——FOF 专题研究系列之十六 》中提及的Carhart四因子Alpha优化模型,本文在Fama-French三因子模型上进行了优化算法的Python代码实现,并对优化模型中的最优化T-统计量进行重构,得到了令人满意的结果。

一、Fama-French三因子模型简介

对于最基本的收益率归因模型CAPM而言,投资组合的收益率仅与整个市场的系统风险存在线性关系,然而CAPM模型在某些特定情况下并不能很好的解释收益,因此我们需要在模型中加入其他因子对收益率进行解释,其中广泛使用的模型有Fama-French三因子模型、Carhart四因子模型、Fama-French五因子模型。

研报(《站在巨人的肩膀上,从牛基组合到牛股发现 ——FOF 专题研究系列之十六 》)选取了Carhart四因子模型对基金的收益进行归因,而本文由于数据的缺失,退而求其次采用了Fama-French三因子模型。尽管三因子模型在收益率解释度上与四因子模型存在差异,但是从验证算法的角度而言,两者并不存在太大的差别。因此,我们最终选取Fama-French三因子模型进行归因分析,模型如下:

其中,上标

代表某一时间段的数据;

代表投资组合的复权净值收益率;

代表同时段内的无风险收益率,采用十年期国债收益率替代;

则代表投资组合的Alpha收益,即基金选股能力。其余三个因子的解释如下:

:代表市场因子。

表示市场基准组合收益率,参考研报中的取值,本文同样以中证全指收益率代替。相同的,

代表同时段内的无风险收益率,采用十年期国债收益率替代。

:代表规模因子,意即Small minus Big,表示小盘股与大盘股收益率之差。本文参考研报中取值,分别用中证500指数和中证100指数代表小盘股和大盘股。

:代表市值账面比因子,意即High minus Low主要是衡量高市值账面比与低市值账面比的股票收益率之差,本文采用沪深300成长与沪深300价值指数收益率之差作为替代(研报中采用中证800成长与中证800价值做替代)。对于SMB和HML的计算,也有另外的方法。首先根据流通市值将股票分为1:1的大市值(B)和小市值(S)股票;根据账面市值比数据将股票分为3:4:3的高中低(H/M/L)三组;通过组合可以得到2×3共计6种投资组合(SL/SM/SH/BL/BM/BH)。通过市值加权平均的方式求得各组的收益率,最后求得SMB和HML:

二、直接套用模型的Alpha偏差

对于被动的基准指数而言,其收益在Fama-French三因子模型上的Alpha应趋于0;对于研报中需要归因的大部分基金而言,这些基金的基准大多数为沪深300指数,因此原则上沪深300指数在Fama-French模型上的Alpha应该接近于0.

将三因子模型

中的

替换为沪深300指数收益率,收益率数据采用月频,数据计算区间为1年,每月进行滚动计算(本文的数据计算区间为12个月,即每个区间的数据长度为12),计算出的年化Alpha (α*12)结果如下:图1:沪深300指数年化Alpha

可以看出沪深300指数在Fama-French模型中存在明显的Alpha收益,这是不符合假设的;同时,若直接套用上述模型对基金进行回归计算,则计算出的Alpha将有一定程度上的失真。因此,我们将通过文章《Alphas in disguise: A new approach to uncovering them》中的优化算法,对Alpha进行调整。

三、基于优化算法改造Fama-French模型

同样的,本文基于《Alphas in disguise: A new approach to uncovering them》中的最优化算法,对三因子模型中的Alpha进行重新计算。其基本思路是对三个因子进行微调,其中微调参数为

(均为常数),则调整后的因子序列为 :

于是,我们可以得到改造后的模型为:

对新模型进行回归计算,就可以得到新的(

)Alpha收益。

根据以上模型,我们下一步应该考虑的即是如何选取合适的调整参数,使得

尽可能的小。首先,我们应该意识到,模型调整后,其回归系数

的值是不会改变的,这是容易理解的,因为坐标系的平移变换只改变直线的截距,不改变直线的斜率。

接下来,我们考虑(1.1)式经过回归计算的经验回归方程:

将(1.2)式与(1.3)式等号右侧部分进行对比,考虑到回归系数相等,且误差项

期望为0,可以得到:

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值