温故知新——用cntrade批量下载中国股票市场中的历史市场报价

2016-11-15 李子健 爬虫俱乐部 爬虫俱乐部

cntrade命令为中南财经政法大学李春涛教授与张璇副教授编写发布,能够下载中国股票市场中的历史市场报价。在我们之前的推文天路——chinafin与cntrade命令中介绍过此命令,让我们一起回顾他们的用法,并拓展他们的功能。命令格式:

cntrade codelist, [options]

codelist指股票代码。中国沪深两市股票代码都以六位数来命名,运用cntrade的过程中,股票代码必须通过空格来分开。对于每一个有效的股票代码,存在一个stata格式的输出数据文件,包含相应的上市公司的历史市场报价,上市公司数据来自于网易(Net Ease)。历史报价数据将以股票代码+. dta”格式的扩展文件保存至默认路径或更改路径下。 [options] 为可选择的输出文件夹名称。

cntrade能够从互联网下载中国股票市场中的历史市场报价数据,当我们希望批量下载多个上市公司的历史市场报价数据,可以直接在命令后边加上其股票代码,并用空格隔开。

clear

cap mkdir
"d:/cntrade"

cd d:/cntrade

cntrade  600000 601727 


我们可以选取601727.dta的文件来看看具体的数据情况:

use d:/cntrade/601727.dta,clear

br

可以看到上海电气(601727)公司从上市至今的日开盘收盘价格、日收益率、换手率等等。

针对股票市场的分析不仅仅只针对一家上市公司,当我们希望得到批量的上市公司的历史市场报价数据该怎么办呢?

假定我们希望得到如下上市公司的数据

我们可以运用levelsof列出股票代码的不同数值进行循环,具体程序如下:

clear

set more off

cap mk d:/cntrade

cd d:/cntrade

use "d:/股票代码.dta"

levelsof 股票代码,local(levels)

foreach c of local levels {

   cntrade `c'

}

我们可以看到上述上市公司的股票历史市场报价已得到。

当我们希望将这些数据纵向合并来进行研究,可以用到之前推文里介绍过的粘合剂”——openall命令来合并数据。

ssc install openall

openall *

我们可以看到上市公司的股票历史市场报价已合并得到。

说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场,点赞打赏,且随心意。今朝点滴,让我们更进一步;他年涌泉,更好的文章给更好的你。

 

编辑by梅洁瓷傲


往期推文推荐:

1.天路——chinafin与cntrade命令

2.分时数据,从此唾手可得

3.有了这个命令,以后还怕重复?

4.esttab功能挖掘:“Yes”or“No”

5.用“套路”处理数据

6.厉害了,我stata哥

7.爬虫俱乐部周末送大礼——chinagcode提取中文地址经纬度

8.据说这样数据替换比较快,你试一下,然后……

9.众里寻她千百度,synth命令来帮助!

10.I have a Stata, I have a python

11.用subinfile修改文件,滚蛋吧,繁琐的命令君!

12.删繁就简三秋叶,subinfile似剪刀


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


长按二维码关注你懂哟!~~


 

微信扫一扫
关注该公众号