一、订单簿基础概念

什么是订单簿?

订单簿,说白了就是交易所里所有买卖挂单的实时清单。我刚开始接触量化交易时,总觉得这东西就是个简单的价格列表,后来才发现——它其实是市场微观结构的核心。

你想想看,每一笔成交的背后,都是买方和卖方的博弈。订单簿就是这场博弈的实时记分牌。它记录了所有尚未成交的限价单,按价格从高到低排列。

我个人习惯把订单簿理解成「市场的骨架」。价格走势是皮肉,成交量是血液,而订单簿就是支撑这一切的骨架结构。

核心要点:订单簿反映的是市场参与者的真实意图,而非历史成交记录。

买卖盘口

买卖盘口,就是订单簿的两侧——买盘和卖盘。

  • 买盘(Bid):买方愿意出的最高价格,以及对应的挂单量
  • 卖盘(Ask):卖方愿意接受的最低价格,以及对应的挂单量

这里有个关键概念叫「价差」(Spread),就是卖一价减去买一价。我在项目中遇到过不少新手,看到价差很小就觉得流动性好,其实不一定——还要看每个价位的挂单深度。

术语 含义 我的经验
买一价 最高买入价 这是多头最着急的人
卖一价 最低卖出价 这是空头最着急的人
价差 卖一 - 买一 价差越小,流动性越好
深度 每个价位的挂单量 深度越厚,价格越稳
小技巧:我一般会同时看买一到买五、卖一到卖五的挂单量。单看买一卖一,容易被「虚挂」骗到。

深度图的基本构成要素

深度图,就是把订单簿可视化。横轴是价格,纵轴是累计挂单量。左侧是买盘,右侧是卖盘,中间那条竖线就是当前成交价。

嗯,这里要注意——深度图有两种画法:一种是阶梯状,一种是平滑曲线。我个人更习惯看阶梯状,因为它能清晰展示每个价位的挂单「厚度」。

我曾经踩过一个坑:只看深度图的形状,没注意挂单的更新频率。结果发现有些挂单是「幽灵单」——挂上去就撤,根本不是为了成交,而是为了影响市场情绪。

避坑指南:深度图上的挂单量,不代表一定会成交。有些大单是「钓鱼单」,挂在那里诱导别人跟单,然后瞬间撤单。

核心逻辑框架

下面这张图,是我自己总结的订单簿分析框架。你看一眼就明白了:

订单簿分析框架 订单簿 价格维度 买一/卖一/价差 数量维度 挂单量/深度 时间维度 挂单/撤单频率 支撑/阻力判断 流动性评估 市场情绪识别 三维度综合分析 → 交易决策

你看,订单簿分析其实就三个维度:价格、数量、时间。缺一不可。

价格维度告诉你「市场在什么位置博弈」,数量维度告诉你「博弈的激烈程度」,时间维度告诉你「博弈的持续性」。我每次做策略回测,都会把这三个维度的数据一起喂进去,效果比单看价格好得多。

一个简单的代码示例

下面是我常用的订单簿数据抓取代码片段,用Python的ccxt库:

import ccxt

exchange = ccxt.binance()
orderbook = exchange.fetch_order_book('BTC/USDT')

# 买盘前5档
bids = orderbook['bids'][:5]
# 卖盘前5档
asks = orderbook['asks'][:5]

print("买盘:")
for price, volume in bids:
    print(f"  价格: {price:.2f}, 数量: {volume:.4f}")
print("卖盘:")
for price, volume in asks:
    print(f"  价格: {price:.2f}, 数量: {volume:.4f}")

# 计算价差
spread = asks[0][0] - bids[0][0]
print(f"当前价差: {spread:.2f}")

这段代码虽然简单,但我在实盘交易中每天都会跑。为什么?因为价差的变化,往往预示着市场即将变盘。

我的习惯:我会把价差和过去1小时的均值做对比。如果当前价差突然扩大,说明流动性在恶化,这时候我会谨慎开仓。

好了,订单簿的基础概念就讲到这里。记住一句话:订单簿不是历史,而是未来——它反映的是市场参与者接下来想干什么。

专注资料整理