7 浏览
0
<code>您好。我们用 TqSdk(3.9.1)的 1 分钟 K 线做回测,实盘用 CTP tick 自己合成 1 分钟 K 线,
需要两边口径一致。关于郑商所夜盘品种日盘第一根 K 线(09:00)的开盘价,想向官方确认规则。

一、现象

用 api.get_kline_serial(symbol, 60, data_length=10000) 取 2026-09-08 至 10-28,
统计"夜盘之后 09:00 那根的 open == 前一根(22:59)的 close"的次数:

  CZCE.MA701          28/28
  CZCE.SA701          28/28
  CZCE.OI701          26/28
  CZCE.PX611 / PX612  25/28、25/28
  CZCE.SH611 / SH612  27/28、23/28
  KQ.i@CZCE.MA / OI / PX   1/28、2/28、1/28   (指数基本不相等)
  SHFE.au2612         0/17                   (上期所对照)

对照同期 CTP 原始 tick:郑商所夜盘品种在日盘开盘前没有集合竞价成交;08:55–08:58 会推一串快照,
成交量不变、最新价 = 夜盘收盘价;第一笔成交在 09:00:00。

例 1  CZCE.MA701,2026-10-26
  08:55:00–08:58:43  快照,最新价 3389(= 10-23 夜盘收盘),累计量 1810798 不变
  09:00:00           第一笔成交 3347(累计量 1813713)
  TqSdk 09:00 那根   open = 3389,high = 3389

例 2  CZCE.MA701,2026-10-28
  08:59:00           一笔快照 3378(累计量不变,= 夜盘收盘)
  09:00:00           第一笔成交 3383
  TqSdk 09:00 那根   open = 3378,low = 3378

例 3(对照)  CZCE.SH611,2026-10-22
  这天 CTP 没有收到任何盘前快照,第一笔就是 09:00:00 成交 1770(夜盘收盘 1769)
  TqSdk 09:00 那根   open = 1770

另外两点:
  - 夜盘 21:00 那根的 open 是集合竞价成交价,20:55–20:58 的推送没有进 K 线;
  - 指数 KQ.i@CZCE.* 的 09:00 open 来自开盘成交,不受影响。

二、想确认的问题

1. 1 分钟 K 线的 open 是否就是"该周期内收到的第一笔 tick 的最新价"?
   09:00 之前(08:55–08:59)推送的、成交量没有变化的快照,是否会并入日盘第一根 K 线?
2. 郑商所夜盘品种 09:00 那根的 open 因此等于夜盘收盘价,而不是日盘任何一笔成交价。
   这是有意的口径,还是盘前快照恰好被计入了?
3. 夜盘 21:00 那根没有用 20:55–20:58 的推送,规则是什么?
   是否"当日累计成交量为 0 的 tick 不参与 K 线"?
4. 指数 KQ.i 在盘前不出 tick、09:00 的 open 来自开盘成交,这个理解对吗?
5. 历史 K 线(get_kline_serial / 数据下载)和盘中实时生成的 K 线,在这一点上是否同一口径?
   今后是否有调整计划?

我们需要按官方口径对齐实盘的合成逻辑,如能告知具体规则,非常感谢。by ai.</code>
charlie89 问的问题 3小时 前