
股票数据源
A 股 + 扩展行情(港股/美股/期货等)数据源。支持股票搜索、实时五档报价、K 线、分时、逐笔成交(含历史回放),扩展行情额外支持市场代码表、K 线区间查询、批量行情列表。A 股数据为 L1 准实时快照(约 3 秒级),价格单位为元。适用于行情看板、自选股、量价分析等可视化场景。
Skill 文件
| name | stock-market-datasource |
|---|---|
| title | 股票数据源 |
| description | A 股 + 扩展行情(港股/美股/期货等)数据源。支持股票搜索、实时五档报价、K 线、分时、逐笔成交(含历史回放),扩展行情额外支持市场代码表、K 线区间查询、批量行情列表。A 股数据为 L1 准实时快照(约 3 秒级),价格单位为元。适用于行情看板、自选股、量价分析等可视化场景。 |
| tools | curl |
| credentials | STOCK_API_KEY |
| credential_help | STOCK_API_KEY: 行情接口的访问凭证。由平台管理员统一配置;暂不开放个人申请。 |
行情数据源(stock-market)
通过 curl 调用平台托管的行情接口,获取 A 股、港股、美股、期货等实时报价、K 线、分时与逐笔成交数据。
基本约定
- Base URL:
https://sive.antv.antgroup.com/api/v1/stock - 扩展行情 Base URL:
https://sive.antv.antgroup.com/api/v1/stock/ex - 鉴权:每个请求都必须带请求头
x-api-key: {{secrets.STOCK_API_KEY}},否则返回 401。 - 响应:成功时返回 JSON,业务数据统一挂在
data字段下,下文「关键返回字段」均以data.开头。 - 价格单位:元(A 股已从厘换算,扩展行情已为浮点元,均无需再除以 1000)。
- 数据性质:A 股为 L1 准实时快照,约 3 秒级延迟;非逐笔推送,不含 L2 委托队列明细。
股票代码格式
A 股:使用「带市场前缀」的代码:sh(上海)、sz(深圳)、bj(北京)+ 6 位数字。
例如:sh600519(贵州茅台)、sz000001(平安银行)。不确定代码时先用 /search 查询。
exchange 数值含义:0=深圳,1=上海,2=北京。
direction(A 股逐笔方向)数值含义:0=主动买,1=主动卖,2=中性。
扩展行情:使用 market(市场编号,数值)+ code(品种代码,字符串)定位品种。
常见市场编号:31=港股主板,48=港股创业板,71=美股纳斯达克,73=美股纽交所,28=期货等。
不确定 market 值时先调用 /ex/markets 获取完整市场代码表。
direction(扩展行情逐笔方向)数值含义:1=买,-1=卖,0=中性(与 A 股不同!)。
A 股接口
1. 股票搜索 GET /search
按代码或名称(支持拼音/简称)模糊搜索股票。
| 参数 | 必填 | 说明 |
|---|---|---|
keyword | 是 | 搜索关键词(代码、名称或拼音首字母) |
count | 否 | 返回条数上限,默认 10,建议 ≤ 50 |
关键返回字段:
| 字段 | 说明 |
|---|---|
data.count | 返回结果数 |
data.results[].fullCode | 带市场前缀的完整代码,如 sh600519 |
data.results[].code | 6 位数字代码 |
data.results[].name | 股票名称 |
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/search?keyword=茅台&count=10", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])2. 实时报价 GET /quote
获取一只或多只股票的实时快照与五档买卖盘。
| 参数 | 必填 | 说明 |
|---|---|---|
codes | 是 | 带前缀代码,多个用英文逗号分隔,单次建议 ≤ 50 只 |
关键返回字段:
| 字段 | 说明 |
|---|---|
data.count | 返回报价数 |
data.quotes[].code | 带前缀代码 |
data.quotes[].name | 股票名称 |
data.quotes[].exchange | 市场(0 深 / 1 沪 / 2 京) |
data.quotes[].price | 最新价(元) |
data.quotes[].lastClose | 昨收价(元) |
data.quotes[].open | 今开价(元) |
data.quotes[].high / .low | 当日最高 / 最低价(元) |
data.quotes[].volume | 成交量(手) |
data.quotes[].amount | 成交额(元) |
data.quotes[].bid[].price / .volume | 买一至买五的价(元)与量(手) |
data.quotes[].ask[].price / .volume | 卖一至卖五的价(元)与量(手) |
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/quote?codes=sh600519,sz000001", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])3. K 线 GET /kline
获取指定周期的 K 线序列。
| 参数 | 必填 | 说明 |
|---|---|---|
code | 是 | 带前缀代码 |
category | 否 | 周期类型,默认 9(日线),见下表 |
start | 否 | 起始偏移(从最新往前数),默认 0 |
count | 否 | 返回根数,默认 100。受响应大小限制,建议 ≤ 300,避免单次返回过大被截断 |
category 取值:
| 值 | 周期 |
|---|---|
| 0 | 5 分钟 |
| 1 | 15 分钟 |
| 2 | 30 分钟 |
| 3 | 60 分钟 |
| 5 | 周线 |
| 6 | 月线 |
| 7 | 1 分钟 |
| 9 | 日线 |
| 10 | 季线 |
| 11 | 年线 |
关键返回字段:
| 字段 | 说明 |
|---|---|
data.code / data.name | 代码 / 名称 |
data.count | 返回根数 |
data.bars[].time | K 线时间 |
data.bars[].open / .high / .low / .close | 开 / 高 / 低 / 收(元) |
data.bars[].volume | 成交量(手) |
data.bars[].amount | 成交额(元) |
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/kline?code=sh600519&category=9&count=120", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])4. 当日分时 GET /minute
获取当日分时(每分钟)走势。
| 参数 | 必填 | 说明 |
|---|---|---|
code | 是 | 带前缀代码 |
关键返回字段:
| 字段 | 说明 |
|---|---|
data.code / data.name | 代码 / 名称 |
data.count | 返回点数 |
data.items[].time | 时间 |
data.items[].price | 当前价(元) |
data.items[].avgPrice | 均价(元) |
data.items[].volume | 成交量(手) |
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/minute?code=sh600519", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])5. 历史分时 GET /history-minute
回放某一历史交易日的分时走势。
| 参数 | 必填 | 说明 |
|---|---|---|
code | 是 | 带前缀代码 |
date | 是 | 交易日,格式 YYYYMMDD,如 20240105 |
返回字段同「当日分时」。
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/history-minute?code=sh600519&date=20240105", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])6. 当日逐笔成交 GET /trade
获取当日逐笔成交明细。
| 参数 | 必填 | 说明 |
|---|---|---|
code | 是 | 带前缀代码 |
start | 否 | 起始偏移,默认 0 |
count | 否 | 返回条数,默认 100。受响应大小限制,建议 ≤ 500 |
关键返回字段:
| 字段 | 说明 |
|---|---|
data.code / data.name | 代码 / 名称 |
data.count | 返回条数 |
data.items[].time | 成交时间 |
data.items[].price | 成交价(元) |
data.items[].volume | 成交量(手) |
data.items[].direction | 方向(0 买 / 1 卖 / 2 中性) |
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/trade?code=sh600519&count=200", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])7. 历史逐笔成交 GET /history-trade
回放某一历史交易日的逐笔成交。
| 参数 | 必填 | 说明 |
|---|---|---|
code | 是 | 带前缀代码 |
date | 是 | 交易日,格式 YYYYMMDD |
start | 否 | 起始偏移,默认 0 |
count | 否 | 返回条数,默认 100,建议 ≤ 500 |
返回字段同「当日逐笔成交」。
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/history-trade?code=sh600519&date=20240105&count=200", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])扩展行情接口
扩展行情通过 /api/v1/stock/ex 前缀访问,支持港股、美股、期货等市场。与 A 股接口的关键差异:
- 所有接口需要
market(市场编号)+code(品种代码)定位品种 - 逐笔方向值不同:
1=买,-1=卖,0=中性(A 股是 0/1/2) - K 线和逐笔成交的
count上限更高(K 线 ≤ 800,逐笔 ≤ 2000) - 逐笔成交多了
zengCang(增仓)和natureName(性质名称)字段 - 分时多了
openInterest(持仓量)字段 - K 线多了
position(持仓量)字段 - 单品种报价(不支持批量逗号分隔)
8. 市场代码表 GET /ex/markets
获取所有可用市场代码,用于确定 market 参数值。
无参数。
关键返回字段:
| 字段 | 说明 |
|---|---|
data.markets[].market | 市场编号,如 31=港股主板 |
data.markets[].category | 市场类别 |
data.markets[].name | 市场全称 |
data.markets[].shortName | 市场简称 |
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/ex/markets", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])9. 品种搜索 GET /ex/search
按名称或代码搜索品种,可选按市场编号过滤。
| 参数 | 必填 | 说明 |
|---|---|---|
keyword | 是 | 搜索关键词(代码、名称) |
market | 否 | 市场编号,如 31=港股主,不传则搜索全部 |
count | 否 | 返回条数上限,默认 10,最多 50 |
关键返回字段:
| 字段 | 说明 |
|---|---|
data.count | 返回结果数 |
data.results[].market | 市场编号 |
data.results[].code | 品种代码,如 00700 |
data.results[].name | 品种名称 |
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/ex/search?keyword=腾讯&market=31&count=10", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])10. K 线 GET /ex/kline
获取指定市场品种的 K 线序列。
| 参数 | 必填 | 说明 |
|---|---|---|
market | 是 | 市场编号 |
code | 是 | 品种代码,如 00700 |
category | 否 | 周期类型,默认 9(日线),取值同 A 股 K 线 |
start | 否 | 起始偏移(从最新往前数),默认 0 |
count | 否 | 返回根数,默认 100,最多 800 |
关键返回字段:
| 字段 | 说明 |
|---|---|
data.market / data.code / data.name | 市场 / 代码 / 名称 |
data.count | 返回根数 |
data.bars[].time | K 线时间,格式 YYYY-MM-DD HH:mm |
data.bars[].open / .high / .low / .close | 开 / 高 / 低 / 收(元) |
data.bars[].volume | 成交量 |
data.bars[].amount | 成交额(元) |
data.bars[].position | 持仓量(期货有意义) |
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/ex/kline?market=31&code=00700&category=9&count=120", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])11. 实时报价 GET /ex/quote
获取单个品种的实时五档盘口。
| 参数 | 必填 | 说明 |
|---|---|---|
market | 是 | 市场编号 |
code | 是 | 品种代码 |
关键返回字段:
| 字段 | 说明 |
|---|---|
data.market / data.code / data.name | 市场 / 代码 / 名称 |
data.quote.preClose | 昨收价(元) |
data.quote.open / .high / .low / .price | 今开 / 最高 / 最低 / 最新价(元) |
data.quote.volume | 成交量 |
data.quote.bid[].price / .volume | 买一至买五的价与量 |
data.quote.ask[].price / .volume | 卖一至卖五的价与量 |
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/ex/quote?market=31&code=00700", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])12. 当日分时 GET /ex/minute
获取当日分时走势。
| 参数 | 必填 | 说明 |
|---|---|---|
market | 是 | 市场编号 |
code | 是 | 品种代码 |
关键返回字段:
| 字段 | 说明 |
|---|---|
data.market / data.code / data.name | 市场 / 代码 / 名称 |
data.count | 返回点数 |
data.items[].time | 时间,格式 HH:mm |
data.items[].price | 当前价(元) |
data.items[].avgPrice | 均价(元) |
data.items[].volume | 成交量 |
data.items[].openInterest | 持仓量(期货有意义) |
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/ex/minute?market=31&code=00700", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])13. 历史分时 GET /ex/history-minute
回放某一历史交易日的分时走势。
| 参数 | 必填 | 说明 |
|---|---|---|
market | 是 | 市场编号 |
code | 是 | 品种代码 |
date | 是 | 交易日,格式 YYYYMMDD,如 20240105 |
返回字段同「当日分时」。
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/ex/history-minute?market=31&code=00700&date=20240105", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])14. 当日逐笔成交 GET /ex/trade
获取当日逐笔成交明细。
| 参数 | 必填 | 说明 |
|---|---|---|
market | 是 | 市场编号 |
code | 是 | 品种代码 |
start | 否 | 起始偏移,默认 0 |
count | 否 | 返回条数,默认 100,最多 2000 |
关键返回字段:
| 字段 | 说明 |
|---|---|
data.market / data.code / data.name | 市场 / 代码 / 名称 |
data.count | 返回条数 |
data.items[].time | 成交时间,格式 HH:mm:ss |
data.items[].price | 成交价(元) |
data.items[].volume | 成交量 |
data.items[].direction | 方向(1 买 / -1 卖 / 0 中性) |
data.items[].zengCang | 增仓(期货有意义) |
data.items[].natureName | 性质名称,如 多开、空平、B、S 等 |
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/ex/trade?market=31&code=00700&count=200", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])15. 历史逐笔成交 GET /ex/history-trade
回放某一历史交易日的逐笔成交。
| 参数 | 必填 | 说明 |
|---|---|---|
market | 是 | 市场编号 |
code | 是 | 品种代码 |
date | 是 | 交易日,格式 YYYYMMDD |
start | 否 | 起始偏移,默认 0 |
count | 否 | 返回条数,默认 100,最多 2000 |
返回字段同「当日逐笔成交」。
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/ex/history-trade?market=31&code=00700&date=20240105&count=200", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])16. K 线区间查询 GET /ex/bars-range
按日期区间查询 K 线,适合需要精确指定起止日期(而非偏移量)的场景。
| 参数 | 必填 | 说明 |
|---|---|---|
market | 是 | 市场编号 |
code | 是 | 品种代码 |
date | 是 | 起始日期,格式 YYYYMMDD |
date2 | 是 | 结束日期,格式 YYYYMMDD |
返回字段同「K 线」接口。
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/ex/bars-range?market=31&code=00700&date=20240101&date2=20240630", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])17. 批量行情列表 GET /ex/quote-list
按市场+类别批量获取行情列表,适合涨幅排行、板块浏览等场景。
| 参数 | 必填 | 说明 |
|---|---|---|
market | 是 | 市场编号,如 31=港股主 |
category | 否 | 品种类别:2=港股 3=期货,默认 2 |
start | 否 | 起始位置,默认 0 |
count | 否 | 返回数量,默认 100,最多 800 |
关键返回字段:
| 字段 | 说明 |
|---|---|
data.count | 返回条数 |
data.items[].market / .code | 市场 / 代码 |
data.items[].preClose | 昨收价(元) |
data.items[].open / .high / .low / .price | 今开 / 最高 / 最低 / 最新价(元) |
data.items[].volume | 成交量 |
data.items[].amount | 成交额(元) |
data.items[].inner / .outer | 内盘 / 外盘 |
data.items[].bid[].price / .volume | 买盘价量 |
data.items[].ask[].price / .volume | 卖盘价量 |
curl( url = "https://sive.antv.antgroup.com/api/v1/stock/ex/quote-list?market=31&category=2&count=50", X = "GET", H = ["x-api-key: {{secrets.STOCK_API_KEY}}"])请求策略与注意事项
- 控制返回体量:行情数据上游与
curl工具都对单次响应大小有上限(约 50KB)。A 股 K 线count建议 ≤ 300,逐笔count建议 ≤ 500;扩展行情上限更高(K 线 ≤ 800,逐笔 ≤ 2000),但仍需注意单次返回大小。需要更多数据时配合start分页多次拉取。 - 串行请求:底层为单条 TCP 连接的行情通道,请逐个发起请求、拿到结果后再发下一个,避免并发。
- 先搜后查:A 股不确定代码时先调用
/search获取fullCode;扩展行情不确定market时先调用/ex/markets,不确定代码时调用/ex/search。 - 注意方向值差异:A 股逐笔
direction为 0=买/1=卖/2=中性,扩展行情为 1=买/-1=卖/0=中性,切勿混用。 - 准实时:报价为约 3 秒级 L1 快照,适合看板与趋势展示,不适合做撮合级别的高频判断。
- 鉴权失败:缺失或错误的
x-api-key返回 401;若平台未配置STOCK_API_KEY全局凭证,接口将一律拒绝访问。