BaoStock:使用python的baostock接口,查询历史K线信息

发布于: 修改于: 雪球转发:0回复:1喜欢:0

证券宝www.baostock.com是一个免费、开源的证券数据平台。

提供大量准确、完整的证券历史行情数据、上市公司财务数据等服务。
通过python API获取证券数据信息,满足量化交易投资者、数量金融爱好者、计量经济从业者数据需求。

本次介绍 接口:获取历史A股K线数据query_history_k_data()

(以下代码来自官网,侵删)

方法说明:获取A股历史交易数据(包括均线数据),可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据,适合搭配均线数据进行选股和分析。( 作者注:2014年也可以获取5分钟K线数据,而且速度非常快,1年的5分钟线数据在秒级就可以获取)

返回类型:pandas的DataFrame类型。

获取近4年的数据(2014-01-01至当前时间);关键是可查询不复权、前复权、后复权数据

示例代码如下:


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线数据 ####

# 详细指标参数,参见“历史行情指标参数”章节

rs = bs.query_history_k_data_plus("sh.600000",

"date,code,open,high,low,close",

start_date='2014-01-01', end_date='2017-12-31',

frequency="5", adjustflag="3")

print('query_history_k_data respond error_code:'+rs.error_code)

print('query_history_k_data 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:前复权。已支持日k线、分钟线前后复权;暂不支持周k线、月k线前后复权。 BaoStock提供的是涨跌幅复权算法复权因子,具体介绍见:复权因子简介

返回数据说明

示例数据:


获取的数据速度非常快,关于复权信息在后续文章中会详细介绍,推荐大家使用。

全部讨论

麻赢2021-11-29 18:19

这个有可转债数据吗