深交所历史高频行情数据结构文档 (四版/五版 v2–v3.0)

来源

深圳证券信息有限公司编写 (密级「内部公开」,管控状态「受控」)。Tab 分隔或按表存储, 格式说明见各文档首节。本次收录收到 6 份原件:

文件 体系 版本 / 生效 格式
sz_001 四版前置 2012-11 (20160509 前生效) Tab 分隔, SZL2_*.txt 单文件含全天
sz_004 四版 数据中心四版行情数据结构 v2 单文件, 20160506 前
sz_002 五版 深交所信息公司高频增强行情 (行情内部版), 无版本号/日期 单文件
sz_003 五版 v2.3, 20160509 后生效 表文件, 上午/下午 am_/pm_ 前缀
sz_005 五版 v3.0, 20220516 后生效 (新债券行情上线) 同上
sz_006 五版 v3.0, 20240104 更新 同上

sz_002 是交易所内部行情格式版,xls 标注「忽略」——它与后续 CSV 表结构文档字段一致但缺版本与 日期标注,只能靠字段特征反推适用区间 (见下)。

关键结论一:文件命名与切分方式变过两次

时期 命名 切分
20160509 前 (四版) SZL2_ORDER_YYYYMMDD.txt 单文件含全天
20160509 后 (五版) am_hq_order_spot.txt / pm_hq_order_spot.txt 上午/下午拆分, 用 MDStreamID 标识类别

四版 7 张表: STOCKINFO / STOCKSTATUS / SNAPSHOT / SNAPSHOTDW / INDEX / ORDER / TRADE, 全部大写、无 hq_ 前缀。五版改为 hq_<类型>_<品种> 小写命名,品种后缀 _spot / _option / _pledge / _bond / _agreement / _refinance / _xianquan / _jingmai,靠 MDStreamID 区分。

MDStreamID 是深市表的行情类别判别位,现货 010(快照)/011(逐笔)、质押式回购 020/021、 债券分销 030、期权 040/041、协议交易 051(意向)/052(定价)、转融通 071、指数 900。 新旧版 MDStreamID 值集相同,不是判别特征。

关键结论二:五版现货四表的字段布局从 2016 至今没动过

表 字段数 (四版 → 五版 v2.3) 内容
逐笔委托 hq_order 10 → 20 +5 个时间戳 + ChannelNo/MDStreamID/ApplSeqNum + Side/OrderType 等
逐笔成交 hq_trade 12 → 16 +BidApplSeqNum/OfferApplSeqNum/ExecType
快照 hq_snap 20 → 32 → 35 尾部新增 Vwap/xj/xk 三个回购利率字段
快照档位 snap_level 50 → 55 10 档 × (价+量) + 6 个委托队列字段

关键点:深市 snap_level 只给买一/卖一的委托队列 (NUMORDERS_B1/NOORDERS_B1/ ORDERQTY_B1,卖一对称),买二到买十只有价和量,没有逐笔队列——与沪市 BidOrders[50] 口径一致。

关键结论三:逐笔成交用两个委托索引引用委托流,这是深市方向判定的唯一依据

hq_trade 的 BidApplSeqNum / OfferApplSeqNum 直接引用 hq_order.ApplSeqNum,从 1 开始 计数,0 表示无对应委托。沪市对应字段是 BuyNo / SellNo,深市字段名完全不同但语义一致。

委托流 hq_order 里有 OrderType(1=市价、2=限价、U=本方最优) 和 Side(1=买、2=卖,G=借入、F=借出)——委托流本身没有主动/被动标志,主动方向只能 靠成交的双向委托索引比较得出。四版 SZL2_ORDER 里也是同样结构:FUNCTIONCODE 取 B/S/C 分别对应买、卖、撤单,ORDERKIND 是委托类别 (0 限价、1 全额成交或撤销、 2 即时成交剩余撤销、X 本方最优、Y 对手方最优、W 全额成交或撤销市价、V 最优五档立即成交剩余)。

关键结论四:20220516 上线新债券行情,20240104 快照加四个字段

v3.0 (sz_005 / sz_006) 相对 v2.3 (sz_003) 的变化只有两类:

  1. 新增债券类表:hq_order_xianquan (债券现券委托)、hq_trade_xianquan、 hq_order_jingmai (债券竞买)、hq_trade_jingmai、snap_bond (新债券快照)。 hq_order_xianquan 的 MDStreamID 取 413 点击委托 / 415 意向申报 / 417 大额委托, hq_order_jingmai 取 416 竞买委托,snap_bond 取 020 质押式回购 / 030 债券分销 / 410 债券现券。 竞买表额外有 SecondaryOrderID (竞买编号)、BidTransType、BidExecInstType、 LowLimitPrice/HighLimitPrice、MinQty、MarginPrice (达成成交的边际价格)。

  2. 快照加四个字段 + 价格精度:hq_snap_spot 35 → 39 字段,尾部加 xwsize/xwnum (ETF 申购数量/笔数)、xxsize/xxnum (ETF 赎回数量/笔数),均 20240104 起; 全表价格字段 N(9,3) → N(9,6) (6 位小数)。 逐笔委托 / 逐笔成交 / 快照档位字段数不变 (20/16/55)。

判断数据对应哪份文档以生效日期为准:2022-05-16 前看 v2.3 (快照 35 字段、价格 3 位), 之后看 v3.0 (快照 39 字段、价格 6 位)。

关键结论五:回购利率字段 Vwap/xj/xk 有明确起点

v2.3 快照尾部的 Vwap (成交量加权平均利率)、xj (加权平均利率涨跌)、xk (昨收盘成交量 加权平均利率) 三个字段,注释明确标 2017-05-12 之后才有。实测印证:2017-01-03 样本快照 32 列 (早于该日),2018 之后 35 列。所以深市快照字段数是 32 / 35 / 39 三档,不是两档。

字段数演进完整链: 四版 20/12/20/50 → 五版初期 32 快照 → 2017-05-12 起 35 → 2024-01-04 起 39。

关键结论六:两套交易阶段编码,位数和语义都不同

深市 TradingPhaseCode 是 C2 定长两位:

  • 第 0 位: S 启动 / O 开盘集合竞价 / T 连续竞价 / B 休市 / C 收盘集合竞价 / E 已闭市 / H 临时停牌 / A 盘后交易 / V 波动性中断
  • 第 1 位: 0 正常状态 / 1 全天停牌

沪市 Level-1 是 8 位字符串 (4 位有效),两所不能通用。深市四版快照里对应字段是 ENDOFDAYMAKER (C1),语义未在文档中定义——这是四版数据的一个坑,见 深市高频表结构演化 (SZSE Feed Schema Evolution)。

关键 takeaway

  1. 深市逐笔委托/成交的引用键是 ApplSeqNum / BidApplSeqNum / OfferApplSeqNum,与沪市 OrderNo / BuyNo / SellNo 命名不同但语义一致——跨所代码要抽象一层。
  2. 深市委托流没有主动/被动标志,方向只能靠成交的双向委托索引比较,不能靠委托流本身。
  3. 快照字段数是 32 / 35 / 39 三档 (2017-05-12 与 2024-01-04 两个分界),价格精度同步从 3 位变 6 位。
  4. 深市 snap_level 买二至买十没有逐笔委托队列,只有价和量。
  5. 五版比四版多出 MDStreamID + ApplSeqNum 组合的主键体系,做跨期拼接时要重映射到统一键。

在 wiki 中的位置

来源文件

raw/refs/sz-hfq-structure-spec/ — 6 份原件 (3 PDF / 3 DOCX) + 6 份 .extracted.md (PyMuPDF / docx XML 抽取,表格拉平成 字段 | 类型 | 主键 | 注释 文本)。