楼主: 施冠锐
28745 8

[Stata初级班] 关于计算截面琼斯模型 [推广有奖]

  • 11关注
  • 9粉丝

高级会员

学科带头人

15%

还不是VIP/贵宾

-

威望
0
论坛币
4810 个
通用积分
46.0023
学术水平
29 点
热心指数
43 点
信用等级
22 点
经验
214232 点
帖子
1757
精华
0
在线时间
1999 小时
注册时间
2009-8-9
最后登录
2023-12-5

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
连老师
   你好,我使用下面的程序计算截面琼斯模型,结果是no observations,不知道我哪里出现了问题呢??谢谢
dropvars DACC e
gen DACC = .
forvalues i = 1/$N{
  qui reg TA a Reva Ppe if (g ==`i')
  qui predict e if e(sample), res
  qui replace DACC = e if e(sample)
  drop
}

g 的最小值为1,最大值为353,但是我分别针对g == 1 、2、3等回归的时候,都是no observation 的结果

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:琼斯模型 observations observation forvalues observat replace 模型

沙发
arlionn 在职认证  发表于 2013-6-22 08:47:43 |只看作者 |坛友微信交流群
count if g=1
你看看这一组是否有观察值?

使用道具

藤椅
施冠锐 发表于 2013-6-23 09:01:02 |只看作者 |坛友微信交流群

返回结果为16

使用道具

板凳
施冠锐 发表于 2013-6-23 09:01:27 |只看作者 |坛友微信交流群
arlionn 发表于 2013-6-22 08:47
count if g=1
你看看这一组是否有观察值?

返回结果为16

使用道具

报纸
arlionn 在职认证  发表于 2013-6-23 09:10:04 |只看作者 |坛友微信交流群
你要确保每个组中回归时没有缺漏值。因此,在上述循环回归之前,要先去除所有变量的缺漏值。

使用道具

地板
施冠锐 发表于 2013-6-23 09:43:10 |只看作者 |坛友微信交流群
arlionn 发表于 2013-6-23 09:10
你要确保每个组中回归时没有缺漏值。因此,在上述循环回归之前,要先去除所有变量的缺漏值。
老师,使用drop删掉缺漏值后,如下
drop if missing(TA,a,Reva,Ppe)

反馈结果是:
varlist or in range required

使用道具

7
施冠锐 发表于 2013-6-23 10:41:43 |只看作者 |坛友微信交流群
arlionn 发表于 2013-6-23 09:10
你要确保每个组中回归时没有缺漏值。因此,在上述循环回归之前,要先去除所有变量的缺漏值。
使用drop if missing(TA,a,Reva,Ppe)后
运行程序
反馈结果是
varlist or in range required

使用道具

8
琪琪的美0618 发表于 2017-4-27 20:20:45 来自手机 |只看作者 |坛友微信交流群
arlionn 发表于 2013-6-22 08:47
count if g=1
你看看这一组是否有观察值?
ppt是固定资产原值吗?国泰安里面只有固定资产净值 请问需要自己一个一个找吗?新手求赐教 怎么用stata分年度和行业做呀 我不想做100次

使用道具

9
arlionn 在职认证  发表于 2017-4-29 16:28:51 |只看作者 |坛友微信交流群
这里有一段相对完整的代码供参考:

Stata暑假现场班即将开班(授课:连玉君,北京)


核心内容:断点回归分析(RDD);合成控制法(Synthesis Control Methods);面板门槛模型;面板VAR模型;自科标书的撰写;一篇经典论文的Stata重现(Journal of Finance) 等.


初级班(四天): http://www.peixun.net/view/307.html

高级班(四天):http://www.peixun.net/view/308.html


PDF课程大纲:http://pan.baidu.com/share/link?shareid=1057481064&uk=604047888


烦请给位转发给有需要的同学和老师,多谢!




  1.   *------------------
  2.   *-盈余管理相关指标
  3.   *------------------
  4.     gen invA  = 1/L.TA
  5.     gen sale  = b001101000/L.TA                // 营业收入
  6.     gen Lsale = L.b001101000/L.TA
  7.     gen Dsale = D.b001101000/L.TA
  8.     gen LDsale= L.D.b001101000/L.TA
  9.     gen cogs  = b001209000/L.TA                // 销售费用/总资产
  10.     gen Dinv  = D.a001123000/L.TA        // D.存货净额
  11.     gen prod  = cogs + Dinv
  12.     gen disexp= (b001209000+b001210000)/L.TA  // 销售费用+管理费用
  13.     gen PPE   = a001212000/L.TA                // 固定资产净额/总资产
  14.     gen DAR   = D.a001111000/L.TA   // 应收账款净额
  15.     gen DS_DAR= Dsale - DAR
  16.     gen DAP   = D.a002108000/L.TA   // 应付账款
  17.     clonevar EBXI  = b001300000                // 营业利润
  18.         gen IBEI = EBXI/L.TA            // 营业利润/L.TA
  19.     clonevar cfo_a = c001000000                // 经营活动现金流净额
  20.     gen cfo   = cfo_a/L.TA                          // 经营活动现金流净额/总资产
  21.     gen acc   = (EBXI - cfo_a)/L.TA // D.(营业利润-经营活动现金流净额)/L.TA
  22.     gen netincome = b002000000/L.TA // 净利润/L.TA

  23.     gen Lsize = L.size
  24.     gen Ltobin= L.tobin
  25.         
  26. *-Table 01 中使用的变量
  27.     gen MVE = mv_total/1000000      // total market value, Y million
  28.     gen TotalAsset = TA/1000000     // Total assets, Y million
  29.     gen Sales = b001101000/1000000  // Sales, Y million
  30.     gen IBEI_0 = b001300000/1000000 // 营业利润, Y million
  31.     gen CFO = c001000000/1000000    // CFO, Y million
  32.     gen Accruals = (EBXI-cfo_a)/10^6
  33.     clonevar Invent_TR = kv06       // inventory turnover ratio
  34.     clonevar Receiv_TR = kv07       // Receivables turnover ratio
  35.         
  36. *-删除缺漏值  
  37.     local v "acc sale cfo Dinv prod disexp PPE DAR"
  38.     egen miss = rowmiss(`v')
  39.         drop if miss!=0

  40. *-主要变量 winsor 处理

  41.    local vv "acc sale Lsale Dsale LDsale cfo Dinv prod disexp PPE DAR IBEI *_TR"
  42.    foreach v of varlist `vv'{
  43.      local a: var lab `v'
  44.          if "`v'" == "Receiv_TR"{
  45.             winsor `v', p(0.05) high gen(`v'_x)
  46.          }
  47.          else{
  48.             winsor `v', p(0.01) gen(`v'_x)
  49.          }
  50.          drop `v'
  51.          rename `v'_x `v'
  52.          label var `v' "`a'"
  53.    }

  54. *-行业划分(制造业细分到次类,其他行业采用门类)
  55.    *-定义行业分类方法
  56.    *-参见 黄梅,夏新平(2009)  南开管理评论
  57.      clonevar sic2 = sicda_str
  58.      order id year sic2
  59.      replace sic2 = substr(sic2,1,1) if substr(sic2,1,1)!="C"
  60.      replace sic2 = substr(sic2,1,2) if substr(sic2,1,1)=="C"
  61.          replace sic2 = "C9" if sic2=="C2"  // 将 C2 并入 C9
  62.    *-每年度每个行业至少保留 15 家公司
  63.      bysort sic2 year: egen num_sic_year = count(id)
  64.      keep if num_sic_year >=15  // Roychowdhury(2006, p.349)
  65.          
  66.    *-基本统计分析
  67.      tab sic2 year


  68. *------------------------------
  69. *-4.2 Earning Managment 的估计
  70. *------------------------------

  71. *----------------  
  72. *-AEM  Accruals
  73. *----------------

  74.    *-行业重新编码 1,2,3 ……
  75.          cap drop sic123
  76.          egen sic123 = group(sic2 year), label lname(sic_year)
  77.             qui sum sic123
  78.          global N = r(max)
  79.          
  80.    *-分行业, 分年度回归分析  
  81.          dropvars DACC e
  82.          gen DACC = .
  83.          forvalues i = 1/$N{
  84.            qui reg acc invA DS_DAR PPE if (sic123==`i')
  85.            qui predict e if e(sample), res
  86.            qui replace DACC = e if e(sample)
  87.            drop e
  88.          }
复制代码

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 04:10