做股票量化分析,获取股票行情数据是第一步,结合网上的信息,和我用过的一些东西,做个总结。以后有新信息,逐步完善。

目录

一、本地

1、tushare库

2.AkShare-开源本地

3.baostock,

4.jqdatasdk、-聚宽的本地版

5.OpenDataTools

6、pandas-datareader库

二、在线量化平台

1.优矿

2.聚宽

3.mindgo-同花顺量化平台

4、rqdatac-米筐,

5.其它

三、通达信等行情软件

四、股票网站行情接口

1 雪球接口

2 网易接口

3 和讯接口

4 腾讯接口

5 新浪接口

6.从雅虎财经上爬

7.爱搞搞

五、一些收费的信息

六、其它


一、本地

1、tushare库

网址:https://tushare.pro/

获取上证指数1:ts-pro

import tushare as ts
ts.set_token('********')
pro = ts.pro_api()
df = pro.index_daily(ts_code='000001.SH',start_date="20190101")
df = df.sort_values(by='trade_date',ascending=True)
df = df.reset_index(drop=True)
df.rename(columns={'vol':'volume'}, inplace = True)

pro.index_daily返回:ts_code、trade_date、close、open、high、low、pre_close、vol、amount等

获取上证指数2:ts-ifeng

import tushare as ts
dfi=ts.get_hist_data('sh')   #获取上证指数k线:
dfi.sort_index(inplace=True)
dfi = dfi.reset_index(drop=False)
dfi.rename(columns={'date':'trade_date'}, inplace = True)

ts.get_hist_data返回:'date', 'open', 'high', 'close', 'low', 'volume', 等,无amount

获取上证指数3:ts-腾讯gtimg.cn

import tushare as ts
def test_ts2():dfi=ts.get_k_data('sh')   #获取上证指数k线数据,其它参数与个股一致,下同print(dfi)return dfi

ts.get_k_data返回:1990年开市以来的所有'date', 'open', 'close', 'high', 'low', 'volume', 'code'等,无amount

获取上证指数4:ts-vsf-sina

import tushare as ts
def test_ts3():dfi=ts.get_h_data('sh')   #获取上证指数k线数据,其它参数与个股一致,下同print(dfi)return dfi

返回:此法已经失效,原来应该是获取‘vsf': 'vip.stock.finance.sina.com.cn',不知道为何失效。

其它常用api
df1=pro.trade_cal(exchange=‘SSE’, start_date=sdate,end_date=edate,is_open=‘1’)
df = pro.daily(trade_date=‘20180810’) #获取日线行情,里面有昨收
df = pro.top_inst(trade_date=idate) #获取龙虎榜机构机构明细

2.AkShare-开源本地

https://akshare.readthedocs.io/

有一个dtshare,数据和调用方式都类似。

获取股票指数历史

1.股票指数数据是从新浪财经获取的数据

def test_sina():  import akshare as akstock_zh_index_daily_df = ak.stock_zh_index_daily(symbol="sh000001")print(stock_zh_index_daily_df)

返回:date\open\close\high\low\volume

zh_sina_index_stock_hist_url = "https://finance.sina.com.cn/realstock/company/{}/hisdata/klc_kl.js"

1.股票指数数据是从腾讯获取的数据

def test_tx():import akshare as akstock_zh_index_daily_tx_df = ak.stock_zh_index_daily_tx(symbol="sh000001")print(stock_zh_index_daily_tx_df)

返回:date\open\close\high\low\amount

url = "http://web.ifzq.gtimg.cn/appstock/app/fqkline/get"

测试的时候速度比sina慢不少。

3.baostock,

def test_bao():import baostock as bsimport pandas as pd# 登陆系统lg = bs.login()# 显示登陆返回信息rs = bs.query_history_k_data_plus("sh.000001","date,code,open,high,low,close,preclose,volume,amount,pctChg",start_date='1990-01-01', frequency="d")    # 打印结果集data_list = []while (rs.error_code == '0') & rs.next():# 获取一条记录,将记录合并在一起data_list.append(rs.get_row_data())result = pd.DataFrame(data_list, columns=rs.fields)print(result)# 登出系统bs.logout()return result

返回:1990-12-19开始的'date', 'code', 'open', 'high', 'low', 'close', 'preclose', 'volume','amount',等。

数据较快;close比对还行,两位小数,和三位的略有误差;交叉调用时注意volume的单位

4.jqdatasdk、-聚宽的本地版

5.OpenDataTools

开源的数据提取工具,专注在各类网站上爬取数据,并通过简单易用的API方式使用

  • Home
  • 01. 股票数据
  • 02. 期货数据
  • 03. 汇率数据
get_daily 获取日线数据

雪球

https://github.com/PKUJohnson/OpenData/wiki

6、pandas-datareader库

用fix_yahoo_finance库修正雅虎源,用了一下,能用,但是据说在走下坡路,还是别太投入了。

def test_yahoo():#可以通过如下获取上证指数的数据,缺点:from pandas_datareader import data, wbfrom datetime import datetimestart1=datetime(1990,1,1)end1=datetime(1993,1,1)df = data.DataReader("000001.SS", 'yahoo', start1, end1)print(df)return df

速度很慢,上述代码有一次是11秒运行完,另一次2分钟都没返回结果,直接重启内核了。(20200419)

二、在线量化平台

用了优矿和聚宽,主要以优矿为主,特别是里面的涨跌停信息,做涨跌停有关的分析很方便。之前还有米筐等。

1.优矿

DataAPI.MktEqudGet # 取沪深AB股日行情信息,包含昨收价、开盘价、最高价、最低价、收盘价、成交量、成交金额等字段,每日16:00更新
DataAPI.MktLimitGet #获取股票历史涨跌停价格

2.聚宽

3.mindgo-同花顺量化平台

http://quant.10jqka.com.cn/

4、rqdatac-米筐,

需申请,可使用一个月

https://www.ricequant.com/welcome/

5.其它

另有:VNPY-tqsdk -看界面不错

三、通达信等行情软件

比如通达信的高级导出功能,注意上证指数等指数需要单独导出。
要注意下载数据可能不完整,逐步检查,
优缺点:这个数据的好处是速度快。

四、股票网站行情接口

1 雪球接口

https://xueqiu.com/stock/forchartk/stocklist.json?symbol=<股票代码>&period=<采样频率>&type=<复权类型>&begin=<起始时间戳>&end=<终止时间戳>

2 网易接口

http://quotes.money.163.com/service/chddata.html?code=<股票代码>&start=<起始时间>&end=<终止时间>&fields=<指标用分号分隔>

网易财经可以下载股票和指数的历史数据。通过在chrome的调试工具中观察请求信息,发现网址为 
http://quotes.money.163.com/service/chddata.html?code=0000001&start=19901219&end=20200101&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;VOTURNOVER;VATURNOVER 
这里0000001指的是上证指数。注意这串数字要分0和000001两部分看。0代表sh,1代表sz。所以0000001其实是sh000001的意思。同理,0 000300也就是sh000300 沪深300的代码。后面的start和end没什么问题。fields选项中,TCLOSE,HIGH,LOW,TOPEN分别表示当日的收盘,最高,最低,开盘价;LCLOSE表示昨日收盘价。CHG,PCHG,VOTURNOVER,VAT分别表示涨跌额,涨跌幅,成交量,成交金额。如果你在浏览器中直接输入网址的话,会下载一个csv文件。如果直接用urllib.request来打开的话,会得到一长串字符串,里面包含了所有的数据,如下所示。

以工商银行为例的URL:

日内实时盘口(JSON):
http://api.money.126.net/data/feed/1000002,1000001,1000881,0601398,money.api

历史成交数据(CSV):
http://quotes.money.163.com/service/chddata.html?code=0601398&start=20000720&end=20150508
财务指标(CSV):
http://quotes.money.163.com/service/zycwzb_601398.html?type=report

资产负债表(CSV):
http://quotes.money.163.com/service/zcfzb_601398.html

利润表(CSV):
http://quotes.money.163.com/service/lrb_601398.html

现金流表(CSV):
http://quotes.money.163.com/service/xjllb_601398.html

杜邦分析(HTML):
http://quotes.money.163.com/f10/dbfx_601398.html

3 和讯接口

和讯接口的特点是可以控制采样的数量和方向。

http://webstock.quote.hermes.hexun.com/a/kline?code=<股票代码>&start=<时间定位点>&number=<采样数量和方向>&type=<采样频率代码>

和讯还提供了更简单的接口:
全部日线行情:

http://flashquote.stock.hexun.com/Quotejs/DA/<交易所标记>_<股票代码>DA.html

全部分时行情:

http://flashquote.stock.hexun.com/Quotejs/MA/<交易所标记><股票代码>_MA.html

交易所标记中的1表示沪市,2表示深市
接口差别在D和M,注意有两处

4 腾讯接口

http://data.gtimg.cn/flashdata/hushen/latest/<采样频率>/<股票代码>.js

5 新浪接口

http://hq.sinajs.cn/list=<股票代码>

A股股票&基金
http://hq.sinajs.cn/list=sh601006
http://hq.sinajs.cn/list=sh502007
A股指数
http://hq.sinajs.cn/list=s_sz399001
港股股票
http://hq.sinajs.cn/list=hk02333
http://hq.sinajs.cn/list=rt_hkCSCSHQ #沪港通资金流量
港股指数
http://hq.sinajs.cn/list=int_hangseng
http://hq.sinajs.cn/list=rt_hkHSI
http://hq.sinajs.cn/list=hkHSI,hkHSCEI,hkHSCCI #恒生指数,恒生国企指数,恒生红筹指数
美股股票&基金
http://hq.sinajs.cn/list=gb_amzn
http://hq.sinajs.cn/list=usr_amzn
http://hq.sinajs.cn/list=usr_russ
美股指数
http://hq.sinajs.cn/list=int_nasdaq
http://hq.sinajs.cn/list=gb_ixic #纳斯达克指数
http://hq.sinajs.cn/list=int_dji
http://hq.sinajs.cn/list=int_sp500
http://hq.sinajs.cn/list=int_ftse #伦敦指数
http://hq.sinajs.cn/list=int_bloombergeuropean500 #彭博欧洲500指数
http://hq.sinajs.cn/list=int_dax30,int_djstoxx50
外汇行情
http://hq.sinajs.cn/list=XAUUSD
http://hq.sinajs.cn/list=DINIW #美元指数
黄金&白银
http://hq.sinajs.cn/list=hf_XAU
http://hq.sinajs.cn/list=hf_XAG
http://hq.sinajs.cn/list=hf_GC #COMEX黄金
http://hq.sinajs.cn/list=hf_SI #COMEX白银
http://hq.sinajs.cn/list=hf_AUTD #黄金TD
http://hq.sinajs.cn/list=hf_AGTD #白银TD
http://hq.sinajs.cn/list=AU0 #黄金期货
http://hq.sinajs.cn/list=AG0 #白银期货
http://hq.sinajs.cn/list=hf_CL #NYMEX原油
期货
http://hq.sinajs.cn/list=CFF_LIST #金融期货合约
http://finance.sina.com.cn/iframe/futures_info_cff.js #商品与金融期货合约
http://hq.sinajs.cn/?list=CFF_RE_IF1705 #合约行情
期权合约的月份
http://stock.finance.sina.com.cn/futures/api/openapi.php/StockOptionService.getStockName
期权合约到期日
http://stock.finance.sina.com.cn/futures/api/openapi.php/StockOptionService.getRemainderDay?date=201705
看涨期权合约
http://hq.sinajs.cn/list=OP_UP_5100501705
看跌期权合约
http://hq.sinajs.cn/list=OP_DOWN_5100501705
期权行情
http://hq.sinajs.cn/list=CON_OP_10000869
http://hq.sinajs.cn/list=CON_ZL_10000869
http://hq.sinajs.cn/list=CON_SO_10000869
热门股票
http://finance.sina.com.cn/realstock/company/hotstock_daily_a.js
新股日历
http://vip.stock.finance.sina.com.cn/corp/view/iframe/vAK_NewStockIssueFrame_2015.php?num=10
定增列表
http://vip.stock.finance.sina.com.cn/corp/view/vAK_IncreaseStockIssueFrame_2015.php?num=10
基金公司
http://vip.stock.finance.sina.com.cn/fund_center/api/jsonp.php/var%20companyList=/NetValue_Service.getAllCompany

停更数据:
http://biz.finance.sina.com.cn/stock/flash_hq/kline_data.php?symbol=sh000001&end_date=20120101
http://market.finance.sina.com.cn/downxls.php?date=2011-07-08&symbol=sh600900

内容:该业务已经下线。给您造成的不便,深表歉意。如果行情页无法正常访问,可反馈至:finproduct@staff.sina.com.cn 。如果是抓接口数据,臣妾就木有办法了。您赶紧找个其他的源抓吧,我们不再恢复这个接口了~

6.从雅虎财经上爬

https://finance.yahoo.com/quote/<股票代码.交易所>/history

7.爱搞搞

http://www.aigaogao.com/tools/history.html?s=<股票代码>

五、一些收费的信息

有钱了用收费的吧,还没用过,也没体验过。
比如东财choice(单用户5800元一年),wind等,有很多,有钱就用收费的。

六、其它

有观点认为:

获取股票数据的渠道有很多,而且基本上是免费的。

目前股票端用的比较多的有通达信,tushare, Quantaxis等,

期货端有CTP,CTPBEE,VNPY,TQSDK等,

下面介绍几个~

  • tushare 米哥的数据框架我就不用说了吧,采取积分制,高校学生免费获得积分。具体请自行百度
  • tqsdk 期货老牌厂商快期的开源计划的核心, 他们有期货数据转发权,所以在他们的tqsdk中可以很轻松的调用到历史数据。当然他的使用也是无脑的哈哈哈哈, 好像后续计划对接股票数据
  • QUANTAXIS, 作者我就不说了, 

    @余天

    一己之力可以通天大佬,同样使用QA你可以很轻松的使用到历史数据,注意,他是将数据写入到本地mongodb数据库。然后同时提供了取数据的代码。当然QA也支持股票数据

https://zhuanlan.zhihu.com/p/100110280

其它:

数据接口-免费版(股票数据API):

获取股票数据的源头主要有:数据超市、雅虎、新浪、Google、和讯、搜狐、ChinaStockWebService、东方财富客户端、证券之星、网易财经。

https://blog.csdn.net/Llingmiao/article/details/79941066?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

End

获取A股行情数据方法相关推荐

  1. 赞!用Python获取A股行情数据的4种方法

    今天看到了某位同学关于<深入浅出Python量化交易实战>一书所写的的Python读书笔记,现在推送给大家,望一起探讨学习. 为鼓励大家学习,文末也会进行赠书活动,不容错过! 原文如下: ...

  2. 【读书笔记】用Python获取A股行情数据的4种方法

    本人大三在校小学渣一枚,非金融专业,也从来没有过股票期货等金融产品的投资经验,但最近收到了清华出版社赠送的<深入浅出Python量化交易实战>一书,因为平时对数据科学和机器学习都比较感兴趣 ...

  3. 用AkShare库获取A股股票数据—获取实时A股数据

    前面给大家介绍了如何用Tushare获取A股股票数据,但是现在使用Tushare会受到积分限制,没有获得积分使用起来也麻烦.今天再给大家介绍一个免费的开源数据库AKShare. AKShare 是基于 ...

  4. 【爬虫】Python2爬虫代码之获取金融品种行情数据

    Python2爬虫代码之获取金融品种行情数据 #!/usr/bin/env python # -*- coding: utf-8 -*- import requests #使用requests包方便 ...

  5. 获取实时股票行情数据

    一.获取最新实时行情      可以从新浪或网易的接口获得行情数据.     新浪: 形式如:http://hq.sinajs.cn/list=sz002218 网易: 形式如:http://char ...

  6. 如何利用A股行情数据API建立自己的量化交易事业?

    什么是量化交易?如何利用股票行情数据建立自己的量化交易事业? 也就是说,让软件按照你设定的策略,进行自动买卖股票,你对level2行情数据和自动交易股票有自己的看法吗? 如果有,恭喜你,即使不写自动化 ...

  7. 如何获取L2股票行情数据接口连接量化交易?

    深交所Level-2行情,市场需求量确实比较大. 很多人需要沪深L2的实时市场,但也有很多人只需要深交所的L2市场,而不是上交所的L2市场.我接触过的只有一个市场,只有深交所,没有说只要上交所不是深交 ...

  8. python预测股票价格tushare_Python:tushare获取A股指数数据,使用LSTM进行预测,pythontushare,并...

    根据tushare官网资料(http://tushare.org/)目前仅支持下面A股指数查询. 指数名称    TS指数代码 上证指数    sh 深圳成指    sz 沪深300指数    hs3 ...

  9. 免费获取股票历史交易数据方法与代码获取股票实时数据方法集合

    现在网上有越来越多开源的股票数据的获取方法,言简意赅,小编在这里提供2种方法去获取股票数据,第一种呢还是针对于所有的用户,通过使用第三方平台提供的方法来获取到所需要的股票数据. 方法一:使用免费的网站 ...

  10. python金融代码_Python2爬虫代码之获取金融品种行情数据

    #!/usr/bin/env python # -*- coding: utf-8 -*- import requests #使用requests包方便 import json #导入json模块 i ...

最新文章

  1. 高文、张钹、杨强隔空论道:AI精度与隐私的博弈
  2. 全栈JVM框架Micronaut通向1.0版本之路
  3. mysql报错:Deadlock found when trying to get lock;
  4. matlab创建数组对象,MATLAB一维数组(向量)的定义
  5. Netty的ChannelFuture和ChannelPromise
  6. 如何在单例模式下禁止init
  7. micropython入门指南-【micropython入门指南 】读后感 一
  8. 决策树1 -- ID3_C4.5算法
  9. 经典排序算法(四)--基数排序Radix Sort
  10. python 整合同类数据求分位值_【利用python进行数据分析】数据聚合与分组运算...
  11. IPD解读——IPD流程
  12. 仓储物流机器人:快仓、海柔创新“极速前进”
  13. PHP中用while的用法,php while语句的用法
  14. ACM Plan UVa - 10102 The path in the colored field
  15. oracle中cube的作用,Oraclerollup和cube分析
  16. OpenGL开发-第6章-纹理,让物体更漂亮
  17. P1852 跳跳棋(建模LCA)
  18. python、anaconda、jupyetr notebook的安装与配置
  19. 电脑html动态桌面壁纸制作,电脑如何制作动态壁纸_电脑上怎么搞动态壁纸-win7之家...
  20. 路由网关---zuul

热门文章

  1. 计算机科学导论实验报告,上海电力学院计算机导论实验报告.docx
  2. 多彩泡泡屏保特效(JAVA版)
  3. 在移动硬盘中安装WIN10
  4. [编程题]山寨金闪闪 (面试题)
  5. whisper客服源码_开源在线客服系统whisper
  6. pycharm(Idea)破解到2100年
  7. 苹果删除照片不释放内存_原来苹果手机这样清理内存,可以释放大量空间,真是太好用了...
  8. sikuli实现百度云批量离线下载
  9. postgres中的中文分词zhparser
  10. ESP8266-连接阿里云示例