python求真因子,python质因子列表
代码和数据见文末。
主要内容:
首先,CAPM的缺陷和三因素模型的诞生
双因素和三因素模型原理
三、Python三因素模型选股实践
首先,CAPM的缺陷和三因素模型的诞生
在CAPM模型经历了大量的实证研究和应用之后,有证据表明市场风险溢价并不能完全解释单个风险资产的收益率。于是很多研究者开始探索其他因素,如公司市值、PE、杠杆率、市净率等。
法马和弗伦奇对各种因素进行了综合组合分析。当单独使用或与其他因素结合使用时,的解释力较弱。市值、PE(市盈率)、杠杆率、BM(市净率,PB的倒数)单独使用时,都对收益率有很强的解释力,但组合使用时,市值和BM会削弱杠杆率和PE的解释力。
后来,Fama和French提取了市场风险溢价因子、市场价值因子和市净率因子三个重要因子,以收益率为因变量构建了类似CAPM的线性模型,即著名的三因子模型。
双因素和三因素模型原理
三因子模型中的三个因子是组合的收益率:市场风险溢价因子对应市场组合的收益率,市值因子对应市值小的长公司和市值大的短公司的组合的收益率,市净率因子对应BM高的长公司和BM低的短公司的组合的收益率。三因素模型的形式为:
你可以看到这里使用了期望,所以我们仍然转换成线性回归模型的形式:
所以大家都很熟悉一个常数项,三个自变量,一个误差项,一个因变量,一个合适的多元线性回归模型。和CAPM一样,代表超额收益率。越高越好,我们的投资组合就越好。
看到这么多名词不要怕。在实际应用中,这些数据都是已知的。我们只是把数据扔给计算机,通过最小二乘法得到,B,S,H的估计值以及它们是否显著。
唯一稍微麻烦的是SMB和HML的计算。这部分股票需要按照流通市值分为1: 1的大盘股(B)和小盘股(S)。根据BM数据,股票分为三组:3: 4: 3的高、中、低(H/M/L);这样我们一共有6个23的投资组合(SL/SM/SH/BL/BM/BH)。然后我们通过市值加权平均计算各组的收益率,最后我们计算中小企业和HML:
三、Python三因素模型选股实践
1.计算中小企业和HML
导入必要的库。
定义计算函数
计算和存储数据。
根据我的实际测试,计算两年的数据大概需要七八分钟。我们可以将整个历史数据一次性计算出来,存储在本地或者数据库中,然后直接调用。
毕竟这两种组合的收益率的计算不是我们这一节的重点。
2.选择股票和基准指数
以这些股票为例,但这些股票可能代表性太强,接近指数的波动形态。自己动手练的时候,建议选择不同市值和PB水平的股票进行测试。这里只说明方法。
这里的GeA指的是全国a股指数,可以更好的代表整个a股市场。
数据集成和简单探索
观察数据之间的相关性。
红色代表正相关,蓝色代表负相关。颜色越深,相关性越强。
产出顺序图
累积产量序列图
多元线性方程的求解
求解过程如下。这次不帮你解读结果了。让我们试着自己去理解它们。
我想提供一些建议。x1、x2和x3分别对应市场风险溢价因子、市值因子和市净率因子。const对应的是常数项,即超额收益率。
一般来说,当p的值小于0.05时,我们认为这个因素对成品率有显著影响。
这里放个图就行了,剩下的结果可以在我提供的J里找到。
Upyter笔记本文件。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。