1. 订单簿基础:什么是订单簿、限价单与市价单、买卖盘口与价差
做量化交易这些年,我见过不少新手一上来就盯着K线猛看,却忽略了最底层的东西——订单簿。说实话,订单簿才是市场的「原汁原味」。K线是加工过的数据,而订单簿是实时的、未经过滤的买卖意愿集合。今天我们就从最基础的东西聊起。
1.1 什么是订单簿?
订单簿,说白了就是一个「挂单列表」。交易所把所有交易者挂出来的买单和卖单,按价格从高到低排好,就形成了订单簿。
我习惯把订单簿想象成一个「双向拍卖场」:
- 买家喊价:我出100块买,谁卖?
- 卖家要价:我105块才卖,谁买?
交易所把所有人的喊价和要价实时展示出来,这就是订单簿。嗯,这里要注意:订单簿只记录「限价单」,市价单不会出现在订单簿里——这个我们后面细说。
1.2 限价单 vs 市价单
这两种订单类型,是交易的基础操作。我当年刚入行时,就因为搞混了它们,吃过一次亏——挂了个限价单想抄底,结果行情一路向下,单子一直没成交,最后亏得更多。所以这个坑,你们一定要避开。
限价单(Limit Order)
你指定一个价格,只有市场价达到这个价格时才会成交。说白了就是「我只接受这个价,高了不买,低了不卖」。
- 买单限价:比如我挂100元买BTC,只有卖价≤100元时才会成交
- 卖单限价:比如我挂105元卖ETH,只有买价≥105元时才会成交
市价单(Market Order)
你不指定价格,直接按当前最优价格成交。说白了就是「不管多少钱,我现在就要买/卖」。
- 市价买单:吃掉当前卖一价(最低的卖单)
- 市价卖单:吃掉当前买一价(最高的买单)
1.3 买卖盘口与价差
订单簿上,最核心的两个概念就是「盘口」和「价差」。你想想看,如果你打开一个交易界面,看到左边是买单列表,右边是卖单列表,这就是盘口。
买卖盘口的结构
以BTC/USDT为例,一个典型的订单簿长这样:
| 卖单(Ask) | 价格 | 买单(Bid) |
|---|---|---|
| 卖五:1.2 BTC @ 10100 | 10100 | |
| 卖四:0.8 BTC @ 10090 | 10090 | |
| 卖三:1.5 BTC @ 10080 | 10080 | |
| 卖二:2.0 BTC @ 10070 | 10070 | |
| 卖一:0.5 BTC @ 10060 | 10060 | 买一:1.0 BTC @ 10050 |
| 10050 | 买二:2.5 BTC @ 10040 | |
| 10040 | 买三:1.8 BTC @ 10030 | |
| 10030 | 买四:0.6 BTC @ 10020 | |
| 10020 | 买五:1.2 BTC @ 10010 |
这里的关键是:
- 卖一(Ask1):当前最低的卖单价格,10060
- 买一(Bid1):当前最高的买单价格,10050
- 价差(Spread):卖一 - 买一 = 10060 - 10050 = 10 USDT
价差的意义
价差就是「买卖之间的缝隙」。我个人的理解是:价差越小,说明市场越活跃,流动性越好。比如主流币BTC的价差通常只有几个U,而一些小币种价差可能高达几十甚至上百U。
1.4 知识体系总览
为了让你更直观地理解这一章的内容,我画了一张结构图。它把订单簿、订单类型、盘口和价差的关系串在了一起:
这张图把这一章的核心逻辑串起来了。你从订单簿出发,左边是限价单(挂单),右边是市价单(吃单),中间是盘口和价差。说白了,整个订单簿就是限价单的集合,而市价单负责「吃掉」这些挂单,价差就是买卖双方之间的「距离」。
好了,这一章就到这里。订单簿的基础概念搞清楚了,后面我们才能聊更深的东西——比如如何从订单簿形态判断价格方向,如何识别大资金的「挂单陷阱」等等。这些内容,我们后面慢慢展开。