Kronos-基于baostock的A股数据拉取
课时介绍
课程介绍
股票5、15、30、60分钟以及日线数据下载工具 (CSV格式)
功能说明
这个工具用于从baostock下载股票5、15、30、60分钟以及日线的K线数据,并保存为CSV格式,兼容Kronos项目的数据格式要求。
主要特性
灵活的股票选择: 支持指定单只或多只股票,也支持下载沪深300全部股票
CSV格式存储: 保存为标准CSV格式,便于后续处理和分析
自定义日期范围: 支持指定任意日期范围进行数据下载
防频率限制: 内置延时机制,避免请求过于频繁
格式兼容: 完全兼容现有Kronos数据格式
安装依赖
pip install baostock pandas
使用方法
1. 下载指定股票数据
# 进入到data_util目录
cd data_util
# 下载单只股票 5分钟数据
python min5_csv.py --stocks sh.600977
# 下载多只股票
python min5_csv.py --stocks sh.600977 sz.000001 sh.600519
# 指定日期范围
## 5分钟数据
python min5_csv.py --stocks sh.600977 --start_date 2025-01-01 --end_date 2025-10-31
## 15分钟数据
python min15_csv.py --stocks sh.600977 --start_date 2025-01-01 --end_date 2025-10-31
## 30分钟数据
python min30_csv.py --stocks sh.600977 --start_date 2025-01-01 --end_date 2025-10-31
## 60分钟数据
python min60_csv.py --stocks sh.600977 --start_date 2025-01-01 --end_date 2025-10-31
## 日线数据,要下载3年的数据,否则数据量不够,会报错
python daily_csv.py --stocks sh.600977 --start_date 2023-01-01 --end_date 2025-10-31
2. 下载沪深300全部股票
# 下载沪深300所有股票(默认最近7天)
python min5_csv.py --hs300
# 指定日期范围
python min5_csv.py --hs300 --start_date 2025-10-01 --end_date 2025-10-31
3. 命令行参数说明
参数 简写 说明 示例
--stocks -s 指定股票代码(可多个) sh.600977
--start_date -sd 开始日期 (YYYY-MM-DD) 2025-01-01
--end_date -ed 结束日期 (YYYY-MM-DD) 2025-01-31
--hs300 无 下载沪深300所有股票 -
输出文件格式
下载的CSV文件将保存在 ../data/ 目录下,文件命名格式为:
XSHG_5min_600977.csv # 上海股票
XSHE_5min_000001.csv # 深圳股票
CSV文件格式
timestamps,open,high,low,close,volume,amount
2024-06-18 11:15:00,11.27,11.28,11.26,11.27,379.0,427161.0
2024-06-18 11:20:00,11.27,11.28,11.27,11.27,277.0,312192.0
...
字段说明:
timestamps: 时间戳 (YYYY-MM-DD HH:MM:SS)
open: 开盘价
high: 最高价
low: 最低价
close: 收盘价
volume: 成交量 (手)
amount: 成交额 (千元)
使用示例
示例1:下载贵州茅台最近一个月数据
python min5_csv.py --stocks sh.600519 --start_date 2025-08-18 --end_date 2025-09-18
示例2:下载多只知名股票
python min5_csv.py --stocks sh.600519 sh.600036 sz.000001 sz.000002
示例3:下载沪深300全部股票的2025年1月数据
python min5_csv.py --hs300 --start_date 2025-01-01 --end_date 2025-01-31
注意事项
股票代码格式: 必须使用 sh. 或 sz. 前缀
交易时间: 只能下载交易日数据,非交易日会自动跳过
数据量限制: 单次下载建议不超过3个月数据,避免数据量过大
频率限制: 工具已内置防频率限制机制,请勿修改延时参数
存储空间: 沪深300全部股票数据量较大,请确保有足够存储空间
错误处理
工具包含完善的错误处理机制:
自动重试网络请求失败的情况
跳过无效或格式错误的数据行
处理股票代码格式错误
验证日期格式有效性
信息系统项目管理师自考笔记
李明 · 915人在学
python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据
王先生 · 22811人在学
手把手搭建Java超市管理系统【附源码】(毕设)
汤小洋 · 4294人在学
Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教
黄菊华 · 838人在学
基于SSM酒店管理系统(毕设)
小尼老师 · 899人在学
java项目实战之购物商城(java毕业设计)
Long · 5203人在学
手把手搭建Java求职招聘系统【附源码】(毕设)
汤小洋 · 1532人在学
Python Django 深度学习 小程序
钟翔 · 2408人在学
城管局门前三包管理系统+微信小程序(vue+springboot)
赖国荣 · 681人在学
Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序
李杰 · 4076人在学
