完全免费开源的A股证券超长数据获取平台

Baostock是一个免费、开源的证券数据平台,提供A股历史行情数据、财务数据等,无需注册即可使用

平台介绍

证券宝 (www.baostock.com) 是一个免费、开源的证券数据平台,无需注册即可使用。

该平台致力于为量化交易投资者、数量金融爱好者、计量经济从业者提供稳定、准确、完整的证券数据服务。

核心优势

  • 完全免费:无需注册、无需付费,下载即用
  • 数据准确:提供大量准确、完整的证券历史行情数据和上市公司财务数据
  • 格式友好:返回 pandas DataFrame 类型数据,便于数据分析和可视化
  • 功能强大:支持多种数据类型和接口
  • 持续更新:平台不断完善和优化,后续将逐步增加港股、期货、外汇和基金等数据

下载安装

方式一:使用 pip 安装

1
pip install baostock -i https://pypi.org/simple

方式二:源码安装

访问 PyPI 下载安装:

1
2
3
python setup.py install
# 或者
pip install xxx.whl

版本升级

1
pip install --upgrade baostock -i https://pypi.org/simple

使用前提

  • 安装 Python 3.5 或以上版本
  • 安装 pandas:pip install pandas
  • 建议安装 Anaconda,避免依赖问题

注意:程序运行时,文件名、文件夹名不能是 baostock

数据更新时间

数据类型更新时间
日K线数据当日 17:30
复权因子数据当日 18:00
分钟K线数据次日 11:00
财务报告数据次日 1:30
周K线数据周六 17:30
成分股信息每周一下午

数据范围说明

股票数据

  • 日、周、月K线数据:时间范围 1990-12-19 至今
  • 5、15、30、60分钟K线数据:时间范围 2019-01-02 至今(近5年)

指数数据

包含综合指数、规模指数、行业指数、策略指数、主题指数等,时间范围 2006-01-01 至今。

财务数据

  • 季频财务数据:资产负债表、现金流量表、利润表、杜邦指标等,时间范围 2007年至今
  • 业绩预告:时间范围 2003年至今
  • 业绩快报:时间范围 2006年至今

快速入门示例

1. 登录系统

1
2
3
4
5
6
import baostock as bs
import pandas as pd

# 登录系统
lg = bs.login()
print(f"登录状态:{lg.error_msg}")

2. 获取历史K线数据

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# 查询A股历史K线数据
rs = bs.query_history_k_data_plus(
    "sh.600519",  # 贵州茅台
    "date,open,high,low,close,volume,amount",
    start_date="2024-01-01",
    end_date="2024-12-31",
    frequency="d",  # 日线
    adjustflag="2"  # 前复权
)

# 转换为DataFrame
data_list = []
while (rs.error_code == '0') & rs.next():
    data_list.append(rs.get_row_data())
df = pd.DataFrame(data_list, columns=rs.fields)

print(df.head())

3. 获取财务数据

1
2
3
4
# 查询财务数据
rs = bs.query_profit_data(code="sh.600519", year=2024, quarter=3)
profit_df = rs.get_data()
print(profit_df)

4. 登出系统

1
bs.logout()

主要接口列表

接口功能说明
query_history_k_data_plus()获取历史K线数据支持日线、周线、月线、分钟线
query_profit_data()获取盈利能力数据季频数据
query_balance_data()获取偿债能力数据季频数据
query_cash_flow_data()获取现金流量数据季频数据
query_growth_data()获取成长能力数据季频数据
query_operation_data()获取营运能力数据季频数据
query_dupont_data()获取杜邦指标数据季频数据
query_stock_basic()获取证券基本资料
query_all_stock()获取证券代码列表
query_hs300_stocks()获取沪深300成分股
query_sz50_stocks()获取上证50成分股
query_zz500_stocks()获取中证500成分股
query_trade_dates()获取交易日历
query_deposit_rate_data()获取存款利率1990年至今
query_loan_rate_data()获取贷款利率1990年至今
query_shibor_data()获取银行间同业拆放利率2006年至今

总结

Baostock 是一款非常优秀的免费证券数据平台,特别适合量化投资学习者、研究者和个人投资者使用。其简单易用的 API 接口和丰富的数据资源,为量化分析提供了极大的便利。

如果你正在寻找一个免费、可靠的A股数据源,Baostock 绝对值得一试!

官方网站:https://www.baostock.com/