美国上市公司盈余管理计算方法
0 准备工作
预处理 CCM 数据库
见我的上期文章:WRDS 实战 - CCM 的下载与预处理
1 盈余管理计算方法
这里主要介绍 Dechow et al.(1995)和 Kothari et al.(2005)的做法
1.1 Dechow et al.(1995)
也叫做 Modified Jones Model
$$
TA_{i,t} = \alpha_1 \frac{1}{A_{i,t}} + \alpha_2 \left( \Delta REV_{i,t} - \Delta REC_{i,t} \right) + \alpha_3 PPE_{i,t} + \varepsilon_{i,t}
$$
对上面公式分行业-年度回归,所得残差即为可操控盈余
下面对每个变量进行解释:
公式左侧:
根据 Dechow et al.(1995)对总盈余 $TA$ 的定义,
$$
TA_{t} = \left(\Delta CA_{t} - \Delta CL_{t} - \Delta Cash_t + \Delta STD_{t} - Dep_{t}\right) / A_{t-1}
$$
其中,
- $CA$ 为流动资产(current assets),在 Compustat 字段为
act
- $CL$ 为流动债务(current liabilities),在 Compustat 字段为
lct
- $Cash$ 现金及其等价物(短期投资)(cash and cash equivalents),在 Compustat 字段为
che(注意与 ch 区分)
- $STD$ 为流动债务中的负债(debt),在 Compustat 字段为
dlc
- $Dep$ 为折旧及摊销费用(depreciation and amortization),在 Compustat 字段为
dp
公式右侧:
- $A$ 为总资产(total assets),在 Compustat 字段为
at
- $REV$ 为营业收入,在 Compustat 字段为
revt
- $REC$ 为应收账款(按理来说应该是应收账款净额,但是我发现净额在数据库中太少了),在 Compustat 字段为
rect
- $PPE$ 为固定资产(Property, Plant and Equipment),在 Compustat 字段为
ppegt(注意用 gross 而不是 net)
1.2 Kothari et al.(2005)
其实就是在 Dechow 基础上加了个 $ROA$
$ROA$ 为净收入除以当期或者上一期总资产。净收入在 Compustat 字段为 ni
2 Stata 实践
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| use "CCM.dta", clear xtset gvkey fyear
gen delta_CA = D.act gen delta_Cash = D.che gen delta_CL = D.lct gen delta_DCL = D.dlc gen lag_A = L.at
gen TACC1_ta = (delta_CA - delta_Cash - delta_CL + delta_DCL - dp) / lag_A gen TACC2_ta = (ni - oanfc) / lag_A
gen delta_REV = D.revt gen delta_REC = D.rect gen term2 = (delta_REV - delta_REC) / lag_A
gen one_ta = 1 / lag_A gen PPE_ta = ppegt / lag_A
drop if missing(TACC1_ta, TACC2_ta, one_ta, term2, PPE_ta)
gen sic2 = real(substr(string(sic), 1, 2)) drop if missing(sic2)
asreg TACC1_ta one_ta term2 PPE_ta, by(sic2 fyear) fitted noconstant ren _residuals DA1_Dechow drop _Nobs-_fitted asreg TACC1_ta one_ta term2 PPE_ta, by(sic2 fyear) fitted noconstant ren _residuals DA2_Dechow drop _Nobs-_fitted
gen ROA = ni / lag_A gen LROA = L.ni / lag_A
asreg TACC1_ta one_ta term2 PPE_ta ROA, by(sic2 fyear) fitted noconstant ren _residuals DA1_Kothari drop _Nobs-_fitted asreg TACC1_ta one_ta term2 PPE_ta ROA, by(sic2 fyear) fitted noconstant ren _residuals DA2_Kothari drop _Nobs-_fitted asreg TACC1_ta one_ta term2 PPE_ta ROA, by(sic2 fyear) fitted noconstant ren _residuals DA3_Kothari drop _Nobs-_fitted asreg TACC1_ta one_ta term2 PPE_ta ROA, by(sic2 fyear) fitted noconstant ren _residuals DA4_Kothari drop _Nobs-_fitted
keep gvkey fyear DA1_Dechow DA2_Dechow DA1_Kothari DA2_Kothari DA3_Kothari DA4_Kothari
compress save "Earnings managements", replace
|
3 结果展示
计算结果
原文