沪深市场的价格撮合规则

市场交易类型

集合竞价(开盘/收盘/临时停牌)

时间段:

上交所、深交所开盘前:9:15–9:25

成交在 9:25–9:30 集中确定开盘价

特点:

所有买卖委托先集中,不立即成交

计算出一个开盘价(集合竞价撮合价),使成交量最大

开盘价规则:

成交量最大

若多个价格成交量相同,则选择靠近前一日收盘价的价格

若仍有多个价,取最低卖价或最高买价作为开盘价

连续竞价(盘中交易)

时间段:

上午:9:30–11:30

下午:13:00–15:00

特点:

委托单按价格优先、时间优先撮合成交

限价单和市价单都可参与撮合

市价单立即按市场最优对手方成交

限价单挂入订单簿等待成交

委托单类型

限价单(Limit Order)

买单:只以指定价格成交

卖单:只以指定价格成交

挂入订单簿,等待匹配

遵循 价格优先 → 时间优先

高买优先、低卖优先

同价格按先到先撮合

市价单(Market Order)

不指定价格,按市场最优价格立即成交

买盘市价单吃卖盘最优档(卖1→卖2→…)

卖盘市价单吃买盘最优档(买1→买2→…)

市价单不会挂在订单簿中

价格优先与时间优先规则

价格优先:

买单按价格从高到低优先撮合

卖单按价格从低到高优先撮合

时间优先:

同价格档位的订单,先提交的先成交

注意:上交所可能出现先成交后新增剩余委托的情况

部分成交后剩余量作为新增委托下发

在重建订单簿或校验数据时需要处理这种特殊时序

成交规则

撮合原则:

以订单簿现有对手方最优档位价格撮合

市价单立即成交

限价单满足对手方价格才成交

部分成交:

如果买卖双方数量不匹配,可能部分成交

剩余部分:

限价单继续挂在簿上

市价单按剩余量继续吃对手方

成交量限制:

最大成交量受订单数量限制

按价格档位逐档撮合

阶段 委托类型 优先级规则 成交方式
集合竞价 限价单 最大成交量优先,靠近前收盘价 集中撮合,生成开盘价
连续竞价 限价单 价格优先 → 时间优先 对手方最优价撮合,可能部分成交
连续竞价 市价单 不挂簿 立即按最优对手方成交
部分成交 限价单/市价单 同上 剩余量挂簿或继续撮合

注意事项

  1. 集合竞价成交时间:可能在9:25产生成交(计算开盘价)
  2. 市价单不挂簿:会直接影响订单簿的数量变化
  3. 价格优先 & 时间优先:是撮合的核心原则
  4. 特殊时序:上交所可能出现T早于A(先成交后新增剩余委托)

在重建订单簿或数据校验时需考虑

足迹图

足迹图

images

为什么在足迹图或微观盘口分析中,我们通常把某个价格的买盘Bid和斜上方的Ask比较,而不是只看同一价格的Ask?

Bid与同价位Ask的关系

在绝大多数市场,买盘Bid和卖盘Ask在同一个价格档位上是互斥的:

买1、买2…都是挂在价格低于当前卖1的档位

卖1、卖2…都是挂在价格高于当前买1的档位

换句话说,同一个价格上的买盘和卖盘几乎不存在交集(除了少数盘口显示的重叠情况,但实际成交不会在同价单内产生“自成交”)

因此,直接对比同价位的BidAsk没有意义,因为该档位的买盘无法吃掉同价位的卖盘(在系统规则下,买盘只能与更高价卖盘成交)。

斜上方Ask的含义

所谓“斜上方的 Ask”,就是高于当前 Bid 所在价格的上方卖盘档位,通常是:

卖1、卖2、卖3…(价格依次升高)

这些才是当前买盘可能成交的潜在卖单:

买盘在当前价格只能对上方卖盘进行撮合

上方卖盘的累积量决定了买盘突破的难度

例子:

当前关注 Bid = 7.00 元

上方卖盘(卖1=7.01, 卖2=7.02, 卖3=7.03)总量 = 50,000 股

买盘总量 = 20,000 股

买盘不足以吃掉上方累积卖单 → 价格可能难以突破 → 阻力明显

这就是为什么需要对比斜向上 Ask,而不是同价 Ask。

微观交易逻辑1

价格撮合规则:

市场成交遵循 价格优先、时间优先

买盘只能以 ≥ 卖盘价格成交

买1在7.00元不会吃掉卖1在7.00元的卖单(因为卖盘通常比买盘高一个tick)

压力与支撑分析:

斜上方累积卖盘 → 阻力

斜下方累积买盘 → 支撑

同价盘对比不反映突破压力,只能看成交可能性

足迹图可视化:

Bid的颜色/数量 → 当前买方力量

斜上方Ask → 上方卖盘压力

对比后可以直观判断某价格档位买盘是否强大到足以突破阻力

微观交易逻辑2

首先你需要花几块钱开个level-2

然后你就能看到5档以外的委托和即时委托,前面这个我们叫被动单,后面这个我们叫主动单,理解意思就行。

然后就是小学数学了。

比如某股票现价43.11,10.6万卖单,均价44.13。3.5万买单,均价42.70。说明什么?

虽然卖单远多于买单,但是卖单均价高于现价更多。买卖基本平衡。当然还可以进一步精准计算,这不重要。从形态上,如果后续主动单保持基本平衡,股价就是向上震荡的,原因是当前价格附近买单多,但是价格上去之后卖单会多于买单。

有平衡的,就有不平衡的。甚至更多的不平衡是人为的。

从长期资金和大资金的角度看,被动单是必要

虽然卖单远多于买单,但是卖单均价高于现价单,买卖基本平衡。当然还可以进一步计算,这不重要。从形态上,如果后续主动单保持基本平衡,股价就是向上震荡的,原因是当前价格附近买单多,但是价格上去之后卖单会多于买单。

有平衡的,就有不平衡的。甚至更多的不平衡是人为的。

从长期资金和大资金的角度看,被动单是必要的。但是对于不会看level-2甚至只有level-1的散户,盘面上就是追涨。在卖单优势的局面,追进去长期是负期望的,也就是亏损。而且这里还没有考虑交易成本。挂被动单并不只是为了省那个滑点,主要考虑的是订单簿的结构问题。你分30批挂33上下浮动,千手其实盘面影响不大的。但是你直接对手最优买1000手是个人都看见了,甚至你可能直接把价格买上去了,这就不太好办了。

甚至我现在对十几块的股,几十手都要拆一下,因为在量化中性的整体背景下,几十手已经有点突兀了。