WEBSOCKET行情接入
分配服务器
为实现更好的用户体验,jvQuant会根据您所在的地区分配合适的服务器。
注意:
每次分配的服务器地址会发生变化,连接服务前,请务必调用该接口获取最新的服务器地址。
获取服务器:
http://jvQuant.com/query/server?market=ab&type=websocket&token=<token>
Copy
接口参数:
# | 参数名 | 类型 | 描述 |
---|---|---|---|
1 | market | string | 市场标志,沪深为ab |
2 | type | string | 接口类别,行情类别为websocket |
3 | token | string | jvQuant token |
接口返回:
# | 参数名 | 类型 | 描述 |
---|---|---|---|
1 | code | string | 请求状态码 |
2 | server | string | 分配服务器地址及端口号 |
返回示例:
{
"code": "0",
"server": "xx.xx.x.xx:xxxx/xxx"
}
Copy
CODE规范
jvQuant支持沪深主板、科创板、创业板,股票以及可转债、ETF基金行情,提供level1和level2数据推送。
订阅代码由行情标志
和证券代码
组成,用分隔符"_
"连接。
如:
lv1_600519,代表贵州茅台level1行情
lv1_512170,代表医疗ETF level1行情
lv2_127063,代表贵轮转债level2行情
# | 行情标志 | 类型 | 描述 |
---|---|---|---|
1 | lv1 | string | level1行情 |
2 | lv2 | string | level2行情 |
连接登录
使用分配的服务器地址,通过websokcet协议连接服务器。
websocket接口地址:
ws://xx.xx.x.xx:xxxx/xxx?token=<token>
Copy
订阅行情
创建websocket连接后,您可以输入以下指令进行行情订阅:
# | 指令 | 参数 | 描述 |
---|---|---|---|
1 | add | string | 增加订阅code |
2 | del | string | 删除订阅code |
3 | all | string | 覆盖全部code |
4 | list | string | 查看全部订阅code |
指令后接code参数,用分隔符"=
"连接,多个code用分隔符",
"分隔。
例:
add=lv1_600519,lv2_127063
,表示增加订阅lv1_600519,lv2_127063行情。
del=lv1_600519,lv2_127063
,表示删除订阅lv1_600519,lv2_127063行情。
all=lv1_600519
,表示覆盖全部订阅code。
all=
,后接参数为空,表示删除全部订阅code。
list
,无需参数,表示查看全部订阅code。
解析行情
为提高数据传输速率,行情推送采用二进制方式传输,请在接收端解压缩为字符串。
level1
level1行情推送数据以换行符"\n
"为分隔,每一行以lv1_xxxxxx=为开头,代表该类别code对应的行情。
lv1每笔交易数据字段以",
"为分隔符,定义如下:
推送时间,
证券名称,
最新价格,
涨幅,
成交额,
成交量,
买五档[挂单数量,挂单价格],
卖五档[挂单数量,挂单价格]
leve1推送数据包格式如下:
lv1_证券代码1=推送时间
,
证券名称,
最新价格,
涨幅,
成交额,
成交量,
买五档[挂单数量,挂单价格],
卖五档[挂单数量,挂单价格]...lv1_证券代码2=推送时间
,
证券名称,
最新价格,
涨幅,
成交额,
成交量,
买五档[挂单数量,挂单价格],
卖五档[挂单数量,挂单价格]...
level2
level2行情推送数据以换行符"\n
"为分隔,每一行以lv2_xxxxxx=为开头,代表该类别code对应的行情。
同一时刻会存在多笔交易,以"|
"为分隔符。
lv2每笔交易数据字段以",
"为分隔符,定义如下:
成交时间(毫秒),
成交编号,
成交价格,
成交数量/(股)
推送数据包格式如下:
lv2_证券代码1=成交时间1,成交编号1,成交价格1,成交数量1|成交编号2,成交时间2,成交价格2,成交数量2...
lv2_证券代码2=成交时间1,成交编号1,成交价格1,成交数量1|成交编号2,成交时间2,成交价格2,成交数量2...