订单簿基础:订单簿的概念、限价单与市价单、买卖盘口与价差
做高频交易,你每天面对的最核心的东西是什么?
不是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万手的买单。所有人都觉得这是铁底。结果主力一个假突破,把买单全部吃掉,然后反手做空。那波行情,我因为太相信订单簿的「假象」,亏了不少。
所以,订单簿的数据要信,但不能全信。
订单簿的核心逻辑图
下面这张图,是我自己总结的订单簿运作逻辑。每次带新人,我都会先让他们看这张图:
这张图的核心逻辑很简单:市价单是「饿狼」,进来就吃;限价单是「农夫」,慢慢挂单等成交。高频交易策略,本质上就是在管理这两者的平衡。
实战中的订单簿观察
我个人习惯,在交易前会先看三样东西:
- 价差是否稳定——如果价差忽大忽小,说明市场情绪不稳定
- 买卖盘是否均衡——如果买盘明显厚于卖盘,短期偏多
- 是否有大单挂单——大单往往是机构的「路标」
举个例子,有一次我发现某只股票的买一位置突然出现了一个超级大单,但价格没动。我立刻意识到——这是有人在「托底」。于是我跟着挂了一个限价单,等市场往上走的时候,顺利吃了一口肉。
当然,也有翻车的时候。有一次我看到卖盘很薄,以为要涨,结果主力直接砸下来,把买盘全部打穿。嗯,这就是市场——你永远无法100%确定。
总结一句话:订单簿是市场的「心电图」。读懂了它,你就读懂了短期资金的流向。但记住——心电图也会骗人,尤其是当有人故意制造假象的时候。
公众号:蓝海资料掘金营,微信deep3321