fama-french三因子模型python代码
时间: 2023-09-10 16:02:42 浏览: 261
Fama-French三因子模型是一个用来解释股票回报率的封闭形式模型。模型中的三个因子分别是市场因子、规模因子和价值因子。下面是一个使用Python编写的Fama-French三因子模型的代码示例:
```python
import pandas as pd
import numpy as np
import statsmodels.api as sm
# 读取数据
data = pd.read_csv('data.csv') # 示例数据包含股票回报率、市值和账面市值比
# 计算市场因子
data['Rm-Rf'] = data['Market_Returns'] - data['Risk-Free_Rate']
# 计算市值因子
data['SMB'] = np.where(data['Market_Cap'] < data['Market_Cap'].median(), 1, -1)
# 计算价值因子
data['HML'] = np.where(data['Book-to-Market'] < data['Book-to-Market'].median(), 1, -1)
# 添加截距项
data['intercept'] = 1
# 定义自变量矩阵X
X = data[['Rm-Rf', 'SMB', 'HML', 'intercept']]
# 定义因变量矩阵y
y = data['Stock_Returns']
# 运行回归模型
model = sm.OLS(y, X)
results = model.fit()
# 输出回归结果
print(results.summary())
```
这段代码首先读取包含股票回报率、市值和账面市值比的数据。然后,根据数据计算市场因子、市值因子和价值因子。接着,添加截距项,并定义自变量矩阵X和因变量矩阵y。最后,运行OLS回归模型,输出回归结果。
该代码能够提供数据的概要信息和回归结果,有助于分析股票回报率的解释变量。
阅读全文