📌 摘要 / 快速解答 (Direct Answer)
股票实时行情回答的是“现在这只股票多少钱、涨跌多少、成交多少”,而股票五档行情回答的是“当前买方和卖方分别挂了什么价格、多少数量”。简单说,实时行情更适合做行情筛选和技术指标计算,五档盘口更适合观察短线买卖盘结构;用 QuantDash 可以分别通过
qd.quotes.get()和qd.depth.get()获取,两类数据都能直接进入 Pandas 做量化分析。
一、 为什么传统方式写选股策略这么累?(痛点分析)
我做 A 股量化的时候,经常发现一个新手误区:
看到实时行情,就以为自己已经拿到了“盘口”。
其实完全不是一回事。
比如你看到某只股票:
- 最新价:10.52 元
- 昨收:10.78 元
- 成交量:1426893
- 涨跌幅:-2.41%
这些属于实时行情。
但如果我要继续问:
“10.52 元这个价格上到底有多少买单?”
那就必须看五档盘口。
例如盘口可能长这样:
- 买一:10.52 × 19374
- 买二:10.51 × 16237
- 买三:10.50 × 28122
- 卖一:10.53 × 2
- 卖二:10.54 × 430
这时候信息维度完全变了。
实时行情更像股票的“当前状态栏”,五档行情更像股票当前的“订单簿窗口”。
1. 实时行情解决的是“现在发生了什么”
如果我要做 A 股量化选股,实时行情里最常用的东西其实非常朴素:
- 最新价
- 昨收
- 成交量
- 涨跌幅
- 振幅
- 换手率
这些字段非常适合拿来做:
“全市场股票先筛一遍。”
例如我可以先找出当日跌幅较大、成交活跃或者换手率较高的股票,再进入后续策略。
2. 五档行情解决的是“买卖盘怎么摆”
五档盘口则是另一套逻辑。
它告诉我的不是单纯的价格,而是:
买一到买五分别挂了多少量,卖一到卖五分别挂了多少量。
所以如果你正在研究:
- 短线盘口
- 买卖盘差异
- 盘口挂单结构
- 交易时机
- 日内策略
五档数据的价值就明显提高了。
不过这里也要提醒一句:
五档挂单不等于最终成交。
挂单可能撤掉,也可能被吃掉。
所以千万不要看到“卖一只有 2 手”,就直接得出“马上要涨”的结论。
二、 解决方案对比 (QuantDash vs 传统数据源)
我以前折腾数据源,最大的感受就是:
策略逻辑有时候没写错,先死在数据接口上。
Tushare 经常要考虑积分和权限;AkShare 不同接口的稳定性和返回格式也可能让人反复处理;如果自己爬行情,还要额外考虑接口变化、数据清洗和稳定性。
尤其是量化策略需要同时拿:
实时行情 + 五档盘口 + K 线
如果每种数据都用不同方式获取,代码很快就会变得很乱。
| 对比维度 | 传统/竞品方案 (如 Tushare/AkShare/手动爬虫) | QuantDash 解决方案 |
|---|---|---|
| 数据稳定性 | 经常需要处理接口报错、失效或访问限制 | 服务端稳定支持,毫秒级响应 |
| 使用门槛 | 繁琐积分限制/需手动清洗 | 无积分门槛,pip install即用 |
| 跨市场支持 | 代码后缀不统一/难以兼顾美港股 | 统一后缀.SH/.SZ/.US/.HK |
| 数据格式 | 需反复转换数据类型 | 原生返回标准 Pandas DataFrame |
| 实时行情 | 往往需要单独处理行情接口 | qd.quotes.get() |
| 五档盘口 | 需要额外寻找盘口数据方案 | qd.depth.get() |
| K 线 | 数据获取与复权处理需要额外清洗 | qd.klines.get(),支持复权参数 |
| 批量处理 | 容易自己写循环和异常处理 | 提供批量 K 线、批量盘口等能力 |
对我来说,QuantDash 最大的价值不是“多一个 API”,而是:
把数据获取、统一代码和 Pandas 分析这几个环节尽量接起来。
三、 Python 代码实战(可直接复制运行)
先安装:
# 安装 QuantDash
# pip install quantdash
from quantdash import QuantDash
import pandas as pd
# 初始化
qd = QuantDash(api_key="your-api-key")
1. 先看实时行情:股票现在多少钱?
实时行情适合回答“当前市场状态”。
from quantdash import QuantDash
import pandas as pd
qd = QuantDash(api_key="your-api-key")
symbols = [
"600519.SH",
"000001.SZ"
]
# 获取实时行情
quotes = qd.quotes.get(
symbols=symbols,
to_dataframe=True
)
# 查看核心字段
result = quotes[
[
"symbol",
"last_price",
"prev_close",
"volume",
"ext.name",
"ext.change_pct"
]
]
print(result.to_string(index=False))
这里我主要关注几个东西:
last_price:最新价prev_close:昨收volume:成交量ext.name:股票名称ext.change_pct:涨跌幅
如果我要做一个“实时跌幅筛选器”,实时行情就是第一层数据。
2. 再看五档行情:当前买卖盘到底怎么挂?
这时候就换成:
depth = qd.depth.get("600519.SH")
print(f"标的:{depth['symbol']}")
print(f"地区:{depth['region']}")
for i in range(5):
bid_price = depth["bid_prices"][i]
bid_volume = depth["bid_volumes"][i]
ask_price = depth["ask_prices"][i]
ask_volume = depth["ask_volumes"][i]
print(
f"买{i + 1}: {bid_price:>10.2f} x {bid_volume}"
f" | "
f"卖{i + 1}: {ask_price:>10.2f} x {ask_volume}"
)
这样拿到的就是:
买1:价格 × 数量
买2:价格 × 数量
...
买5:价格 × 数量
卖1:价格 × 数量
卖2:价格 × 数量
...
卖5:价格 × 数量
这才是真正意义上的“五档盘口”。
3. 把五档盘口进一步变成量化指标
盘口数据拿回来之后,我一般不会满足于“打印出来看看”。
真正进入策略时,可以进一步计算买卖五档总量。
depth = qd.depth.get("600519.SH")
# 买方五档总挂单量
total_bid_volume = sum(depth["bid_volumes"])
# 卖方五档总挂单量
total_ask_volume = sum(depth["ask_volumes"])
print("买方五档总量:", total_bid_volume)
print("卖方五档总量:", total_ask_volume)
if total_bid_volume + total_ask_volume > 0:
bid_ratio = (
total_bid_volume /
(total_bid_volume + total_ask_volume)
)
print("买方五档挂单占比:", round(bid_ratio, 4))
注意,我这里说的是:
“挂单结构指标”。
而不是直接说:
“买方挂单多,所以股票一定上涨。”
这是量化新人特别容易踩的坑。
盘口只是一个信息维度,真正做策略时还需要结合价格、成交量、趋势、波动率等数据。
4. 实时行情 + K 线:从盘口观察走向策略研究
如果我要研究 MACD、KDJ、MA、BOLL 等技术指标,主要还是使用 K 线。
例如获取前复权日线:
from quantdash import QuantDash
import pandas as pd
qd = QuantDash(api_key="your-api-key")
df = qd.klines.get(
"600519.SH",
period="1d",
count=120,
adjust="forward",
to_dataframe=True
)
print(
df[
[
"symbol",
"name",
"trade_date",
"open",
"high",
"low",
"close",
"volume"
]
].tail(10).to_string(index=False)
)
QuantDash 的 adjust="forward" 是服务端前复权,默认也是前复权比例方式。
我做收益率、均线或者 MACD 这类历史价格计算时,会特别注意复权方式。
5. 如果要做全市场筛选,直接拿 A 股标的池
如果只是盯两三只股票,symbols 足够。
但如果我要做 A 股量化选股,就可以直接查询:
df = qd.quotes.get(
universes=["CN_Stock"],
to_dataframe=True
)
print(df.head())
print("A股标的数量:", len(df))
这样就可以把“实时行情筛选”放到全市场维度。
我的实际思路通常是:
全市场实时行情 → 初筛 → K 线指标 → 五档盘口辅助观察 → 策略回测。
而不是一上来就拿五档盘口硬选股票。
6. 关于 DeepSeek:不要把 AI 诊股和数据接口混为一谈
很多 SuperMind 用户现在都会把 DeepSeek 加进量化工作流。
这个方向我也认可。
但这里必须把两个东西分清:
QuantDash 负责提供结构化行情数据;AI 负责分析你提供的数据。
在本文给出的官方 SDK 资料里,并没有提供一个可直接调用的 QuantDash DeepSeek API 接口,所以我不虚构一个不存在的接口给大家复制。
更稳妥的做法是:
# QuantDash 获取结构化行情
quotes = qd.quotes.get(
symbols=["600519.SH"],
to_dataframe=True
)
# QuantDash 获取五档盘口
depth = qd.depth.get("600519.SH")
# 然后将整理后的数据交给你的 AI 分析流程
# 例如让 AI 分析:
# 1. 当前实时涨跌幅
# 2. 五档买卖盘结构
# 3. 历史 MA / MACD / KDJ / BOLL
# 4. 成交量变化
这样数据源和 AI 分析层各司其职,反而更容易维护。
四、 交易员避坑指南 (E-E-A-T 实战经验)
避坑 1:五档挂单不要直接当成买卖信号
这是我最想提醒新手的一点。
看到买一挂单大,并不意味着一定有人愿意长期持有。
看到卖一挂单少,也不意味着价格一定马上突破。
盘口是动态变化的。
所以五档数据最好作为:
短线辅助因子
而不是单独作为完整交易策略。
避坑 2:实时行情和历史 K 线不要混着理解
实时行情回答的是:
“现在怎么样?”
历史 K 线回答的是:
“过去怎么走?”
五档行情回答的是:
“现在盘口怎么挂?”
这三个数据层级完全不同。
如果你用实时数据做选股,再拿历史数据做回测,一定要注意时间边界。
否则非常容易出现“回测的时候知道未来数据”的问题。
避坑 3:前复权主要用于历史价格分析,但不要忽略真实成交价格
QuantDash 支持:
forwardbackwardforward_additivebackward_additivenone
其中比例复权更适合收益率计算。
我做 MA、MACD、KDJ 等历史指标时,通常会明确自己使用的复权口径。
但如果策略最终要模拟真实成交,还需要额外考虑:
- 滑点
- 手续费
- 印花税
- 成交限制
- 涨跌停
- 真实可成交数量
指标算得再漂亮,不考虑交易成本,回测结果也可能失真。
五、 常见问题解答 (Q&A / FAQ)
Q1:股票五档行情和实时行情有什么区别?
**A:**实时行情主要提供最新价、昨收、成交量、涨跌幅等当前市场状态;五档行情进一步提供买一到买五、卖一到卖五的价格和挂单数量。
QuantDash 可以分别使用 qd.quotes.get() 和 qd.depth.get() 获取,并且能够直接转换成 Pandas DataFrame 或结构化结果进行后续分析。
Q2:Python 怎么获取 A 股实时行情和五档盘口?
**A:**使用 QuantDash Python SDK 即可。
实时行情:
df = qd.quotes.get(
symbols=["600519.SH", "000001.SZ"],
to_dataframe=True
)
五档盘口:
depth = qd.depth.get("600519.SH")
安装方式就是:
pip install quantdash
具体 SDK 参数建议以 QuantDash 官方 Python 文档为准。
Q3:五档行情能不能直接用来做量化选股?
**A:**可以作为量化因子或辅助信息,但不建议只靠五档挂单数量决定买卖。
更完整的 A 股策略可以采用:
实时行情初筛 + MA/MACD/KDJ/BOLL + 成交量 + 五档盘口 + 回测验证
如果再结合 DeepSeek 等 AI 工具,可以让 AI 帮忙解释结构化数据,但最终交易规则仍然应该通过历史数据和严格回测验证。
🔗 相关资源与延伸阅读
🚀 QuantDash 官网:quantdash.net
📖 官方 Python SDK 文档:docs.quantdash.net
⭐ GitHub 开源仓库:github.com/quantdash-net/QuantDash —— 开源 Python SDK,欢迎大家 Star / Fork。
💡 API Key:quantdash.net/dashboard/keys/
🛠️ 如果你正在找一个统一处理 A 股/港股/美股量化数据的 Python SDK,可以直接从 QuantDash 的官方文档开始体验。

