在变量中保存面板回归常量和残差

时间:2017-11-11 10:19:53

标签: regression panel stata

我在存储OLS回归的回归常数方面遇到了麻烦。我想在我的面板数据集中计算每家公司的每日回归率; obs_id表示公司和日期。

我尝试构建以下循环。不知何故,整个样本的保存系数是相同的。

foreach x in obs_id {
    newey retRF MktRF SMB HML if obs_id == `x', lag(0)
    mat A = e(b)
    quietly replace constant = A[1, 4] if obs_id == `x'
    matrix A = .
} 

感谢我对我的代码提出任何意见或建议。我也尝试了statsby,但我的样本太大而无法使用该命令。

1 个答案:

答案 0 :(得分:0)

您的循环是单个项目的循环,可以先重写

newey retRF MktRF SMB HML if obs_id == obs_id, lag(0)
mat A = e(b)
quietly replace constant = A[1, 4] if obs_id == obs_id 
matrix A = .

然后

newey retRF MktRF SMB HML, lag(0)
mat A = e(b)
quietly replace constant = A[1, 4] 
matrix A = .

您猜测或希望的不是foreach的工作方式。它看起来并没有"内部"命名的变量循环其不同的值。见help foreach

向我们展示您使用statsby尝试的内容和/或从SSC尝试runby。如果没有您的数据集或类似大小和形状的数据集,我们无法测试您在此处报告的问题。