订单簿基础:订单簿的概念、限价单与市价单、买卖盘口与价差

做高频交易,你每天面对的最核心的东西是什么?

不是K线,不是MACD,也不是什么神奇指标。

是订单簿。

说白了,订单簿就是交易所的「实时账本」。它记录着所有交易者挂出来的买单和卖单。我刚开始接触这个领域时,觉得这东西不就是个买卖列表吗?后来被市场狠狠教育了几次,才明白——订单簿里的每一层深度,都是真金白银的博弈。

订单簿到底是什么?

想象一下,你去菜市场买苹果。

有人喊:「3块钱一斤,我要买100斤!」

有人喊:「3.5块钱一斤,我要卖50斤!」

交易所就把这些喊话全部记下来,按价格排好队。买单从高到低排,卖单从低到高排。这就是订单簿。

在电子交易系统中,订单簿的数据结构大概长这样:

// 简化版订单簿结构
struct OrderBook {
    // 买单:价格从高到低排序
    vector<Level> bids;
    // 卖单:价格从低到高排序
    vector<Level> asks;
};

struct Level {
    double price;    // 价格
    double volume;   // 数量
    int orderCount;  // 挂单笔数
};

嗯,这里要注意——真正的生产环境里,订单簿的数据结构远比这个复杂。我见过用跳表实现的,也见过用红黑树实现的。但核心逻辑不变:价格优先,时间优先

核心要点:订单簿不是静态的。每一毫秒都在变化。高频交易的核心,就是比别人更快地读懂这些变化。

限价单 vs 市价单

这两种订单类型,是交易系统的基础操作。我当年带新人时,发现很多人搞混它们的本质区别。

限价单(Limit Order)

你告诉交易所:「我只愿意用这个价格买/卖,高了我不买,低了我不卖。」

限价单会进入订单簿,等待成交。它提供了市场的流动性。

举个例子:

// 挂一个限价买单
LimitOrder buyOrder;
buyOrder.side = BUY;
buyOrder.price = 100.50;  // 我只愿意出100.50
buyOrder.quantity = 1000; // 买1000股
buyOrder.type = LIMIT;

限价单的好处是——你能控制成交价格。坏处是——可能永远成交不了。

我在做期权做市商时,经常同时挂几百个限价单。说白了,就是在赌市场会走到我的价格。有一次,一个限价单挂了整整三天才成交,差点把我仓位憋死。

市价单(Market Order)

你告诉交易所:「不管什么价格,我现在就要成交!」

市价单不会进入订单簿。它会直接吃掉订单簿里最优的对手单。

// 下一个市价买单
MarketOrder buyOrder;
buyOrder.side = BUY;
buyOrder.quantity = 500; // 立即买入500股
buyOrder.type = MARKET;

市价单的优点是——成交速度快。缺点是——你可能会付出很高的成本。

避坑指南:我曾经在流动性不足的品种上用了市价单,结果成交价格比预期差了整整两个档位。那一单亏了不少。记住:市价单只适合流动性好的品种

买卖盘口与价差

盘口,就是订单簿里最前面的几档价格。

买一(Best Bid):最高的买入价格
卖一(Best Ask):最低的卖出价格

价差(Spread) = 卖一价格 - 买一价格

你想想看,价差意味着什么?

它就是你来回交易的成本。价差越小,流动性越好。价差越大,说明市场越不活跃,或者波动剧烈。

盘口位置 价格 数量 累计数量
卖三 100.52 2000 5000
卖二 100.51 1500 3000
卖一 100.50 1500 1500
买一 100.48 1000 1000
买二 100.47 2000 3000
买三 100.46 1800 4800

这个例子里,价差是 100.50 - 100.48 = 0.02。如果你用市价单买入,你会以100.50成交。如果你用市价单卖出,你会以100.48成交。一进一出,0.02的价差就是你的成本。

实战技巧:我习惯监控价差的实时变化。当价差突然扩大时,往往意味着有大单在砸盘或者拉盘。这时候我会暂停策略,等市场稳定再说。

订单簿的深度与形态

只看买一卖一是不够的。真正的交易者会看整个订单簿的深度分布。

比如:

  • 厚买盘:买单深度很大,说明下方有支撑
  • 薄卖盘:卖单很少,价格容易往上突破
  • 尖峰形态:某一档价格突然堆了大量订单,可能是人为挂单

我记得有一次,某个股票在100元位置挂了整整10万手的买单。所有人都觉得这是铁底。结果主力一个假突破,把买单全部吃掉,然后反手做空。那波行情,我因为太相信订单簿的「假象」,亏了不少。

所以,订单簿的数据要信,但不能全信。

订单簿的核心逻辑图

下面这张图,是我自己总结的订单簿运作逻辑。每次带新人,我都会先让他们看这张图:

订单簿核心运作逻辑 订单进入交易所 市价单? 立即与对手单 匹配成交 进入订单簿排队 订单簿状态 买单队列(价格高→低) 卖单队列(价格低→高) 实时行情推送 (盘口/深度) 市价单消耗流动性 · 限价单提供流动性

这张图的核心逻辑很简单:市价单是「饿狼」,进来就吃;限价单是「农夫」,慢慢挂单等成交。高频交易策略,本质上就是在管理这两者的平衡。

实战中的订单簿观察

我个人习惯,在交易前会先看三样东西:

  1. 价差是否稳定——如果价差忽大忽小,说明市场情绪不稳定
  2. 买卖盘是否均衡——如果买盘明显厚于卖盘,短期偏多
  3. 是否有大单挂单——大单往往是机构的「路标」

举个例子,有一次我发现某只股票的买一位置突然出现了一个超级大单,但价格没动。我立刻意识到——这是有人在「托底」。于是我跟着挂了一个限价单,等市场往上走的时候,顺利吃了一口肉。

当然,也有翻车的时候。有一次我看到卖盘很薄,以为要涨,结果主力直接砸下来,把买盘全部打穿。嗯,这就是市场——你永远无法100%确定。

总结一句话:订单簿是市场的「心电图」。读懂了它,你就读懂了短期资金的流向。但记住——心电图也会骗人,尤其是当有人故意制造假象的时候。


公众号:蓝海资料掘金营,微信deep3321