日经 225 实时行情 API 对接实战|Python 代码实现(WebSocket+HTTP)

张开发
2026/4/18 19:53:56 15 分钟阅读

分享文章

日经 225 实时行情 API 对接实战|Python 代码实现(WebSocket+HTTP)
在国际股指期货量化开发中日经 225是高频交易品种。本文基于脉动数据行情平台接口用Python实现日经 225 实时行情的两种接入方式WebSocket 实时推送、HTTP 轮询拉取并提供可直接运行的代码。一、支持品种与日经 225 实时数据平台支持日经 225、台指期、恒指、富时 A50、德指、小标普、小道指等国际股指期货实时数据。实时行情示例2026-04-17表格产品名称代码最新价涨幅涨跌卖价买价交易量更新时间日经 225ZY_NKD59065-0.46-275590755906020352026-04-17 10:16:25恒指 2604HX_HSI26151-0.76-2002615126149440872026-04-17 10:16:23富时 A50HX_CN15439-0.32-5015439154381482722026-04-17 10:16:25德指ZY_DAX24325-0.02-524326243191742026-04-17 10:16:25二、接入前置条件服务器 IP 需在平台授权建议请求头添加Accept-Encoding:gzip支持 WebSocket 推送 / HTTP 拉取两种模式三、Python 实现 WebSocket 实时订阅推荐WebSocket 低延迟、主动推送适合量化与实时看板。安装依赖bashpip install websockets asyncioPython 完整代码pythonimport asyncio import websockets import json import time # 心跳每10秒发送一次 def send_ping(): return json.dumps({ping: int(time.time())}) # 订阅日经225 def subscribe(): return json.dumps({Key: ZY_NKD,TW_TXF,HX_HSI,ZY_DAX}) async def connect_market(): uri ws://39.107.99.235/ws while True: try: async with websockets.connect(uri, ping_intervalNone) as websocket: print(WebSocket 连接成功) # 发送订阅 await websocket.send(subscribe()) last_ping_time time.time() while True: # 定时发心跳 if time.time() - last_ping_time 10: await websocket.send(send_ping()) last_ping_time time.time() # 接收数据 data await websocket.recv() if pong not in data: print(实时行情, json.loads(data)) except Exception as e: print(断开重连中..., e) await asyncio.sleep(3) if __name__ __main__: asyncio.run(connect_market())核心返回关键字段StockCode品种代码Price最新价High/Low高低价Open/Close开盘/收盘价BP1/BV1买一价 / 量SP1/SV1卖一价 / 量Diff/DiffRate涨跌额 / 涨跌幅Time更新时间四、Python 实现 HTTP API 拉取简单稳定适合低频查询、定时刷新场景。1. 获取日经 225 实时行情pythonimport requests url http://39.107.99.235:1008/getQuote.php params {code: ZY_NKD} headers {Accept-Encoding: gzip} resp requests.get(url, paramsparams, headersheaders) print(resp.json())2. 获取日经 225 K 线数据pythonurl http://39.107.99.235:1008/redis.php params { code: ZY_NKD, time: 1m, # 1m/5m/15m/30m/1h/1d/1M rows: 40 } resp requests.get(url, paramsparams, headersheaders) print(resp.json())3. 查询产品分类与代码列表python# 分类 resp requests.get(http://39.107.99.235:1008/getCategory.php) # 国际股指期货列表 resp requests.get(http://39.107.99.235:1008/getSymbolList.php?category7page1pageSize20)五、开发注意事项Python 专属WebSocket 必须做断线重连网络波动会断开部分品种盘口深度可能为空代码中做好try-except与判空六、文章说明本文为脉动数据行情平台Python 接口开发技术分享仅用于学习与项目开发参考

更多文章