A 股行情数据中心 API
面向 macOS、Windows、Linux 与获授权第三方的只读历史行情接口。
https://a-share-quant-lab.youyuzhou.com/api/v1
每次请求返回的数据都由 manifest 版本定义。正式回测请记录并固定 version,不要只依赖“最新”。
认证与安全
健康检查可匿名访问;其余接口需要只读 API Key。任选一种请求头:
Authorization: Bearer <api-key> # 或 X-API-Key: <api-key>
服务端只保存 Key 的 SHA-256 哈希。请勿将明文 Key 写进前端、Git、截图或公开示例。无效或缺失 Key 返回 401。
接口总览
| 接口 | 鉴权 | 用途 |
|---|---|---|
GET /health | 否 | 检查 Pages、R2 绑定和是否已有已发布版本。 |
GET /latest | 是 | 取得当前原子版本指针、发布时间与 manifest 地址。 |
GET /datasets | 是 | 列出当前版本的数据集、布局、对象数和字节数。 |
GET /datasets/{name} | 是 | 读取指定数据集的字段契约、主键、分区和对象列表。 |
GET /quotes/daily/{code} | 是 | 直接返回单只 A 股前复权日 K JSON;支持 start、end、fields 和 limit。 |
GET /limit-up/kaipanla/performance | 是 | 查询开盘啦市场情绪-涨停表现日汇总;可指定交易日。 |
GET /limit-up/kaipanla/stocks | 是 | 按交易日、板级页签查询开盘啦涨停个股明细。 |
GET /limit-up/ths/overview | 是 | 查询同花顺涨停聚焦的涨跌停总览。 |
GET /limit-up/ths/pools | 是 | 查询涨停、连板、开板、跌停等五类股票池。 |
GET /limit-up/ths/ladder | 是 | 查询同花顺连板天梯及个股。 |
GET /limit-up/ths/themes | 是 | 查询最强风口题材榜;可下钻题材涨停成分股。 |
GET /manifests/{version} | 是 | 读取指定不可变版本完整 manifest。 |
GET, HEAD /objects/{sha256.ext} | 是 | 下载 manifest 中声明的 Parquet、CSV、JSON 或 ZIP 对象;支持 Range、ETag。 |
推荐调用顺序
- 请求
/latest并保存返回的version。 - 请求该版本的 manifest,按数据集、年/月分区选择必要对象。
- 下载对象后核对
bytes和sha256。 - 在本地用 pandas、PyArrow 或 DuckDB 按证券代码与日期过滤。Worker 不会扫描大 Parquet。
命令行示例
API=https://a-share-quant-lab.youyuzhou.com/api/v1 curl "$API/health" curl -H "Authorization: Bearer $MARKET_DATA_API_KEY" "$API/latest" curl -H "Authorization: Bearer $MARKET_DATA_API_KEY" "$API/datasets/kline_daily"
# 直接查询贵州茅台日线;2024-03-28 起可联查开盘啦名称、题材、成交额与换手率 curl -H "Authorization: Bearer $MARKET_DATA_API_KEY" \ "$API/quotes/daily/600519?start=2024-03-28&end=2024-12-31&fields=date,name,open,close,vol,amount,turnover,themes"
Python 客户端
python -m datahub.cli remote-configure \ --url https://a-share-quant-lab.youyuzhou.com \ --api-key '<api-key>' python -m datahub.cli remote-list python -m datahub.cli remote-pull --dataset kline_daily
import astock
# 自动锁定本次读取时的最新 manifest;正式回测建议显式传 version。
daily = astock.remote_kline("600519", start="2024-01-01", end="2026-09-01")
locked = astock.remote_kline("600519", version="20260901T110000Z")
数据口径与限制
- 日线、ETF 和指数按年分区;分钟线按周期和月分区。一次下载后会在本地按 SHA-256 缓存。
- 字段、来源、必选性和质量警告以 manifest 为准;开盘啦日频增强字段当前从 2024-03-28 起可用,更早日期返回 null。
- 接口只读,不提供云端回测或任意 SQL。复杂计算应在客户端使用锁定版本完成。
- 授权边界 行情源的二次分发授权未确认前,仅供个人设备和明确获授权的用户使用。