fama bacbeth回归 的shanken correction 后的t-stastics 的python代码
时间: 2024-03-10 15:46:47 浏览: 36
Fama-MacBeth回归是一种用于估计资产定价模型参数的方法,Shanken Correction可以纠正样本内误差和样本选择偏差。下面是一个简单的Python代码实现:
```python
import numpy as np
import statsmodels.api as sm
def fama_macbeth_shanken_correction(y, X, bench_ret):
"""
Fama-MacBeth回归并进行Shanken correction
:param y: 因变量(收益率)
:param X: 自变量(因子收益率)
:param bench_ret: 市场组合收益率
:return: 估计参数、标准误、t值
"""
# 第一步:进行时间序列回归
betas = []
for i in range(X.shape[1]):
model = sm.OLS(y, sm.add_constant(X[:, i]))
results = model.fit()
betas.append(results.params[1])
betas = np.array(betas)
# 第二步:进行截面回归
model = sm.OLS(betas, sm.add_constant(X))
results = model.fit()
# 第三步:进行Shanken correction
num_assets = X.shape[0]
inv_cov_mat = np.linalg.inv(np.cov(X.T))
beta = np.zeros(num_assets)
for i in range(num_assets):
beta[i] = np.dot(X[i], betas) / np.var(bench_ret)
alpha = results.params[0]
alpha_correction = alpha + (alpha - 1) * np.dot(beta.T, np.dot(inv_cov_mat, beta)) * (np.var(betas) / np.var(bench_ret))
std_error = results.bse[0]
# 第四步:计算t值
t_value = alpha_correction / std_error
return alpha_correction, std_error, t_value
```
这个函数需要输入因变量(收益率)、自变量(因子收益率)和市场组合收益率。它会返回估计参数、标准误和Shanken correction后的t值。我们先进行时间序列回归,再进行截面回归,然后计算Shanken correction后的alpha值和标准误,最后计算t值。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)