一、订单簿基础:什么是订单簿?

大家好,我是老张。在量化交易这行摸爬滚打了十几年,今天咱们来聊聊最基础、但也最容易被忽视的东西——订单簿。

说白了,订单簿就是交易所里那个实时更新的「挂单本」。它记录着所有交易者想买、想卖的价格和数量。你想想看,没有订单簿,市场就像黑箱操作,你根本不知道对手盘在哪。

我刚开始做交易那会儿,总觉得订单簿就是一堆数字,没啥好看的。直到有一次做高频策略,因为没看懂订单簿的深度变化,直接亏了六位数。嗯,从那以后,我每天开盘前第一件事就是扫一眼订单簿。

1.1 限价单 vs 市价单

这两个概念,是订单簿的基石。我见过不少新手把两者搞混,结果吃了大亏。

类型 含义 特点 我踩过的坑
限价单 指定价格买入或卖出 价格确定,成交不确定 曾经挂单太远,行情走完都没成交
市价单 以当前最优价立即成交 成交确定,价格不确定 滑点吃掉了我一半利润

限价单,就是你告诉交易所:「我只愿意用这个价格买,高了我不干。」它会挂在订单簿上,等着有人来成交。

市价单,就是你告诉交易所:「不管什么价格,现在就要成交!」它会立刻吃掉订单簿上最优的对手单。

我个人习惯是:做趋势跟踪时用市价单,做震荡策略时用限价单。为什么?趋势行情里,价格跑得快,限价单很容易踏空;震荡行情里,市价单容易被来回打脸。

核心区别一句话:限价单提供流动性,市价单消耗流动性。

1.2 订单簿的构成要素

一个标准的订单簿,由三部分组成:买盘、卖盘、深度。咱们一个一个说。

买盘(Bid Side)

买盘就是所有想买的人挂的限价买单。价格从高到低排列。最高价叫「买一价」,次高叫「买二价」,以此类推。

我记得有一次做股指期货,买一价突然出现一个巨大的挂单,足足有500手。我当时第一反应是「有大户在托底」,结果下一秒价格直接砸穿了这个价位。后来复盘才发现,那是主力在挂假单诱多。嗯,订单簿里的数字,有时候会骗人。

卖盘(Ask Side)

卖盘就是所有想卖的人挂的限价卖单。价格从低到高排列。最低价叫「卖一价」,次低叫「卖二价」,以此类推。

卖盘和买盘之间的价差,叫「买卖价差」(Spread)。价差越小,说明市场流动性越好。我曾经在流动性差的品种上吃过亏,一个市价单下去,直接打穿了三档价位,滑点惨不忍睹。

深度(Depth)

深度就是每个价位上的挂单数量。深度越厚,说明这个价位的支撑或阻力越强。

我一般会看「深度分布图」,它能直观地告诉你:如果价格涨到某个位置,会遇到多大的卖压;如果跌到某个位置,会遇到多大的买盘支撑。

我的一个小技巧:当买盘深度明显大于卖盘深度时,说明市场情绪偏多,但也要警惕主力利用深度不对称来诱多。

1.3 订单簿的知识体系

下面这张图,是我自己总结的订单簿核心逻辑。你看完应该能有个整体框架。

订单簿核心知识体系 订单簿 限价单 vs 市价单 买盘(Bid Side) 卖盘(Ask Side) 深度(Depth) 价格确定 vs 成交确定 买一、买二... 价格递减 卖一、卖二... 价格递增 核心:流动性提供 vs 消耗

1.4 实战中的订单簿观察

光知道概念没用,得会用。我分享几个实战中观察订单簿的方法。

  • 看价差变化:价差突然扩大,说明流动性在撤退,这时候要小心。
  • 看挂单撤单:大单挂上去又撤掉,十有八九是主力在试盘。
  • 看深度斜率:深度曲线越陡,说明这个价位的支撑/阻力越强。

警告:千万不要只看买一卖一的价格。我曾经只盯着最优价,结果被主力用「冰山订单」给骗了——表面上看只有几十手,实际上背后藏着上千手。订单簿的「全貌」比「局部」重要得多。

1.5 代码示例:获取订单簿数据

下面是一个简单的Python代码,用来获取某交易所的订单簿数据。我自己写策略时,经常用这个框架来实时监控。

import requests
import json

def get_order_book(symbol="btcusdt", limit=10):
    url = f"https://api.example.com/orderbook?symbol={symbol}&limit={limit}"
    response = requests.get(url)
    data = response.json()
    
    bids = data['bids']  # 买盘
    asks = data['asks']  # 卖盘
    
    print(f"买一价: {bids[0][0]}, 数量: {bids[0][1]}")
    print(f"卖一价: {asks[0][0]}, 数量: {asks[0][1]}")
    print(f"买卖价差: {float(asks[0][0]) - float(bids[0][0])}")
    
    return bids, asks

# 调用示例
bids, asks = get_order_book("btcusdt", 5)

这段代码虽然简单,但我在实际项目中用它抓过上千个品种的订单簿数据。嗯,有时候最基础的工具,反而最管用。

1.6 小结

订单簿这东西,说简单也简单,说复杂也复杂。简单的是它的结构——买盘、卖盘、深度,一目了然。复杂的是它背后的博弈——每一个挂单背后,都是一个活生生的交易者,有贪婪、有恐惧、有算计。

我个人觉得,理解订单簿的关键,不是记住那些术语,而是培养一种「盘感」。当你看到买盘突然变厚,能本能地意识到「有人在护盘」;当你看到卖盘被快速吃掉,能条件反射地想到「主力在吸筹」。这种能力,需要时间和实战来打磨。

好了,这一章就到这里。记住:订单簿是市场的「X光片」,学会看它,你就能看透市场的骨架。


专注资料整理