Python API文档

来自www.baostock.com
跳转至: 导航搜索

入门示例

HelloWorld

此篇为平台入门示例,安装baostock后,可导入包运行此示例。示例数据:下载

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)

#### 获取历史K线数据 ####
# 详细指标参数,参见“历史行情指标参数”章节
rs = bs.query_history_k_data("sh.600000",
    "date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,peTTM,pbMRQ,psTTM,pcfNcfTTM,isST",
    start_date='2017-06-01', end_date='2017-12-31', 
    frequency="d", adjustflag="3") #frequency="d"取日k线,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_k_data.csv", encoding="gbk", index=False)
print(result)

#### 登出系统 ####
bs.logout()

登录

login()

方法说明:登录系统。

使用示例:lg = login()

返回信息:

  • lg.error_code:错误代码,当为“0”时表示成功,当为非0时表示失败;
  • lg.error_msg:错误信息,对错误的详细解释。

登出

logout()

方法说明:登出系统

使用示例:lg = logout()

返回信息:

  • lg.error_code:错误代码,当为“0”时表示成功,当为非0时表示失败;
  • lg.error_msg:错误信息,对错误的详细解释。

获取历史A股K线数据

获取历史A股K线数据:query_history_k_data()

方法说明:获取A股历史交易数据(包括均线数据),可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据,适合搭配均线数据进行选股和分析。

返回类型:pandas的DataFrame类型。

能获取2006-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("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 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:前复权。已支持分钟线、日线、周线、月线前后复权。 BaoStock提供的是涨跌幅复权算法复权因子,具体介绍见:复权因子简介或者媒体文件:BaoStock复权因子简介.pdf
返回数据说明
参数名称 参数描述
date 交易所行情日期
code 证券代码
open 开盘价
high 最高价
low 最低价
close 收盘价
preclose 昨日收盘价
volume 成交量(累计 单位:股)
amount 成交额(单位:人民币元)
adjustflag 复权状态(1:后复权, 2:前复权,3:不复权)
turn 换手率
tradestatus 交易状态(1:正常交易 0:停牌)
pctChg 涨跌幅
peTTM 动态市盈率
pbMRQ 市净率
psTTM 市销率
pcfNcfTTM 市现率
isST 是否ST股,1是,0否


不同周期K线,历史行情指标参数

日线指标参数(包含停牌证券)
参数名称 参数描述 说明
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 动态市盈率 精度:小数点后4位
psTTM 市销率 精度:小数点后4位
pcfNcfTTM 市现率 精度:小数点后4位
pbMRQ 市净率 精度:小数点后4位
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位


5、15、30、60分钟线指标参数
参数名称 参数描述 说明
date 交易所行情日期 格式:YYYY-MM-DD
time 交易所行情时间 格式:YYYYMMDDHHMMSSsss
code 证券代码 格式:sh.600000。sh:上海,sz:深圳
open 今开盘价格 精度:小数点后4位;单位:人民币元
high 最高价 精度:小数点后4位;单位:人民币元
low 最低价 精度:小数点后4位;单位:人民币元
close 今收盘价 精度:小数点后4位;单位:人民币元
volume 成交数量 单位:股
amount 成交金额 精度:小数点后4位;单位:人民币元
adjustflag 复权状态 不复权、前复权、后复权


查询除权除息信息

股息分红:query_dividend_data()

方法说明:查询除权除息信息,可以通过参数设置获取对应年份、股票数据,提供1990年至当前日期数据。

返回类型:pandas的DataFrame类型。


使用示例:

rs_dividend = bs.query_dividend_data(code="sh.600000", year="2017", yearType="report")
data_list = []
while (rs_dividend.error_code == '0') & rs_dividend.next():
    data_list.append(rs_dividend.get_row_data())
result_dividend = pd.DataFrame(data_list, columns=rs_dividend.fields)
print(result_dividend)


参数含义:

  • code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
  • year:年份,如:2017。此参数不可为空;
  • yearType:年份类别,默认为"report":预案公告年份,可选项"operate":除权除息年份。此参数不可为空。
返回数据说明
参数名称 参数描述
code 证券代码
dividPreNoticeDate 预批露公告日
dividAgmPumDate 股东大会公告日期
dividPlanAnnounceDate 预案公告日
dividPlanDate 分红实施公告日
dividRegistDate 股权登记告日
dividOperateDate 除权除息日期
dividPayDate 派息日
dividStockMarketDate 红股上市交易日
dividCashPsBeforeTax 每股股利税前
dividCashPsAfterTax 每股股利税后
dividStocksPs 每股红股
dividCashStock 分红送转
dividReserveToStockPs 每股转增资本

复权因子:query_adjust_factor()

方法说明:查询复权因子信息,可以通过参数设置获取对应年份、股票数据,提供1990年至当前日期数据。

返回类型:pandas的DataFrame类型。


使用示例:

# 查询2015至2017年复权因子
rs_list = []
rs_factor = bs.query_adjust_factor(code="sh.600000", start_date="2015-01-01", end_date="2017-12-31")
while (rs_factor.error_code == '0') & rs_factor.next():
    rs_list.append(rs_factor.get_row_data())
result_factor = pd.DataFrame(rs_list, columns=rs_factor.fields)
# 打印输出
print(result_factor)

参数含义:

  • code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
  • start_date:开始日期,为空时默认为2015-01-01,包含此日期;
  • end_date:结束日期,为空时默认当前日期,包含此日期。
返回数据说明
参数名称 参数描述
code 证券代码
dividOperateDate 除权除息日期
foreAdjustFactor 向前复权因子
backAdjustFactor 向后复权因子
adjustFactor 本次复权因子

查询季频财务数据信息

季频盈利能力:query_profit_data()

方法说明:查询季频盈利能力信息,可以通过参数设置获取对应年份、季度数据,提供2007年至今数据。

返回类型:pandas的DataFrame类型。

使用示例

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)

# 查询季频估值指标盈利能力
profit_list = []
rs_profit = bs.query_profit_data(code="sh.600000", year=2017, quarter=2)
while (rs_profit.error_code == '0') & rs_profit.next():
    profit_list.append(rs_profit.get_row_data())
result_profit = pd.DataFrame(profit_list, columns=rs_profit.fields)
# 打印输出
print(result_profit)
# 结果集输出到csv文件
result_profit.to_csv("D:\\profit_data.csv", encoding="gbk", index=False)

# 登出系统
bs.logout()

参数含义:

  • code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
  • year:统计年份,为空时默认当前年;
  • quarter:统计季度,可为空,默认当前季度。不为空时只有4个取值:1,2,3,4。
返回数据说明
参数名称 参数描述
code 证券代码
pubDate 公司发布财报的日期
statDate 财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30
roeAvg 净资产收益率(%)
npMargin 销售净利率(%)
gpMargin 销售毛利率(%)
netProfit 净利润(万元)
epsTTM 每股收益
MBRevenue 主营营业收入(百万元)
totalShare 总股本
liqaShare 流通股本


季频营运能力:query_operation_data()

方法说明:查询季频营运能力信息,可以通过参数设置获取对应年份、季度数据,提供2007年至今数据。

返回类型:pandas的DataFrame类型。

使用示例

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)

# 营运能力
operation_list = []
rs_operation = bs.query_operation_data(code="sh.600000", year=2017, quarter=2)
while (rs_operation.error_code == '0') & rs_operation.next():
    operation_list.append(rs_operation.get_row_data())
result_operation = pd.DataFrame(operation_list, columns=rs_operation.fields)
# 打印输出
print(result_operation)
# 结果集输出到csv文件
result_operation.to_csv("D:\\operation_data.csv", encoding="gbk", index=False)

# 登出系统
bs.logout()

参数含义:

  • code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
  • year:统计年份,为空时默认当前年;
  • quarter:统计季度,为空时默认当前季度。不为空时只有4个取值:1,2,3,4。
返回数据说明
参数名称 参数描述
code 证券代码
pubDate 公司发布财报的日期
statDate 财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30
NRTurnRatio 应收账款周转率(次)
NRTurnDays 应收账款周转天数(天)
INVTurnRatio 存货周转率(次)
INVTurnDays 存货周转天数(天)
CATurnRatio 流动资产周转率(次)
AssetTurnRatio 总资产周转率


季频成长能力:query_growth_data()

方法说明:查询季频成长能力信息,可以通过参数设置获取对应年份、季度数据,提供2007年至今数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

# 成长能力
growth_list = []
rs_growth = bs.query_growth_data(code="sh.600000", year=2017, quarter=2)
while (rs_growth.error_code == '0') & rs_growth.next():
    growth_list.append(rs_growth.get_row_data())
result_growth = pd.DataFrame(growth_list, columns=rs_growth.fields)
# 打印输出
print(result_growth)
# 结果集输出到csv文件
result_growth.to_csv("D:\\growth_data.csv", encoding="gbk", index=False)

# 登出系统
bs.logout()

参数含义:

  • code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
  • year:统计年份,为空时默认当前年;
  • quarter:统计季度,为空时默认当前季度。不为空时只有4个取值:1,2,3,4。
返回数据说明
参数名称 参数描述
code 证券代码
pubDate 公司发布财报的日期
statDate 财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30
YOYEquity 净资产同比增长率
YOYAsset 总资产同比增长率
YOYNI 净利润同比增长率
YOYEPSBasic 基本每股收益同比增长率
YOYPNI 归属母公司股东净利润同比增长率


季频偿债能力:query_balance_data()

方法说明:查询季频偿债能力信息,可以通过参数设置获取对应年份、季度数据,提供2007年至今数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

# 偿债能力
balance_list = []
rs_balance = bs.query_balance_data(code="sh.600000", year=2017, quarter=2)
while (rs_balance.error_code == '0') & rs_balance.next():
    balance_list.append(rs_balance.get_row_data())
result_balance = pd.DataFrame(balance_list, columns=rs_balance.fields)
# 打印输出
print(result_balance)
# 结果集输出到csv文件
result_balance.to_csv("D:\\balance_data.csv", encoding="gbk", index=False)

# 登出系统
bs.logout()

参数含义:

  • code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
  • year:统计年份,为空时默认当前年;
  • quarter:统计季度,为空时默认当前季度。不为空时只有4个取值:1,2,3,4。
返回数据说明
参数名称 参数描述
code 证券代码
pubDate 公司发布财报的日期
statDate 财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30
currentRatio 流动比率
quickRatio 速动比率
cashRatio 现金比率
YOYLiability 总负债同比增长率
liabilityToAsset 资产负债率
assetToEquity 权益乘数


季频现金流量:query_cash_flow_data()

方法说明:查询季频现金流量信息,可以通过参数设置获取对应年份、季度数据,提供2007年至今数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

# 季频现金流量
cash_flow_list = []
rs_cash_flow = bs.query_cash_flow_data(code="sh.600000", year=2017, quarter=2)
while (rs_cash_flow.error_code == '0') & rs_cash_flow.next():
    cash_flow_list.append(rs_cash_flow.get_row_data())
result_cash_flow = pd.DataFrame(cash_flow_list, columns=rs_cash_flow.fields)
# 打印输出
print(result_cash_flow)
# 结果集输出到csv文件
result_cash_flow.to_csv("D:\\cash_flow_data.csv", encoding="gbk", index=False)

# 登出系统
bs.logout()

参数含义:

  • code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
  • year:统计年份,为空时默认当前年;
  • quarter:统计季度,为空时默认当前季度。不为空时只有4个取值:1,2,3,4。
返回数据说明
参数名称 参数描述
code 证券代码
pubDate 公司发布财报的日期
statDate 财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30
CAToAsset 流动资产除以总资产
NCAToAsset 非流动资产除以总资产
tangibleAssetToAsset 有形资产除以总资产
ebitToInterest 已获现金倍数
CFOToOR 经营活动产生的现金流量净额除以营业收入
CFOToNP 经营性现金净流量除以净利润
CFOToGr 经营性现金净流量除以营业总收入


季频杜邦指数:query_dupont_data()

方法说明:查询季频杜邦指数信息,可以通过参数设置获取对应年份、季度数据,提供2007年至今数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

# 查询杜邦指数
dupont_list = []
rs_dupont = bs.query_dupont_data(code="sh.600000", year=2017, quarter=2)
while (rs_dupont.error_code == '0') & rs_dupont.next():
    dupont_list.append(rs_dupont.get_row_data())
result_profit = pd.DataFrame(dupont_list, columns=rs_dupont.fields)
# 打印输出
print(result_profit)
# 结果集输出到csv文件
result_profit.to_csv("D:\\dupont_data.csv", encoding="gbk", index=False)

# 登出系统
bs.logout()

参数含义:

  • code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
  • year:统计年份,为空时默认当前年;
  • quarter:统计季度,为空时默认当前季度。不为空时只有4个取值:1,2,3,4。
返回数据说明
参数名称 参数描述
code 证券代码
pubDate 公司发布财报的日期
statDate 财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30
dupontROE 净资产收益率
dupontAssetStoEquity 权益乘数,反映企业财务杠杆效应强弱和财务风险
dupontAssetTurn 总资产周转率,反映企业资产管理效率的指标
dupontPnitoni 归属母公司股东的净利润/净利润,反映母公司控股子公司百分比。如果企业追加投资,扩大持股比例,则本指标会增加。
dupontNitogr 净利润/营业总收入,反映企业销售获利率
dupontTaxBurden 净利润/利润总额,反映企业税负水平,该比值高则税负较低。净利润/利润总额=1-所得税/利润总额
dupontIntburden 利润总额/息税前利润,反映企业利息负担,该比值高则税负较低。利润总额/息税前利润=1-利息费用/息税前利润
dupontEbittogr 息税前利润/营业总收入,反映企业经营利润率,是企业经营获得的可供全体投资人(股东和债权人)分配的盈利占企业全部营收收入的百分比

查询季频公司报告信息

季频公司业绩快报:query_performance_express_report()

方法说明:查询季频公司业绩快报信息,可以通过参数设置获取起止年份数据,提供2006年至今数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

#### 获取公司业绩快报 ####
rs = bs.query_performance_express_report("sh.600000", start_date="2015-01-01", end_date="2017-12-31")
print('query_performance_express_report respond error_code:'+rs.error_code)
print('query_performance_express_report respond  error_msg:'+rs.error_msg)

result_list = []
while (rs.error_code == '0') & rs.next():
    result_list.append(rs.get_row_data())
    # 获取一条记录,将记录合并在一起
result = pd.DataFrame(result_list, columns=rs.fields)
#### 结果集输出到csv文件 ####
result.to_csv("D:\\performance_express_report.csv", encoding="gbk", index=False)
print(result)

#### 登出系统 ####
bs.logout()

参数含义:

  • code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
  • start_date:开始日期,发布日期或更新日期在这个范围内;
  • end_date:结束日期,发布日期或更新日期在这个范围内。
返回数据说明
参数名称 参数描述
code 证券代码
performanceExpPubDate 业绩快报披露日
performanceExpStatDate 业绩快报统计日期
performanceExpUpdateDate 业绩快报披露日(最新)
performanceExpressTotalAsset 业绩快报总资产
performanceExpressNetAsset 业绩快报净资产
performanceExpressEPSChgPct 业绩每股收益增长率
performanceExpressROEWa 业绩快报净资产收益率ROE-加权
performanceExpressEPSDiluted 业绩快报每股收益EPS-摊薄
performanceExpressGRYOY 业绩快报营业总收入同比
performanceExpressOPYOY 业绩快报营业利润同比

季频公司业绩预告:query_forcast_report()

方法说明:查询季频公司业绩预告信息,可以通过参数设置获取起止年份数据,提供2003年至今数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

#### 获取公司业绩预告 ####
rs_forecast = bs.query_forecast_report("sh.600000", start_date="2010-01-01", end_date="2017-12-31")
print('query_forecast_reprot respond error_code:'+rs_forecast.error_code)
print('query_forecast_reprot respond  error_msg:'+rs_forecast.error_msg)
rs_forecast_list = []
while (rs_forecast.error_code == '0') & rs_forecast.next():
    # 分页查询,将每页信息合并在一起
    rs_forecast_list.append(rs_forecast.get_row_data())
result_forecast = pd.DataFrame(rs_forecast_list, columns=rs_forecast.fields)
#### 结果集输出到csv文件 ####
result_forecast.to_csv("D:\\forecast_report.csv", encoding="gbk", index=False)
print(result_forecast)

#### 登出系统 ####
bs.logout()

参数含义:

  • code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
  • start_date:开始日期,发布日期或更新日期在这个范围内;
  • end_date:结束日期,发布日期或更新日期在这个范围内。
返回数据说明
参数名称 参数描述
code 证券代码
profitForcastExpPubDate 业绩预告发布日期
profitForcastExpStatDate 业绩预告统计日期
profitForcastType 业绩预告类型
profitForcastAbstract 业绩预告摘要
profitForcastChgPctUp 预告归属于母公司的净利润增长上限(%)
profitForcastChgPctDwn 预告归属于母公司的净利润增长下限(%)

获取证券元信息

交易日查询:query_trade_dates()

方法说明:查询股票交易日信息信息,可以通过参数设置获取起止年份数据,提供上交所1990-今年数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

#### 获取交易日信息 ####
rs = bs.query_trade_dates(start_date="2017-01-01", end_date="2017-06-30")
print('query_trade_dates respond error_code:'+rs.error_code)
print('query_trade_dates 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:\\trade_datas.csv", encoding="gbk", index=False)
print(result)

#### 登出系统 ####
bs.logout()

参数含义:

  • start_date:开始日期,为空时默认为2015-01-01。
  • end_date:结束日期,为空时默认为当前日期。
返回数据说明
参数名称 参数描述
calendar_date 日期
is_trading_day 是否交易日(0:非交易日;1:交易日)

证券代码查询:query_all_stock()

方法说明:查询证券代码及股票交易状态信息信息,可以通过参数‘某交易日’获取数据(包括:A股、指数),提供2014-今数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

#### 获取证券信息 ####
rs = bs.query_all_stock(day="2017-06-30")
print('query_all_stock respond error_code:'+rs.error_code)
print('query_all_stock 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:\\all_stock.csv", encoding="gbk", index=False)
print(result)

#### 登出系统 ####
bs.logout()

参数含义:

  • day:需要查询的日期,为空时默认当前日期。
返回数据说明
参数名称 参数描述
code 证券代码
tradeStatus 交易状态(1:正常交易 0:停牌)
code_name 证券名称

宏观经济数据

证券基本资料:query_stock_basic()

方法说明:查询证券基本资料,可以通过参数设置获取对应证券代码、证券名称的数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

# 获取证券基本资料
rs = bs.query_stock_basic(code="sh.600000")
# rs = bs.query_stock_basic(code_name="浦发银行")  # 支持模糊查询
print('query_stock_basic respond error_code:'+rs.error_code)
print('query_stock_basic 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:/stock_basic.csv", encoding="gbk", index=False)
print(result)

# 登出系统
bs.logout()

参数含义:

  • code:A股股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。可以为空;
  • code_name:股票名称,支持模糊查询,可以为空。
返回数据说明
参数名称 参数描述
code 证券代码
code_name 证券名称
ipoDate 上市日期
outDate 退市日期
type 证券类型,其中1:股票,2:指数,3:其它
status 上市状态,其中1:上市,0:退市

存款利率:query_deposit_rate_data()

方法说明:查询存款利率,可以通过参数设置获取对应起止日期的数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

# 获取存款利率
rs = bs.query_deposit_rate_data(start_date="2015-01-01", end_date="2015-12-31")
print('query_deposit_rate_data respond error_code:'+rs.error_code)
print('query_deposit_rate_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:/deposit_rate.csv", encoding="gbk", index=False)
print(result)

# 登出系统
bs.logout()

参数含义:

  • start_date:开始日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空;
  • end_date:结束日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空。
返回数据说明
参数名称 参数描述
pubDate 发布日期
demandDepositRate 活期存款(不定期)
fixedDepositRate3Month 定期存款(三个月)
fixedDepositRate6Month 定期存款(半年)
fixedDepositRate1Year 定期存款整存整取(一年)
fixedDepositRate2Year 定期存款整存整取(二年)
fixedDepositRate3Year 定期存款整存整取(三年)
fixedDepositRate5Year 定期存款整存整取(五年)
installmentFixedDepositRate1Year 零存整取、整存零取、存本取息定期存款(一年)
installmentFixedDepositRate3Year 零存整取、整存零取、存本取息定期存款(三年)
installmentFixedDepositRate5Year 零存整取、整存零取、存本取息定期存款(五年)

贷款利率:query_loan_rate_data()

方法说明:查询贷款利率,可以通过参数设置获取对应起止日期的数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

# 获取贷款利率
rs = bs.query_loan_rate_data(start_date="2010-01-01", end_date="2015-12-31")
print('query_loan_rate_data respond error_code:'+rs.error_code)
print('query_loan_rate_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:/loan_rate.csv", encoding="gbk", index=False)
print(result)

# 登出系统
bs.logout()

参数含义:

  • start_date:开始日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空;
  • end_date:结束日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空。
返回数据说明
参数名称 参数描述
pubDate 发布日期
loanRate6Month 6个月贷款利率
loanRate6MonthTo1Year 6个月至1年贷款利率
loanRate1YearTo3Year 1年至3年贷款利率
loanRate3YearTo5Year 3年至5年贷款利率
loanRateAbove5Year 5年以上贷款利率
mortgateRateBelow5Year 5年以下住房公积金贷款利率
mortgateRateAbove5Year 5年以上住房公积金贷款利率

存款准备金率:query_required_reserve_ratio_data()

方法说明:查询存款准备金率,可以通过参数设置获取对应起止日期的数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

# 获取存款准备金率
rs = bs.query_required_reserve_ratio_data(start_date="2010-01-01", end_date="2015-12-31")
print('query_required_reserve_ratio_data respond error_code:'+rs.error_code)
print('query_required_reserve_ratio_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:/required_reserve_ratio.csv", encoding="gbk", index=False)
print(result)

# 登出系统
bs.logout()

参数含义:

  • start_date:开始日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空;
  • end_date:结束日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空;
  • yearType:年份类别,默认为0,查询公告日期;1查询生效日期。
返回数据说明
参数名称 参数描述
pubDate 公告日期
effectiveDate 生效日期
bigInstitutionsRatioPre 人民币存款准备金率:大型存款类金融机构 调整前
bigInstitutionsRatioAfter 人民币存款准备金率:大型存款类金融机构 调整后
mediumInstitutionsRatioPre 人民币存款准备金率:中小型存款类金融机构 调整前
mediumInstitutionsRatioAfter 人民币存款准备金率:中小型存款类金融机构 调整后

货币供应量:query_money_supply_data_month()

方法说明:查询货币供应量,可以通过参数设置获取对应起止日期的数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

# 获取货币供应量
rs = bs.query_money_supply_data_month(start_date="2010-01", end_date="2015-12")
print('query_money_supply_data_month respond error_code:'+rs.error_code)
print('query_money_supply_data_month 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:/money_supply_data_month.csv", encoding="gbk", index=False)
print(result)

# 登出系统
bs.logout()

参数含义:

  • start_date:开始日期,格式XXXX-XX,发布日期在这个范围内,可以为空;
  • end_date:结束日期,格式XXXX-XX,发布日期在这个范围内,可以为空。
返回数据说明
参数名称 参数描述
statYear 统计年度
statMonth 统计月份
m0Month 货币供应量M0(月)
m0YOY 货币供应量M0(同比)
m0ChainRelative 货币供应量M0(环比)
m1Month 货币供应量M1(月)
m1YOY 货币供应量M1(同比)
m1ChainRelative 货币供应量M1(环比)
m2Month 货币供应量M2(月)
m2YOY 货币供应量M2(同比)
m2ChainRelative 货币供应量M2(环比)

货币供应量(年底余额):query_money_supply_data_year()

方法说明:查询货币供应量(年底余额),可以通过参数设置获取对应起止日期的数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

# 获取货币供应量(年底余额)
rs = bs.query_money_supply_data_year(start_date="2010", end_date="2015")
print('query_money_supply_data_year respond error_code:'+rs.error_code)
print('query_money_supply_data_year 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:/money_supply_data_year.csv", encoding="gbk", index=False)
print(result)

# 登出系统
bs.logout()

参数含义:

  • start_date:开始日期,格式XXXX,发布日期在这个范围内,可以为空;
  • end_date:结束日期,格式XXXX,发布日期在这个范围内,可以为空。
返回数据说明
参数名称 参数描述
statYear 统计年度
m0Year 年货币供应量M0(亿元)
m0YearYOY 年货币供应量M0(同比)
m1Year 年货币供应量M1(亿元)
m1YearYOY 年货币供应量M1(同比)
m2Year 年货币供应量M2(亿元)
m2YearYOY 年货币供应量M2(同比)

银行间同业拆放利率:query_shibor_data()

方法说明:查询银行间同业拆放利率,可以通过参数设置获取对应起止日期的数据。 返回类型:pandas的DataFrame类型。 使用示例

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)

# 获取银行间同业拆放利率
rs = bs.query_shibor_data(start_date="2015-01-01", end_date="2015-12-31")
print('query_shibor_data respond error_code:'+rs.error_code)
print('query_shibor_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:/shibor_data.csv", encoding="gbk", index=False)
print(result)

# 登出系统
bs.logout()

参数含义:

  • start_date:开始日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空;
  • end_date:结束日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空。
返回数据说明
参数名称 参数描述
date 日期
shiborON 隔夜拆借利率
shibor1W 1周拆放利率
shibor2W 2周拆放利率
shibor1M 1个月拆放利率
shibor3M 3个月拆放利率
shibor6M 6个月拆放利率
shibor9M 9个月拆放利率
shibor1Y 1年拆放利率

板块数据

行业分类:query_stock_industry()

方法说明:获取行业分类信息,更新频率:每周一更新。返回类型:pandas的DataFrame类型。 使用示例

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)

# 获取证券基本资料
rs = bs.query_stock_industry()
# rs = bs.query_stock_basic(code_name="浦发银行")
print('query_stock_industry error_code:'+rs.error_code)
print('query_stock_industry respond  error_msg:'+rs.error_msg)

# 打印结果集
industry_list = []
while (rs.error_code == '0') & rs.next():
    # 获取一条记录,将记录合并在一起
    industry_list.append(rs.get_row_data())
result = pd.DataFrame(industry_list, columns=rs.fields)
# 结果集输出到csv文件
result.to_csv("D:/stock_industry.csv", encoding="gbk", index=False)
print(result)

# 登出系统
bs.logout()

参数含义:

  • code:A股股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。可以为空;
  • date:查询日期,格式XXXX-XX-XX,为空时默认最新日期。


返回数据说明
参数名称 参数描述
updateDate 更新日期
code 证券代码
code_name 证券名称
industry 所属行业
industryClassification 所属行业类别

上证50成分股:query_sz50_stocks()

方法说明:获取上证50成分股信息,更新频率:每周一更新。返回类型:pandas的DataFrame类型。 使用示例

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)

# 获取证券基本资料
rs = bs.query_sz50_stocks()
print('query_sz50 error_code:'+rs.error_code)
print('query_sz50  error_msg:'+rs.error_msg)

# 打印结果集
sz50_stocks = []
while (rs.error_code == '0') & rs.next():
    # 获取一条记录,将记录合并在一起
    sz50_stocks.append(rs.get_row_data())
result = pd.DataFrame(sz50_stocks, columns=rs.fields)
# 结果集输出到csv文件
result.to_csv("D:/sz50_stocks.csv", encoding="gbk", index=False)
print(result)

# 登出系统
bs.logout()

参数含义:

  • date:查询日期,格式XXXX-XX-XX,为空时默认最新日期。


返回数据说明
参数名称 参数描述
updateDate 更新日期
code 证券代码
code_name 证券名称

沪深300成分股:query_hs300_stocks()

方法说明:获取沪深300成分股信息,更新频率:每周一更新。返回类型:pandas的DataFrame类型。 使用示例

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)

# 获取证券基本资料
rs = bs.query_hs300_stocks()
print('query_hs300 error_code:'+rs.error_code)
print('query_hs300  error_msg:'+rs.error_msg)

# 打印结果集
hs300_stocks = []
while (rs.error_code == '0') & rs.next():
    # 获取一条记录,将记录合并在一起
    hs300_stocks.append(rs.get_row_data())
result = pd.DataFrame(hs300_stocks, columns=rs.fields)
# 结果集输出到csv文件
result.to_csv("D:/hs300_stocks.csv", encoding="gbk", index=False)
print(result)

# 登出系统
bs.logout()

参数含义:

  • date:查询日期,格式XXXX-XX-XX,为空时默认最新日期。


返回数据说明
参数名称 参数描述
updateDate 更新日期
code 证券代码
code_name 证券名称

中证500成分股:query_zz500_stocks()

方法说明:获取中证500成分股信息,更新频率:每周一更新。返回类型:pandas的DataFrame类型。 使用示例

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)

# 获取证券基本资料
rs = bs.query_zz500_stocks()
print('query_zz500 error_code:'+rs.error_code)
print('query_zz500  error_msg:'+rs.error_msg)

# 打印结果集
zz500_stocks = []
while (rs.error_code == '0') & rs.next():
    # 获取一条记录,将记录合并在一起
    zz500_stocks.append(rs.get_row_data())
result = pd.DataFrame(zz500_stocks, columns=rs.fields)
# 结果集输出到csv文件
result.to_csv("D:/zz500_stocks.csv", encoding="gbk", index=False)
print(result)

# 登出系统
bs.logout()

参数含义:

  • date:查询日期,格式XXXX-XX-XX,为空时默认最新日期。


返回数据说明
参数名称 参数描述
updateDate 更新日期
code 证券代码
code_name 证券名称