📌 摘要 / 快速解答 (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.SH、000001.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() 批量获取多个标的的五档盘口,再逐只读取五档买卖价格和数量。
这对于后面做横截面研究非常方便。
比如你可以进一步:
- 批量读取盘口;
- 计算五档买卖量;
- 计算盘口量差;
- 与实时行情结合;
- 再与 K 线指标结合;
- 最后进入策略回测。
这样一来,盘口就不再是“盯盘时看的东西”,而变成了可以进入策略的数据。
六、盘口 + K线,怎么做得更完整?
我更推荐新手不要一上来就只研究盘口。
可以采用“三层结构”。
第一层:K线趋势
QuantDash 可以获取日 K 和分钟 K,例如:
df = qd.klines.get(
"600519.SH",
period="5m",
count=100,
to_dataframe=True
)
官方文档支持 1m、5m、15m、30m、60m 等分钟周期。
第二层:实时行情
实时行情可以使用:
quote = qd.quotes.get(
symbols=["600519.SH"],
to_dataframe=True
)
print(quote)
官方 SDK 提供 last_price、prev_close、volume 等实时行情字段。
第三层:五档盘口
最后加入:
depth = qd.depth.get("600519.SH")
这样策略就拥有:
趋势 + 实时状态 + 盘口结构
三类信息。
这比单独拿某一个指标判断,要更适合做量化研究。
七、交易员避坑指南
1. 不要把“大买单”直接等同于上涨信号
盘口挂单是某一个时刻的状态。
所以看到买一很大,并不能直接推导出未来一定上涨。
量化策略真正应该研究的是:
盘口特征出现以后,历史上的价格行为到底怎么样?
这才是回测应该解决的问题。
2. 不要把盘口因子和未来数据混在一起
如果你在历史回测中使用盘口数据,必须明确数据发生的时间。
例如:
14:30 的盘口数据,只能用于 14:30 之后能够做出的决策。
不能拿收盘以后才知道的数据,反过来生成盘中信号。
3. K线复权要统一
QuantDash 的 K 线接口支持 forward、backward、forward_additive、backward_additive 和 none 等复权方式。官方说明中,比例复权适合收益率计算,差值复权更适合观察绝对价差。
做策略研究的时候,复权口径一定要提前确定。
八、常见问题解答
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,一起交流量化数据和策略研究。

