认识 baostock
Baostock(证券宝)是一个免费、开源的证券数据平台,通过 Python API 提供大量准确、完整的证券历史行情数据和上市公司财务数据。它返回的数据格式为 pandas DataFrame,这对于使用 pandas/NumPy/Matplotlib 进行数据分析和可视化非常友好。
数据范围与时间
baostock 的数据覆盖范围主要包括:
| 数据类型 | 包含内容 | 时间范围 | 备注 |
|---|---|---|---|
| 股票数据 | 日、周、月 K 线数据 | 1990-12-19 至今 | - |
| 分钟 K 线数据 | 5、15、30、60 分钟 K 线数据 | 1999-07-26 至今 | - |
| 指数数据 | 综合指数、规模指数、行业指数等 | 2006-01-01 至今 | 指数没有分钟线数据 |
| 财务数据 | 资产负债、现金流量、利润信息、杜邦指标 | 2007 年至今 | 季频 |
| 公司报告 | 业绩预告信息 | 2003 年至今 | 季频 |
| 业绩快报 | 上市公司业绩快报信息 | 2006 年至今 | 季频 |
注意数据更新时效:
- 日 K 线数据:当前交易日 17:30 完成入库。
- 分钟 K 线数据:当前交易日 20:30 完成入库。
- 其它财务报告数据:第二自然日 1:30 完成前交易日数据入库。
安装与环境配置
安装 baostock 非常简单,只需在命令行中执行:
pip install baostock -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn
注意:程序运行时,文件名、文件夹名不能是 baostock,否则会导致导入冲突。
核心 API 使用详解
登录与登出
在开始任何数据查询前,都需要先登录系统。建立与服务器的连接无需注册即可登录。需要注意的是,登录后超过一段时间没有操作再调用 API 请求时会超时,需要重新登录才能继续下载数据。
import baostock as bs
# 登录系统
lg = bs.login()
# 显示登录返回信息
print('login respond error_code:' + lg.error_code)
print('login respond error_msg:' + lg.error_msg)
# 你的数据查询代码将在这里
# 登出系统
bs.logout()
获取历史 A 股 K 线数据
query_history_k_data_plus() 是获取历史 A 股 K 线数据的重要接口。该方法支持获取日 k 线、周 k 线、月 k 线,以及 5 分钟、15 分钟、30 分钟和 60 分钟 k 线数据,适合搭配均线数据进行选股和分析。

