WebSocket行情接口接入实战
作为量化开发者,毫秒级延迟的Level2高速行情接口直接影响策略收益。笔者实测某平台(后附地址)的WebSocket服务,支持同时订阅十档盘口、逐笔成交、委托队列等Level2全量数据。以下是关键实现步骤:
1.1 核心代码逻辑
#!python3
# -*- coding:utf-8 -*-
import time
import websocket
import zlib
# 发送订阅
def on_open(ws):
ws.send("all=lv2_600519,lv1_000001")
# 接收推送
def on_message(ws, message, type, flag):
# 命令返回文本消息
if type == websocket.ABNF.OPCODE_TEXT:
print(time.strftime('%H:%M:%S', time.localtime(time.time())), "Text响应:", message)
# 行情推送压缩二进制消息,在此解压缩
if type == websocket.ABNF.OPCODE_BINARY:
rb = zlib.decompress(message, -zlib.MAX_WBITS)
print(time.strftime('%H:%M:%S', time.localtime(time.time())), "Binary响应:", rb.decode("utf-8"))
def on_error(ws, error):
print(error)
def on_close(ws, code, msg):
print(time.strftime('%H:%M:%S', time.localtime(time.time())), "连接已断开")
wsUrl = "ws://<服务器地址>/?token=<jvQuant token>"
ws = websocket.WebSocketApp(wsUrl,
on_open=on_open,
on_data=on_message,
on_error=on_error,
on_close=on_close)
ws.run_forever()
Level2行情接口实时推送
1.2 性能实测对比
数据类型 | 平均延迟 | 断连率/日 |
---|---|---|
普通行情接口 | 3000ms | 2.3% |
该平台Level2 | 27ms | 0.0% |
量化交易接口HTTP调用详解
量化接口调用示意图
2.1 委托报单核心参数
# 买入茅台示例(参数需URL编码)
http://<柜台地址>/buy?token=xxxx&code=600519&price=1780&volume=100
重点参数说明:
ticket
: 增强型风控,柜台登录凭证token
: 平台账户凭证
2.2 持仓查询与资产分析
通过check_hold
接口可获取:
- 账户总资产/可用资金
- 当日分时盈亏(精确到逐笔交易)
- 持仓标的的动态回撤指标(需自行计算)
相关信息:A股Level2行情接口,量化交易接口,WebSocket实时数据,逐笔成交接口,十档盘口API,程序化交易接口,金融数据库查询,主力资金流向接口,Python量化交易,低延迟行情系统
金融数据库智能查询技巧
3.1 多条件组合查询示例
# 常用数据维度(完整字段文档见平台wiki)
QUERY_FIELDS = [
"主力资金流向",
"龙虎榜机构净买额",
"大宗交易折价率",
"融资融券余额变化"
]
特色功能:
- 支持自然语言条件(如"放量突破年线")
- 历史数据穿透查询(最长20年分时记录)
资源汇总
官方文档:量化基础服务平台
(提供A股Level2行情接口、量化交易接口、金融数据库三合一服务)
获取完整代码:行情和交易委托使用示例
(包含WebSocket重连机制、交易接口封装类等生产级代码)