上交所实时行情接口规范 IS122 / LDDS 竞价与债券 Level-2 (实时接口, 非历史 CSV)

来源

上交所行情网关与低延时行情发布系统 (LDDS) 的实时行情接口规范, 与 历史数据接口说明书 是两套并行文档:

文档 通道 本次收到的版本
IS120/IS122 行情网关 STEP 数据接口规范 网关 (STEP 文本协议) v0.612, 2026-01-21, 45 页
LDDS 系统竞价 Level-2 行情接口说明书 LDDS v2.0.10, 2024-07-01, 24 页
LDDS 系统债券 Level-2 行情接口说明书 LDDS v1.0.1, 2022-05-09, 14 页

最重要的一条: 交易所承认委托号会缺

IS122 v0.61 (2025-11-17) 修订记录原文:

1、2.5.4.2 逐笔成交行情扩展字段中无对应买卖订单编号时调整为填空。

对应字段定义 (第 2.5.4.2 节):

Tag 域名 说明 类型
10116 BidApplSeqNum 买方订单编号 (QuoteID), 无对应委托时填空 C18
10117 OfferApplSeqNum 卖方订单编号 (QuoteID), 无对应委托时填空 C18

这直接解释了供应商样例包实测到的现象 (600519 @ 20150105: 成交引用的委托号 85.8% 不在委托流中, 缺失严格单侧) —— 缺一侧委托号是交易所设计允许的正常情况, 不是数据商采集缺陷。 详见 沪市逐笔委托引用缺失的交易所确认 (SSE Missing Order Reference)。

「调整为填空」还意味着 0.61 之前用的是别的表示 (可能是数字 0), 2025-11-17 是解析器必须 兼容两种无委托表示的分界。

IS122 逐笔行情结构

逐笔委托与逐笔成交在同一个数据流里按发生顺序发送, 同一频道内共用连续的 ApplSeqNum (从 1 计数), VSS (行情接收方) 通过逐笔序号连续性判断丢包并发起重传。

标准消息头字段: MsgType=UB001 / SecurityType (证券类型) / ChannelNO (N4) / ApplSeqNum (N18) / MDStreamID (C5) / SecurityID (C8) / TransactTime (委托时间或成交的行情生成时间, HHMMSSsss, N9) / ExecType / Price / OrderQty。

ExecType 取值: 逐笔委托 0 = 新增委托订单 / 4 = 删除委托订单; 逐笔成交 F = 成交。 沪市实时接口用数字 0/4, 历史 CSV 接口的 StockTick 用字母 A/D —— 两套编码不同。

逐笔委托扩展字段 (2.5.4.1): Side (1 买 / 2 卖) / QuoteID (订单编号, 删除委托时表示 被删除委托的编号) / MemberID (报价方交易参与人机构代码) / TraderCode / BasketID (Tag 10194, 0.60 版把标签从 10194 改过)。匿名报价时 MemberID 与 TraderCode 填空。

逐笔成交扩展字段 (2.5.4.2): BidApplSeqNum / OfferApplSeqNum (上述「无对应委托时填空」) / TotalValueTraded 成交金额 N17(2) / TradeMethod 成交方式 (N2) / MarginPrice 边际价格 (仅竞买多主体成交)。

注意 TotalValueTraded 是 2 位小数, 而历史数据接口书里 2023-06-01 之后是 3 位小数 —— 实时接口与历史文件是两套精度口径。

债券 TradeMethod 十个枚举值

0 匹配成交 (预留) / 1 确定报价点击成交 / 2 待定报价点击成交 / 3 询价成交 / 6 协商成交 (含合并申报) / 7 竞买单一主体成交 / 10 竞买多主体单一价格成交 / 11 竞买多主体多重价格成交。

这是债券的成交方式, 不是股票主动方标志 —— 与深市文档里债券表的 hq_trade_xianquan / hq_trade_jingmai (MDStreamID 412–417) 是两套独立体系。

LDDS 竞价 Level-2 接口书的版本沿革要点

从 v2.0.10 变动说明表能读出一条与历史 CSV 接口书平行的时间线:

版本 日期 变更
2.0.0 2018-10-30 取消虚拟集合竞价消息 UA3107 (改由快照 UA3202 发送, 机制同收盘集合竞价); 快照发布时间从 9:25 提前到 8:45
2.0.1 2018-12-07 债券回购产品闭市时间延长至 15:30
2.0.2 2019-06-05 增加盘后固定价格交易行情 UA3108 + 逐笔成交 UA3209
2.0.4 2021-04-21 逐笔成交新增 BizIndex (Tag10021) (逐笔委托与逐笔成交合并后的连续编号); 增加逐笔委托消息 UA5801
2.0.5 2021-09-24 债券行情从竞价行情接口剥离

BizIndex 与历史 CSV 里 Tick.BizIndex 是同一个概念 —— 「委托与成交合并后的连续编号」 这个设计从 2021-04 一直活到今天的 StockTick.csv。

LDDS 债券 Level-2 是独立分册

v1.0.1 (2022-05-09), 14 页, 作者是市场数据部 (竞价分册作者是行情业务部)。 对应 LDDS 竞价 2.0.5 把债券剥离出去的决定。

对 wiki 的增量价值

  1. IS122 给出了「委托号会缺」的官方定义, 把供应商样本的观测从「数据质量问题」升级为 「交易所披露设计」—— 见 沪市逐笔委托引用缺失的交易所确认 (SSE Missing Order Reference)。
  2. 2025-11-17 是沪市逐笔「无委托」表示的分界 (数字 0 → 空字符串)。
  3. 实时接口与历史 CSV 是两套编码: ExecType 0/4 vs Type A/D; 成交金额 2 位 vs 3 位。
  4. 沪市集合竞价快照 8:45 就开始发 (2018-10 起), 做开盘前集合竞价分析时注意。

在 wiki 中的位置

来源文件

raw/refs/sse-market-interface-spec/ — 3 份 PDF 原件 + 3 份 .extracted.md (PyMuPDF 全文抽取; 这些是 STEP 文本协议规范, 无公式)。