Skip to main content

Push Real-time Depth

Real-time depth data push of the subscribed security.

SDK Links

Python
longport.openapi.QuoteContext.set_on_depth
Rust
longport::quote::QuoteContext#set_on_depth
Go
QuoteContext.OnDepth
Node.js
QuoteContext#setOnDepth

Data Format

Properties

NameTypeDescription
symbolstringSecurity code, for example: AAPL.US
sequenceint64Sequence number
askobject[]Ask depth
∟ positionint32Position
∟ pricestringPrice
∟ volumeint64Volume
∟ order_numint64Number of orders
bidobject[]Bid depth
∟ positionint32Position
∟ pricestringPrice
∟ volumeint64Volume
∟ order_numint64Number of orders

Protobuf

message PushDepth {
string symbol = 1;
int64 sequence = 2;
repeated Depth ask = 3;
repeated Depth bid = 4;
}

message Depth {
int32 position = 1;
string price = 2;
int64 volume = 3;
int64 order_num = 4;
}

Example

# Push Real-time Depth
# https://open.longportapp.com/docs/quote/push/push-depth
# To subscribe quotes data, please check whether "Developers" - "Quote authority" is correct.
# https://open.longportapp.com/account
#
# - HK Market - BMP basic quotation is unable to subscribe with WebSocket as it has no real-time quote push.
# - US Market - LV1 Nasdaq Basic (Only Open API).
#
# Before running, please visit the "Developers" to ensure that the account has the correct quotes authority.
# If you do not have the quotes authority, you can enter "Me - My Quotes - Store" to purchase the authority through the "LongPort" mobile app.
from time import sleep
from longport.openapi import QuoteContext, Config, SubType, PushDepth

def on_depth(symbol: str, event: PushDepth):
print(symbol, event)

config = Config.from_env()
ctx = QuoteContext(config)
ctx.set_on_depth(on_depth)

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

JSON Example

{
"symbol": "700.HK",
"sequence": 160808750000000,
"ask": [
{
"position": 1,
"price": "335.000",
"volume": 500,
"order_num": 1
},
{
"position": 2,
"price": "335.200",
"volume": 400,
"order_num": 1
},
{
"position": 3,
"price": "335.400",
"volume": 500,
"order_num": 2
},
{
"position": 4,
"price": "335.600",
"volume": 1200,
"order_num": 3
},
{
"position": 5,
"price": "335.800",
"volume": 14000,
"order_num": 8
}
],
"bid": [
{
"position": 1,
"price": "334.800",
"volume": 69400,
"order_num": 13
},
{
"position": 2,
"price": "334.600",
"volume": 266600,
"order_num": 27
},
{
"position": 3,
"price": "334.400",
"volume": 61300,
"order_num": 29
},
{
"position": 4,
"price": "334.200",
"volume": 125900,
"order_num": 31
},
{
"position": 5,
"price": "334.000",
"volume": 194600,
"order_num": 94
}
]
}