当前位置: 首页 > news >正文

websocket股票行情接口

股票行情区别

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

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

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

level2行情

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

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

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

websocket行情接入代码

贴个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()

http://www.lryc.cn/news/521357.html

相关文章:

  • 朴素贝叶斯分类器
  • 智能化植物病害检测:使用深度学习与图像识别技术的应用
  • vim基本命令(vi、工作模式、普通模式、插入模式、可视模式、命令行模式、复制、粘贴、插入、删除、查找、替换)
  • Qt 自动根据编译的dll或exe 将相关dll文件复制到目标文件夹
  • 探索新能源汽车“芯”动力:AUTO TECH China 2025广州国际新能源汽车功率半导体技术展盛况空前
  • Kafka权威指南(第2版)读书笔记
  • WORD转PDF脚本文件
  • electron 打包后的 exe 文件,运行后是空白窗口
  • 数据库重连 - 方案
  • 从 PostgreSQL 中挽救损坏的表
  • 【Vue3 入门到实战】1. 创建Vue3工程
  • rtthread学习笔记系列(10/11) -- 系统定时器
  • mock服务-通过json定义接口自动实现mock服务
  • 像JSONDecodeError: Extra data: line 2 column 1 (char 134)这样的问题怎么解决
  • C#版 软件开发6大原则与23种设计模式
  • java8 springboot 集成javaFx 实现一个客户端程序
  • MySQL(高级特性篇) 06 章——索引的数据结构
  • PanWeidb-使用BenchmarkSQL对磐维数据库进行压测
  • AR 在高校实验室安全教育中的应用
  • 微信小程序实现个人中心页面
  • Spring Boot中的配置文件有哪些类型
  • Spring Boot 项目启动后自动加载系统配置的多种实现方式
  • 如何在 CentOS 中生成 CSR
  • qml XmlListModel详解
  • C++并发编程之跨应用程序与驱动程序的单生产者单消费者队列
  • PostgreSQL技术内幕22:vacuum full 和 vacuum
  • 【网络】:网络编程套接字
  • java基础概念55-不可变集合
  • 深入理解 C++ 函数重载
  • 相机和激光雷达的外参标定 - 无标定板版本