说明

数据、变量名称来源于国泰安数据库,具体名称可见国泰安数据库资产负债表、利润表,本代码仅供参考。

代码实现

基本Jones模型
Jones (1991) 提出了经典的Jones模型,从营业收入变动和固定资产水平衡量企业应计利润的变动。

clonevar A  = a001000000         // 总资产
clonevar EBXI  = b001300000         // 营业利润
clonevar cfo = c001000000       // 经营活动现金流净额
gen acc = (EBXI - cfo)/L.A       // 总应计项目,y
gen invA  = 1/L.A                // 滞后一期的总资产的倒数, x1
gen Dsale = D.b001101000/L.A     // 营业收入的增量, x2
gen PPE = a001212000/L.A        // 固定资产净额/总资产, x3
sort stkcd year
sum A EBXI cfo acc invA Dsale PPE
* 生成行业+年份变量,方便回归
egen sic_year = group(ind year), label lname(ind_year) // sic 为行业分类,year为年度时间标识
sum sic_year
* 利用循环求残差,残差即为应计盈余管理DACC
sum acc invA Dsale PPE
gen DACC1 = .
//N为sic_year的编码最大值
forvalues i = 1/N{//有时由于某行业内企业较少,不能进行单个回归,需要用cap即capture捕捉错误,跳过错误。capture  qui reg acc invA Dsale PPE if (sic_year==`i'), noconsif(_rc==0){predict e if e(sample), resreplace DACC1 = e if e(sample) drop e}
}

修正Jones模型
Dechow等 (1995) 提出的修正Jones模型在Jones模型的基础上加入了应收账款的变动

//接上面代码,共用部分变量
xtset stkcd year
* 根据国泰安数据库计算需要的指标
gen DAR   = D.a001111000/L.A     // 应收账款的增量
gen DS_DAR= Dsale - DAR          // 营业收入的增量-应收账款的增量, x2
* 生成行业+年份变量,方便回归
//egen sic_year = group(sic year), label lname(sic_year) // sic 为行业分类,year为年度时间标识
* 利用循环求残差,残差即为应计盈余管理DACC
gen DACC2 = .
//drop e
//N为sic_year的编码最大值forvalues i = 1/N{//有时由于某行业内企业较少,不能进行单个回归,需要用cap即capture捕捉错误,跳过错误。capture  reg acc invA DS_DAR PPE if (sic_year==`i'), noconsif(_rc==0){predict e if e(sample), resreplace DACC2 = e if e(sample) drop e}
}
sum DACC2
label var DACC1 琼斯模型应计盈余
label var DACC2 修正琼斯应计盈余分行业年份

真实盈余管理
目前对真实盈余管理的计算普遍使用Roychowdhury (2006)

//接上面代码,删除部分变量
drop A-PPE DAR DS_DAR
xtset stkcd year
replace a001123000=0 if a001123000==.
sum a001000000 c001000000   a001123000  b001209000 b001210000
replace b001209000=0 if b001209000==.
replace b001210000=0 if b001210000==.
* 根据国泰安数据库计算需要的指标
clonevar A  = a001000000                  // 总资产
gen cfo   = c001000000/L.A                // 经营活动现金流净额, y1
gen cogs  = b001209000/L.A                // 销售费用/总资产
gen Dinv  = D.a001123000/L.A              // 存货净额增量
gen prod  = cogs + Dinv                    // 生产成本, y2
gen disexp= (b001209000+b001210000)/L.A    // 酌量性费用,销售费用+管理费用, y3
gen invA  = 1/L.A                          // 滞后一期的总资产的倒数
gen sale  = b001101000/L.A                // 营业收入
gen Lsale = L.b001101000/L.A               // 滞后一期的营业收入
gen Dsale = D.b001101000/L.A               // 营业收入增量
gen LDsale= L.D.b001101000/L.A             // 滞后一期的营业收入增量* 生成行业+年份变量,方便回归
//egen sic_year = group(sic year), label lname(sic_year)  // sic 为行业分类,year为年度时间标识
* 分别计算异常经营性净现金流、异常生产成本和异常酌量性费用
*-CFO
local  y "cfo"
global y `y'
local  x "invA sale Dsale"
global x `x'
cap drop AB`y'
gen AB`y'  = .//drop e
//N为sic_year的编码最大值forvalues i = 1/N{//有时由于某行业内企业较少,不能进行单个回归,需要用cap即capture捕捉错误,跳过错误。capture reg  cfo invA sale Dsale if sic_year==`i'if (_rc==0){predict e if e(sample), resreplace ABcfo = e if e(sample) drop e
}
}
sum ABcfo
sum sic_year
*-PROD  //qui tsset id yearlocal y "prod"local x "invA sale Dsale LDsale"cap drop AB`y'gen AB`y'  = .//N为sic_year的编码最大值forvalues i = 1/N{//有时由于某行业内企业较少,不能进行单个回归,需要用cap即capture捕捉错误,跳过错误。cap qui reg prod invA sale Dsale LDsale if (sic_year==`i')if (_rc==0){predict e if e(sample), resreplace ABprod = e if e(sample) drop e}
}
sum ABprod
*-DISEXP     local y "disexp"local x "invA Lsale"cap drop AB`y'gen AB`y'  = .//drop e//N为sic_year的编码最大值forvalues i = 1/N{//有时由于某行业内企业较少,不能进行单个回归,需要用cap即capture捕捉错误,跳过错误。cap reg disexp invA Lsale if (sic_year==`i')if (_rc==0){predict e if e(sample), resreplace ABdisexp = e if e(sample) drop e}
}

Stata计算可操纵性应计利润——基于琼斯模型相关推荐

  1. 基于多边形模型接触力(PCM)-接触检测

    计算接触力的步骤主要分为两个步骤:接触检测以及利用接触模型计算接触力.本文基于多边形模型实现接触检测算法. 实现步骤: 1. 实体模型表面网格划分(本文旨在用三角形划分实体表面) 2. 基于方向包围盒 ...

  2. 上市公司应计盈余管理(琼斯模型:DD模型) 包含原始数据,代码及计算结果

    上市公司应计盈余管理(琼斯模型:DD模型) 包含原始数据,代码及计算结果 结果说明:原始数据为A股上市公司2006-2020的数据,由于指标计算需要用到上一年及次年的数据,因此最终回归结果为2007- ...

  3. R语言使用yardstick包的conf_mat函数计算多分类(Multiclass)模型的混淆矩阵、并使用summary函数基于混淆矩阵输出分类模型评估的其它详细指标(kappa、npv等13个)

    R语言使用yardstick包的conf_mat函数计算多分类(Multiclass)模型的混淆矩阵(confusion matrix).并使用summary函数基于混淆矩阵输出分类模型评估的其它详细 ...

  4. R语言基于lm模型构建线性回归模型(蟋蟀的鸣叫声与温度的关系)、计算回归模型的RMSE指标、计算回归模型的R方指标(R-squared)

    R语言基于lm模型构建线性回归模型(蟋蟀的鸣叫声与温度的关系).计算回归模型的RMSE指标.计算回归模型的R方指标(R-squared) 目录

  5. Python计算树模型(随机森林、xgboost等)的特征重要度及其波动程度:基于熵减的特征重要度计算及可视化、基于特征排列的特征重要性(feature permutation)计算及可视化

    Python计算树模型(随机森林.xgboost等)的特征重要度及其波动程度:基于熵减的特征重要度计算及可视化.基于特征排列的特征重要性(feature permutation)计算及可视化 目录

  6. matlab计算潮差程序,一种基于FVCOM模型的可视化潮汐潮流预报方法与流程

    本发明涉及潮汐预报技术领域,特别是涉及一种基于FVCOM模型的可视化潮汐潮流预报方法. 背景技术: 潮汐预报对一定海区在未来一定时间内的潮汐涨落情况进行的推算和预报.预报内容包括逐日的高潮和低潮高度及 ...

  7. 利用BS模型计算欧式看涨期权价格——基于中国沪深300ETF看涨期权_20200524_

    利用BS模型计算欧式看涨期权价格--基于中国沪深300ETF看涨期权验证,结果发现当期权虚值程度较深时,理论价格与现实价格差异极大.比如,在近年来沪深300很少能到4600点以上,因此理论价格几乎为零 ...

  8. bigru参数计算_[数据挖掘]华中科技大学 李黎 周达明:基于CNN-BiGRU模型的操作票自动化校验方法...

    原标题:[数据挖掘]华中科技大学 李黎 周达明:基于CNN-BiGRU模型的操作票自动化校验方法 智能变电站操作票校验是保障站内操作准确无误的重要环节,当前基于经验的人工校验方法主观性强,校验效率较低 ...

  9. CVPR论文 | 所见所想所找:基于生成模型的跨模态检索

    [小叽导读]:视觉-文本跨模态检索已经成为计算机视觉和自然语言处理领域结合的一个热点.对于跨模态检索而言,如何学到合适的特征表达非常关键.本文提出了一种基于生成模型的跨模态检索方法,该方法可以学习跨模 ...

最新文章

  1. nginx大量TIME_WAIT的解决办法(转载)
  2. 如何寻找outlook邮件附件直接修改保存后的文档
  3. OpenCV简介及图像处理示例教程
  4. 深度学习如何验证自己的想法
  5. hash算法_数据库中间件分片算法之hash
  6. 生成路径 vs 设置_Simulink代码生成之模型配置
  7. android 自定义progressbar demo,Android 自定义进度条ColorfulProgressbar,原理简单、效果还行...
  8. java 图片水印旋转,Java实现 图片水印或者文字水印详解
  9. JavaSrcipt学习(学习打卡Day6)
  10. 嵌入式人工智能唱响2020年中国嵌入式技术大会!
  11. cadence 怎么拼版_在Allegro中如何拼板
  12. 北京科技大学871计算机真题,(NEW)北京科技大学871计算机综合一(含计算机组成原理、数据结构)历年考研真题汇编(350页)-原创力文档...
  13. ARCGIS对谷歌影像进行投影转换、影像拉伸纠偏处理及倾斜摄影纠偏
  14. Python数据标准化
  15. 爬取boss直聘上面的数据遇见的问题解析,是真不难!
  16. 到底什么是商业模式?
  17. 第2章 信息技术发展
  18. 【大数据】磁带LTO6和LTO7
  19. python的复制,深拷贝和浅拷贝的区别
  20. vs studio2019解决下载慢的问题

热门文章

  1. flink-on-k8s-operator部署安装及alink集成
  2. “永动企鹅”寻找新动力——腾讯:自己与自己的战争.
  3. TCP/IP协议栈到底是内核态的好还是用户态的好?
  4. 缓存方案及分布式常见问题解决方案
  5. 国产Linux操作系统
  6. python 爬网站
  7. 《No Silver Bullet》读后感
  8. gta5单人运货怎么玩
  9. 连续时间信号的频域分析--傅立叶变换-1
  10. AMBA APB学习记录(AMBA 2.0)