You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决纳斯达克Python SDK客户端在开市/闭市时段的市场数据延迟问题?

如何解决纳斯达克Python SDK客户端在开市/闭市时段的市场数据延迟问题?

我正在使用纳斯达克Python SDK客户端获取NLSUTP主题的市场数据,通过NCDSClient拉取数据并做实时处理,再通过WebSocket转发收到的数据。正常交易时段,WebSocket每秒能收到多条响应,符合预期,但在开市和闭市时段,消息接收会出现严重延迟,有时超过15秒,甚至长达数分钟,这对我的实时应用造成了很大困扰。

代码片段

以下是相关代码部分:

def init_nasdaq_kafka_connection(topic):  
    security_cfg = {  
        "oauth.token.endpoint.uri": os.getenv("NASDAQ_KAFKA_ENDPOINT"),  
        "oauth.client.id": os.getenv("NASDAQ_KAFKA_CLIENT_ID"),  
        "oauth.client.secret": os.getenv("NASDAQ_KAFKA_CLIENT_SECRET"),  
    }  
    kafka_cfg = {  
        "bootstrap.servers": os.getenv("NASDAQ_KAFKA_BOOTSTRAP_URL"),  
        "auto.offset.reset": "latest",  
        "socket.keepalive.enable": True,  
    }  

    ncds_client = NCDSClient(security_cfg, kafka_cfg)  
    consumer = ncds_client.ncds_kafka_consumer(topic)  
    logger.info(f"Success to connect NASDAQ Kafka server for topic {topic}.")  
    return consumer  

# Usage  
consumer = init_nasdaq_kafka_connection("NLSUTP")  

while True:  
    messages = consumer.consume(num_messages=1000000, timeout=0.25)  
    if messages:  
        response = makeRespFromKafkaMessages(messages)  
        # Sending response via WebSocket  

我写了一个脚本连接WebSocket并以{current_datetime}_{number_of_messages}.json格式保存数据:

正常交易时段的数据接收情况(每秒多条记录):

Data saved to ./websocket_data/2024-12-31_15-52-00-256_13.json
Data saved to ./websocket_data/2024-12-31_15-52-00-754_12.json
Data saved to ./websocket_data/2024-12-31_15-52-01-458_45.json
Data saved to ./websocket_data/2024-12-31_15-52-01-956_26.json
Data saved to ./websocket_data/2024-12-31_15-52-02-556_48.json
Data saved to ./websocket_data/2024-12-31_15-52-03-310_45.json

闭市时段的数据接收情况(延迟明显):

Data saved to ./websocket_data/2024-12-31_15-54-48-756_405.json
Data saved to ./websocket_data/2024-12-31_15-54-56-198_500.json
Data saved to ./websocket_data/2024-12-31_15-55-05-019_1033.json
Data saved to ./websocket_data/2024-12-31_15-55-21-788_2057.json
Data saved to ./websocket_data/2024-12-31_15-55-42-214_1318.json
Data saved to ./websocket_data/2024-12-31_15-56-00-091_1324.json
Data saved to ./websocket_data/2024-12-31_15-56-15-703_1200.json
Data saved to ./websocket_data/2024-12-31_15-56-32-602_1120.json
Data saved to ./websocket_data/2024-12-31_15-56-46-802_1149.json
Data saved to ./websocket_data/2024-12-31_15-57-00-099_940.json
Data saved to ./websocket_data/2024-12-31_15-57-13-380_875.json
Data saved to ./websocket_data/2024-12-31_15-57-24-969_936.json
Data saved to ./websocket_data/2024-12-31_15-57-36-150_789.json
Data saved to ./websocket_data/2024-12-31_15-57-49-312_1202.json
Data saved to ./websocket_data/2024-12-31_15-58-03-939_1068.json
Data saved to ./websocket_data/2024-12-31_15-58-22-238_1290.json
Data saved to ./websocket_data/2024-12-31_15-58-43-967_1553.json
Data saved to ./websocket_data/2024-12-31_15-59-12-348_1734.json
Data saved to ./websocket_data/2024-12-31_15-59-42-903_2091.json
Data saved to ./websocket_data/2024-12-31_16-00-11-254_2853.json
Data saved to ./websocket_data/2024-12-31_16-01-17-148_5911.json
Data saved to ./websocket_data/2024-12-31_16-01-49-192_2566.json
Data saved to ./websocket_data/2024-12-31_16-02-05-338_5035.json
Data saved to ./websocket_data/2024-12-31_16-02-27-056_2343.json
Data saved to ./websocket_data/2024-12-31_16-02-39-615_36.json

其中,2024-12-31_16-02-27-056_2343.json文件里最后一条消息的时间戳是2024-12-31 16:00:01.072991,意味着我们过了2分26秒才收到这条数据。

观察结果

  • 正常交易时段:WebSocket每秒能收到多条响应,符合预期
  • 开市/闭市时段:
    • 数据流延迟严重,延迟范围从15秒到数分钟不等
    • WebSocket响应也会同步出现延迟

预期行为

数据即使在开市/闭市这种高活动时段也应该保持极低延迟,WebSocket每秒能收到多条响应,和正常时段表现一致。

疑问

  1. 纳斯达克Python SDK客户端在开市/闭市时段出现这种延迟是预期行为吗?
  2. 有没有配置选项或优化手段可以减少这类延迟?
  3. 这个问题会不会和服务器端限流、Kafka设置或网络延迟有关?

环境信息

  • 纳斯达克Python SDK版本:最新版
  • Python版本:3.10.6
  • 操作系统:Windows 10

备注:内容来源于stack exchange,提问作者abdulsaboor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 03:20:05