2017-11-11 273 views
0

我在存储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,但我的示例太大而无法使用该命令。

+0

在https://www.statalist.org/forums/forum/general-stata-discussion/general/1417810-loop-error-when-saving-regression-coefficients上交叉发布类似的问题告诉人们关于跨学科的问题,张贴是礼貌的,并没有这样广泛弃用。 –

+0

对于不适用规则并向您保证这不会再发生,我表示歉意。 –

+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。如果没有您的数据集或类似的大小和形状,我们无法测试您在此处报告的问题。