静潭芙蕖 发表于 2017-3-7 10:43 
我最近的毕业论文也在开始计算DA,想向大佬交流请教一下可以嘛~~我的QQ:1239159570,万分感 ...
同学,不好意思,我这里的回归我发现是有问题的,翻了下论坛的帖子,这里是已有的3个方法:
clear
insheet using C:\Users\Administrator\Desktop\acc_data.csv
xtset num year
gen lasset=L.asset //生成asset的滞后一期
gen nda=profit-cfo
gen rev1=rev-L.rev
gen rec1=rec-L.rec
gen drev=rev1-L.rev1
gen drec=rec1-L.rec1
gen y=nda/lasset
gen x1=1/lasset
gen x2=ppe/lasset
gen x3=drev/lasset
gen x4=drec/lasset
//the first method,but could get the adjusted jones data
set matsize 1000
reg y (industry#year)##(c.x1 c.x2 c.x3)
predict yhat
sum yhat,detail
drop acc
gen acc=y-yhat
sum acc,detail
gen abacc=abs(acc)
sum abacc,detail
//method 2
egen t = group(year)
qui sum t
local Nt = r(max)
egen s = group(industry)
qui sum s
local Ns = r(max)
gen res = .
forvalues t = 1/`Nt' {
forvalues s = 1/`Ns' {
cap qui reg y x1 x2 x3 if (t==`t' & s==`s')
cap qui predict e if e(sample), res
cap qui replace res = e if e(sample)
cap drop e
}
}
sum res,detail
gen absres=abs(res)
sum absres,detail
//method three
statsby _b, by(industry year) saving(123.dta, replace): reg y x1 x2 x3
merge m:1 industry year using 123.dta
gen yhat = x1*_b_x1+ x2*_b_x2 + x3*_b_x3+ _b_cons
gen acc = y- yhat
这些都是可行的。不过对第一、二种拿到的是琼斯模型的数据,修正的琼斯模型我用的是第三种方法去提取