手把手教你下载所有上市公司所有历史交易数据
很多研究上市公司的朋友希望能够获取所有上市公司所有历史交易数据,有数据库的朋友可以通过购买的数据平台下载,这个是收费购买的,比如说wind,等。但如何免费获取这个数据集呢?今天我给大家分享一个方法。
![](https://i-blog.csdnimg.cn/blog_migrate/d313ba22c08a10075f357c1af778e568.png)
然后,你就能够看到下载历史交易数据的地方
![](https://i-blog.csdnimg.cn/blog_migrate/de2527c36dd770bbf0959e65c9eae680.png)
点开这个链接,你会发现,你可以选择下载所有历史的数据,从该企业上市到目前所有的历史交易数据。
![](https://i-blog.csdnimg.cn/blog_migrate/386cf4217df603db47c1a2ebc1f40a62.png)
我们尝试下载万科A从上市日到今天的所有历史交易数据。
得到如下:
![](https://i-blog.csdnimg.cn/blog_migrate/93374579145c4e35db5b1de7fa5a9053.png)
我们从得到的链接入手来分析:
http://quotes.money.163.com/service/chddata.html?code=1000002&start=19910129&end=20161006&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP
其中我标记红色的部分,是针对每只股票的数据
code: 深市六位代码前加“1”,沪市股票代码前加“0”
start: 开始日期,如果想得到每只股票的所有历史交易数据,可以以公司上市日期来表达,8位数字,分别为yyyymmdd
end: 结束日期,表示的也是yyyymmdd八位数字
fields字段包括了开盘价、最高价、最低价、收盘价等。。。具体如下:
![](https://i-blog.csdnimg.cn/blog_migrate/265b9e1278843eacf65ddfbddfe2184f.png)
如果需要调整,可以自己选择。
那么如果我们调整以上参数,我们就可以下载其它股票的数据,如果我们把所有股票的代码、上市日期等内容填写上去,我们就可以制作一个批量下载的链接列表。
当然,你可以使用上次我们分享的方法下载,比如使用迅雷,把3034支股票的数据全部复制到迅雷的下载页面中,如下:
![](https://i-blog.csdnimg.cn/blog_migrate/bf482786f4bfde7a035402f9552363f2.png)
这对大多数电脑都是挑战,容易导致迅雷的崩溃。
你也可以采用windows powershell 批处理的方式下载,也可以用linux wget,通过制作shell命令文件的方式来下载。
这篇文章我们介绍下windows powershell的方式。
windows powershell开启script执行批处理的设置
打开windows powershell的界面:
![](https://i-blog.csdnimg.cn/blog_migrate/8624be84374127155fa98decb617fb61.png)
>set-executionpolicy -executionpolicy unrestricted
然后需要制作一个批处理的命令文件,我们命名为 *.ps1
里面的内容为:
$down= new-object System.Net.WebClient
$down.DownloadFile('http://quotes.money.163.com/service/chddata.html?code=1600000&start=19991110&end=20160930&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP','D:\tmp\historical_tradedata_600000.SH.xls')
...................
上期博文中解释了System.net.webclient类,这一期再说下:
第一行:命名一个新system.net.webclient的类,变量名字叫$down
注:微软的.net中不区分大小写
第二行是该类的下载“方法”
$down.DownLoadFile(‘url’,‘保存路径和名称’)