楼主: nothing`more
724 4

[经管数据集] 上市公司2007-2023年专业化/一体化数据(详细教程+代码) [推广有奖]

  • 2关注
  • 46粉丝

已卖:745份资源

副教授

20%

还不是VIP/贵宾

-

威望
0
论坛币
11766 个
通用积分
57.9189
学术水平
5 点
热心指数
5 点
信用等级
5 点
经验
8090 点
帖子
231
精华
0
在线时间
1225 小时
注册时间
2016-2-15
最后登录
2025-11-23

楼主
nothing`more 学生认证  发表于 2024-10-31 22:14:02 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
写论文需要用到上市公司的专业化数据,但是上经管之家和闲鱼找了一圈,都是一些数据贩子,且大多只提供一个算好的不知道来源的 n 手数据,既缺乏数据处理过程,也没有任何可信度保障。于是只能自己动手折腾。


既有文献基本都是参照范子英和彭飞 (2017) 的文章,具体指标构建如下:



如果按照文章所写的指标直接去 CSMAR 检索的话,会发现有部分指标找不到。所以我们需要将其转换为能与 CSMAR 中财报术语直接匹配的命名方式。

以下是一些需要转换的财报术语:

| 转换前 | 转换后    |
| --- | --- |
|  少数股权收益  | 少数股东权益    |
|  销售额   |  营业总收入   |
|  税后净利润   |  净利润   |
|  预付款   |  预付款项净额   |
|  应付款   |  应付账款   |
|  存货   |  存货净额   |


假设我们已经下载好所需数据。

首先,我们处理资产负债表中的内容。我们从资产负债表中可以下载到以下变量:期初预付款、期末预付款,期末应付款、期初应付款,期末应付票据、期初应付票据,期初存货、期末存货,资产总计,负债合计,少数股东权益。

导入数据,仅保留期初和期末两期,再对部分变量进行期末减期初,或期初减期末。

  1. import excel using "FS_Combas.xlsx", firstrow clear
  2. labone, nrow(1 2)
  3. drop in 1/2
  4. keep if ustrregexm(Accper, "-01-01|-12-31")

  5. gen year = real(substr(Accper, 1, 4))
  6. keep if inrange(year, 2000, .)
  7. drop Typrep ShortName
  8. destring, replace

  9. for var A001112000 A002108000 A002107000 A001123000: gen X_beg = X if ustrregexm(Accper, "-01-01")
  10. for var A001112000 A002108000 A002107000 A001123000: gen X_end = X if ustrregexm(Accper, "-12-31")
  11. bys Stkcd year: fillmissing *_beg *_end
  12. keep if ustrregexm(Accper, "-12-31")

  13. gen prepaid = A001112000_beg - A001112000_end  // 预付款
  14. gen payable = A002108000_end - A002108000_beg  // 应付款
  15. gen notepay = A002107000_end - A002107000_beg  // 应付票据
  16. gen invtory = A001123000_beg - A001123000_end  // 存货
  17. drop *_beg *_end Accper A001112000 A002108000 A002107000 A001123000

  18. order Stkcd year
  19. xtset Stkcd year

  20. lab var prepaid "预付款"
  21. lab var payable "应付款"
  22. lab var notepay "应付票据"
  23. lab var invtory "存货"
  24. save "FS_Combas.dta", replace
复制代码


接下来,捯饬一下其他所需变量,包括主营业务收入,非经常性损益,**扣除非经常性损益后的加权平均净资产收益率**,购买商品、接受劳务支付的现金,营业总收入,净利润,以及行业代码。

整理好基础数据后,将前面计算好的资产负债表数据合并进去,并进行简单整理。

  1. cap erase "raw.dta"
  2. foreach file in FS_Comins FS_Comscfd FI_T2 FAR_Finidx {
  3.     import excel using "`file'.xlsx", firstro clear
  4.     labone, nrow(1 2)
  5.     drop in 1/2
  6.     destring, replace
  7.     cap gen year = real(substr(Accper, 1, 4))
  8.     cap drop Typrep
  9.     cap drop Accper
  10.     cap drop ShortName
  11.     order Stkcd year

  12.     cap append using "raw.dta"
  13.     save "raw.dta", replace
  14. }

  15. append using "FS_Combas.dta"
  16. keep if inrange(year, 2007, .)
  17. bys Stkcd year: fillmissing B110101 F020101-invtory
  18. bys Stkcd year: fillmissing Indcd
  19. bys Stkcd: fillmissing Indcd
  20. drop if Indcd == ""

  21. duplicates drop Stkcd year, force
  22. format Stkcd %06.0f
  23. xtset Stkcd year
复制代码


接下来,计算采购额、增加值与净资产,采购商品的增值税率取 17 %。

  1. gen puramt   = (C001014000 + prepaid + payable + notepay) / (1 + 0.17) + invtory
  2. gen incval   = B001100000 - puramt
  3. gen netasset = A001000000 - A002000000 + A003200000
复制代码


计算净资产收益率和行业平均净资产收益率:
  1. gen roa = (B002000000 - F020101) / A001000000
  2. bys Indcd year: egen roaavg = mean(roa)
复制代码

也有文献是取行业净资产收益率的三年移动平均,算法如下:

  1. gen roa = (B002000000 - F020101) / A001000000
  2. rangestat roa, by(IndustryCode) interval(year -2 0)
复制代码

最后,计算专业化和纵向一体化,仅保留值域在 [0,1] 之间的样本,并做缩尾处理。

  1. gen VAS = (incval - B002000000 + netasset * roaavg) / (B110101 - B002000000 + netasset * roaavg)
  2. gen VSI = 1 - VAS

  3. for var VAS VSI: keep if inrange(X, 0, 1)
  4. winsor2 VAS VSI, replace
复制代码

看一下描述性统计

  1. . sum VAS VSI

  2.     Variable |        Obs        Mean    Std. dev.       Min        Max
  3. -------------+---------------------------------------------------------
  4.          VAS |     35,233    .4319804    .2061121   .0403902   .9424814
  5.          VSI |     35,233    .5680196    .2061121   .0575186   .9596098
复制代码


由于范老师的文章并没有汇报描述性统计,我们将这一数值与袁淳等 (2021) 的文章进行对比。



同样地,我们将样本限定在 2010-2018 年的非金融企业:

  1. drop if ustrregexm(Indcd, "J")
  2. keep if inrange(year, 2010, 2018)
  3. sum VAS VSI


  4.     Variable |        Obs        Mean    Std. dev.       Min        Max
  5. -------------+---------------------------------------------------------
  6.          VAS |     19,431    .4362895    .2094738   .0403902   .9424814
  7.          VSI |     19,431    .5637105    .2094738   .0575186   .9596098
复制代码

这一数值比袁淳老师的结果略大。

后面无意中发现,CSMAR 中有现成的扣除非经常性损益后的加权平均净资产收益率。用这一变量替换前述的净资产收益率,重新计算行业平均净资产收益率:

  1. gen roa = F020104 / 100
  2. bys Indcd year: egen roaavg = mean(roa)
复制代码

随后,重新计算专业化与纵向一体化,并将样本限定在 2010-2018 年的非金融企业:

  1. . sum VAS VSI

  2.     Variable |        Obs        Mean    Std. dev.       Min        Max
  3. -------------+---------------------------------------------------------
  4.          VAS |     19,253    .4515213    .2202221   .0349814    .977461
  5.          VSI |     19,253    .5484787    .2202221    .022539   .9650186
复制代码


此时的结果与袁淳老师的高度一致,我们的均值为 0.5485,袁老师的均值为 0.5487。所以,我们的计算结果还是较为可信的。

最后,提供上述计算过程的所有原始数据、结果数据和其间用到的代码:

上市公司2007-2023年专业化/一体化数据 (84 Bytes, 需要: RMB 48 元)









二维码

扫码加我 拉你入群

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

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

关键词:上市公司 专业化 一体化 上市公 CSMAR

沙发
wenlumou(真实交易用户) 发表于 2024-11-27 16:43:22
您好,我买了上市公司专业化数据,但是自己在运行代码的过程中fillmissing会报错:command bys Stkcd year is unrecognized。请问您知道这是什么原因吗?

藤椅
nothing`more(未真实交易用户) 学生认证  发表于 2024-11-28 18:56:57
wenlumou 发表于 2024-11-27 16:43
您好,我买了上市公司专业化数据,但是自己在运行代码的过程中fillmissing会报错:command bys Stkcd ...
应该是你没有安装fillmissing这个命令,可以用 ssc install fillmissing, replace 进行安装,或者 findit fillmissing,然后点击给出的链接进行安装。

板凳
nothing`more(未真实交易用户) 学生认证  发表于 2024-11-28 18:57:31
wenlumou 发表于 2024-11-27 16:43
您好,我买了上市公司专业化数据,但是自己在运行代码的过程中fillmissing会报错:command bys Stkcd ...
应该是你没有安装fillmissing这个命令,可以用 ssc install fillmissing, replace 进行安装,或者 findit fillmissing,然后点击给出的链接进行安装。

报纸
nothing`more(未真实交易用户) 学生认证  发表于 2024-11-28 18:57:42
应该是你没有安装fillmissing这个命令,可以用 ssc install fillmissing, replace 进行安装,或者 findit fillmissing,然后点击给出的链接进行安装。

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-8 19:06