免费获取所有股票5分钟级别及以上的交易数据
平台介绍
证券宝www.baostock.com是一个免费、开源的证券数据平台(无需注册)。
- 提供大量准确、完整的证券历史行情数据、上市公司财务数据等。
- 通过python API获取证券数据信息,满足量化交易投资者、数量金融爱好者、计量经济从业者数据需求。
- 返回的数据格式:
- pandas DataFrame类型,以便于用pandas/NumPy/Matplotlib进行数据分析和可视化。
- 同时支持通过BaoStock的数据存储功能,将数据全部保存到本地后进行分析。
- 支持语言:目前版本BaoStock.com目前只支持Python3.5及以上(暂不支持python 2.x)。
- 持续更新:BaoStock.com还在不断的完善和优化,后续将逐步增加港股、期货、外汇和基金等方面的金融数据,为成为一个免费金融数据平台努力。
- 分享优化:请通过微信、网站博客或者知乎文章等方式分享给大家,使它能在大家的使用过程中逐步得到改进与提升,以便于更好地为大家提供免费服务。
- 平台麦克:证券宝BaoStock.com从发布到现在,已经帮助很多用户在数据方面减轻了工作量,同时也得到很多用户的反馈。它将一如既往的以免费、开源的形式分享出来,希望给有需要的朋友带来一些帮助。
下载安装
方式1:pip install baostock
使用国内源安装:
pip install baostock -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn
方式2:访问 https://pypi.python.org/pypi/baostock 下载安装
python setup.py install或pip install xxx.whl
注意:程序运行时,文件名、文件夹名不能是baostock。
版本升级
pip install --upgrade baostock
使用前提:
安装Python
安装pandas(pip install pandas)
建议安装Anaconda,以免出现问题(Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项,下载地址https://www.anaconda.com/download/)。
每日最新数据更新时间:
- 当前交易日17:30,完成日K线数据入库;
- 当前交易日20:30,完成分钟K线数据入库;
- 第二自然日1:30,完成前交易日“其它财务报告数据”入库;
数据范围说明
股票数据
- 日、周、月K线数据,时间范围:1990-12-19至今。
- 5、15、30、60分钟K线数据,时间范围:1999-07-26至今。
指数数据
- 日、周、月K线已经包含指数:综合指数,规模指数,一级行业指数,二级行业指数,策略指数,成长指数,价值指数,主题指数,基金指数,债券指数。
- 时间范围:2006-01-01至今。
季频财务数据
- 已经包含的财务数据:部分上市公司资产负债信息、上市公司现金流量信息、上市公司利润信息、上市公司杜邦指标信息。
- 时间范围:2007年至今。
季频公司报告
- 上市公司业绩预告信息,时间范围:2003年至今。
- 上市公司业绩快报信息,时间范围:2006年至今。
=========================================================================
下面是获取K线数据具体操作过程
A股K线数据
获取历史A股K线数据:query_history_k_data_plus()
方法说明:通过API接口获取A股历史交易数据,可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据,适合搭配均线数据进行选股和分析。
返回类型:pandas的DataFrame类型。
能获取1990-12-19至当前时间的数据;
可查询不复权、前复权、后复权数据。
使用示例:
import baostock as bs
import pandas as pd#### 登陆系统 ####
lg = bs.login()
# 显示登陆返回信息
print('login respond error_code:'+lg.error_code)
print('login respond error_msg:'+lg.error_msg)#### 获取沪深A股历史K线数据 ####
# 详细指标参数,参见“历史行情指标参数”章节;“分钟线”参数与“日线”参数不同。“分钟线”不包含指数。
# 分钟线指标:date,time,code,open,high,low,close,volume,amount,adjustflag
# 周月线指标:date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChg
rs = bs.query_history_k_data_plus("sh.600000","date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST",start_date='2017-07-01', end_date='2017-12-31',frequency="d", adjustflag="3")
print('query_history_k_data_plus respond error_code:'+rs.error_code)
print('query_history_k_data_plus respond error_msg:'+rs.error_msg)#### 打印结果集 ####
data_list = []
while (rs.error_code == '0') & rs.next():# 获取一条记录,将记录合并在一起data_list.append(rs.get_row_data())
result = pd.DataFrame(data_list, columns=rs.fields)#### 结果集输出到csv文件 ####
result.to_csv("D:\\history_A_stock_k_data.csv", index=False)
print(result)#### 登出系统 ####
bs.logout()
参数含义:
- code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
- fields:指示简称,支持多指标输入,以半角逗号分隔,填写内容作为返回类型的列。详细指标列表见历史行情指标参数章节,日线与分钟线参数不同。此参数不可为空;
- start:开始日期(包含),格式“YYYY-MM-DD”,为空时取2015-01-01;
- end:结束日期(包含),格式“YYYY-MM-DD”,为空时取最近一个交易日;
- frequency:数据类型,默认为d,日k线;d=日k线、w=周、m=月、5=5分钟、15=15分钟、30=30分钟、60=60分钟k线数据,不区分大小写;指数没有分钟线数据;周线每周最后一个交易日才可以获取,月线每月最后一个交易日才可以获取。
- adjustflag:复权类型,默认不复权:3;1:后复权;2:前复权。已支持分钟线、日线、周线、月线前后复权。 BaoStock提供的是涨跌幅复权算法复权因子,具体介绍见:复权因子简介或者BaoStock复权因子简介。
注意:
- 股票停牌时,对于日线,开、高、低、收价都相同,且都为前一交易日的收盘价,成交量、成交额为0,换手率为空。
如果需要将换手率转为float类型,可使用如下方法转换:result["turn"] = [0 if x == "" else float(x) for x in result["turn"]]
关于复权数据的说明:
BaoStock使用“涨跌幅复权法”进行复权,详细说明参考上文“复权因子简介”。不同系统间采用复权方式可能不一致,导致数据不一致。
“涨跌幅复权法的”优点:可以计算出资金收益率,确保初始投入的资金运用率为100%,既不会因为分红而导致投资减少,也不会因为配股导致投资增加。
与同花顺、通达信等存在不同。
date | code | open | high | low | close | preclose | volume | amount | adjustflag | turn | tradestatus | pctChg | isST |
2017-07-03 | sh.600000 | 12.64 | 12.65 | 12.47 | 12.56 | 12.65 | 38778949 | 486264672 | 3 | 0.137985 | 1 | —0.711456 | 0 |
2017-07-04 | sh.600000 | 12.55 | 12.58 | 12.41 | 12.55 | 12.56 | 36659128 | 458434432 | 3 | 0.130442 | 1 | —0.07962 | 0 |
2017-07-05 | sh.600000 | 12.5 | 12.65 | 12.47 | 12.62 | 12.55 | 26470507 | 332542464 | 3 | 0.094188 | 1 | 0.557767 | 0 |
2017-07-06 | sh.600000 | 12.62 | 12.72 | 12.51 | 12.66 | 12.62 | 37414241 | 471582096 | 3 | 0.133129 | 1 | 0.316957 | 0 |
2017-07-07 | sh.600000 | 12.62 | 12.69 | 12.55 | 12.6 | 12.66 | 24667294 | 311101536 | 3 | 0.087772 | 1 | —0.473929 | 0 |
参数名称 | 参数描述 | 算法说明 |
date | 交易所行情日期 | |
code | 证券代码 | |
open | 开盘价 | |
high | 最高价 | |
low | 最低价 | |
close | 收盘价 | |
preclose | 前收盘价 | 见表格下方详细说明 |
volume | 成交量(累计 单位:股) | |
amount | 成交额(单位:人民币元) | |
adjustflag | 复权状态(1:后复权, 2:前复权,3:不复权) | |
turn | 换手率 | [指定交易日的成交量(股)/指定交易日的股票的流通股总股数(股)]*100% |
tradestatus | 交易状态(1:正常交易 0:停牌) | |
pctChg | 涨跌幅(百分比) | 日涨跌幅=[(指定交易日的收盘价-指定交易日前收盘价)/指定交易日前收盘价]*100% |
peTTM | 滚动市盈率 | (指定交易日的股票收盘价/指定交易日的每股盈余TTM)=(指定交易日的股票收盘价*截至当日公司总股本)/归属母公司股东净利润TTM |
pbMRQ | 市净率 | (指定交易日的股票收盘价/指定交易日的每股净资产)=总市值/(最近披露的归属母公司股东的权益-其他权益工具) |
psTTM | 滚动市销率 | (指定交易日的股票收盘价/指定交易日的每股销售额)=(指定交易日的股票收盘价*截至当日公司总股本)/营业总收入TTM |
pcfNcfTTM | 滚动市现率 | (指定交易日的股票收盘价/指定交易日的每股现金流TTM)=(指定交易日的股票收盘价*截至当日公司总股本)/现金以及现金等价物净增加额TTM |
isST | 是否ST股,1是,0否 |
注意“前收盘价”说明:
证券在指定交易日行情数据的前收盘价,当日发生除权除息时,“前收盘价”不是前一天的实际收盘价,而是根据股权登记日收盘价与分红现金的数量、配送股的数里和配股价的高低等结合起来算出来的价格。
具体计算方法如下:
1、计算除息价:
除息价=股息登记日的收盘价-每股所分红利现金额
2、计算除权价:
送红股后的除权价=股权登记日的收盘价/(1+每股送红股数)
配股后的除权价=(股权登记日的收盘价+配股价*每股配股数)/(1+每股配股数)
3、计算除权除息价
除权除息价=(股权登记日的收盘价-每股所分红利现金额+配股价*每股配股数)/(1+每股送红股数+每股配股数)
“前收盘价”由交易所计算并公布。首发日的“前收盘价”等于“首发价格”。
历史行情指标参数
参数名称 | 参数描述 | 说明 |
date | 交易所行情日期 | 格式:YYYY-MM-DD |
code | 证券代码 | 格式:sh.600000。sh:上海,sz:深圳 |
open | 今开盘价格 | 精度:小数点后4位;单位:人民币元 |
high | 最高价 | 精度:小数点后4位;单位:人民币元 |
low | 最低价 | 精度:小数点后4位;单位:人民币元 |
close | 今收盘价 | 精度:小数点后4位;单位:人民币元 |
preclose | 昨日收盘价 | 精度:小数点后4位;单位:人民币元 |
volume | 成交数量 | 单位:股 |
amount | 成交金额 | 精度:小数点后4位;单位:人民币元 |
adjustflag | 复权状态 | 不复权、前复权、后复权 |
turn | 换手率 | 精度:小数点后6位;单位:% |
tradestatus | 交易状态 | 1:正常交易 0:停牌 |
pctChg | 涨跌幅(百分比) | 精度:小数点后6位 |
peTTM | 滚动市盈率 | 精度:小数点后6位 |
psTTM | 滚动市销率 | 精度:小数点后6位 |
pcfNcfTTM | 滚动市现率 | 精度:小数点后6位 |
pbMRQ | 市净率 | 精度:小数点后6位 |
isST | 是否ST | 1是,0否 |
参数名称 | 参数描述 | 说明 | 算法说明 |
date | 交易所行情日期 | 格式:YYYY-MM-DD | |
code | 证券代码 | 格式:sh.600000。sh:上海,sz:深圳 | |
open | 开盘价格 | 精度:小数点后4位;单位:人民币元 | |
high | 最高价 | 精度:小数点后4位;单位:人民币元 | |
low | 最低价 | 精度:小数点后4位;单位:人民币元 | |
close | 收盘价 | 精度:小数点后4位;单位:人民币元 | |
volume | 成交数量 | 单位:股 | |
amount | 成交金额 | 精度:小数点后4位;单位:人民币元 | |
adjustflag | 复权状态 | 不复权、前复权、后复权 | |
turn | 换手率 | 精度:小数点后6位;单位:% | |
pctChg | 涨跌幅(百分比) | 精度:小数点后6位 | 涨跌幅=[(区间最后交易日收盘价-区间首个交易日前收盘价)/区间首个交易日前收盘价]*100% |
参数名称 | 参数描述 | 说明 |
date | 交易所行情日期 | 格式:YYYY-MM-DD |
time | 交易所行情时间 | 格式:YYYYMMDDHHMMSSsss |
code | 证券代码 | 格式:sh.600000。sh:上海,sz:深圳 |
open | 开盘价格 | 精度:小数点后4位;单位:人民币元 |
high | 最高价 | 精度:小数点后4位;单位:人民币元 |
low | 最低价 | 精度:小数点后4位;单位:人民币元 |
close | 收盘价 | 精度:小数点后4位;单位:人民币元 |
volume | 成交数量 | 单位:股 |
amount | 成交金额 | 精度:小数点后4位;单位:人民币元 |
adjustflag | 复权状态 | 不复权、前复权、后复权 |
免费获取所有股票5分钟级别及以上的交易数据相关推荐
- 股票API下单接口是怎样传入交易数据的?
股票API下单接口传入交易数据的方法有四种,但主要使用的还是csvdatasetconfig和函数.不过基于当前的线程组或者请求创建CSV数据文件配置组件.如果这份数据只有这一个请求会用,那么就基于请 ...
- 从通达信中获取得到股票、期货等金融标的的分时数据。
首先下载一个通达信 下载一个普及版的,点击进去右上角有一个免费下载,下载了以后进入软件,无论是游客登录还是注册登录都可以. 点击最上面一栏的选项,然后找到盘后数据下载 点击拓展市场行情分钟线,可以选1 ...
- 通过爬虫等手段,免费获取非小号和coinmarket的实时汇率等行情数据
1.非小号 爬取非小号:通过抓取network,发现非小号的币价汇率接口,然后用程序拿这个返回的数据,就可以了. https://dncapi.bqiapp.com/api/coin/web-coin ...
- 如何通过通达信接口获取最近的分钟级别行情数据?
如何通过通达信接口获取最近的分钟级别行情数据?对于做短线策略的交易者来说,得到实盘的量价数据之后,还需要把这些数据转换为各种技术指标,在策略中去使用和分析. 由于本地采样时间和交易所推送数据时间会有微 ...
- 如何免费获取沪深300 历史净值数据集
您可以在聚宽数据平台上免费获取沪深300历史净值数据集.聚宽数据平台是一个专业的金融数据服务提供商,提供海量的股票.基金.期货.期权.外汇.数字货币等的历史行情数据.您可以在聚宽数据平台官网上注册账号 ...
- Python免费获取股票业绩预告【附源码】
在众多的股票量化策略里,我比较钟爱一个策略:净利润断层 直观理解就是在股票的业绩预告.业绩快报.业绩报告等报告出来的时候,因为业绩超预期,股价会有一个跳空高开形成缺口,而且因为上攻力量比较强,这个缺口 ...
- 【免费股票数据接口|实测可用|史上最全】沪深A股实时交易数据数据API接口
沪深A股基础实时数据API 数据来源:麦蕊智数 请求方式:Get(直接在浏览器打开就可以看到返回的数据) 数据格式:标准Json格式[{},...{}] 数据时效:实时更新 API说明文档:https ...
- 免费获取Q币的20种方法?[爆笑版]
免费获取Q币的20种方法?[爆笑版] 以下的20个方法及其后果都是开玩笑的!供大家开心不开心的时候笑一笑!实在想免费可以去pc蛋蛋.豆豆网! 1.在自己的钱包里或是银行卡内拿出10块钱,走到或跑到或是 ...
- 二级分类_免费获取2021年二级造价工程师考试大纲
点击标题下蓝字关注我们,一次性通过二级造价工程师考试! 2021年二级造价工程师考试备考开始,为了大家能尽早开始学习,小二为大家总结了2020年的考试大纲,2021年考试大纲应该变动不会很大,大家可以 ...
最新文章
- 【bzoj 2002】弹飞绵羊
- mysql第五章项目二_Todo List:Node+Express 搭建服务端毗邻Mysql – 第五章(第1节)
- 高校邦python程序设计基础篇_高校邦Python程序设计基础【实境编程】章节答案
- 科大星云诗社动态20210511
- python_文件处理
- winform界面闪退
- sql server中的 SET NOCOUNT ON 的含义
- 一个基于用户的API限流策略 Rate Limit
- 公司间交易学习笔记---概述
- 本地连不上远程mysql数据库(2)
- 牛客网 [编程题]餐馆
- mysql自定义函数重载_python pyMysql 自定义异常 函数重载
- 在线浏览stp(step)文件(一)
- 新员工入职表_员工离职率过高,只要三步骤,就能轻松有效控制!
- HTML静态网页作业——仿天猫购物商城(7页) 网页设计作业,网页制作作业, 学生网页作业, 网页作业成品, 网页作业模板
- balenaEtcher for mac(U盘启动盘制作工具)
- Win系统svchost进程流量偷跑,如何永久杜绝?
- Go语言实现获取有道网页结果
- 在vscode中使用iconfont阿里字体图标
- 求和:1/3+3/5+5/7+7/9+………..+97/99
热门文章
- 网络测试仪哪个牌子好
- 全球液晶面板市场格局或将改变,TCL将超越京东方成为老大
- 缓冲技术之二:缓冲池BufferPool的简单实现
- phpmailer报 You must provide at least one recipient email address.解决办法
- 动态表格案例 JavaScript
- AI周报丨标清变4k?B站超分辨率算法开源;强化学习算法控制核聚变登上《nature》
- W ndows7怎么进入BlOS,Windows7旗舰版进不了bios界面怎么办?
- mysql locate不走索引_面试--mysql的模糊查询优化、like、locate、position、instr、find_in_set...
- mysql只有32位的吗_#金鸡奖##星辰大海演员计划#32位青年演员曝光,并非只有周冬雨斩获过金马奖...
- 安卓打开rpm文件_android打开文件及打开方式(打开程序列表) | 学步园