WRDS 实战 - 美国上市公司盈余管理计算方法

WRDS 实战 - 美国上市公司盈余管理计算方法

美国上市公司盈余管理计算方法

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

* Dechow
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

* Kothari
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 结果展示

计算结果

原文

Dechow 原文
Kothari 原文

WRDS 实战 - 美国上市公司盈余管理计算方法

https://codefoxs.github.io/2025/11/17/21-美国上市公司盈余管理计算方法/

作者

CodeFox

发布于

2025-11-17

更新于

2025-11-17

许可协议

评论