使用 mairui API 获取指数K线数据(支持时间范围参数)
mairui_fetcher.py - 核心数据获取模块fetch_cyb50.py - 快速获取创业板50数据脚本data/ - 数据保存目录(自动创建)cd ~/.openclaw/workspace/cyb50-quant/cat-fly/data-fetch
python fetch_cyb50.py
# 获取创业板50,2023年至今,30分钟K线
python mairui_fetcher.py --start 2023-01-01
# 获取2024年全年日线数据
python mairui_fetcher.py --code 399673.SZ --tf d --start 2024-01-01 --end 2024-12-31
# 获取上证指数60分钟数据
python mairui_fetcher.py --code 000001.SH --tf 60 --start 2024-01-01
# 只获取不保存
python mairui_fetcher.py --start 2023-01-01 --no-save
from mairui_fetcher import fetch_cyb50_30min, MairuiDataFetcher
# 快速获取创业板50的30分钟数据
df = fetch_cyb50_30min(start_date="2023-01-01", end_date="2025-03-25")
# 自定义获取
fetcher = MairuiDataFetcher(data_dir="./my_data")
# 获取日线数据
df = fetcher.fetch_data(
index_code="399673.SZ",
timeframe="d", # d=日线, 30=30分钟, 60=60分钟
start_date="2023-01-01",
end_date="2025-03-25"
)
# 获取30分钟数据
df = fetcher.fetch_30min_data(
index_code="399673.SZ",
start_date="2023-01-01",
end_date="2025-03-25"
)
# 保存数据
fetcher.save_to_csv(df, "my_data.csv")
# 加载数据
df = fetcher.load_from_csv("my_data.csv")
https://api.mairuiapi.com/hsindex/history/{指数代码}/{分时级别}/{token}?st={开始时间}&et={结束时间}
参数说明:
| 参数 | 说明 | 示例 |
|---|---|---|
| 指数代码 | 指数代码.市场 | 399673.SZ, 000001.SH |
| 分时级别 | K线周期 | d=日线, 30=30分钟, 60=60分钟 |
| token | API密钥 | AE17EE23-AAE4-492F-A959-EC883DFA5A76 |
| st | 开始时间 | 20230101 (YYYYMMDD格式) |
| et | 结束时间 | 20250325 (YYYYMMDD格式) |
完整示例:
https://api.mairuiapi.com/hsindex/history/399673.SZ/30/AE17EE23-AAE4-492F-A959-EC883DFA5A76?st=20230101&et=20250325
| 名称 | 代码 | 别名 |
|---|---|---|
| 创业板50 | 399673.SZ | cyb50 |
| 创业板指 | 399006.SZ | cy |
| 上证指数 | 000001.SH | sh |
| 沪深300 | 000300.SH | hs300 |
| 深证成指 | 399001.SZ | sz |
| 代码 | 说明 |
|---|---|
d |
日线 |
30 |
30分钟线 |
60 |
60分钟线 |
| 列名 | 说明 |
|---|---|
| datetime | 日期时间 |
| open | 开盘价 |
| high | 最高价 |
| low | 最低价 |
| close | 收盘价 |
| volume | 成交量 |
| amount | 成交额 |
创业板50指数 30分钟K线数据量:
pip install requests pandas
YYYY-MM-DD 格式,API会自动转换为 YYYYMMDDst, et)