全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2353 8
2012-09-10

ta=b0*cons+b1*rev+b2*ppe+e

上面这个是jones(1991)模型,

因为cons=1/total asset,所以在回归时我用的是nocons

e为残差,即da(操纵性应计)

我现在需要同时按年度、行业回归,且回归中需排除本公司。回归后的b0、b1和b2需要保存。我在进行下列运算时显示 not sorted,然后我sort Stkcd year后还是显示not sorted.我该怎么操作呢?

quietly forval i = 1/2000 {
by year: reg ta con rev ppe if ind==ind[`i'] & Stkcd!=Stkcd[`i'],nocons
matrix eb = e(b)
replace b0= eb[1,1] in `i'
replace b1 = eb[1,2] in `i'
replace b2 = eb[1,3] in `i'
replace N = `e(N)' in `i'
}

ind-行业

Stkcd-公司代码

我将reg那行换成 reg ta con rev ppe if ind==ind[`i'] & Stkcd!=Stkcd[`i'] & year==year[`i],nocons 的时候显示的是r(2000),no observations

另外,我不知道我这样做是不是能同时分行业分年度回归。请高手指教!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-9-10 17:30:54
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-9-12 22:20:57
感谢sungmoo的回复,帮助很大,学到很多。
但我的问题和别人不太一样,
1、我需要分年度分行业回归,并将回归系数保存下来,这和很多人的一样
2、回归时需要 按照年度和行业 并排除本公司 进行回归,所以我好像没办法用statsby解决的

下面是我写的:

egen g=group(year industry)
qui sum g
local g=r(max)
quietly forval i = 1/10000{
  bys g:reg y x1 x2 x3 if code!=code[`i'],nocons
  matrix eb = e(b)
  replace b0= eb[1,1] in `i'
  replace b1 = eb[1,2] in `i'
  replace b2 = eb[1,3] in `i'
  replace N = `e(N)' in `i'
}

运行后的结果还是不对(我用by year:reg y x1 x2 x3 if code!=1 & industry==18,nocons 验证过),求高手指教!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-9-14 07:15:35
没看懂你的问题。你的数据是什么样的?“排除本公司”与“分年分行业”是什么关系?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-9-14 10:32:54
学习
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-9-15 13:40:45
就是回归的计算需要:
分行业 分年度回归,回归时排除掉本公司
比如:公司代码为600001 这个公司,行业代码为1,会计年度为2010。回归时就是将 2010年行业代码都为1的公司进行回归求回归系数,但回归时要排除掉600001这个公司算系数,用stata命令就是:
by year:reg y x1 x2 x3 if code!=600001 & industry==1,nocons  这个命令就可以计算600001这个公司所有年份的回归系数了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群