之前给大家分享过一份工企数据库和海关数据库的匹配结果:2000~2014 年工企海关匹配结果数据 很多小伙伴问能否把上市公司的数据也和海关数据匹配下(之前实际上分享过 2000~2014 年的匹配结果)。
×
我手上的海关数据是 2000~2016 年的(网上流传的一些 17 年之后的数据我看没有公司名称信息,无法使用)。所以这次给大家分享的也是 2000~2016 年的匹配结果。
参考工企和海关数据的匹配流程,上市公司和海关数据可以采用如下流程匹配:
- 清洗上市公司数据库里面的企业名称、邮政编码、传真和电子邮箱变量(等下要用这四个变量进行匹配);
- 清洗海关数据库里面的企业名称、邮编、传真和电子邮箱变量;
- 在上市公司数据库里面生成一个 gsid 变量用以在匹配过程中识别每个观测值,然后只保留企业名称、邮政编码、传真、电子邮箱、年份、gsid 几个变量(这样可以避免因为数据过大导致匹配过程过慢);
- 对海关数据库进行汇总(例如只需要每个公司每年的进出口额的话);
- 匹配海关和上市公司数据然后再根据 gsid 变量把上市公司数据库的其它变量也合并进来。
关于这五个步骤的代码实现,可以学习和模仿我们之前推出的 Stata 课程:「如何匹配海关和工企数据?」:
×
具体匹配过程分为三个过程:
- 使用处理后的企业名称进行匹配(去除对匹配没有帮助的词汇,例如“有限公司”、“股份有限公司”等);
- 使用公司传真后七位 + 邮编匹配;
- 使用电子邮箱匹配。
通过上面步骤的匹配和去除重复值就可以得到:2000~2016年上市公司与海关数据匹配结果.dta 数据文件了,为了方便大家的使用,我还提供了分年拆分版本的数据:
![]()
由于我匹配使用的海关数据是之前分享的带经纬度的版本,所以匹配结果中也有经纬度及其所处的省市区县信息。
例如 2006 年海关数据库中出口企业的地理分布:
![]()
匹配效果如下:
| 年份 | 涉及海关观测值数量 | 涉及上市公司数量 |
|---|---|---|
| 2000 | 132562 | 327 |
| 2001 | 161489 | 377 |
| 2002 | 177676 | 453 |
| 2003 | 202937 | 508 |
| 2004 | 213293 | 617 |
| 2005 | 218688 | 655 |
| 2006 | 237693 | 820 |
| 2007 | 119297 | 1156 |
| 2008 | 94607 | 924 |
| 2009 | 97756 | 968 |
| 2010 | 112223 | 1042 |
| 2011 | 119163 | 1039 |
| 2012 | 192734 | 1539 |
| 2013 | 204772 | 1606 |
| 2014 | 140994 | 1025 |
| 2015 | 197225 | 1599 |
| 2016 | 259388 | 2276 |
画成图更直观些:
![]()
2000~2006 年的海关数据质量较高,匹配效果更好。
注意事项
- 由于上市公司有多处上市的情况,所以上市公司数据中同一家公司可能有多个观测值(证券代码不同),对于这样的公司,匹配的时候是分别和海关数据匹配,因此匹配结果也是相同,但是使用匹配结果的时候要注意不要把同一家公司重复加总了。
- 进出口金额的单位均为美元。
- 一个上市公司对应多条海关数据是正常的;一条海关数据对应多个上市公司可能是因为在不同的匹配手段中匹配到了不同的结果,可以手动检查解决。
- 在之前老版本的匹配过程中我是先把上市公司分成了逐年的数据(结合上市公司是否上市、退市),这一次我删去了这个过程,是直接把所有的上市公司和海关数据匹配,如果大家需要考虑上市公司在某年是否上市或者退市,可以在自己的研究过程中再进行后续处理即可。
点击这里跳转到 RStata 短书平台获取附件:2000~2016 年上市公司与海关数据库匹配结果
×
评论