查看原文
其他

爬虫俱乐部推出新命令:cnar--年报数据快到碗里来

爬虫俱乐部 Stata and Python数据分析 2022-03-15
本文作者:李金洋



文字编辑:杨长青



技术总编:薛   原

好消息!!!爬虫俱乐部将于2019年5月2日4日在武汉举行Stata编程技术五一训练营,此次采用理论与案例相结合的方式,旨在帮助大家熟悉Stata数据分析技巧,能够通过编程读取不同类型的数据源、实现复杂数据合并、清洗的程序化,并且熟悉Stata核心的爬虫技术。

详细培训大纲及报名方式,请点击文末阅读原文呦~


在实证研究中,我们经常会使用到上市公司年报中的财务数据,而每次从各类数据库中下载指标,都需要经历“公司代码与指标选取→数据下载→数据导入→数据整理”这样一系列繁琐的工作。为了将大家从这一繁琐的工作中解放出来,爬虫君想您所想,推出了下载上市公司年报数据的新命令——cnar,今天,小编就为大家详细介绍这一命令的使用方法。

cnar是我们团队开发的外部命令,这一命令是基于我们之前推出的命令chinafin的代码基础上进行的优化与改进,相比之下,cnar的变量名称更具有可读性(变量名称均为中文,而不再是无意义的字母代码),且保留的信息更为全面(增加了财务报表备注的信息),因而更方便。在使用之前,我们首先要通过ssc install cnar, replace来安装这一命令。

根据help文件,我们看到该命令的语法如下:

cnar codelist, [path]

其中:

① codelist:股票代码,代码开头的0可忽略,可一次键入多个股票代码,代码之间用空格分开;

② path:指定下载数据保存的路径,如不指定则保存在stata当前工作路径下。

这一命令的使用方法非常简单,只要键入股票代码,就可以下载该股票所有年份的财务数据(包括资产负债表、利润表和现金流量表)。例如:

cnar 600900, path(“d:\temp”)

下载的数据会保存成一个以公司股票代码为名称的dta文件(600900.dta),文件中包括该公司各年的财务指标,如下图:

   

如果我们想要下载多个公司的年报数据,比如我们需要所有沪市A股公司的年报数据,cnar与cnstock结合使用效果更佳哦!

举个例子~

cap mkdir d:\tempcd d:\temp cnstock SHA set seed 10101 sample 10, count //随机保留10只股票,用于演示练习 levelsof stkcd, local(stk) foreach s in `stk' { cnar `s'}clearlocal filelist: dir "." files "*.dta"append using `filelist'save random10, replace

通过这样一个简单的循环,将cnar与cnstock结合起来,我们就得到了需要的10只股票的所有财务数据,是不是超级简单呢~

Tips:由于cnar命令的数据来源网站没有披露退市公司的年报数据,因此退市公司的年报数据无法通过该命令下载。爬虫君根据其他财经网站提供的数据对这些退市公司的数据进行了填补,所有数据保存在爬虫俱乐部云端数据源上,有需要的读者可以自行下载,具体使用方式详见往期推文:《爬虫俱乐部新云端数据源启用》。

       今天的命令就介绍到这里啦,感兴趣的小伙伴快动手试试吧~

爬虫俱乐部是您身边的科研助手,能够为您在数据处理实证研究供帮助。承蒙近四万粉丝的支持与厚爱,我们在腾讯课堂推出了网络视频课程,专注于数据整理、网络爬虫、循环命令编制和结果输出…李老师及团队精彩地讲解,深入浅出,注重案例与实战,让您更加快速高效地掌握Stata技巧及数据处理的精髓,而且可以无限次重复观看,在原有课程基础上已上传了全新的内容!百分百好评,简单易学,一个月让您从入门到精通。绝对物超所值!观看学习网址:

https://ke.qq.com/course/286526?tuin=1b60b462

敬请关注!


对爬虫俱乐部的推文累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫!



往期推文推荐


关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。

投稿邮箱:statatraining@163.com

投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存