一、订单簿基础:限价单与市价单、买卖盘口、深度图概念
做量化交易这些年,我见过不少新手一上来就盯着K线猛看,却忽略了订单簿这个最原始、最真实的数据源。说实话,订单簿才是市场微观结构的核心。今天我们就从最基础的东西聊起。
1.1 限价单与市价单:两种最基本的交易指令
先问个问题:你想买比特币,是直接按市场价买,还是挂个低价等着?这两种操作,对应的就是市价单和限价单。
市价单(Market Order):不指定价格,立即以当前最优价格成交。说白了就是「我要马上成交,价格无所谓」。我刚开始做高频交易时,就吃过市价单的亏——流动性差的时候,滑点能让你怀疑人生。
限价单(Limit Order):指定一个价格,只有市场达到这个价格才会成交。说白了就是「我只愿意在这个价格买/卖,不到就算了」。我个人习惯在策略里多用限价单,虽然成交慢,但成本可控。
核心区别:
- 市价单:牺牲价格,换取确定性成交
- 限价单:牺牲成交确定性,换取价格优势
嗯,这里要注意:限价单不一定能成交。如果价格没到你的挂单价,单子就一直在订单簿里挂着。这就是所谓的「挂单」。
1.2 买卖盘口:订单簿的骨架
订单簿长什么样?说白了就是一个列表,左边是卖单,右边是买单。每一档都记录着价格和对应的挂单数量。
举个例子,假设BTC/USDT的订单簿长这样:
| 卖单(Ask) | 价格 | 买单(Bid) |
|---|---|---|
| 0.5 BTC | 30050 | |
| 1.2 BTC | 30040 | |
| 0.8 BTC | 30030 | |
| 30020 | 0.3 BTC | |
| 30010 | 1.5 BTC | |
| 30000 | 2.0 BTC |
这里有个关键概念:买卖价差(Spread)。就是最优卖价和最优买价之间的差值。比如上面,最优卖价是30030,最优买价是30020,价差就是10 USDT。
价差越小,说明市场流动性越好。我在做做市策略时,最怕的就是价差突然拉大——那通常意味着有人在撤单,或者市场情绪突变。
1.3 深度图:把订单簿可视化
光看数字不够直观,所以有了深度图。深度图把订单簿的累计挂单量画成曲线,一眼就能看出市场在哪个价位有支撑、哪个价位有阻力。
下面是我用SVG画的一个简化版深度图结构:
这张图里,绿色区域代表买单的累计深度,红色区域代表卖单的累计深度。两条线交汇的地方,就是当前市场价格。
你想想看,如果买单深度明显大于卖单深度,说明下方支撑很强,价格不容易跌下去。反过来,卖单深度大,说明上方抛压重。我在做日内交易时,经常用这个来判断短期的支撑阻力位。
1.4 订单簿的实时变化:微观市场的脉搏
订单簿不是静止的。每一秒都有新的限价单进来,也有旧的被撤掉或成交。我记得有一次做回测,发现某个策略在模拟环境里表现很好,一上实盘就亏钱。后来排查发现,问题出在订单簿的更新频率上——模拟环境用的是1秒快照,但实盘里订单簿每10毫秒就变一次。
实战小技巧:
看订单簿时,别只看最优价那几档。我习惯把前10档的挂单量都拉出来看。有时候大单挂在第5档,虽然离当前价格远,但一旦价格往那个方向走,那个大单就是一道「墙」。
另外,撤单率也是个重要指标。如果某个价位频繁出现挂单又撤单,那很可能是有人在「钓鱼」——挂个假单诱导你入场。我曾经就被这种手法坑过,后来学乖了,看到异常挂单先等几秒再说。
1.5 为什么订单簿对量化交易这么重要?
说白了,订单簿是市场最原始的数据。K线是加工过的,而订单簿是原材料。做高频交易、做市策略、套利策略,都离不开订单簿。
举个例子:你想判断市场情绪。如果买单深度在快速增加,而卖单深度在减少,说明买方在积极入场。这时候做多胜率就高。反过来,如果卖单深度突然暴增,那可能就是大户在出货。
注意:
订单簿数据量很大。一个主流币种的订单簿,每秒可能有上千次更新。如果你要实时处理,建议用WebSocket订阅,别用REST API轮询——延迟太高,等你拿到数据,订单簿早就变了。
好了,这一章我们聊了限价单和市价单的区别、买卖盘口的结构、深度图的含义。这些都是后面理解订单簿斜率变化的基础。下一章我们会深入聊怎么用这些数据做量化判断。
公众号:蓝海资料掘金营,微信deep3321