相关文章推荐
睿智的眼镜  ·  sqldataadapter fill ...·  1 年前    · 
坚强的打火机  ·  Document对象 - ...·  1 年前    · 
真实盈余管理 Stata程序

真实盈余管理 Stata程序

9 个月前 · 来自专栏 Python & RStata学习笔记

1. 真实盈余管理的基本原理

文献中广泛采用真实盈余管理的方法是 Roychowdhury (2006)

其基本原理是:分别计算经营活动的异常现金流 ABCFO_{i,t} 、异常生产成本 ABPROD_{i,t} 、异常酌量性费用 ABDISEXP_{i,t} ,进而得到真实盈余管理。

具体计算方法如下:

当公司进行向上的真实盈余管理时,会通过扩大生产以降低单位产品的成本获得更高的单位产品利润,表现出存货成本的增加,即异常生产成本增加;通过加大折扣放松信用销售增加利润,会带来现金流的减少,即异常经营现金流净额减少;通过减少R&D支出、广告费用、管理费用等方式增加利润时,则会导致酌量性费用下降。

Roychowdhury\left( 2006 \right) 计算真实盈余管理总量时,可用下列公式:

REM_{i,t}= -\left( \frac{ABCFO_{i,t}}{A_{i,t-1}} \right)+\left( \frac{ABPROD_{i,t}}{A_{i,t-1}} \right) -\left( \frac{ABDISEXP_{i,t}}{A_{i,t-1}} \right)

2. 真实盈余管理的分析步骤

2.1 第一步:估计正常生产经营活动现金流量及计算abCFO

*- 按行业年度回归分析
 use CFO, clear
*-变量winsorise
sum cfo At_1 s ds, detail
winsor2 cfo At_1 s ds, cuts(1 99) replace
sum cfo At_1 s ds, detail	  	  
replace ind = "C9" if ind=="C2" 
 *-每年度每个行业至少保留 15 家公司
 bysort ind year: egen num_ind_year = count(stkcd)
 keep if num_ind_year >=15  
 *-基本统计分析
 tab ind year
egen g=group(year ind)
return list
local n=r(max)
g e=.
forv i=1/`n'{
qui reg cfo At_1 s ds if g==`i'
qui predict r if e(sample),r
qui replace e=r if e(sample)
drop r
drop g
rename e abcfo
save abCFO, replace

2.2 第二步:估计正常生产成本及计算AbPROD

use PROD, clear
sum prod At_1 s ds ds_L, detail
winsor2 prod At_1 s ds ds_L, cuts(1 99) replace
sum prod At_1 s ds ds_L, detail	  	  
egen g=group(year ind)
local n=r(max)
gen e=.
forv i=1/`n'{
      qui reg prod At_1 s ds ds_L if g==`i'
      qui predict r if e(sample),r
      qui replace e=r if e(sample)
      drop r
      drop g
rename e abprod
save abPROD, replace

2.3 第三步:计正常费用支出及计算AbDISX

 *- 按行业年度回归分析
use DISX, clear
sum disx At_1 s, detail
winsor2 disx At_1 s, cuts(1 99) replace
sum disx At_1 s, detail	  
egen g=group(year ind)
local n=r(max)
gen e=.
forv i=1/`n'{
      qui reg disx At_1 s if g==`i'
      qui predict r if e(sample),r
      qui replace e=r if e(sample)
      drop r
      drop g
rename e abdisx
save abDISX, replace

2.4 第四步:构建RM可以综合衡量企业真实盈余管理水平

	  use abCFO1, clear
	  merge 1:1 stkcd year using abPROD, nogen keep(3)