WebSocket 流基本信息
股票交易模块通过 WebSocket 推送实时行情与用户数据。所有 stream 都是单向推送(服务端 → 客户端),没有订阅 / 取消订阅 RPC——stream 名称直接编码在 URL 路径上。
基础 URL
| 环境 | Base URL |
|---|---|
| 生产 | wss://nbstream.binance.com/equity |
生产基础 URL 与其他 Binance stream 共用同一域名。下面所有示例都在这个 base 后面拼 /ws/<streamName>
或 /stream?streams=<A>/<B>/<C>。
单 Stream 订阅
在 /ws/ 后面直接拼 stream 名称即可:
Code
服务端推送的就是原始事件 payload,不带外层 wrapper:
Code
组合 Stream 订阅
在同一条连接上订阅多个 stream,用 / 分隔,拼在 /stream?streams= 后面:
Code
每条推送都会被包在一层 envelope 里,告诉你属于哪个 stream:
Code
Stream 名称规则
| Stream | 格式 | 大小写 | 示例 |
|---|---|---|---|
| 全量价格(所有 symbol) | price | 固定小写 | price |
| 报价(按 symbol) | {SYMBOL}@quote | SYMBOL 大写 | AAPL@quote |
| K 线(symbol + 周期) | {SYMBOL}@kline_{interval} | SYMBOL 大写 | AAPL@kline_5m |
| 市场阶段日历 | calendar | 固定小写 | calendar |
| 交易状态(按 symbol) | {SYMBOL}@tradingStatus | SYMBOL 大写 | AAPL@tradingStatus |
| 可交易方向(按 symbol) | {SYMBOL}@tradability | SYMBOL 大写 | AAPL@tradability |
| 订单回报(按用户) | {listenKey}@orderReport | listenKey 原样 | pqia91ma19a5s61cv6a81va65...@orderReport |
SYMBOL 一律是大写的美股 ticker(AAPL、NVDA、SPY),与模块级 Symbol Format
保持一致。
K 线周期
| 周期 | Stream 后缀 |
|---|---|
| 5 分钟 | kline_5m |
| 1 小时 | kline_1h |
| 1 日 | kline_1d |
| 1 周 | kline_1w |
| 1 月 | kline_1M |
1Min 周期不通过 WebSocket 推送。
事件类型字段
所有 payload 都带 e 字段标识事件类型,客户端按 e 分发即可:
e 值 | 文档 |
|---|---|
price | 价格流 |
quote | 报价流 |
kline | K 线流 |
calendar | 日历流 |
tradingStatus | 交易状态流 |
tradability | 可交易方向流 |
orderReport | 订单回报流 |
时间戳
所有 t / T / E / time / ts 字段均为 UTC epoch 毫秒数。
认证
| Stream 类型 | 是否需要认证 |
|---|---|
price、*@quote、*@kline_*、calendar、*@tradingStatus、*@tradability | 不需要——公开行情数据 |
{listenKey}@orderReport | 需要——通过 Listen Key 接口获取 listenKey。WebSocket URL 本身不带签名;以 listenKey 出现在 stream 名称中为鉴权依据 |
心跳与连接生命周期
服务端发送标准 WebSocket PING 帧,客户端必须回复
PONG。长时间空闲的连接可能被关闭——调用方应在收到 close 后重连并重订阅。
对于 orderReport:若底层 listenKey 过期(用户停止通过 Listen
Key 接口续期),流将停止推送。请在 listenKey 60 分钟 TTL 到期前续期。
此页面是否有帮助?
Last modified on