手把手教你整理盈余管理的数据

⼿把⼿教你整理盈余管理数据
本⽂作者:王凯丽
本⽂编辑:李朋冲
技术总编:李春涛
盈余管理是财务⾦融研究经久不衰的话题,本⽂分四个部分详细讲解盈余管理数据的整理过程,包括盈余管理指标的度量⽅法(理论)、数据下载、数据处理以及盈余管理指标的计算。
⼀、盈余管理指标的度量⽅法
1. 可操控应计项⽬
Jones(Jones ,1991)最早构建模型发现,在⼀般情况下,企业的应计利润与销售量、固定资产和应收账款之间存在⼀个稳定的线性关系。Dechow在Jones模型的基础上,提出了修正的琼斯模型(Dechow et al., 1995),其认为这种稳定的线性关系也存在于同⼀个⾏业的企业中,可以利⽤同⼀个⾏业中多个企业的数据,来拟合这⼀线性关系,以计算可操控应计项⽬(discretionary accruals)。具体计算可操控应计项⽬的步骤如下:
⾸先,对每个⾏业和会计年度的企业估计如下回归⽅程:
⽅程中下标i代表每⼀个公司,t代表每⼀个年份;TA表⽰总的应计项⽬(total accruals),其定义为TA=NI-CFO,其中NI表⽰净收⼊,CFO表⽰经营现⾦流量;ASSET代表总资产账⾯价值;ΔREV表⽰营业收⼊的增量;ΔAR表⽰应收账款的增量;PPE表⽰固定资产账⾯价值。
其次,⽤估计的参数来计算正常应计项⽬,⽅程如下:
其中NDA表⽰不可操控应计项⽬(non-discretionary accruals)。
最后,可操控应计项⽬定义如下:
其中,当时,其可以反映管理层正向的盈余管理;当时,其可以反映管理层负向的盈余管理;操纵性盈余管理的绝对
值|DA|反映了盈余管理的程度。
2.真实的盈余管理
本⽂还参考Cohen 和 Zarowin (2010)的⽂章,⽤真实的盈余管理来作为另⼀种衡量盈余管理的指标,其中涉及异常现⾦流、异常⽣产成本和异常费⽤三个指标的构建。
1)异常现⾦流
⾸先,构建现⾦流量模型。本⽂在每⼀年、每个⾏业中估计了如下⽅程:
其中CFO表⽰经营现⾦流量;SALE表⽰公司的年度营业收⼊;ΔREV表⽰营业收⼊的增量;ASSET代表总资产账⾯价值。
其次,计算正常的经营性现⾦流NCFO,⽅程如下:
最后,⾮正常的经营性现⾦流ABCFO为⽅程(4)回归后的残差项,计算如下:
2)异常⽣产成本
⾸先,在同⼀⾏业和年份⾥估计如下的⽅程:
其中,PROD是公司的⽣产成本,其定义为PROD=COGS+ΔINV,其中COGS为主营业务收⼊,ΔINV为存货的增量。
其次,计算正常的⽣产成本NPROD:
最后,计算⾮正常的⽣产成本ABPROD:
3)异常费⽤
⾸先,在相同⾏业和相同年份⾥估计如下的⽅程:
其中,DISX表⽰可⾃由⽀配⽀出(discretionary expenses),其定义为DISX=SG+M,其中SG表⽰销售费⽤,M表⽰管理费⽤(此外还包括⼴告和研发费⽤,由于数据的可获得性,本⽂未计算)。
其次,计算正常的可⾃由⽀配⽀出NDISX:
最后,计算⾮正常的可⾃由⽀配⽀出ABDISX:
基于上述三个指标,两个真实盈余管理指标分别被定义为: REM1=ABPROD-ABDISX 以及REM2= -ABCFO-ABDISX。本⽂还使⽤真实盈余管理的绝对值|REM1|和|REM2|作为公司盈余管理⽔平的度量。
2013年江苏高考作文题
⼆、数据下载
通过梳理构建盈余管理指标中所涉及的变量,我们需要下载会计的三⼤报表,分别是资产负债表、利润表和现⾦流量表。资产负债表中涉及的变量有账⾯资产、应收账款、固定资产和存货。利润表中涉及的变量包括净收⼊、营业收⼊、主营业务成本、销售费⽤和管理费⽤。现⾦流量表中涉及的变量是经营现⾦流量。
本⽂上市公司的财务数据来源于CSMAR数据库,⾏业分类数据来源于申银万国的⾏业分类。
下载数据的详细过程如下:
第⼀步:打开CSMAR数据库的界⾯;
第⼆步:下滑界⾯到“公司研究系列”下的“财务报表”,点击进⼊;
第三步:在“财务报表”界⾯可以看到我们需要的三⼤财务报表。如资产负债表的数据从1990年开始,到2018年结束。我们可以对时间、代码和字段进⾏相应的设置。本⽂我们下载的数据时间段为“1990年到2018年”,代码设置为“全部代码”,字段设置为“全选”。另外,考虑到本⽂需要年度数据,我们对字段“会计期间”进⾏了条件设置,具体为:“会计期间”包含“12-31”检索出来的财务数据即为年度数据。
第四步:下载数据。考虑到存储等量信息的⽂件,CSV⽂件⽐Excel⽂件所占空间更⼩,我们选⽤CSV格式创建Stata数据。然后点击“下载数据”,跳转到下载数据界⾯。接着,点击⿏标右键“链接另存为...”即可保存。本⽂的下载路径为“F:盈余管理”。
第五步:解压查看下载的数据⽂件。我们在CSMAR数据库下载的是资产负债表的压缩包——“资产负债表210341684.zip”,将其解压到“资产负债表210341684(E)”,打开以“资产负债表210341684”命名
的⽂件夹,第⼀个⽂
件“FS_Combas.csv”便是资产负债表的原始数据。利润表和现⾦流量表原始数据的获取过程与资产负债表相同,在此就不⼀⼀赘述。
三、数据处理
1.三⼤财务报表的整理
三⼤财务报表的整理过程类似,在这⾥我们主要讲解资产负债表的数据处理过程。⾸先,我们使⽤import delimited命令将CSV⽂件导⼊Stata中。
clear
importdelimited using "F:盈余管理资产负债表210341684FS_Combas.csv",encoding( "unicode") clear
其次,将报表类型为母公司报表的数据(typrep == "B")删除。
drop iftyprep == "B"
然后,将会计期间以”-”进⾏分隔,⽣成年份变量。
split accper,p(-)
接着,将资产负债表中涉及的相关变量重命名,最终只保留股票代码、年份、账⾯资产、应收账款、固定资产和存货变量,并对变量设置相应的标签。最后,按股票代码和年份进⾏排序并保存数据。
rename (accper1 a001000000 a001111000 a001212000 a001123000) (year ASSET AR PPE Inventory)keep stkcd year ASSET AR PPE Inventorylabel var ASSET "账⾯资产"
label var AR "应收账款"
label var PPE "固定资产"
label var Inventory "存货"
order stkcd yearsave F:盈余管理资产负债表.dta,replace
资产负债表、利润表和现⾦流量表的完整处理代码如下所⽰:
clear
importdelimited using "F:盈余管理资产负债表210341684FS_Combas.csv",encoding( "unicode") cleardrop iftyprep == "B"
split accper,p(-) rename (accper1 a001000000 a001111000 a001212000 a001123000) (year ASSET AR PPE Inventory)keep stkcd year ASSET AR PPE Inventorylabel var ASSET "账⾯资产"
label var AR "应收账款"
label var AR "应收账款"
冠东集装箱码头
label var PPE "固定资产"
label var Inventory "存货"
order stkcd yearsave F:盈余管理资产负债表.dta,replaceclear
importdelimited using "F:盈余管理利润表214613792FS_Comins.csv", encoding( "unicode") cleardrop iftyprep == "B" split accper,p(-) rename (accper1 b002000000 b001100000 b001200000 b001209000 b001210000) (year NI SALE COGS SG M)keep stkcd year NI SALE COGS SG Mlabel var NI "净利润"
label var SALE "营业收⼊"
label var COGS "营业总成本"
label var SG "销售费⽤"
label var M "管理费⽤"
order stkcd yearsave F:盈余管理利润表.dta,replaceclear
importdelimited using "F:盈余管理现⾦流量表(直接法)214719321FS_Comscfd.csv",encoding( "unicode") cleardrop iftyprep == "B"
split accper,p(-) rename (accper1 c001000000) (year CFO)keep stkcd year CFOlabel var CFO "经营现⾦流量"
order stkcd yearsave F:盈余管理现⾦流量表.dta,replace
2.合并三表并匹配⾏业数据
我们使⽤merge命令将整理好的资产负债表、利润表和现⾦流量表三个dta⽂件按照股票代码和年份进
⾏匹配并合并。然后,再将合并后的数据与⾏业数据进⾏匹配并合并。
use F:盈余管理资产负债表.dta, clear merge 1: 1stkcd year using F:盈余管理利润表.dta,keep(match) nogenmerge 1:
1stkcd year using F:盈余管理现⾦流量表.dta,keep(match) nogen destring year,replacesort stkcdmerge m: 1stkcd using F:盈余管理⾏业.dta,keep(match) nogen encode ind,gen(ind1) //把字符型数据转换为数值型数据drop indrename ind1 indorder stkcd year ind
3. 构建模型中需要的变量
本⽂构建的变量具体信息在标签中显⽰。模型中的变量构建完成之后,剔除相关变量的缺失值,并剔除银⾏业数据,最后保存数据。円族
xtset stkcd year //为后续的滞后运算设置时间变量gen TA=NI-CFOlabel var TA "总应计项⽬"gen D_SALE=d.SALElabel var D_SALE "营业收⼊增量"gen Lag_SALE=l.SALElabel var Lag_SALE "去年的营业收⼊"gen
D1_SALE=d.Lag_SALElabel var D1_SALE "滞后⼀期的营业收⼊增量"gen Lag_ASSET=l.ASSETlabel var
Lag_ASSET "去年的账⾯资产"gen D_AR=d.ARlabel var D_AR "应收账款增量"gen D_Inventory=d.Inventorylabel var D_Inventory "存货增量"gen A1=1/l.ASSET label var A1 "滞后⼀期的账⾯资产的倒数"gen TA1=TA/l.ASSETlabel var TA1 "总应计项⽬除以滞后⼀期的账⾯资产"gen D_S1=SALE/l.ASSETlabel var D_S1 "营业收⼊除以滞后⼀期的账⾯资产"gen D_S2=D_SALE/l.ASSETlabel var D_S2 "营业收⼊增量除以滞后⼀期的账⾯资产"gen
D_S3=D1_SALE/l.ASSETlabel var D_S3 "滞后⼀期的营业收⼊增量除以滞后⼀期的账⾯资产"gen
D_R1=D_AR/l.ASSETlabel var D_R1 "应收账款增量除以滞后⼀期的账⾯资产"gen PPE1=PPE/l.ASSETlabel var PPE1 "固定资产除以滞后⼀期的账⾯资产"gen RVC=D_S1-D_R1label var RVC "营业收⼊增量减去应收账款增量然后
PPE1 "固定资产除以滞后⼀期的账⾯资产"gen RVC=D_S1-D_R1label var RVC "营业收⼊增量减去应收账款增量然后除以滞后⼀期的账⾯资产"gen CFO1=CFO/l.ASSETlabel var CFO1 "经营现⾦流量除以滞后⼀期的账⾯资产"gen COGS1=COGS/l.ASSETlabel var COGS1 "营业总成本除以滞后⼀期的账⾯资产"gen
D_C1=D_Inventory/l.ASSETlabel var D_C1 "存货增量除以滞后⼀期的账⾯资产"gen PROD=COGS+D_Inventorylabel var PROD "⽣产成本"gen PROD1=PROD/l.ASSETlabel var PROD
1 "⽣产成本除以滞后⼀期的账⾯资产"gen
DISX=SG+Mlabel var DISX "可⾃由⽀配⽀出"gen DISX1=DISX/l.ASSETlabel var DISX1 "可⾃由⽀配⽀出除以滞后⼀期的账⾯资产"drop if ind==.|TA1==.|A1==.|D_S1==.|PPE1==.|RVC==.|PROD1==.|DISX1==. //剔除缺失值drop if
ind==26 //剔除银⾏业save F:盈余管理盈余管理数据,replace //数据保存
四、盈余管理指标的计算
1.操纵性盈余管理
在推⽂《如何在Stata中应⽤修正的Jones模型计算可操控应计项》中,我们具体介绍过操纵性盈余管理指标的计算,在这⾥再与⼤家⼀起温习⼀下。
statsby,by(year ind) clear:reg TA A1 RVC PPE1 //使⽤statsby命令进⾏公式( 1)的分组回归,并输出各年份⾏业的回归系数
gen NDA=_b_cons+_b_A1*A1+_b_RVC*RVC+_b_PPE1*PPE //根据公式( 2)拟合出合理的应计项⽬规模gen
DA=TA-NDA //根据公式( 3)计算可操控应计项⽬gen ABS_DA=abs(DA) //盈余管理的程度save F:盈余管理
通河中学DA,replace
2.真实的盈余管理
*CFO(经营性现⾦流)
statsby,by(year ind) clear:reg CFO1 A1 D_S1 D_S2 //使⽤statsby命令进⾏公式( 4)的分组回归,并输出各年份⾏业的归回系数
gen NCFO=_b_cons+_b_A1*A1+_b_D_S1*D_S1+_b_D_S2*D_S2 //根据公式( 5)拟合出正常的经营性现⾦流gen ABCFO=CFO1-NCFO //根据公式( 6)计算⾮正常的经营性现⾦流gen ABS_ABCFO=abs(ABCFO) save F:盈余管理CFO,replace
*PROD(⽣产成本)
statsby,by(year ind) clear:reg PROD1 A1 D_S1 D_S2 D_S3 //使⽤statsby命令进⾏公式( 7)的分组回归,并输出各年份⾏业的归回系数merge 1:m year ind using F:盈余管理盈余管理数据.dta,keep(m
atch) nogen //匹配原始数据 gen NPROD=_b_cons+_b_A1*A1+_b_D_S1*D_S1+_b_D_S2*D_S2+_b_D_S3*D_S3 //根据公式( 8)拟合出合理的正常的⽣产成本gen ABPROD=PROD1-NPROD //根据公式( 9)计算⾮正常的⽣产成本gen
ABS_ABPROD=abs(ABPROD) save F:盈余管理PROD,replacepc anywhere
*DISX(可⾃由⽀配⽀出)
statsby,by(year ind) clear:reg DISX1 A1 D_S1 //使⽤statsby命令进⾏公式( 10)的分组回归,并输出各年份⾏业的归回系数merge 1:m year ind using F:盈余管理盈余管理数据.dta,keep(match) nogen //匹配原始数据gen
NDISX=_b_cons+_b_A1*A1+_b_D_S1*D_S1 //根据公式( 11)拟合出正常的可⾃由⽀配⽀出gen ABDISX=DISX1-NDISX //根据公式( 12)计算⾮正常的可⾃由⽀配⽀出gen ABS_ABDISX=abs(ABDISX) save F:盈余管理
DISX,replace
3.合并整理得到最终的盈余管理数据
种子包衣剂use F:盈余管理DA.dta,clear merge 1: 1stkcd year using F:盈余管理CFO.dta,keep(match) nogenmerge 1: 1stkcd year using F:盈余管理PROD.dta,keep(match) nogen merge 1: 1stkcd year using F:盈余管理DISX.dta,keep(match) nogen order stkcd year indgen REM1=ABPROD-ABDISXgen REM2=-ABCFO-ABDISXgen ABS_REM1=abs(REM1)gen

本文发布于:2024-09-21 00:35:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/127757.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:盈余   管理   数据   资产   负债表   变量   增量
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议