websocket股票行情接口

股票行情区别

交易所出来的数据,不管通过什么渠道,延时一般都不会差太远,估计一般也就几十ms的差别。

但是如果是通过http轮询,不太可能几十ms全部轮询一次。所以,做量化的话,用http协议是最次的选择。

能找到的数据提供商,对照着大智慧的行情测试,大部分挂着websocket名头的数据源,数据速度也都是http轮询级别的,只不过换成推送的方式而已。

level2行情

level1行情3秒一刷新,大部分所谓提供websocket基础行情的数据源,速度落后一般券商至少1秒,那跟轮询也差不多了。

要想策略足够灵敏,数据源速度是很重要的。至少大家用相同级别的数据,你的反应速度要排在前边,同质化策略不至于跑输大部队。

如果是level2级别的行情,大批量订阅,接收处理能力是个坎。所以我一般用level1数据做筛选,每天触发几十个票再订阅level2,还是能处理得过来的。

websocket行情接入代码

贴个python源码,其他语言可以参考官方文档 行情交易接口用户文档:

python 复制代码
#!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()
相关推荐
萌虎不虎20 小时前
【鸿蒙ETS中WebSocket使用说明】
websocket·华为·harmonyos
爬山算法1 天前
Netty(20)如何实现基于Netty的WebSocket服务器?
服务器·websocket·网络协议
zfj3211 天前
springmvc websocket 的用法
网络·websocket·网络协议·springmvc
zfj3211 天前
websocket为什么需要在tcp连接成功后先发送一个标准的http请求,然后在当前tcp连接上升级协议成websocket
websocket·tcp/ip·http
无敌最俊朗@2 天前
WebSocket与Webhook:实时通信技术对比
网络·websocket·网络协议
Rover.x2 天前
Netty基于SpringBoot实现WebSocket
spring boot·后端·websocket
1024肥宅3 天前
浏览器网络请求 API:全面解析与高级封装(1)
前端·websocket·axios
1024肥宅3 天前
浏览器网络请求 API:全面解析与高级封装(2)
前端·websocket·axios
沧澜sincerely3 天前
WebSocket 实时聊天功能
网络·websocket·vue·springboot
尼罗河女娲3 天前
【获取WebSocket】使用 Playwright 监听 Selenium 自动化测试中的 WebSocket 消息(一)
websocket·网络协议·selenium