返回列表 发布新帖

《实时交易数据延迟的终极解决方案》

5199 4
发表于 2024-3-19 17:03:43 | 显示全部楼层 阅读模式

前言

当前,部分量化交易客户反馈在使用迅投平台时遇到了全推数据行情延迟的问题,为此我们将为您揭示行情延迟背后的原因,并提供解决方案。

一、为何出现行情延迟?

目前券商qmt用户默认连接的行情站点主要为集中行情服务器,如北京(175.25.41.66:55300)和浦东(43.242.96.162:55300),这两个服务器是固定带宽服务器,当服务器用户过多时带宽占用会达到上限,导致行情推送出现延迟。这种现象通常在早盘开盘后5分钟内出现,并随着带宽压力减小,延迟现象逐渐消失。

部分用户反应在连接券商行情服务器时也出现过延迟现象,这是由于券商行情服务器通常也是固定带宽服务器,在同时在线用户过多的时候同样会出现上述情况

二、想要告别延迟,该怎么做?

为了解决这一问题,我们新增了两个行情服务器:东莞电信(218.16.123.27:55310)和绍兴电信(115.231.218.73:55310),这两个服务器为弹性带宽服务器,为用户提供更快速的行情服务,目前我们建议用户将行情中心和交易中心都切换至绍兴和东莞服务器,以解决行情延迟问题。

如果您是已购买VIP行情或迅投研产品的老客户,可直接享受VIP行情通道服务。若您是新用户,欢迎注册并享受14天VIP行情通道试用:https://dict.thinktrader.net/?id=7zqjlm

切换VIP通道操作方法,根据您的使用场景选择:

场景一:客户端切换行情站点(适用于QMT/MiniQMT)

1.点击右下角的【行情】按钮; 2.在行情源界面,点击【增加】按钮,填写VIP站点地址:东莞电信(218.16.123.27:55310)或绍兴电信(115.231.218.73:55310); 3.用户名填写注册迅投网站的手机号,密码填写注册时设置的密码; 4.确认保存后,手动切换一次以连接VIP行情站点。

场景二:代码切换行情站点(适用于token/MiniQMT)

注:如果是使用token获取数据,那么xtdc会自动连接当前延时最低的VIP站点,通常不需要手动进行指定。

from xtquant import xtdatacenter as xtdc
from xtquant import xtdata
import time

# 设定token
xtdc.set_token("你的token")
# 开启K线全推
xtdc.set_kline_mirror_enabled(True)
# 连接并启动数据服务
xtdc.init(False)
# 指定服务开启的端口,注意,一个端口只能有一个xtdc,但是可以有多个xtdata进行connect
port = 58601
# 开发指定的端口
xtdc.listen(port=port)
print(f"服务启动,开放端口:{port}")

### 如果是用xtdata连接miniqmt,上面的代码可以忽略 ###

#用token方式连接,不需要账号密码
#其他连接方式,需要账号密码
info = {"ip": "218.16.123.27", "port": 55310, "username": '', "pwd": ''}

# 行情连接
qs = xtdata.QuoteServer(info)
qs.connect()

# 阻塞进程退出,持续获取行情
while 1:
    time.sleep(3)

三、怎么排查或解决行情阻塞?

image.png

出现行情阻塞时如何解决呢?答案是选择对的行情源!

上图行情源中上、下分为两个区域,区域一是行情主站,区域二是交易中心,python 中不同的接口使用不同区域的行情服务器,具体分布如下:

接口 使用的行情源类型
ContextInfo.get_market_data_ex 行情主站
ContextInfo.subscribe_quote 行情主站
ContextInfo.subscribe_qwhole_quote 交易中心
ContextInfo.get_full_tick 交易中心
接口 使用的行情源类型
ContextInfo.get_market_data(不推荐使用) 行情主站
ContextInfo.get_history_data(不推荐使用) 行情主站

所以当遇到延迟时,根据具体接口的不同,在交易中心或行情主站选择合适的行情源就可以了。

欢迎各位交易者们立即体验VIP行情通道!!

【VIP行情服务优势】 1.更大的带宽:享受更高速的盘后数据下载速度,无数据量限制; 2.更低的延迟:提供更大的服务器带宽,早盘操作不再受延迟影响; 3.优先客户服务:我们将为VIP用户提供优先解答服务,确保您的体验优先考量。

不清楚的内容可添加下方助理微信咨询,有其他 QMT 小技巧想学习的吗?欢迎在下方留言,笔者将根据大家的留言持续更新哦!

欢迎和我一起加入迅投组建的 QMT 实战交流社群,交流群内有许多做量化交易的高手和大佬,具有良好的分享和互助氛围。且迅投官方会不定期为多次分享、乐于助人的群友申请送投研专业版的机会。

只需扫描下方的二维码,名额有限,限时加入。一起分享见解、交换信息、并共同进步,就像群友说的:“就算周末,晚上也有地方沟通交流!”

企业微信截图_17235220909173.png

(为了避免增加群主的维护压力,请勿重复加群,感谢!)

评论4

*******3362
发表于 2024-4-23 11:59:35 | 显示全部楼层
我软件里行情数据延迟是正常的,代码里获取的有延迟,有没有技术过来解决一下?
*******3362
发表于 2024-4-23 12:00:15 | 显示全部楼层
我都上截图了,我行情站的延迟是50ms,代码tick获取的数据的延迟是5-7秒,明白吗?
Anna向阳而生
发表于 2024-7-8 11:11:22 | 显示全部楼层
11111
*******2618
发表于 2025-4-24 06:03:28 | 显示全部楼层
谢谢楼主,信息非常重要

想确认一下,如果基于miniQMT的策略是用subscribe_whole_quote和get_full_tick获取实时行情的,那这部分实时数据是从交易服务器获取的,是这样吗?那么这部分数据的质量完全由交易服务器决定了?

为什么QMT的设计是从交易服务器,而不是行情服务器,获取这部分实时行情数据呢?

回复

您需要登录后才可以回帖 登录 | 立即注册

客服专线

400-080-8112

用思考的速度交易,用真诚的态度合作,我们是认真的!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2025 迅投QMT社区 版权所有 All Rights Reserved. 蜀ICP备19002686号-2
关灯 快速发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表