【问题标题】:getting linear models fama macbeth function output获取线性模型 fama macbeth 函数输出
【发布时间】:2019-06-24 05:48:36
【问题描述】:

我对此功能有疑问。我想对按价值和规模排名的 25 个投资组合进行横截面回归。我有 7 个自变量作为等式的右侧。

import pandas as pd
import numpy as np
from linearmodels import FamaMacBeth

#creating a multi_index of independent variables
ind_var = pd.read_excel('FAMA_MACBETH.xlsx')
ind_var['date'] = pd.to_datetime(ind_var['date'])
# dropping our dependent variables
ind_var = ind_var.drop(['Mkt_rf', 'div_innovations', 'term_innovations',
   'def_innovations', 'rf_innovations', 'hml_innovations',
   'smb_innovations'],axis = 1)
ind_var = pd.DataFrame(ind_var.set_index('date').stack())
ind_var.columns = ['x']
x = np.asarray(ind_var)
len(x)

11600

#creatiing a multi_index of dependent variables
# reading in our data
dep_var = pd.read_excel('FAMA_MACBETH.xlsx')
dep_var['date'] = pd.to_datetime(dep_var['date'])
# dropping our independent variables
dep_var = dep_var.drop(['SMALL_LoBM', 'ME1_BM2', 'ME1_BM3', 'ME1_BM4',
   'SMALL_HiBM', 'ME2_BM1', 'ME2_BM2', 'ME2_BM3', 'ME2_BM4', 'ME2_BM5',
   'ME3_BM1', 'ME3_BM2', 'ME3_BM3', 'ME3_BM4', 'ME3_BM5', 'ME4_BM1',
   'ME4_BM2', 'ME4_BM3', 'ME4_BM4', 'ME4_BM5', 'BIG_LoBM', 'ME5_BM2',
   'ME5_BM3', 'ME5_BM4', 'BIG_HiBM'],axis = 1)
dep_var = pd.DataFrame(dep_var.set_index('date').stack())
dep_var.columns = ['y']
y = np.asarray(dep_var)
len(y)

3248

mod = FamaMacBeth(y, x)
res = mod.fit(cov_type='kernel', kernel='Parzen')

理想情况下带有 tstats 和错误的输出

我已经尝试了很多方法来让它发挥作用。在这一点上,我真的在考虑使用 SAS。真的,我更喜欢用 pandas 来运行它

我期望一个带有标准误差和 t 统计数据的横截面回归输出

【问题讨论】:

  • 我第一次使用 Stack Overflow,我确实包含了我的导入;请让我在这一点上感到非常沮丧;我假设我必须重塑数据,但我不知道如何去做。

标签: python regression finance


【解决方案1】:

我一口气让它工作了。请参阅此site 并运行以下 OLS 代码行:“这里使用规范的 Grunfeld 投资数据呈现差异。”

(注意这一行很重要:etdata = data.set_index(['firm','year']),否则 Python 将不知道运行 F&McB 的正确尺寸。)

然后运行:

from linearmodels import FamaMacBeth
FamaMacBeth(etdata.invest,etdata[['value','capital']]).fit()

注意,我将linearmodels 更新到了最新版本,这让我可以访问数据。

【讨论】:

    猜你喜欢
    • 2012-04-19
    • 2014-07-27
    • 2020-08-10
    • 2017-03-20
    • 2016-01-24
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    相关资源
    最近更新 更多