
A股API 如何获取实时行情?REST API 接入与数据处理指南
介绍如何通过 A股API 获取最新行情,涵盖 REST API 接入、Python 请求示例、行情数据处理,以及 REST API 与 WebSocket 的选择。
开发股票行情看板时,获取一只股票的价格只是第一步。真正需要考虑的是:接口返回的数据是否对应目标股票、行情时间是否可信,以及页面能否及时反映价格变化。
对于金融科技开发者来说,选择合适的 A股API,可以减少自行维护行情采集链路的工作。本文从实际开发需求出发,介绍如何使用 REST API 获取 A 股最新报价、处理响应数据,以及根据更新频率选择合适的接入方式。
获取实时行情前,先选对接口
A 股行情应用通常需要两类数据:最新报价和历史 K 线。
最新报价适合显示当前价格、成交量和成交时间等信息;历史 K 线则用于绘制走势图、计算技术指标和初始化历史图表。两者用途不同,不能用历史 K 线查询代替最新报价查询。
AllTick 提供面向 A 股、港股和美股的股票行情 API。其 REST API 包含最新报价、历史 K 线、盘口深度和股票基础信息等接口。对于只需按需查询行情的应用,可以先从 REST API 入手;需要持续接收行情变化时,再考虑 WebSocket 订阅。
使用 Python 获取 A 股行情
接入前,需要先获取 API Key,并确认目标股票代码存在于 AllTick 的产品列表中。A 股代码使用交易所后缀,例如 600416.SH 表示上交所标的,000627.SZ 表示深交所标的。
如果目标是读取最新报价,应使用 /v1/quote/{queryData},而不是历史 K 线接口。AllTick 的新版 REST API 使用 X-API-Key 请求头进行认证,GET 请求中的查询参数需要按照文档规定进行编码。
下面先用 Python 演示如何组织请求参数,并调用历史 K 线接口验证数据接入流程:
import json
import os
import requests
API_KEY = os.environ["ALLTICK_API_KEY"]
query_data = {
"trace": "ashare-kline-001",
"data": {
"code": "600416.SH",
"kline_type": 1,
"kline_timestamp_end": 0,
"query_kline_num": 2,
"adjust_type": 0
}
}
url = "https://quote.alltick.co/quote-stock-b-api/v1/kline"
response = requests.get(
url,
params={
"query": json.dumps(query_data, separators=(",", ":"))
},
headers={"X-API-Key": API_KEY},
timeout=10
)
response.raise_for_status()
result = response.json()
if result.get("ret") != 200:
raise RuntimeError(f"API error: {result.get('msg')}")
print(result["data"])这段代码查询最近的两根 1 分钟 K 线,主要用于验证请求、认证和响应解析流程。它不是实时最新报价示例,也不能代替对报价接口的验证。正式接入时,应按照当前 REST API 文档分别配置报价接口的请求参数,并确认返回字段与业务需求一致。
处理行情数据时,重点检查什么
接口返回数据后,不要直接把所有字段交给前端展示。至少需要处理三个问题。
行情时间与接收时间要分开。 行情时间反映数据对应的市场事件时间,接收时间反映应用何时拿到数据。记录两者,才能帮助排查接口响应、网络传输和前端更新之间的延迟。
旧数据不能覆盖新数据。 如果系统同时处理多个请求,响应到达的顺序可能与发出请求的顺序不同。更新缓存时,应根据可用的行情时间及数据标识设计校验规则,而不是简单地让最后到达的响应覆盖当前值。
不要把无更新误判为接口故障。 A 股有集合竞价、连续竞价和午间休市等交易阶段。非交易时段没有新成交,可能导致最新成交数据长时间不变。应用应结合交易日历、行情时间戳、接口状态和错误信息判断是否异常。
此外,最新报价接口支持获取最新成交价、成交量、成交额、成交时间及交易方向等数据,但它不用于查询历史逐笔 Tick 记录。如果策略研究需要完整的历史逐笔数据,应先确认对应产品和接口是否支持。
REST API 还是 WebSocket
两种方式的选择取决于行情更新需求,而不是哪一种技术更先进。
- REST API: 适合页面初始化、按需查询最新报价、加载历史 K 线,以及请求频率较低的行情面板。
- WebSocket: 适合需要持续接收行情更新的应用,可以减少重复发起 HTTP 请求的开销,但需要处理连接断开、重新订阅和数据恢复。
如果应用只展示少量股票,可以先通过 REST API 完成数据接入;当需要持续更新大量标的时,再评估 WebSocket 订阅和本地缓存。无论选择哪种方式,都应结合套餐请求限制、目标标的覆盖范围和实际更新需求进行验证。
如何选择适合的 A 股数据 API
选型时,除了价格,还应确认目标股票是否受支持、是否提供所需行情类型、历史数据覆盖范围,以及接口调用频率是否符合业务规模。
AllTick 的 股票行情 API 产品页面 介绍了 A 股、港股和美股的行情数据能力;开发者也可以查阅 REST API 文档,核对请求参数、认证方式和响应结构。
对于正在寻找 A 股实时行情 API 的开发者,建议先选取少量目标股票,验证最新报价、行情时间和异常响应,再逐步接入缓存或 WebSocket 订阅。这样既能尽早发现数据链路问题,也能避免在接口尚未验证时就投入复杂的系统开发。
需要注意,AllTick 提供的行情数据用于信息参考,不应直接视为交易或投资建议;使用前还应确认适用的数据授权及再分发限制。