“Python API文档”的版本间的差异
来自www.baostock.com
(→获取历史K线数据) |
(→HelloWorld) |
||
第7行: | 第7行: | ||
import pandas as pd | import pandas as pd | ||
− | # 登陆系统 | + | #### 登陆系统 #### |
lg = bs.login(user_id="anonymous", password="123456") | lg = bs.login(user_id="anonymous", password="123456") | ||
# 显示登陆返回信息 | # 显示登陆返回信息 | ||
− | print(lg.error_code) | + | print('login respond error_code:'+lg.error_code) |
− | print(lg.error_msg) | + | print('login respond error_msg:'+lg.error_msg) |
+ | |||
+ | #### 获取历史K线数据 #### | ||
# 详细指标参数,参见“历史行情指标参数”章节 | # 详细指标参数,参见“历史行情指标参数”章节 | ||
− | rs = bs.query_history_k_data("sh. | + | rs = bs.query_history_k_data("sh.600000", |
− | "date,code,open,high,low,close,volume,amount,adjustflag", | + | "date,code,open,high,low,close,volume,amount,adjustflag,peTTM,pbMRQ,psTTM,pcfNcfTTM,pctChg,isST", |
− | start_date='2017-01-01', end_date='2017- | + | start_date='2017-01-01', end_date='2017-06-30', |
frequency="d", adjustflag="3") | frequency="d", adjustflag="3") | ||
− | print(rs.error_code) | + | print('query_history_k_data respond error_code:'+rs.error_code) |
− | print(rs.error_msg) | + | print('query_history_k_data respond error_msg:'+rs.error_msg) |
− | # | + | |
− | result = pd.DataFrame(columns=["date","code","open","high","low","close","volume","amount","adjustflag"]) | + | #### 打印结果集 #### |
+ | result = pd.DataFrame(columns=["date","code","open","high","low","close","volume","amount","adjustflag","peTTM","pbMRQ","psTTM","pcfNcfTTM","pctChg","isST"]) | ||
while (rs.error_code == '0') & rs.next(): | while (rs.error_code == '0') & rs.next(): | ||
# 分页查询,将每页信息合并在一起 | # 分页查询,将每页信息合并在一起 | ||
result = result.append(rs.get_row_data(), ignore_index=True) | result = result.append(rs.get_row_data(), ignore_index=True) | ||
+ | |||
+ | #### 结果集输出到csv文件 #### | ||
result.to_csv("C:\\history_k_data.csv", index=False) | result.to_csv("C:\\history_k_data.csv", index=False) | ||
print(result) | print(result) | ||
− | # 登出系统 | + | |
+ | #### 登出系统 #### | ||
bs.logout() | bs.logout() | ||
2018年2月13日 (二) 11:39的版本
目录
入门示例
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,volume,amount,adjustflag,peTTM,pbMRQ,psTTM,pcfNcfTTM,pctChg,isST", start_date='2017-01-01', end_date='2017-06-30', 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) #### 打印结果集 #### result = pd.DataFrame(columns=["date","code","open","high","low","close","volume","amount","adjustflag","peTTM","pbMRQ","psTTM","pcfNcfTTM","pctChg","isST"]) while (rs.error_code == '0') & rs.next(): # 分页查询,将每页信息合并在一起 result = result.append(rs.get_row_data(), ignore_index=True) #### 结果集输出到csv文件 #### result.to_csv("C:\\history_k_data.csv", 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 = login(user_id="anonymous")
参数含义:
- user_id:用户id,默认为"anonymous"。
返回信息:
- lg.error_code:错误代码,当为“0”时表示成功,当为非0时表示失败;
- lg.error_msg:错误信息,对错误的详细解释。
获取历史K线数据
query_history_k_data()
方法说明:获取个股历史交易数据(包括均线数据),可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据,适合搭配均线数据进行选股和分析。
返回类型:pandas的DataFrame类型。
V0.5版本只能获取近3年的数据(2015-01-01至当前时间);
V0.5版本数据不复权,ktype参数暂不可用;
使用示例:
query_history_k_data(code="sh.601398", fields="date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus", start_date='2016-01-01', end_date='2016-07-01', frequency="d", adjustflag="3")
参数含义:
- 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 | 交易所行情日期 | 格式: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:停牌 |
参数名称 | 参数描述 | 说明 |
date | 交易所行情日期 | 格式:YYYY-MM-DD |
code | 证券代码 | 格式:sh.600000。sh:上海,sz:深圳 |
open | 今开盘价格 | 精度:小数点后4位;单位:人民币元 |
high | 最高价 | 精度:小数点后4位;单位:人民币元 |
low | 最低价 | 精度:小数点后4位;单位:人民币元 |
close | 今收盘价 | 精度:小数点后4位;单位:人民币元 |
volume | 成交数量 | 单位:股 |
amount | 成交金额 | 精度:小数点后4位;单位:人民币元 |
adjustflag | 复权状态 | 不复权、前复权、后复权 |
turn | 换手率 | 精度:小数点后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.601398", year="2017", yearType="operate") result_dividend = pd.DataFrame( columns=["code", "dividPreNoticeDate", "dividAgmPumDate", "dividPlanAnnounceDate", "dividPlanDate", "dividRegistDate", "dividOperateDate", "dividPayDate", "dividStockMarketDate", "dividCashPsBeforeTax", "dividCashPsAfterTax", "dividStocksPs", "dividCashStock", "dividReserveToStockPs"]) while (rs_dividend.error_code == '0') & rs_dividend.next(): result_dividend = result_dividend.append(rs_dividend.get_row_data(), ignore_index=True) print(result_dividend)