“Python API文档”的版本间的差异
第680行: | 第680行: | ||
|assetToEquity | |assetToEquity | ||
|权益乘数 | |权益乘数 | ||
+ | |} | ||
+ | |||
+ | |||
+ | === 季频现金流量:query_cash_flow_data === | ||
+ | 方法说明:查询季频现金流量信息,可以通过参数设置获取对应年份、季度数据,提供2007年至今数据。 | ||
+ | 返回类型:pandas的DataFrame类型。 | ||
+ | 使用示例 | ||
+ | <pre> | ||
+ | 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) | ||
+ | </pre> | ||
+ | 参数含义: | ||
+ | * code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空; | ||
+ | * year:统计年份,为空时默认当前年; | ||
+ | * quarter:统计季度,为空时默认当前季度。不为空时只有4个取值:1,2,3,4。 | ||
+ | {| class="wikitable" | ||
+ | |+返回数据说明 | ||
+ | |- | ||
+ | |参数名称 | ||
+ | |参数描述 | ||
+ | |- | ||
+ | |code | ||
+ | |证券代码 | ||
+ | |- | ||
+ | |pubDate | ||
+ | |公司发布财报的日期 | ||
+ | |- | ||
+ | |statDate | ||
+ | |财报统计的季度的最后一天, 比如2017-03-31, 2017-06-30 | ||
+ | |- | ||
+ | |CAToAsset | ||
+ | |流动资产除以总资产 | ||
+ | |- | ||
+ | |NCAToAsset | ||
+ | |非流动资产除以总资产 | ||
+ | |- | ||
+ | |tangibleAssetToAsset | ||
+ | |有形资产除以总资产 | ||
+ | |- | ||
+ | |ebitToInterest | ||
+ | |已获现金倍数 | ||
+ | |- | ||
+ | |CFOToOR | ||
+ | |经营活动产生的现金流量净额除以营业收入 | ||
+ | |- | ||
+ | |CFOToNP | ||
+ | |经营性现金净流量除以净利润 | ||
+ | |- | ||
+ | |CFOToGr | ||
+ | |经营性现金净流量除以营业总收入 | ||
|} | |} |
2018年3月30日 (五) 11:44的版本
入门示例
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") 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:后复权。
参数名称 | 参数描述 |
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()
方法说明:查询季频盈利能力信息,可以通过参数设置获取对应年份、季度数据,提供2007年至今数据。
返回类型:pandas的DataFrame类型。
使用示例
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)
参数含义:
- 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 | 主营营业收入(百万元) |
季频营运能力:query_operation_data()
方法说明:查询季频营运能力信息,可以通过参数设置获取对应年份、季度数据,提供2007年至今数据。
返回类型:pandas的DataFrame类型。
使用示例
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)
参数含义:
- 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类型。 使用示例
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)
参数含义:
- 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类型。 使用示例
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)
参数含义:
- 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类型。 使用示例
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)
参数含义:
- 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 | 经营性现金净流量除以营业总收入 |