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()
相关推荐
歪歪10012 小时前
Http与WebSocket网络通信协议的对比
网络·websocket·网络协议·计算机网络·http·网络安全·信息与通信
tuuuuuun14 小时前
Stomp 订阅模块化
websocket·vite
老坛程序员2 天前
FastAPI WebSocket 由浅入深的开发范例
websocket·网络协议·fastapi
weixin_436525073 天前
芋道源码 - RabbitMQ + WebSocket 实现分布式消息推送
分布式·websocket·rabbitmq
小样还想跑3 天前
UniApp ConnectSocket连接websocket
websocket·elasticsearch·uni-app
FreeBuf_3 天前
Zloader木马再次升级:通过DNS隧道和WebSocket C2实现更隐蔽的攻击
websocket·网络协议·php
太阳伞下的阿呆3 天前
Http与WebSocket
websocket·网络协议·http
luckys.one3 天前
第12篇|[特殊字符] Freqtrade 交易所接入全解:API、WebSocket、限频配置详解
网络·ide·python·websocket·网络协议·flask·流量运营
信码由缰4 天前
Spring Boot WebSocket:使用 Java 构建多频道聊天系统
websocket