“Python API文档”的版本间的差异
| 第100行: | 第100行: | ||
* end:结束日期(不包含),格式“YYYY-MM-DD”,为空时取最近一个交易日; | * end:结束日期(不包含),格式“YYYY-MM-DD”,为空时取最近一个交易日; | ||
* frequency:数据类型,默认为d,日k线;d=日k线、w=周、m=月、5=5分钟、15=15分钟、30=30分钟、60=60分钟k线数据,不区分大小写;周线每周最后一个交易日才可以获取,月线第月最后一个交易日才可以获取。 | * frequency:数据类型,默认为d,日k线;d=日k线、w=周、m=月、5=5分钟、15=15分钟、30=30分钟、60=60分钟k线数据,不区分大小写;周线每周最后一个交易日才可以获取,月线第月最后一个交易日才可以获取。 | ||
| − | * | + | * adjustflag:复权类型,默认不复权:3;1:前复权;2:后复权。已支持日k线、分钟线前后复权;暂不支持周k线、月k线前后复权。 |
{| class="wikitable" | {| class="wikitable" | ||
2018年4月20日 (五) 10:54的版本
入门示例
HelloWorld
此篇为平台入门示例,安装baostock后,可导入包运行此示例。示例数据:
import baostock as bs
import pandas as pd
#### 登陆系统 ####
lg = bs.login(user_id="anonymous", password="123456")
# 显示登陆返回信息
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(user_id="anonymous", password="123456")
参数含义:
- user_id:用户id,默认为"anonymous";
- password:密码,默认为"123456"。
返回信息:
- lg.error_code:错误代码,当为“0”时表示成功,当为非0时表示失败;
- lg.error_msg:错误信息,对错误的详细解释。
登出
logout()
方法说明:登出系统
使用示例:lg = logout(user_id="anonymous")
参数含义:
- user_id:用户id,默认为"anonymous"。
返回信息:
- lg.error_code:错误代码,当为“0”时表示成功,当为非0时表示失败;
- lg.error_msg:错误信息,对错误的详细解释。
获取历史A股K线数据
query_history_k_data()
方法说明:获取A股历史交易数据(包括均线数据),可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据,适合搭配均线数据进行选股和分析。
返回类型:pandas的DataFrame类型。
V0.5版本只能获取近3年的数据(2015-01-01至当前时间);
V0.5版本数据不复权,ktype参数暂不可用;
使用示例:
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")
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)
参数含义:
- 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线前后复权。
| 参数名称 | 参数描述 |
| 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否 |
历史行情指标参数
| 参数名称 | 参数描述 | 说明 |
| 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位 |
| 参数名称 | 参数描述 | 说明 |
| date | 交易所行情日期 | 格式:YYYY-MM-DD |
| time | 交易所行情时间 | 格式:YYYYMMDDHHMM |
| code | 证券代码 | 格式:sh.600000。sh:上海,sz:深圳 |
| open | 今开盘价格 | 精度:小数点后4位;单位:人民币元 |
| high | 最高价 | 精度:小数点后4位;单位:人民币元 |
| low | 最低价 | 精度:小数点后4位;单位:人民币元 |
| close | 今收盘价 | 精度:小数点后4位;单位:人民币元 |
| volume | 成交数量 | 单位:股 |
| amount | 成交金额 | 精度:小数点后4位;单位:人民币元 |
| adjustflag | 复权状态 | 不复权、前复权、后复权 |
查询除权除息信息
股息分红:query_dividend_data()
方法说明:查询除权除息信息,可以通过参数设置获取对应年份、股票数据,提供1990年至2017年数据。
返回类型: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年至2017年数据。
返回类型: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()
方法说明:通过API接口获取季频盈利能力信息,可以通过参数设置获取对应年份、季度数据,提供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 | roeAvg | npMargin | gpMargin | netProfit | epsTTM | MBRevenue | totalShare | liqaShare |
| sh.600000 | 2017-08-30 | 2017-06-30 | 0.074617 | 0.342179 | 28522000000.000000 | 1.939029 | 83354000000.000000 | 28103763899.00 | 28103763899.00 |
| 参数名称 | 参数描述 | 算法说明 |
| code | 证券代码 | |
| pubDate | 公司发布财报的日期 | |
| statDate | 财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30 | |
| roeAvg | 净资产收益率(平均)(%) | 归属母公司股东净利润/[(期初归属母公司股东的权益+期末归属母公司股东的权益)/2]*100% |
| npMargin | 销售净利率(%) | 净利润/营业收入*100% |
| gpMargin | 销售毛利率(%) | 毛利/营业收入*100%=(营业收入-营业成本)/营业收入*100% |
| netProfit | 净利润(元) | |
| epsTTM | 每股收益 | 归属母公司股东的净利润TTM/最新总股本 |
| MBRevenue | 主营营业收入(元) | |
| totalShare | 总股本 | |
| liqaShare | 流通股本 |
季频营运能力:query_operation_data()
方法说明:通过API接口获取季频营运能力信息,可以通过参数设置获取对应年份、季度数据,提供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 | NRTurnRatio | NRTurnDays | INVTurnRatio | INVTurnDays | CATurnRatio | AssetTurnRatio |
| sh.600000 | 2017-08-30 | 2017-06-30 | 0.014161 |
| 参数名称 | 参数描述 | 算法说明 |
| code | 证券代码 | |
| pubDate | 公司发布财报的日期 | |
| statDate | 财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30 | |
| NRTurnRatio | 应收账款周转率(次) | 营业收入/[(期初应收票据及应收账款净额+期末应收票据及应收账款净额)/2] |
| NRTurnDays | 应收账款周转天数(天) | 季报天数/应收账款周转率(一季报:90天,中报:180天,三季报:270天,年报:360天) |
| INVTurnRatio | 存货周转率(次) | 营业成本/[(期初存货净额+期末存货净额)/2] |
| INVTurnDays | 存货周转天数(天) | 季报天数/存货周转率(一季报:90天,中报:180天,三季报:270天,年报:360天) |
| CATurnRatio | 流动资产周转率(次) | 营业总收入/[(期初流动资产+期末流动资产)/2] |
| AssetTurnRatio | 总资产周转率 | 营业总收入/[(期初资产总额+期末资产总额)/2] |
季频成长能力:query_growth_data()
方法说明:通过API接口获取季频成长能力信息,可以通过参数设置获取对应年份、季度数据,提供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 | YOYEquity | YOYAsset | YOYNI | YOYEPSBasic | YOYPNI |
| sh.600000 | 2017-08-30 | 2017-06-30 | 0.120243 | 0.101298 | 0.054808 | 0.021053 | 0.052111 |
| 参数名称 | 参数描述 | 算法说明 |
| code | 证券代码 | |
| pubDate | 公司发布财报的日期 | |
| statDate | 财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30 | |
| YOYEquity | 净资产同比增长率 | (本期净资产-上年同期净资产)/上年同期净资产的绝对值*100% |
| YOYAsset | 总资产同比增长率 | (本期总资产-上年同期总资产)/上年同期总资产的绝对值*100% |
| YOYNI | 净利润同比增长率 | (本期净利润-上年同期净利润)/上年同期净利润的绝对值*100% |
| YOYEPSBasic | 基本每股收益同比增长率 | (本期基本每股收益-上年同期基本每股收益)/上年同期基本每股收益的绝对值*100% |
| YOYPNI | 归属母公司股东净利润同比增长率 | (本期归属母公司股东净利润-上年同期归属母公司股东净利润)/上年同期归属母公司股东净利润的绝对值*100% |
季频偿债能力:query_balance_data()
方法说明:通过API接口获取季频偿债能力信息,可以通过参数设置获取对应年份、季度数据,提供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 | currentRatio | quickRatio | cashRatio | YOYLiability | liabilityToAsset | assetToEquity |
| sh.600000 | 2017-08-30 | 2017-06-30 | 0.100020 | 0.933703 | 15.083598 |
| 参数名称 | 参数描述 | 算法说明 |
| code | 证券代码 | |
| pubDate | 公司发布财报的日期 | |
| statDate | 财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30 | |
| currentRatio | 流动比率 | 流动资产/流动负债 |
| quickRatio | 速动比率 | (流动资产-存货净额)/流动负债 |
| cashRatio | 现金比率 | (货币资金+交易性金融资产)/流动负债 |
| YOYLiability | 总负债同比增长率 | (本期总负债-上年同期总负债)/上年同期中负债的绝对值*100% |
| liabilityToAsset | 资产负债率 | 负债总额/资产总额 |
| assetToEquity | 权益乘数 | 资产总额/股东权益总额=1/(1-资产负债率) |
季频现金流量:query_cash_flow_data()
方法说明:通过API接口获取季频现金流量信息,可以通过参数设置获取对应年份、季度数据,提供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 | CAToAsset | NCAToAsset | tangibleAssetToAsset | ebitToInterest | CFOToOR | CFOToNP | CFOToGr |
| sh.600000 | 2017-08-30 | 2017-06-30 | —3.071550 | —8.976439 | —3.071550 |
| 参数名称 | 参数描述 | 算法说明 |
| code | 证券代码 | |
| pubDate | 公司发布财报的日期 | |
| statDate | 财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30 | |
| CAToAsset | 流动资产除以总资产 | |
| NCAToAsset | 非流动资产除以总资产 | |
| tangibleAssetToAsset | 有形资产除以总资产 | |
| ebitToInterest | 已获利息倍数 | 息税前利润/利息费用 |
| CFOToOR | 经营活动产生的现金流量净额除以营业收入 | |
| CFOToNP | 经营性现金净流量除以净利润 | |
| CFOToGr | 经营性现金净流量除以营业总收入 |
季频杜邦指数:query_dupont_data()
方法说明:通过API接口获取季频杜邦指数信息,可以通过参数设置获取对应年份、季度数据,提供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_dupont = pd.DataFrame(dupont_list, columns=rs_dupont.fields)
# 打印输出
print(result_dupont)
# 结果集输出到csv文件
result_dupont.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 | dupontROE | dupontAssetStoEquity | dupontAssetTurn | dupontPnitoni |
| sh.600000 | 2017-08-30 | 2017-06-30 | 0.074617 | 15.594453 | 0.014161 | 0.987483 |
| dupontNitogr | dupontTaxBurden | dupontIntburden | dupontEbittogr |
| 0.342179 | 0.776088 |
| 参数名称 | 参数描述 | 算法说明 |
| code | 证券代码 | |
| pubDate | 公司发布财报的日期 | |
| statDate | 财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30 | |
| dupontROE | 净资产收益率 | 归属母公司股东净利润/[(期初归属母公司股东的权益+期末归属母公司股东的权益)/2]*100% |
| dupontAssetStoEquity | 权益乘数,反映企业财务杠杆效应强弱和财务风险 | 平均总资产/平均归属于母公司的股东权益 |
| dupontAssetTurn | 总资产周转率,反映企业资产管理效率的指标 | 营业总收入/[(期初资产总额+期末资产总额)/2] |
| dupontPnitoni | 归属母公司股东的净利润/净利润,反映母公司控股子公司百分比。如果企业追加投资,扩大持股比例,则本指标会增加。 | |
| dupontNitogr | 净利润/营业总收入,反映企业销售获利率 | |
| dupontTaxBurden | 净利润/利润总额,反映企业税负水平,该比值高则税负较低。净利润/利润总额=1-所得税/利润总额 | |
| dupontIntburden | 利润总额/息税前利润,反映企业利息负担,该比值高则税负较低。利润总额/息税前利润=1-利息费用/息税前利润 | |
| dupontEbittogr | 息税前利润/营业总收入,反映企业经营利润率,是企业经营获得的可供全体投资人(股东和债权人)分配的盈利占企业全部营收收入的百分比 |
查询季频公司报告信息
季频公司业绩快报:query_performance_express_report()
方法说明:通过API接口获取季频公司业绩快报信息,可以通过参数设置获取起止年份数据,提供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 |
| sh.600000 | 2015-01-06 | 2014-12-31 | 2015-01-06 | 4195602000000.000000 | 260011000000.000000 |
| sh.600000 | 2016-01-05 | 2015-12-31 | 2016-01-05 | 5043060000000.000000 | 285245000000.000000 |
| sh.600000 | 2017-01-04 | 2016-12-31 | 2017-01-04 | 5857263000000.000000 | 338027000000.000000 |
| performanceExpressEPSChgPct | performanceExpressROEWa | performanceExpressEPSDiluted | performanceExpressGRYOY | performanceExpressOPYOY |
| 0.326910 | 21.020000 | 2.520000 | 0.228390 | 0.153803 |
| 0.191493 | 18.820000 | 2.660000 | 0.192395 | 0.069764 |
| 0.115412 | 16.350000 | 2.400000 | 0.097234 | 0.054384 |
| 参数名称 | 参数描述 |
| code | 证券代码 |
| performanceExpPubDate | 业绩快报披露日 |
| performanceExpStatDate | 业绩快报统计日期 |
| performanceExpUpdateDate | 业绩快报披露日(最新) |
| performanceExpressTotalAsset | 业绩快报总资产 |
| performanceExpressNetAsset | 业绩快报净资产 |
| performanceExpressEPSChgPct | 业绩每股收益增长率 |
| performanceExpressROEWa | 业绩快报净资产收益率ROE-加权 |
| performanceExpressEPSDiluted | 业绩快报每股收益EPS-摊薄 |
| performanceExpressGRYOY | 业绩快报营业总收入同比 |
| performanceExpressOPYOY | 业绩快报营业利润同比 |
季频公司业绩预告:query_forecast_report()
方法说明:通过API接口获取季频公司业绩预告信息,可以通过参数设置获取起止年份数据,提供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 |
| sh.600000 | 2010-01-05 | 2009-12-31 | 略增 | 预计2009年归属于上市公司股东净利润1319500万元,同比增长5.43%。 |
| sh.600000 | 2011-01-05 | 2010-12-31 | 略增 | 预计公司2010年年度归属于上市公司股东净利润为190.76亿元,较上年同期增长44.33%。 |
| sh.600000 | 2012-01-05 | 2011-12-31 | 略增 | 预计2011年1月1日至2011年12月31日,归属于上市公司股东的净利润:盈利272.36亿元,与上年同期相比增加了42.02%。 |
| profitForcastChgPctUp | profitForcastChgPctDwn |
| 5.430000 | 0.000000 |
| 44.330000 | 44.330000 |
| 42.020000 | 42.020000 |
| 参数名称 | 参数描述 |
| code | 证券代码 |
| profitForcastExpPubDate | 业绩预告发布日期 |
| profitForcastExpStatDate | 业绩预告统计日期 |
| profitForcastType | 业绩预告类型 |
| profitForcastAbstract | 业绩预告摘要 |
| profitForcastChgPctUp | 预告归属于母公司的净利润增长上限(%) |
| profitForcastChgPctDwn | 预告归属于母公司的净利润增长下限(%) |
获取证券元信息
交易日查询:query_trade_dates()
方法说明:通过API接口获取股票交易日信息,可以通过参数设置获取起止年份数据,提供上交所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 |
| 2017-01-01 | 0 |
| 2017-01-02 | 0 |
| 2017-01-03 | 1 |
| 参数名称 | 参数描述 |
| calendar_date | 日期 |
| is_trading_day | 是否交易日(0:非交易日;1:交易日) |
证券代码查询:query_all_stock()
方法说明:获取指定交易日期所有股票列表。通过API接口获取证券代码及股票交易状态信息,与日K线数据同时更新。可以通过参数‘某交易日’获取数据(包括:A股、指数),数据范围同接口query_history_k_data_plus()。
返回类型:pandas的DataFrame类型。
更新时间:与日K线同时更新。
使用示例
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 | code_name |
| sh.000001 | 1 | 上证综合指数 |
| sh.000002 | 1 | 上证A股指数 |
| sh.000003 | 1 | 上证B股指数 |
| 参数名称 | 参数描述 |
| code | 证券代码 |
| tradeStatus | 交易状态(1:正常交易 0:停牌) |
| code_name | 证券名称 |
与某某机构合作、服务量化投资者。