3. 限价单与市价单对比

在订单簿驱动的市场中,限价单与市价单并不是“两种下单按钮”,而是两种完全不同的成交合约:一个用价格换确定性,一个用确定性换价格。理解它们的差异,是后续建立成交概率模型与队列位置模型的前提。

一、核心原理:两种订单的成交机制

限价单(Limit Order)向市场提交一个“我愿意以此价格或更优价格成交”的声明。买单挂在买盘队列,卖单挂在卖盘队列,只有对手方主动来吃,才会成交。它进入订单簿后成为流动性的一部分,等待被匹配。

市价单(Market Order)则相反,它不指定价格,只声明“立即成交”。撮合引擎会从对手方最优价位开始逐档吃单,直到数量被完全满足。因此市价单的成交价格是“走出来的”,而不是“报出来的”。

关键区别:限价单决定价格上限/下限,成交与否不确定;市价单决定成交的确定性,最终价格不确定。

二、价格优先、时间优先原则

撮合引擎的核心排序规则是:价格优先,时间优先。价格更优的订单排在前面;价格相同时,先到达的订单排在前面。这条规则直接决定了限价单在队列中的位置,也决定了它的成交概率。

  • 价格优先:买单价高者优先成交,卖单价低者优先成交。
  • 时间优先:同价位下,先挂单者先成交,后挂单者排队等待。
  • 队列位置:同价位队列中,你的订单前面有多少手,决定了你要等多少成交量才能轮到。

因此,限价单的成交概率不仅取决于价格是否被触及,还取决于你在队列中的位置。价格被触及时,如果前面队列尚未消耗完,你的订单依然不会成交。

限价单与市价单成交路径对比 限价买单:进入队列等待 买盘队列 @ 100.00(前序 500 手) 你的限价买单 @ 100.00(200 手) 后续排队订单 @ 100.00 成交条件:价格触及 + 前序 500 手被消耗 结果:价格确定,成交不确定 市价买单:逐档吃单 卖一 100.01(300 手)→ 成交 卖二 100.03(400 手)→ 成交 卖三 100.06(500 手)→ 部分成交 成交条件:立即匹配,逐档消耗对手盘 结果:成交确定,价格不确定(滑点)

三、滑点与成交不确定性

滑点(Slippage)是市价单的固有成本。当订单数量大于最优档位挂单量时,撮合会向更差价位延伸,导致成交均价偏离预期。滑点大小取决于订单规模与订单簿深度。

预期价格:100.00
实际成交:
  卖一 100.01 × 300 手
  卖二 100.03 × 400 手
  卖三 100.06 × 500 手
市价买入 1000 手:
  成交均价 = (100.01×300 + 100.03×400 + 100.06×300) / 1000
           = (30003 + 40012 + 30018) / 1000
           = 100.033
滑点 = 100.033 - 100.00 = 0.033

限价单的不确定性则体现在“是否成交”上。即使价格被触及,若队列前方有大量同价订单,你的订单可能长时间无法成交,甚至因价格反转而永远错过。这就是成交概率问题。

对比维度 限价单 市价单
价格确定性 高,价格可控 低,存在滑点
成交确定性 低,依赖队列与行情 高,通常立即成交
队列位置影响 核心因素 无
主要成本 机会成本、逆向选择 滑点、冲击成本
适用场景 做市、挂单套利、低延迟策略 快速建仓、止损、流动性差时

四、案例与场景:同一行情下的两种结果

假设当前卖一 100.01 有 200 手,卖二 100.05 有 800 手。你计划买入 500 手。

  • 市价单:立即吃掉卖一 200 手,再吃卖二 300 手,成交均价约 100.034,滑点约 0.024,但成交确定。
  • 限价单 @ 100.01:挂在买盘,若价格未跌到 100.01 或卖一未被消耗,可能完全不成交;若成交,价格确定但可能只成交部分。
实战建议:在流动性充足、价差稳定的品种上,限价单可显著降低交易成本;在需要快速止损或行情剧烈波动时,市价单的成交确定性更重要。

五、常见误区与复盘

误区一:认为“价格到了就一定成交”。限价单成交需要对手方主动吃单,且队列前方必须被消耗。
  • 误区二:忽略队列位置,只看价格。同价位下,队列位置差 100 手,成交概率可能相差数倍。
  • 误区三:市价单只看成交价,不看冲击成本。大单在薄订单簿中滑点可能远超预期。
  • 复盘要点:记录每笔限价单的挂单时间、队列前序量、成交时间与成交比例,用于校准成交概率模型。

总结来说,限价单与市价单的选择,本质是在“价格确定性”与“成交确定性”之间做权衡。价格优先、时间优先原则决定了限价单的队列位置,而队列位置又直接决定了成交概率。理解这一链路,才能为后续的成交概率建模与队列位置建模打下坚实基础。