fama-french三因子模型的python代码
时间: 2023-08-11 15:06:55 浏览: 92
以下是 Fama-French 三因子模型的 Python 代码示例:
```python
import pandas as pd
import numpy as np
import statsmodels.api as sm
# 导入数据
data = pd.read_csv('data.csv')
# 计算市场收益率
market_return = data['market_return']
# 计算SMB因子
small_cap = data['small_cap']
big_cap = data['big_cap']
SMB = pd.Series((small_cap - big_cap).values, index=market_return.index)
# 计算HML因子
high_book_to_market = data['high_book_to_market']
low_book_to_market = data['low_book_to_market']
HML = pd.Series((high_book_to_market - low_book_to_market).values, index=market_return.index)
# 计算三因子模型
X = pd.DataFrame({'Market': market_return, 'SMB': SMB, 'HML': HML})
X = sm.add_constant(X)
Y = data['stock_return']
model = sm.OLS(Y, X).fit()
# 输出结果
print(model.summary())
```
其中,`data.csv` 是包含股票收益率、市场收益率、市值、账面市值比等数据的 CSV 文件,`small_cap` 和 `big_cap` 是小市值和大市值股票的收益率,`high_book_to_market` 和 `low_book_to_market` 是高账面市值比和低账面市值比股票的收益率。通过计算市场收益率、SMB 因子和 HML 因子,然后使用 `statsmodels` 包中的 `OLS` 函数进行回归计算,并输出结果。
阅读全文