*-贴一段代码,希望有用
*=============================================================
*- Lian Yu-jun
*- Email:
arlionn@163.com
*- Homepage:
http://toran.cn/arlion
*
*- Reproduce the results in Roychowdhury(2006, JAE)
* Roychowdhury, S., 2006,
* Earnings management through real activities manipulation,
* Journal of Accounting and Economics, 42 (3): 335-370.
*
*- 2011.04.06
*=============================================================
*-行业划分(制造业细分到次类,其他行业采用门类)
*-定义行业分类方法
*-参见 黄梅,夏新平(2009) 南开管理评论
clonevar sic2 = sicda_str
order id year sic2
replace sic2 = substr(sic2,1,1) if substr(sic2,1,1)!="C"
replace sic2 = substr(sic2,1,2) if substr(sic2,1,1)=="C"
replace sic2 = "C9" if sic2=="C2" // 将 C2 并入 C9
*-每年度每个行业至少保留 15 家公司
bysort sic2 year: egen num_sic_year = count(id)
keep if num_sic_year >=15 // Roychowdhury(2006, p.349)
*-基本统计分析
tab sic2 year
*------------------------------
*-4.2 Earning Managment 的估计
*------------------------------
*----------------
*-AEM Accruals
*----------------
*-行业重新编码 1,2,3 ……
cap drop sic123
egen sic123 = group(sic2 year), label lname(sic_year)
qui sum sic123
global N = r(max)
*-分行业, 分年度回归分析
dropvars DACC e
gen DACC = .
forvalues i = 1/$N{
qui reg acc invA DS_DAR PPE if (sic123==`i')
qui predict e if e(sample), res
qui replace DACC = e if e(sample)
drop e
}