Bao_Stock_Api_Modules_Repack文档

Bao_Stock_Api_Modules_Repack文档
说明

本包基于证券宝(证券宝www.baostock.com是一个免费、开源的证券数据平台)baostock 包的功能,在原包的基础上通过函数的重新封装使其使用起来更加简单便捷。
包下载地址:
https://download.csdn.net/download/weixin_41357912/12656218

准备工作

下载安装
通过pip安装,一般的python集成环境自带pip
Pandas包 pip install pandas
Baostock包pip install baostock
使用国内源安装:pip install baostock -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn

入门示例
HelloWorld

import Bao_Stock_Api_Modules_Repack as bsamr
show_date = '' #日期格式'2016-12-01'为空则返回当天数据
bsamr.all_stocks(show_date)#效果返回当天股市所有股票信息并生成csv文件

返回信息:
login respond error_code:错误代码,当为“0”时表示成功,当为非0时表示失败;
login respond error_msg:错误信息,对错误的详细解释。
其他:某信息获取成功的信息
文件生成路径:统一在调用包的py文件下生成

获取历史A股K线数据
获取历史A股K线数据:history_k()
方法说明:通过baostock获取A股历史交易数据,可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据,适合搭配均线数据进行选股和分析。
返回类型:pandas的DataFrame类型。
能获取2006-01-01至当前时间的数据;
可查询不复权、前复权、后复权数据。
使用示例:

import Bao_Stock_Api_Modules_Repack as bsamr

code = "sh.600000"
options = "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='2019-12-31'
frequency="d"#frequency="d"取日k线
adjustflag="3"#adjustflag="3"默认不复权
bsamr.history_k(
code,options,start_date,end_date,frequency,adjustflag
)

代码含义:
返回从2017-06-01到2019-12-31的时间段内sh.600000不复权日K线的各项指标,并输出到csv文件

参数含义:
code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
options:指示简称,支持多指标输入,以半角逗号分隔,填写内容作为返回类型的列。详细指标列表见Bao_Stock_Api_Modules_Repack返回数据说明,日线与分钟线参数不同。此参数不可为空;
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:前复权。已支持分钟线、日线、周线、月线前后复权。
查询除权除息信息
除权除息信息:dividend_data()
获取除权除息信息数据(预披露、预案、正式都已通过)。

import Bao_Stock_Api_Modules_Repack as bsamr
code = "sh.600000"
start_date='2017-06-01'
end_date='2019-12-31'
yearType="report"

bsamr.dividend_data(
code,start_date,end_date,yearType
)

参数含义:
code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
year:年份,如:2017。此参数不可为空;
yearType:年份类别,默认为"report":预案公告年份,可选项"operate":除权除息年份。此参数不可为空。
查询复权因子信息
复权因子:adjust_factor()
获取复权因子信息数据。

import Bao_Stock_Api_Modules_Repack as bsamr

code = "sh.600000"
start_date='2017-06-01'
end_date='2019-12-31'

bsamr.adjust_factor(code, start_date, end_date)

参数含义:
code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
start_date:开始日期,为空时默认为2015-01-01,包含此日期;
end_date:结束日期,为空时默认当前日期,包含此日期。
查询季频财务数据信息
全季频财务数据信息:All_Quar_Anal()
获取全部季频财务数据信息,可以通过参数设置获取对应时间段,提供2007年至今数据。
返回类型:pandas的DataFrame类型。
使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

code = "sh.600000"
start_date='2017-06-01'
end_date='2019-12-31'
bsamr.All_Quar_Anal(code,start_date,end_date)

参数含义:
code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
start_date:开始日期,为空时默认为2015-01-01,包含此日期;
end_date:结束日期,为空时默认当前日期,包含此日期。

季频盈利能力:profit_data()
获取季频盈利能力信息,可以通过参数设置获取对应年份、季度数据,提供2007年至今数据。
返回类型:pandas的DataFrame类型。
使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

code = "sh.600000"
quarter = 2
year = 2017
bsamr. profit_data(code, year, quarter)

参数含义:
code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
year:整数型。统计年份,为空时默认当前年;
quarter:整数型。统计季度,可为空,默认当前季度。不为空时只有4个取值:1,2,3,4。

季频营运能力:operation_data()
获取季频营运能力信息,可以通过参数设置获取对应年份、季度数据,提供2007年至今数据。
返回类型:pandas的DataFrame类型。
使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

code = "sh.600000"
quarter = 2
year = 2017
bsamr. operation_data(code, year, quarter)

参数含义:
code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
year:统计年份,为空时默认当前年;
quarter:统计季度,为空时默认当前季度。不为空时只有4个取值:1,2,3,4。

季频成长能力:growth_data()

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

使用示例
import Bao_Stock_Api_Modules_Repack as bsamr

code = "sh.600000"
quarter = 2
year = 2017
bsamr. growth_data(code, year, quarter)

参数含义:
code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
year:统计年份,为空时默认当前年;
quarter:统计季度,为空时默认当前季度。不为空时只有4个取值:1,2,3,4。

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

import Bao_Stock_Api_Modules_Repack as bsamr

code = "sh.600000"
quarter = 2
year = 2017
bsamr.balance_data(code, year, quarter)

参数含义:
code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
year:统计年份,为空时默认当前年;
quarter:统计季度,为空时默认当前季度。不为空时只有4个取值:1,2,3,4。

季频现金流量:cash_flow_data()
获取季频现金流量信息,可以通过参数设置获取对应年份、季度数据,提供2007年至今数据。
返回类型:pandas的DataFrame类型。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

code = "sh.600000"
quarter = 2
year = 2017
bsamr.cash_flow_data(code, year, quarter)

参数含义:
code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
year:统计年份,为空时默认当前年;
quarter:统计季度,为空时默认当前季度。不为空时只有4个取值:1,2,3,4。

季频杜邦指数:dupont_data()
获取季频杜邦指数信息,可以通过参数设置获取对应年份、季度数据,提供2007年至今数据。
返回类型:pandas的DataFrame类型。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

code = "sh.600000"
quarter = 2
year = 2017
bsamr.dupont_data(code, year, quarter)

参数含义:
code:股票代码,sh.或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
year:统计年份,为空时默认当前年;
quarter:统计季度,为空时默认当前季度。不为空时只有4个取值:1,2,3,4。
查询季频公司报告信息
季频公司业绩快报:performance_express_report()
获取季频公司业绩快报信息,可以通过参数设置获取起止年份数据,提供2006年至今数据。
返回类型:pandas的DataFrame类型。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

code = "sh.600000"
start_date='2017-06-01'
end_date='2019-12-31'
bsamr.performance_express_report(code,start_date,end_date)

参数含义:
code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
start_date:开始日期,发布日期或更新日期在这个范围内;
end_date:结束日期,发布日期或更新日期在这个范围内。
季频公司业绩预告:forcast_report()
方法说明:通过API接口获取季频公司业绩预告信息,可以通过参数设置获取起止年份数据,提供2003年至今数据。
返回类型:pandas的DataFrame类型。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

code = "sh.600000"
start_date='2017-06-01'
end_date='2019-12-31'
bsamr.forcast_report(code,start_date,end_date)

参数含义:
code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;
start_date:开始日期,发布日期或更新日期在这个范围内;
end_date:结束日期,发布日期或更新日期在这个范围内。
获取证券元信息
交易日查询:trade_dates()
获取股票交易日信息,可以通过参数设置获取起止年份数据,提供上交所1990-今年数据。
返回类型:pandas的DataFrame类型。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

start_date='2017-06-01'
end_date='2019-12-31'
bsamr.trade_dates(code,start_date,end_date)

参数含义:
start_date:开始日期,为空时默认为2015-01-01。
end_date:结束日期,为空时默认为当前日期。
证券代码查询:all_stock()
获取指定交易日期所有股票列表。获取证券代码及股票交易状态信息,与日K线数据同时更新。可以通过参数‘某交易日’获取数据(包括:A股、指数),提供2006-今数据。
返回类型:pandas的DataFrame类型。
更新时间:与日K线同时更新。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

show_date = ''
bsamr.all_stocks(show_date)

参数含义:
show_date:需要查询的交易日期,为空时默认当前日期。
证券基本资料:stock_basic()
方法说明:通过API接口获取API接口获取证券基本资料,可以通过参数设置获取对应证券代码、证券名称的数据。
返回类型:pandas的DataFrame类型。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

code = "sh.600000"
bsamr.stock_basic(code)
# bsamr.stock_basic(code_name="浦发银行")

参数含义:
code:A股股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。可以为空;
code_name:股票名称,支持模糊查询,可以为空。
宏观经济数据
存款利率:deposit_rate_data()
获取存款利率,可以通过参数设置获取对应起止日期的数据。
返回类型:pandas的DataFrame类型。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

start_date='2017-06-01'
end_date='2019-12-31'

bsamr.deposit_rate_data(start_date, end_date)

参数含义:
start_date:开始日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空;
end_date:结束日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空。
贷款利率:loan_rate_data()
获取贷款利率,可以通过参数设置获取对应起止日期的数据。
返回类型:pandas的DataFrame类型。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

start_date='2017-06-01'
end_date='2019-12-31'

bsamr.loan_rate_data(start_date, end_date)

参数含义:
start_date:开始日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空;
end_date:结束日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空。
存款准备金率:required_reserve_ratio_data()
获取存款准备金率,可以通过参数设置获取对应起止日期的数据。
返回类型:pandas的DataFrame类型。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

start_date='2017-06-01'
end_date='2019-12-31'
Type = 0
bsamr.required_reserve_ratio_data(start_date, end_date, Type)

参数含义:
start_date:开始日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空;
end_date:结束日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空;
Type:整数型。类别,默认为0,查询公告日期;1查询生效日期。
货币供应量:money_supply_data_month()
获取货币供应量,可以通过参数设置获取对应起止日期的数据。
返回类型:pandas的DataFrame类型。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

start_date='2017-06-01'
end_date='2019-12-31'

bsamr.money_supply_data_month(start_date, end_date)

参数含义:
start_date:开始日期,格式XXXX-XX,发布日期在这个范围内,可以为空;
end_date:结束日期,格式XXXX-XX,发布日期在这个范围内,可以为空。
货币供应量(年底余额):money_supply_data_year()
获取货币供应量(年底余额),可以通过参数设置获取对应起止日期的数据。
返回类型:pandas的DataFrame类型。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

start_date='2017-06-01'
end_date='2019-12-31'

bsamr.money_supply_data_year(start_date, end_date)

参数含义:
start_date:开始日期,格式XXXX,发布日期在这个范围内,可以为空;
end_date:结束日期,格式XXXX,发布日期在这个范围内,可以为空。
银行间同业拆放利率:shibor_data()
获取银行间同业拆放利率,可以通过参数设置获取对应起止日期的数据。
返回类型:pandas的DataFrame类型。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

start_date='2017-06-01'
end_date='2019-12-31'

bsamr.shibor_data(start_date, end_date)

参数含义:
start_date:开始日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空;
end_date:结束日期,格式XXXX-XX-XX,发布日期在这个范围内,可以为空。
板块数据
行业分类:stock_industry()
获取行业分类信息,更新频率:每周一更新。
返回类型:pandas的DataFrame类型。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

code = "sh.600000"
show_date = ""
bsamr.stock_industry(code,show_date)
# rs = bs.query_stock_industry(code_name="浦发银行",show_date)

参数含义:
code:A股股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。可以为空;
date:查询日期,格式XXXX-XX-XX,为空时默认最新日期。
成分股获取:index_stocks()
获取上证50,沪深300,获取中证500成分股信息
更新频率:每周一更新。
返回类型:pandas的DataFrame类型。

使用示例

import Bao_Stock_Api_Modules_Repack as bsamr

show_date = ""

bsamr.index_stocks(show_date)

参数含义:
show_date:查询日期,格式XXXX-XX-XX,为空时默认最新日期。

参数查询
参数说明search_param()
获取指定参数的说明
示例代码如下:

import Bao_Stock_Api_Modules_Repack as bsamr

param = "code"

bsamr.search_param(param)

参数含义:
param:查询参数,参数名称,字符串类型,不可为空。

示例程序
获取指定日期全部股票的日K线数据
示例代码如下:

import Bao_Stock_Api_Modules_Repack as bsamr

start_date = "2020-07-20"
end_date = "2020-07-22"
options = "date,code,open,high,low,close"
frequency="d"#frequency="d"取日k线
adjustflag="3"
stocks =["sh.600000","sh.600001","sh.600358","sh.600124","sh.600339","sh.600985"]
for code in stocks:
    bsamr.history_k(code,options,start_date, end_date,frequency,adjustflag)

附:
注意:
BaoStock提供的是涨跌幅复权算法复权因子,具体介绍见:复权因子简介或者BaoStock复权因子简介。
股票停牌时,对于日线,开、高、低、收价都相同,且都为前一交易日的收盘价,成交量、成交额为0,换手率为空。
如果需要将换手率转为float类型,可使用如下方法转换:result[“turn”] = [0 if x == “” else float(x) for x in result[“turn”]]
关于复权数据的说明:
BaoStock使用“涨跌幅复权法”进行复权,详细说明参考上文“复权因子简介”。不同系统间采用复权方式可能不一致,导致数据不一致。
“涨跌幅复权法的”优点:可以计算出资金收益率,确保初始投入的资金运用率为100%,既不会因为分红而导致投资减少,也不会因为配股导致投资增加。
经过验证,BaoStock复权数据与腾讯证券数据一致,参考网址。
与同花顺、通达信等存在不同。
注意“前收盘价”说明:
证券在指定交易日行情数据的前收盘价,当日发生除权除息时,“前收盘价”不是前一天的实际收盘价,而是根据股权登记日收盘价与分红现金的数量、配送股的数里和配股价的高低等结合起来算出来的价格。
具体计算方法如下:
1、计算除息价:
除息价=股息登记日的收盘价-每股所分红利现金额
2、计算除权价:
送红股后的除权价=股权登记日的收盘价/(1+每股送红股数)
配股后的除权价=(股权登记日的收盘价+配股价每股配股数)/(1+每股配股数)
3、计算除权除息价
除权除息价=(股权登记日的收盘价-每股所分红利现金额+配股价
每股配股数)/(1+每股送红股数+每股配股数)
“前收盘价”由交易所计算并公布。首发日的“前收盘价”等于“收发价格”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值