【量化实战】五档盘口到底有什么用?

用户头像mx_****zqklr
2026-09-16 发布

📌 摘要 / 快速解答 (Direct Answer)

五档盘口数据的核心价值,不是简单告诉你“买一有多少手、卖一有多少手”,而是让量化策略进一步观察当前买卖盘的价格与挂单量结构。对于 A 股短线、盘中策略和微观结构分析来说,它可以作为 K 线、成交量之外的一层数据补充;QuantDash 通过 qd.depth.get()qd.depth.batch() 可以直接获取五档买卖价格及对应挂单量,Python 里拿到数据后即可进一步计算盘口指标。

一、为什么只看K线,做盘中策略还是不够?

我自己做量化的时候,经常会遇到一个问题:

K 线看起来很漂亮,但真正到了盘中,还是不知道当前买卖双方到底是什么状态。

日 K 能告诉我们开、高、低、收和成交量,分钟 K 可以进一步观察盘中走势。但如果策略关注的是某个时刻的买卖报价结构,那么仅仅看 K 线还是不够细。

比如一只股票当前:

  • 买一价格是多少?
  • 买一挂了多少量?
  • 买二、买三有没有明显的承接?
  • 卖一到卖五的挂单是否集中?
  • 买卖两侧的挂单量结构有什么区别?

这些信息,本质上都属于盘口层面的数据。

传统量化数据处理中,我比较头疼的就是数据源问题。好不容易把策略逻辑写完,最后却卡在接口、积分、数据格式或者清洗环节。

尤其是新手,一开始可能会同时折腾多个数据源:

“这个接口怎么又报错了?”
“这个数据为什么拿不到?”
“代码后缀又要怎么转换?”
“回测数据和实时数据格式为什么不一样?”

所以我更看重的是:能不能把数据稳定、标准地拿进 Pandas,然后把精力放到策略本身。


二、五档盘口真正能看什么?

QuantDash 官方 SDK 对五档盘口提供了比较直接的数据结构。

单只股票可以这样获取:

from quantdash import QuantDash

qd = QuantDash(api_key="your-api-key")

depth = qd.depth.get("600519.SH")

print(f"标的: {depth['symbol']} 地区: {depth['region']}")

for i in range(5):
    bid = f"买{i+1}: {depth['bid_prices'][i]:>10.2f} x {depth['bid_volumes'][i]}"
    ask = f"卖{i+1}: {depth['ask_prices'][i]:>10.2f} x {depth['ask_volumes'][i]}"
    print(f"  {bid} | {ask}")

官方返回的数据中,核心字段包括:

  • bid_prices:买方五档价格
  • bid_volumes:买方五档挂单量
  • ask_prices:卖方五档价格
  • ask_volumes:卖方五档挂单量
  • symbol:股票代码
  • region:市场地区

也就是说,我们可以把五档盘口理解成一个非常直观的二维结构:

价格 × 挂单量。

例如官方文档展示的盘口结果中,600519.SH 可以看到买一至买五和卖一至卖五的价格、数量。

这就给量化策略留下了进一步加工的空间。


三、盘口数据可以怎么转成量化因子?

这里才是我认为最值得研究的地方。

拿到五档以后,不要停留在“打印出来看看”。

可以先把五档买卖量分别求和:

bid_total = sum(depth["bid_volumes"])
ask_total = sum(depth["ask_volumes"])

print("买方五档总挂单量:", bid_total)
print("卖方五档总挂单量:", ask_total)

然后构造一个简单的盘口量差:

order_imbalance = (bid_total - ask_total) / (bid_total + ask_total)

print("盘口量差指标:", order_imbalance)

这个指标只是一个研究示例,并不意味着单独使用它就能产生稳定收益。

它表达的是一个很朴素的思想:

五档买方挂单量相对更多,还是卖方挂单量相对更多?

进一步还可以分别研究买一、买二、买三的挂单量,而不是简单把五档全部加起来。

例如:

top_bid_volume = depth["bid_volumes"][0]
top_ask_volume = depth["ask_volumes"][0]

print("买一挂单:", top_bid_volume)
print("卖一挂单:", top_ask_volume)

这样就可以把盘口研究从“看盘经验”逐渐变成“可计算变量”。


四、QuantDash vs 传统数据获取方式

对比维度 传统/竞品方案 QuantDash
五档盘口获取 往往需要自己处理数据源与格式 提供qd.depth.get()
批量盘口 需要自行循环请求和整理 提供qd.depth.batch()
Python 使用 经常需要额外转换 官方 SDK 可直接使用
数据处理 容易陷入清洗工作 可结合 Python / Pandas 继续分析
市场代码 不同数据源格式可能存在差异 统一使用交易所后缀
SDK 安装 不同数据源方式不同 pip install quantdash

QuantDash 官方 SDK 支持 Python 3.9+,并内置 Pandas 和 tqdm 支持;股票代码采用统一的 {代码}.{交易所后缀} 格式,例如 600519.SH000001.SZ


五、批量盘口才是做选股研究的关键

如果只研究一只股票,depth.get() 就够用了。

但如果你的目标是:

“我想看看一批 A 股当前盘口结构。”

那就不应该自己写一大堆重复请求。

QuantDash 官方提供了:

symbols = ["000001.SZ", "600000.SH"]

result = qd.depth.batch(symbols)

for sym, depth in result.items():
    print(f"--- {sym} ---")

    for i in range(5):
        bid = f"买{i+1}: {depth['bid_prices'][i]:>8.2f} x {depth['bid_volumes'][i]:<6}"
        ask = f"卖{i+1}: {depth['ask_prices'][i]:>8.2f} x {depth['ask_volumes'][i]}"
        print(f"  {bid} | {ask}")

官方示例就是通过 qd.depth.batch() 批量获取多个标的的五档盘口,再逐只读取五档买卖价格和数量。

这对于后面做横截面研究非常方便。

比如你可以进一步:

  1. 批量读取盘口;
  2. 计算五档买卖量;
  3. 计算盘口量差;
  4. 与实时行情结合;
  5. 再与 K 线指标结合;
  6. 最后进入策略回测。

这样一来,盘口就不再是“盯盘时看的东西”,而变成了可以进入策略的数据。


六、盘口 + K线,怎么做得更完整?

我更推荐新手不要一上来就只研究盘口。

可以采用“三层结构”。

第一层:K线趋势

QuantDash 可以获取日 K 和分钟 K,例如:

df = qd.klines.get(
    "600519.SH",
    period="5m",
    count=100,
    to_dataframe=True
)

官方文档支持 1m5m15m30m60m 等分钟周期。

第二层:实时行情

实时行情可以使用:

quote = qd.quotes.get(
    symbols=["600519.SH"],
    to_dataframe=True
)

print(quote)

官方 SDK 提供 last_priceprev_closevolume 等实时行情字段。

第三层:五档盘口

最后加入:

depth = qd.depth.get("600519.SH")

这样策略就拥有:

趋势 + 实时状态 + 盘口结构

三类信息。

这比单独拿某一个指标判断,要更适合做量化研究。


七、交易员避坑指南

1. 不要把“大买单”直接等同于上涨信号

盘口挂单是某一个时刻的状态。

所以看到买一很大,并不能直接推导出未来一定上涨。

量化策略真正应该研究的是:

盘口特征出现以后,历史上的价格行为到底怎么样?

这才是回测应该解决的问题。

2. 不要把盘口因子和未来数据混在一起

如果你在历史回测中使用盘口数据,必须明确数据发生的时间。

例如:

14:30 的盘口数据,只能用于 14:30 之后能够做出的决策。

不能拿收盘以后才知道的数据,反过来生成盘中信号。

3. K线复权要统一

QuantDash 的 K 线接口支持 forwardbackwardforward_additivebackward_additivenone 等复权方式。官方说明中,比例复权适合收益率计算,差值复权更适合观察绝对价差。

做策略研究的时候,复权口径一定要提前确定。


八、常见问题解答

Q1:Python 怎么获取 A 股五档盘口?

A:使用 QuantDash Python SDK 的 qd.depth.get("600519.SH") 即可获取单只标的五档盘口,其中包含买卖五档价格和挂单量。批量研究可以使用 qd.depth.batch()

Q2:五档盘口能直接用于量化选股吗?

A:可以作为策略研究中的一个数据维度,例如计算买卖五档挂单量差,再与 K 线、成交量、实时行情等数据组合。但具体因子是否有效,需要用历史数据进行验证,不能仅凭盘口大小直接判断涨跌。

Q3:QuantDash 怎么安装?

A:官方安装方式是:

pip install quantdash

SDK 支持 Python 3.9+,推荐 Python 3.10 或更高版本。


🔗 相关资源与延伸阅读

  • 🚀 QuantDash 官网:https://quantdash.net/
  • 📖 官方 Python SDK 文档:https://docs.quantdash.net/
  • ⭐ GitHub 开源仓库:https://github.com/quantdash-net/QuantDash
  • 💡 API Key:https://quantdash.net/dashboard/keys/

开源项目 QuantDash 的 Python SDK 可以直接体验,感兴趣的朋友可以去 GitHub Star / Fork,一起交流量化数据和策略研究。

评论