股票day级历史数据的下载方法

一、国内股票历史数据

1. Python中tushare包

  • get_hist_data:此接口仅能获取最近三年的未复权数据,数据源来自新浪财经,但其获取速度不受限制

  • get_h_data:此接口可以获取历史全部数据,但获取速度受限,请求过快会封IP,不报错上限应该在一分钟五条

  1. 参数autype:可设置数据形式是前复权、后复权、不复权

  2. 参数pause :  可设置重复请求数据过程中暂停的秒数,设置在4秒一次时不会请求出错,下载速度在一分钟五只股票

  3. 股票停牌与退市都无那天信息

  4. 股票退市时获取该股票会报错,循环获取需跳过

  5. 获取时还可能出现time out 信息,暂时不能确定原因

  • ts.get_stock_basics():获取当日所有股票代码

  • 其他函数及参数参考其说明文档:http://tushare.org/index.html

2.R中WindR

  • 安装wind软件http://www.wind.com.cn/

  • 注册wind个人账户,wind针对财经院校有“财经学子阳光计划”,可免费注册。学校图书馆可能也有购买wind数据库

  • 下载WindR包,打开软件“量化”——>“修复插件”——>“修复R插件”,进入R界面,输入命令w.start()开始

  • w.menu()打开导航界面,利用其产生命令获取参数形式很方便

  • w.wsd()可获得股票历史数据,前复权参数为"PriceAdj=F",其他说明文档中未说明参数可用导航界面产生命令猜出

  • w.wsd()获得数据存于list下data数据框,停牌数据用上一交易日收盘价补全,退市股票数据是NA

  • 其他函数及参数命令参考wind客户端中“量化”——>“开放接口”——>“R插件”查看说明文档

  • http://www.dajiangzhang.com/q?529d26bf-7b34-46b1-bc92-ff9a2494b0a6

  • wind也有针对Python、MATLAB等的API接口,具体查看wind客户端中“量化”——>“开放接口”

  • 其大盘指数较少,仅有中证与沪深300,大盘指数获取建议tushare获取

3.R中quantmod包

  • 曾经此包盛极一时,但是自2016年由于数据源雅虎财经的问题,这个包似乎已有半年没人维护不建议使用

  • 其在GitHub上https://github.com/joshuaulrich/quantmod

  • quantmod包有三个数据源:雅虎财经、谷歌财经、FRED(这个不清楚)

  • 雅虎财经与国内大部分数据源的复权方式不同,导致数据与差异,并且其数据似乎有问题

  • google与FRED需要科学上网,并且似乎需要改变的是R获取数据时的IP(暂时没解决)

  • getSymbols("NKE", src = "yahoo")从雅虎财经获取NKE耐克的股票信息,其他参数参考说明文档

  • 上述函数获取到的数据存在NKE变量中,数据时间信息需用index(NKE)调取

 

二、美股股票获取

1.R中quantmod包

  • 从雅虎财经获取的数据质量出现严重问题,以道琼斯指数2010至2017数据为例,中间出现连续多个NA数据,并且某些天本应是正常交易日但无数据

2.windR

  • 根据menu提示获取道琼斯某些股票数据,但是经查验数据缺失部分,暂不确定原因

3.雅虎财经网站直接下载

  • 适用于仅需部分美股数据

  • https://finance.yahoo.com/quote/%5EDJI/history?p=%5EDJI

 

 三、其他可能数据获取方式

1.通联数据

2.雪球

3.聚合数据

4.其他想起来时再补充

 

四、数据补全

  • 数据补全时需下载今天与昨天两天的新数据,昨天数据用来与原数据比较是否发生股权变更

  • windR中可以获得上一交易日信息,tushare暂时没有找到相关信息。可以寻找某股票上一交易日时间后循环获取

  • 补全时需要考虑该股票是否退市,是否停牌,是否停牌后复牌,是否退市又复市,停牌复牌是否股权发生变更

posted @ 2017-12-06 14:02  坴戋  阅读(9174)  评论(0编辑  收藏  举报