WebSocket 客户端¶
实时行情订阅、全市场行情、L2 千档、交易回报推送等 WebSocket 方法。
依赖
WebSocket 功能需要安装 websockets 包:pip install "qmt-bridge[client]"
import asyncio
from qmt_bridge import QMTClient
client = QMTClient(host="192.168.1.100")
def on_tick(data):
print(data)
asyncio.run(client.subscribe_realtime(
stocks=["000001.SZ", "600519.SH"],
callback=on_tick,
))
WebSocket 实时订阅客户端方法集合。
subscribe_realtime(stocks: list[str], callback: Callable[[dict], None], period: str = 'tick')
async
¶
订阅实时行情推送。
通过 WebSocket 连接到服务端 /ws/realtime 端点,实时接收
指定股票的行情更新数据。
底层通过 xtdata.subscribe_quote() 实现实时行情订阅。
示例::
import asyncio
from qmt_bridge import QMTClient
client = QMTClient("192.168.1.100")
def on_tick(data):
print(f"收到行情: {data}")
asyncio.run(client.subscribe_realtime(
stocks=["000001.SZ", "600519.SH"],
callback=on_tick,
))
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
stocks
|
list[str]
|
订阅的股票代码列表 |
必需 |
callback
|
Callable[[dict], None]
|
收到行情数据时的回调函数,参数为行情数据字典 |
必需 |
period
|
str
|
推送周期 — |
'tick'
|
subscribe_whole_quote(codes: list[str], callback: Callable[[dict], None])
async
¶
订阅全市场行情推送。
通过 WebSocket 连接到服务端 /ws/whole_quote 端点,
接收全市场范围的行情快照数据。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
codes
|
list[str]
|
市场代码列表 |
必需 |
callback
|
Callable[[dict], None]
|
收到数据时的回调函数 |
必需 |
subscribe_trade_events(callback: Callable[[dict], None])
async
¶
订阅交易事件回调。
通过 WebSocket 连接到服务端 /ws/trade 端点,实时接收
交易事件推送,包括:
- 委托回报(on_stock_order)
- 成交回报(on_stock_trade)
- 委托错误(on_order_error)
- 撤单错误(on_cancel_error)
- 账户状态变化(on_account_status)
需要 API Key 认证。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
callback
|
Callable[[dict], None]
|
收到交易事件时的回调函数 |
必需 |
subscribe_l2_thousand(stocks: list[str], callback: Callable[[dict], None])
async
¶
订阅 L2 千档数据推送。
通过 WebSocket 连接到服务端 /ws/l2_thousand 端点,
实时接收买卖各1000档的盘口数据。
注意: 需要开通 Level-2 行情权限。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
stocks
|
list[str]
|
订阅的股票代码列表 |
必需 |
callback
|
Callable[[dict], None]
|
收到数据时的回调函数 |
必需 |