A股数据获取
v0.2.0:子命令化覆盖 A 股历史K线 / 实时行情 / 五档盘口 / 指数历史 / 指数实时 / ETF 历史,统一
-o导出 CSV,缺依赖/断网均优雅降级。
概述
把散户/研究员最常用的「抓行情」变成一行命令,结果直接存 CSV 进 Excel 或分析流程。区别于 heavy 金融框架,akshare 是轻量数据接口聚合。
何时使用
- 获取某只 A 股的历史 K 线(日/周/月、前复权/后复权/不复权)
- 拉全市场或单只股票的实时行情、个股五档盘口
- 取指数(如上证 000001)历史或实时行情
- 抓 ETF 基金历史净值/价格
快速使用
# —— 需先 cd 到本技能目录再运行 ——
# A 股历史 K 线(默认日线、前复权、2024 全年)→ 导出 CSV
python3 scripts/akshare_fetch.py hist 600519 -o 茅台.csv
python3 scripts/akshare_fetch.py hist 600519 --period weekly --start 20240101 --end 20240630 -o 茅台周线.csv
# 实时行情:全市场快照(不指定 -o 打印前 10 行)
python3 scripts/akshare_fetch.py spot
python3 scripts/akshare_fetch.py spot --symbol 600519 -o 实时.csv
# 个股五档盘口(需带市场前缀 sh/sz)
python3 scripts/akshare_fetch.py bid sh600519
# 指数历史 & 实时
python3 scripts/akshare_fetch.py index --symbol 000001 -o 上证.csv
python3 scripts/akshare_fetch.py index_spot -o 指数实时.csv
# ETF 历史 K 线
python3 scripts/akshare_fetch.py etf 510300 -o 沪深300ETF.csv
依赖安装
# 提示:脚本用相对路径 scripts/,请先 cd 到本技能目录再运行
python3 -m pip install akshare
常见错误 / 注意
- 必须联网;接口稳定性随数据源变化,失败可重试或换周期/代码
- akshare 安装体积偏大(依赖较多),但仍为纯 Python 无 torch
- 仅获取公开行情,非投资建议
spot/index_spot返回的是行情快照,字段随数据源略变,建议导出 CSV 后再处理
实测验证(v0.2.0)
- 核心依赖:
akshare - 安装体积:🟡 202.0 MB(依赖闭包实测,中量级)
- 环境要求:必须联网。依赖 mini-racer(内嵌 V8,约 61MB)用于解析部分数据源。
- 单元测试:
python3 -m unittest tests.test_akshare_fetch(须 cd 到本技能目录运行),8 项全过 - CLI 冒烟:已通过端到端实测
已验证行为
- ✅ 离线/接口失败时优雅降级:明确提示「获取失败(需联网)」,返回 rc=2,不崩溃
- ✅ 各子命令 mock 注入假数据后均产出正确 DataFrame 并可写出 CSV
- ✅ 未安装 akshare 时
stock_hist抛清晰 RuntimeError(含安装命令)
已知边界 / 坑
- ⚠️ 依赖第三方数据源接口,对方改版会导致取数失败
- ⚠️ 国内网络环境更稳,海外服务器可能取不到数据
微信扫一扫