股票盘口数据:1档、5档、10档、1000档,档数越多盘口越深吗?

TickDB Research ·

同一个盘口接口,苹果返回1档,寒武纪5档,腾讯10档,比特币1000档。直觉会说比特币最深、苹果最浅。可把挂单换成钱一算,比特币1000档挂的钱,还不到腾讯10档的三分之一。这篇讲清档数到底由什么决定、盘口深度该怎么比,最后给行情App三条显示规矩和一段跨市场盘口代码。

10月16日晚上11点33分,美股正在交易,港股和A股已经收盘。我用同一个盘口接口,查了四个标的:苹果、寒武纪、腾讯、比特币。

返回的档数分别是:1、5、10、1000。

如果只看档数,结论似乎很明显:比特币的盘口最深,苹果最浅。但把每一档的价格乘上数量,换成挂单金额:

image.png

比特币1000档,买卖两侧合计约2,450万美元;腾讯10档,约7,890万美元。1000档的钱,不到10档的三分之一。苹果只有1档,买一卖一合计才约4万美元,可它10月16日全天的成交额有约206亿美元。

所以,档数不是深度。档数是交易所规则和数据权限决定的;深度要看两个数:盘口覆盖了多宽的价格,这段价格里挂了多少钱。

这篇适合谁:

  • 做行情App、交易工具、看板的产品经理和开发者:盘口要显示几档、空档怎么处理、数量怎么标;
  • 拿“支持多少档”比较数据供应商的采购和技术负责人;
  • 用盘口估算滑点、做盘口因子的量化开发者。

不写代码的读者,读完前三部分就够了,第四部分可以直接转给技术同事。

一、档数是规则和权限,不是市场深度

很多人默认,五档、十档、一千档,是数据“好”和“更好”的区别。其实档数主要由两件事决定:交易所怎么发行情,你买的是哪一级数据。

A股:Level-1是五档,Level-2才是十档

上证所信息网络公司的接口说明书写得很清楚:Level-1行情快照里,买卖盘字段是“申买五价、申卖五价”;Level-2快照是“申买十价、申卖十价”,另外还有逐笔数据和买一卖一的前50笔订单。我们平时在大多数行情软件里看到的五档,就是Level-1。

港股:十档属于Level 2,更深要另买

港交所的行情产品按层级划分:Level 2及以上提供十个价位的市场深度;超过十档的汇总深度在更高一级的产品里;完整的逐笔订单只在Full Book里。

美股:公共合并行情只有最优价

美股分散在十几家交易所交易,公共合并行情(SIP)的“核心数据”,是各家交易所的最优买卖价和对应数量,也就是常说的top of book。更深的盘口,主要要从各交易所单独购买专有数据。所以很多美股行情服务只给1档,并不说明美股浅。

加密:1000档挤在很窄的价格里

比特币的最小价格变动是0.01美元,每一档之间几乎没有间隔。1000档听起来很多,其实只覆盖了中间价上下约0.3%。

image.png

推到这里,结论就清楚了:拿档数去比较数据源,比的是各家买了哪一级数据,不是在比市场;拿档数去比较不同市场,更是在比交易所规则。

那深度到底该怎么比?

二、看深度,要看两个数:覆盖多宽,挂了多少钱

档数不能比,是因为每一档的“宽度”和“厚度”都不一样。能跨市场比的,是两个数。

第一个数:可见盘口覆盖了多宽的价格

腾讯10档,买卖各覆盖中间价上下约0.43%;比特币1000档,买盘0.31%、卖盘0.25%;寒武纪5档,买盘0.35%,卖盘只有0.05%;苹果1档,只有最优价,什么范围都看不出来。

第二个数:中间价附近挂了多少钱

我用“中间价上下0.1%以内的挂单金额”来比:

标的买方(中间价下方0.1%内)卖方(中间价上方0.1%内)
腾讯7.22万股,约3,014万港元13.15万股,约5,496万港元
比特币76.19 BTC,约622万美元83.62 BTC,约683万美元
寒武纪400股,约37万元3,600股,约329万元
苹果只有1档,算不出来同左

读法:同样是中间价附近0.1%,各市场能吃到多少钱。数据为10月16日盘口快照,A股、港股为收盘后最后一份盘口。

还有一个细节,能看出“档多不等于每档有量”:比特币第2到第5档,每档只挂着约0.0001 BTC,不到10美元。这些“灰尘单”把档数撑满了,对深度几乎没有贡献。

这不是一时的巧合。我在周六上午11点29分又取了一次比特币盘口,还是1000档,覆盖范围买盘0.29%、卖盘0.24%,合计挂单约2,600万美元,和周五晚上差不多。

所以,“能不能吃下一笔单子”,要看范围和金额,而不是档数。但即使看了金额,盘口也只是一半的信息。

三、盘口是意愿,成交是事实

盘口是还挂着、等着成交的订单,随时可能撤;成交是已经发生的事实。两者不仅不是一回事,大小还可能完全对不上。

腾讯10月16日的最后一笔成交,发生在16:08:14,价格417.8,数量114.24万股。这个时间正落在港股收市竞价的随机收市窗口里,是竞价撮合出来的一笔。而收盘后能看到的10档卖盘,加起来只有76.02万股。

image.png

一笔成交比整个可见盘口还大,原因很简单:收市竞价里积累的订单,不会提前全部挂在连续竞价的盘口上。只看盘口去估算“这只股票收盘时能成交多少”,会低估好几倍。

苹果的逐笔成交是另一种情况。我取的20笔成交,全部落在同一秒(北京时间23:33:30),数量从1股到160股不等,价格大多在344.71到344.85之间;其中有一笔10股的成交价是345.534,比同一秒其他成交高出约0.23%。

对做App的人来说,这意味着三件事:

  • 成交明细和盘口分开显示,不要用成交去“修正”盘口;
  • 同一秒的多笔成交,按接口返回的顺序排,不要按价格重排;
  • 偏离当时买卖价较多的成交,可以单独标出来,不要直接拿它刷新最新价。

把前三部分落到界面上,就是下面三条规矩。

四、行情App显示盘口的三条规矩

image.png

规矩一:有几档显示几档

接口给了5档就显示5档,给了1档就显示1档。不要补0,不要复制最后一档,也不要用空行凑满十档。补出来的档位,用户和策略都会当成真实挂单来算,这就是在制造假深度。

规矩二:数量写单位,再换算成金额

A股盘口的数量通常按手计(1手为100股,按接口实测推断,接入时以文档确认),港股、美股按股,加密按币。寒武纪买一显示的“2”,是200股,不是2股。单位不写清,用户估算能成交多少时会差100倍。要跨市场比较,就统一换算成金额。

规矩三:深度用“范围 + 金额”表达,不用档数

想告诉用户盘口有多深,就显示“中间价上下0.1%内挂了多少钱”,或者“可见盘口覆盖了多宽的价格”。不要在产品介绍里写“支持1000档深度”,那只说明交易所规则和数据层级。

另外,今天是周末,打开App,A股和港股的盘口还停在周五收盘那一刻。盘口旁边要写明它属于哪个交易日、哪一刻,不要让用户以为这是现在的挂单。

这三条规矩落到各个市场,是这张表:

市场常见档数数据层级数量单位显示建议
A股5档Level-1;Level-2为10档手(推断)换算成股和金额;不补到10档
港股10档Level 2;更深需另购股显示金额;收市竞价成交单独标注
美股1档公共合并行情只有最优价股不暗示深度;成交明细单独显示
加密最多1000档交易所提供币用范围和金额表达;过滤灰尘单

读法:档数一列只说明规则,判断深度看最后一列。

怎么做

TickDB 为开发者和 AI 应用提供统一的全球行情数据接口,让团队通过一套接入获取多市场实时与历史数据,更快构建行情、分析和监控产品。

文中四个市场的盘口,是用它的同一个盘口接口、在同一时刻取到的:接口按市场返回原生档位,美股1档、港股10档、A股5档、加密最多1000档,有几档返回几档,不做补齐;外汇和指数不提供盘口。

下面这段代码不比档数,而是算每个盘口的覆盖范围和中间价上下0.1%内的挂单金额:

# 测试环境:Python 3.11 / 2026-10-17(用 10/16 四个市场的真实盘口验证)
# 用途:跨市场比较盘口深度,不比档数,比“覆盖范围”和“中间价附近挂了多少钱”
import os
from decimal import Decimal

import requests

LOT = {"SH": 100, "SZ": 100}   # A股盘口数量按手计(推断,接入时以文档确认),换算成股

def get_book(symbol):
    r = requests.get("https://api.tickdb.ai/v1/market/depth", params={"symbol": symbol},
                     headers={"X-API-Key": os.environ["TICKDB_API_KEY"]}, timeout=10)  # Key 只放服务端
    body = r.json()
    if body.get("code") != 0:
        raise RuntimeError(body.get("message"))
    return body["data"]

def depth_stats(book, width=Decimal("0.001")):
    mult = LOT.get(book["symbol"].rsplit(".", 1)[-1], 1)
    bids = [(Decimal(p), Decimal(q) * mult) for p, q in book["bids"]]   # 有几档用几档,不补齐
    asks = [(Decimal(p), Decimal(q) * mult) for p, q in book["asks"]]
    mid = (bids[0][0] + asks[0][0]) / 2
    near = lambda side, ok: sum(p * q for p, q in side if ok(p))
    return {
        "levels": (len(bids), len(asks)),
        "range_pct": (float((bids[0][0] - bids[-1][0]) / mid * 100),
                      float((asks[-1][0] - asks[0][0]) / mid * 100)),
        "notional_near_mid": (float(near(bids, lambda p: p >= mid * (1 - width))),   # 中间价下方 0.1% 内的买单金额
                              float(near(asks, lambda p: p <= mid * (1 + width)))),  # 中间价上方 0.1% 内的卖单金额
    }

if __name__ == "__main__":
    for s in ["AAPL.US", "700.HK", "688256.SH", "BTCUSDT"]:
        print(s, depth_stats(get_book(s)))

设置环境变量 TICKDB_API_KEY 后运行,Key 只放在服务端。用10月16日的四份盘口跑,腾讯中间价上方0.1%内的卖单约5,496万港元,比特币约683万美元,和第二部分的表格一致。


档数说明的是规则和权限,深度要用范围和金额来量。盘口告诉你有人愿意在哪里买卖,成交告诉你实际发生了什么,两样都要看,也都要分开看。

今天就可以打开你们App的盘口页看一眼:有没有补出来的空档,数量写没写单位,周末的盘口有没有写明是哪一天的。

参考资料

  1. 上证所信息网络有限公司,《上海证券交易所历史数据接口说明书》v1.1.2,2023年12月13日。sseinfo.com
  2. 香港交易所,Real-time Datafeeds 产品说明。hkex.com.hk
  3. Sidley Austin,《SEC Proposes Overhaul of Market Data Infrastructure》,2020年4月9日。sidley.com
  4. 数立方投研服务平台,《level1和level2数据的区别》。datacube.foundersc.com
  5. TickDB 官方文档,盘口接口说明。docs.tickdb.ai
  6. 苹果、寒武纪、腾讯、比特币的盘口与逐笔成交:TickDB 实测,2026年10月16日23:33(北京时间);比特币另于10月17日11:29复测。

相关文章

美股盘前盘后行情接入:财报季跳空时,行情App涨跌幅按谁算

美股财报季已经开始。不少公司在盘后发财报,行情在盘后、夜盘和盘前就走完了,K线第二天只留下一个缺口。同一时刻,苹果的涨跌幅可以有三个答案。这篇用真实数据拆开行情App在财报季最容易出错的6个地方,最后给一张设计清单和一段选价代码。 10月15日是台积电的财报日。当天美股开盘价415.10美元,比前一天收盘的430美元低了3.5%。 但这3.5%不是开盘那一刻跌出来的。从前一晚盘后到当天盘前,…

TickDB Research ·

港股拟延长交易:TradingView做跨市场行情App,K线为何差一天

用 TradingView 开源的 Lightweight Charts 画腾讯10月14日的日K,图上显示的是10月13日。图表库没错,数据也没错,错在喂数据的那一步。我用真实行情把同一组数据喂了两遍,挑出跨市场K线最容易画错的10个地方,文末附一段能直接复制的喂数代码。 10月9日,香港证监会透露,香港正在研究延长证券交易时段,港交所第四季度会就现货市场延时发讨论文件。再过两周多,11月…

TickDB Research ·

谷歌开放AI自建应用:让AI写跨市场行情App要过12关

让 AI 写一个跨市场行情面板只要两分半,模拟数据下一切正常;接上真实接口,第一屏全是“数据获取失败”。我用同一个 AI 写了5份行情代码:不给资料的3份,在适用的检查项里错了27处;先让它查一遍真实接口的2份,只错1处。这是一份让 AI 写行情 App 的全景指南,12道关,附提示词模板和自检脚本。 10月13日,谷歌宣布:美国18岁以上的用户,可以用 Google AI Studio 让…

TickDB Research ·

跨市场行情应用的涨跌幅:同刻黄金−0.69%还是+0.24%

做跨市场行情App,最容易被用户截图投诉的,是价格旁边那个红绿百分比。同一刻、同一个金价,涨跌可以是−0.69%,也可以是+0.24%。本文拆解涨幅榜、价格提醒、持仓页、首页详情页4个最容易出错的场景,附一张跨市场分母清单。 做跨市场行情App,最容易被用户截图投诉的,往往是价格旁边那个红绿百分比。 2026年10月13日周二,北京时间10:56,黄金4,175.15美元。同一个价格,我按5…

TickDB Research ·

A股美股港股行情看板Demo三天、上线三个月:拆解7个返工点

同一张行情表,寒武纪的成交额自己算是5,414万元,接口给的是54.20亿元,差了100倍,原因只是一个单位。行情看板三天就能接通,上线后的返工,几乎都来自界面上说不清“自己是什么”的数字。 本文依据上交所、港交所的一手文件,加上10月12日盘中对7类资产的实测,给你四样东西: 一张“价格身份证”:每个数字上线前要答的5个问题 7个返工点逐条拆:钱在哪里算错、为什么会错 一份可以直接发给数据…

TickDB Research ·