跳到主要内容

RPI深度

RPI深度

描述

获取RPI(零售价格优化)深度数据,rpi-books是全量深度频道,rpi-books1是1档频道,rpi-books5是5档频道,rpi-books50是50档频道;

  • rpi-books 对应全量深度数据,首次推送全量数据 snapshot,后续推送增量变化数据: update
  • rpi-books1 对应1档位深度数据,每次推送: snapshot
  • rpi-books5 对应5档位深度数据,每次推送: snapshot
  • rpi-books50 对应50档位深度数据,每次推送: snapshot
  • rpi-books1 推送频率:10ms
  • rpi-books5 推送频率:100ms
  • rpi-books50 推送频率:100ms
  • rpi-books 推送频率:100ms

checksum校验

先用深度合并后前25档bids和asks组成一个字符串(其中ask和bid中的价格、非RPI数量和RPI数量以冒号连接),再计算其crc32值(32位有符号整型)。

  • 当bid和ask深度数据超过25档时,截取各自25档数据,要校验的字符串按照bid、ask深度数据交替方式连接。如:bid1[价格:非RPI数量:RPI数量]:ask1[价格:非RPI数量:RPI数量]:bid2[价格:非RPI数量:RPI数量]:ask2[价格:非RPI数量:RPI数量]...
  • bid或ask深度数据不足25档时,直接忽略缺失的深度。如:bid1[价格:非RPI数量:RPI数量]:ask2[价格:非RPI数量:RPI数量]:ask3[价格:非RPI数量:RPI数量]:ask4[价格:非RPI数量:RPI数量]...
  • ask和bid中某一价格对应的数量需包含非RPI数量和RPI数量
  • 如果返回的价格为0.5000, 请注意使用原始值计算checksum,不要使用trim掉0后的0.5

示例:

合并后全量深度数据(在此仅展示2档数据,实际应截取25档数据):

"a": [["3366.8", "9", "1"], ["3368", "8", "2"]],
"b": [["3366.1", "7", "1"], ["3366", "6", "1"]]

校验字符串:3366.1:7:1:3366.8:9:1:3366:6:1:3368:8:2

seq机制

  • 普通orderbook 及RPI orderbook的seq为两套独立规则,均单独计算
请求示例
{
"op": "subscribe",
"args": [
{
"instType": "usdt-futures",
"topic": "rpi-books5",
"symbol": "BTCUSDT"
}
]
}

请求参数

参数名参数类型是否必须描述
opString操作
subscribe 订阅
unsubscribe 退订
argsList<Object>请求订阅的频道列表
> instTypeString产品线类型
spot 现货交易
usdt-futures USDT合约
coin-futures 币本位合约
usdc-futures USDC合约
> topicString频道名
rpi-books全部档位频道
rpi-books1一档频道
rpi-books5五档频道
rpi-books50五十档频道
> symbolString交易对名称
例如BTCUSDT
订阅返回示例
{
"event": "subscribe",
"arg": {
"instType": "usdt-futures",
"topic": "rpi-books5",
"symbol": "BTCUSDT"
}
}

返回参数

返回字段参数类型字段说明
eventString事件
argObject订阅的频道
> instTypeString产品线类型
spot 现货交易
usdt-futures USDT合约
coin-futures 币本位合约
usdc-futures USDC合约
> topicString频道名
> symbolString交易对名称
codeString错误码
msgString错误消息
推送返回示例
{
"data": [
{
"a": [
[
"3366.8",
"9",
"1"
],
[
"3367",
"0",
"1"
],
[
"3368",
"8",
"2"
]
],
"b": [
[
"3366.1",
"7",
"1"
],
[
"3366",
"6",
"1"
]
],
"checksum": 0,
"pseq": 0,
"seq": 1304314508780744705,
"ts": "1730969017964"
}
],
"arg": {
"instType": "usdt-futures",
"symbol": "BTCUSDT",
"topic": "rpi-books5"
},
"action": "snapshot",
"ts": 1730969017965
}

推送数据参数

返回字段参数类型字段说明
argObject订阅成功的频道
> instTypeString产品线类型
spot 现货交易
usdt-futures USDT合约
coin-futures 币本位合约
usdc-futures USDC合约
> topicString频道名
> symbolString交易对名称
actionString推送数据动作
snapshot全量
update 增量
tsString数据推送时间戳
dataList<Object>订阅的数据
> aList<String>卖方深度
> > a[0]String卖方价格
> > a[1]String卖方非RPI数量
> > a[2]String卖方RPI数量
> bList<String>买方深度
> > b[0]String买方价格
> > b[1]String买方非RPI数量
> > b[2]String买方RPI数量
> > checksumString校验和
用于校验数据准确性
> > seqString序列号
订单簿更新时递增,可以用来判断是否乱序
> > pseqString上次推送序列号,可以用来判断是否丢包,只有rpi-books频道有值
> > tsString撮合时间戳

您的阅读体验如何?