跳到主要內容

实时经纪队列推送

已订阅标的的实时经纪队列数据推送。

SDK Links

Python
longport.openapi.QuoteContext.set_on_brokers
Rust
longport::quote::QuoteContext#set_on_brokers
Go
QuoteContext.OnBrokers
Node.js
QuoteContext#setOnBrokers
信息

数据格式

Properties

NameTypeDescription
symbolstring标的代码,例如:AAPL.US
sequenceint64序列号
ask_brokersobject[]卖盘经纪队列
∟ positionint32档位
∟ broker_idsint32[]券商席位 Id
bid_brokersobject[]买盘经纪队列
∟ positionint32档位
∟ broker_idsint32[]券商席位 Id

Protobuf

message PushBrokers {
string symbol = 1;
int64 sequence = 2;
repeated Brokers ask_brokers = 3;
repeated Brokers bid_brokers = 4;
}

message Brokers {
int32 position = 1;
repeated int32 broker_ids = 2;
}

Example

# 实时经纪队列推送
#
# 订阅行情数据请检查“开发者中心” - “行情权限”是否正确
# https://open.longportapp.com/account
#
# - 港股 - BMP 基础报价,无实时行情推送,无法用 WebSocket 订阅
# - 美股 - LV1 纳斯达克最优报价 (只限 Open API)
#
# 运行前请访问“开发者中心”确保账户有正确的行情权限。
# 如没有开通行情权限,可以通过“LongPort”手机客户端,并进入“我的 - 我的行情 - 行情商城”购买开通行情权限。
from time import sleep
from longport.openapi import QuoteContext, Config, SubType, PushBrokers

def on_brokers(symbol: str, event: PushBrokers):
print(symbol, event)

config = Config.from_env()
ctx = QuoteContext(config)
ctx.set_on_brokers(on_brokers)

ctx.subscribe(["700.HK", "AAPL.US"], [SubType.Brokers], is_first_push=True)
sleep(30)

JSON Example

{
"symbol": "700.HK",
"sequence": 160808750000000,
"ask_brokers": [
{
"position": 1,
"broker_ids": [7358, 9057, 9028, 7364]
},
{
"position": 2,
"broker_ids": [6968, 3448, 3348, 1049, 4973, 6997, 3448, 5465, 6997]
}
],
"bid_brokers": [
{
"position": 1,
"broker_ids": [6996, 5465, 8026, 8304, 4978]
},
{
"position": 2,
"broker_ids": [7358, 9057, 9028, 7364]
}
]
}