Fama-French模型,特别是三因子模型(Fama-French Three-Factor Model)

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: Fama-French模型,特别是三因子模型(Fama-French Three-Factor Model)

Fama-French模型,特别是三因子模型(Fama-French Three-Factor Model),是金融领域用于解释股票收益率的一个重要模型。该模型由Eugene Fama和Kenneth French在1993年提出,旨在改进传统的资本资产定价模型(CAPM),以更好地解释股票市场的实际表现。

模型解释

Fama-French三因子模型认为,一个投资组合(或单只股票)的超额回报率(即实际收益率与无风险收益率之差)可以由三个因子来解释:市场风险因子、市值因子和账面市值比因子。

  1. 市场风险因子:代表了市场整体的风险水平,通常用市场投资组合的收益率与无风险利率之差来衡量。
  2. 市值因子:反映了公司规模对股票收益率的影响。通常,小市值公司的股票收益率会高于大市值公司。
  3. 账面市值比因子:即公司的账面价值与市场价值之比,反映了公司的价值被市场低估或高估的程度。高账面市值比的公司(即市场价值低于账面价值的公司)通常被认为具有更高的投资价值。

模型的具体形式为:

[ R{it} - R{ft} = \alpha_i + \beta1 (R{mt} - R_{ft}) + \beta_2 SMB_t + \beta_3 HMLt + \epsilon{it} ]

其中,( R{it} ) 是资产i在时间t的收益率,( R{ft} ) 是无风险收益率,( R_{mt} ) 是市场投资组合在时间t的收益率,( SMB_t ) 是市值因子,( HML_t ) 是账面市值比因子,( \beta_1, \beta_2, \beta_3 ) 是各因子的系数,( \alphai ) 是截距项,( \epsilon{it} ) 是残差项。

Python代码示例

以下是一个使用Python和statsmodels库实现Fama-French三因子模型的简单示例。请注意,为了简化示例,这里假设你已经有了市场风险因子、市值因子和账面市值比因子的数据。

import pandas as pd
import statsmodels.api as sm

# 假设df是一个包含以下列的DataFrame:
# 'Return': 股票收益率
# 'MarketRisk': 市场风险因子(R_mt - R_ft)
# 'SMB': 市值因子
# 'HML': 账面市值比因子

# 添加常数项作为截距项
df['const'] = 1

# 定义因变量和自变量
X = df[['const', 'MarketRisk', 'SMB', 'HML']]
y = df['Return']

# 使用OLS(最小二乘法)进行线性回归
model = sm.OLS(y, X)
results = model.fit()

# 输出回归结果
print(results.summary())

# 提取alpha值(截距项)和beta值(系数)
alpha = results.params['const']
beta_market = results.params['MarketRisk']
beta_smb = results.params['SMB']
beta_hml = results.params['HML']

print(f"Alpha: {alpha}")
print(f"Beta Market: {beta_market}")
print(f"Beta SMB: {beta_smb}")
print(f"Beta HML: {beta_hml}")

这段代码首先定义了一个包含股票收益率和三个因子的DataFrame。然后,它使用statsmodels库的OLS类进行线性回归,并输出回归结果。最后,它提取了alpha值和beta值,并打印出来。这些值可以帮助我们理解不同因子对股票收益率的影响程度。

相关文章
|
机器学习/深度学习 资源调度 监控
深度学习基础入门篇[六]:模型调优,学习率设置(Warm Up、loss自适应衰减等),batch size调优技巧,基于方差放缩初始化方法。
深度学习基础入门篇[六]:模型调优,学习率设置(Warm Up、loss自适应衰减等),batch size调优技巧,基于方差放缩初始化方法。
|
2月前
|
机器学习/深度学习 数据采集 监控
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
**神经网络与AI学习概览** - 探讨神经网络设计,包括MLP、RNN、CNN,激活函数如ReLU,以及隐藏层设计,强调网络结构与任务匹配。 - 参数初始化与优化涉及Xavier/He初始化,权重和偏置初始化,优化算法如SGD、Adam,针对不同场景选择。 - 学习率调整与正则化,如动态学习率、L1/L2正则化、早停法和Dropout,以改善训练和泛化。
24 0
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
|
3月前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进】EMA(Efficient Multi-Scale Attention):基于跨空间学习的高效多尺度注意力 (论文笔记+引入代码)
YOLO目标检测专栏介绍了创新的多尺度注意力模块EMA,它强化通道和空间信息处理,同时降低计算负担。EMA模块通过通道重塑和并行子网络优化特征表示,增强长距离依赖建模,在保持效率的同时提升模型性能。适用于图像分类和目标检测任务,尤其在YOLOv8中表现出色。代码实现和详细配置可在文中链接找到。
|
4月前
|
数据可视化
R语言nlme、nlmer、lme4用(非)线性混合模型non-linear mixed model分析藻类数据实例(上)
R语言nlme、nlmer、lme4用(非)线性混合模型non-linear mixed model分析藻类数据实例
|
4月前
|
资源调度 安全
R语言nlme、nlmer、lme4用(非)线性混合模型non-linear mixed model分析藻类数据实例(下)
R语言nlme、nlmer、lme4用(非)线性混合模型non-linear mixed model分析藻类数据实例
|
4月前
|
机器学习/深度学习 并行计算 数据可视化
Batch Size 对神经网络训练的影响
Batch Size 对神经网络训练的影响
66 0
|
4月前
|
数据可视化 测试技术
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例(三)
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
|
4月前
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例(二)
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
|
4月前
|
机器学习/深度学习 数据可视化 数据挖掘
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例(一)
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
|
4月前
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例(四)
【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例