你将收获

灵活的股票选择: 支持指定单只或多只股票,也支持下载沪深300全部股票

CSV格式存储: 保存为标准CSV格式,便于后续处理和分析

自定义日期范围: 支持指定任意日期范围进行数据下载

防频率限制: 内置延时机制,避免请求过于频繁  格式兼容: 完全兼容现有Kronos数据格式

适用人群

量化初学者,金融工作者,对股票交易者

课程介绍

股票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全部股票数据量较大,请确保有足够存储空间
错误处理
工具包含完善的错误处理机制:

自动重试网络请求失败的情况
跳过无效或格式错误的数据行
处理股票代码格式错误
验证日期格式有效性