一、订单簿基础:什么是订单簿?限价单与市价单的区别、买卖盘口与价差
做量化交易这些年,我见过不少新手一上来就盯着K线图猛看,却忽略了最底层的东西——订单簿。说实话,订单簿才是市场的「底牌」。K线是结果,订单簿是过程。今天我们就来把这层窗户纸捅破。
1.1 什么是订单簿?
订单簿,英文叫Order Book。说白了,就是交易所里所有未成交订单的实时列表。它像一本账本,左边记着谁想买、出什么价,右边记着谁想卖、要什么价。
我习惯把订单簿想象成一个「排队系统」:
- 买单排队:出价高的排在前面,优先成交
- 卖单排队:要价低的排在前面,优先成交
举个例子。假设现在BTC/USDT的订单簿长这样:
| 买单(Bid) | 数量 | 卖单(Ask) | 数量 |
|---|---|---|---|
| 30000 | 0.5 | 30005 | 0.3 |
| 29995 | 1.2 | 30010 | 0.8 |
| 29990 | 2.0 | 30015 | 1.5 |
看到没?最高买单是30000,最低卖单是30005。这5块钱的差距,就是价差。
核心要点:订单簿反映了市场的深度和流动性。深度越厚,大单冲击成本越小。流动性越好,买卖越容易成交。
1.2 限价单 vs 市价单
这两个概念,我当年刚入行时也搞混过。其实区别很简单:
- 限价单(Limit Order):你指定价格,挂单等成交。不着急,但能控制成本。
- 市价单(Market Order):你不管价格,直接按当前最优价成交。速度快,但可能滑点。
为什么会这样?你想想看,市价单的本质是「吃掉」订单簿上的对手单。你下了一个市价买单,系统会从最低卖单开始,一路往上吃,直到买够数量。
我在项目中遇到过一件事。有一次做套利策略,我同时下了两个市价单,结果因为流动性不足,一个单子滑了0.3%。那点利润全被滑点吃掉了。嗯,从那以后,我对市价单就格外谨慎。
我的建议:高频策略用市价单追求速度,中低频策略尽量用限价单控制成本。别问我怎么知道的,都是亏出来的经验。
1.3 买卖盘口与价差
盘口(Order Book Depth)就是订单簿的「厚度」。价差(Spread)就是最优卖价减去最优买价。
价差越小,说明市场越活跃,流动性越好。比如主流币种的价差通常只有0.01%左右,而一些小币种可能高达1%甚至更多。
我曾经做过一个统计:
| 市场状态 | 价差范围 | 典型场景 |
|---|---|---|
| 高流动性 | 0.01% - 0.05% | BTC/ETH 主力交易对 |
| 中等流动性 | 0.05% - 0.2% | 主流山寨币 |
| 低流动性 | 0.2% - 1%+ | 小币种、冷门交易对 |
这里有个避坑指南:千万别在低流动性市场下大额市价单。我曾经有一次在某个小交易所测试策略,一个市价单下去,直接把价格打穿了2%。那感觉,就像一拳打在棉花上,结果棉花里藏着钉子。
注意:价差不是固定的。重大新闻发布前后、市场剧烈波动时,价差会瞬间扩大。你的策略必须能处理这种极端情况。
1.4 订单簿的核心结构
为了让你更直观地理解,我画了一张订单簿的结构图:
这张图把订单簿的核心要素都标出来了。左边是买单,按价格从高到低排列;右边是卖单,按价格从低到高排列。中间的价差就是市场的「呼吸间隙」。
1.5 实际应用中的思考
理解了订单簿,你就能看懂很多市场行为:
- 大单压盘:卖单深度突然变厚,可能是大户在压价吸筹
- 价差骤扩:市场恐慌或流动性枯竭的信号
- 盘口失衡:买单远多于卖单,价格大概率要涨
我个人习惯在策略启动前,先拉取5档深度的订单簿数据,算一下「买卖压力比」。如果这个比值超过1.5,说明买方力量强,做多胜率更高。当然,这只是辅助指标,不能当圣杯用。
小技巧:写代码时,记得用WebSocket订阅订单簿增量更新,别每次都全量拉取。全量拉取太慢了,等你拿到数据,行情都变了两轮了。
好了,订单簿的基础就讲到这里。记住一句话:订单簿是市场的骨架,K线是血肉。搞懂骨架,你才能理解市场的真实运动。
公众号:蓝海资料掘金营,微信deep3321