一、订单簿基础:什么是订单簿?限价单与市价单的区别

各位同学,今天咱们来聊聊订单簿。这东西听起来挺唬人,其实说白了——它就是交易所里那个「挂单的账本」。我刚开始做量化的时候,觉得订单簿就是个价格列表,后来吃了不少亏才明白,它背后藏着市场的真实博弈。

1.1 订单簿到底是什么?

想象一下你去菜市场买菜。有人喊「西红柿三块一斤,我要买十斤」,有人喊「我两块五卖,谁要?」——这些喊价和喊量,就是订单。交易所把所有人的买卖意愿按价格排好,就成了订单簿。

订单簿分两边:

  • 买单(Bids):大家想买的价格和数量,从高到低排
  • 卖单(Asks):大家想卖的价格和数量,从低到高排

中间那个价差,就是买卖双方的心理差距。价差越小,说明市场越活跃。我见过比特币在波动剧烈时,价差能拉到几十美金,那时候做市商都不敢轻易挂单。

核心概念:订单簿不是静态的。每一秒都在变。你看到的瞬间,可能已经有人成交了。

下面这张图,是我手绘的订单簿结构,你看一眼就懂了:

订单簿结构示意图 卖单 (Asks) 价格 10.02 数量 200 价格 10.01 数量 150 价格 10.00 数量 300 价差 买单 (Bids) 价格 9.99 数量 500 价格 9.98 数量 200 价格 9.97 数量 100 最佳卖价:10.00 最佳买价:9.99 中间价:9.995 价差:0.01

1.2 限价单 vs 市价单

这两种订单,是交易里最基础的操作。我见过不少新手把两者搞混,结果亏了钱还不知道怎么回事。

限价单(Limit Order)

你指定一个价格,说「我只在这个价买/卖」。比如你挂一个「买入BTC,限价30000」,那只有价格跌到30000或以下才会成交。好处是你能控制成本,坏处是可能一直成交不了——市场没到那个价。

我的经验:做回测时,我习惯用限价单模拟真实交易。因为市价单在回测里容易产生「滑点幻觉」——看起来赚了,实际成交价差很多。

市价单(Market Order)

你不管价格,直接说「我要买,立刻成交」。系统会按当前最优价格给你成交。比如你下市价买单,它会吃掉订单簿里最便宜的卖单。速度快,但价格不可控——尤其在流动性差的时候。

我举个例子你就明白了:

订单类型 控制价格 保证成交 适用场景
限价单 ✅ 完全控制 ❌ 不一定 做市、挂单等待
市价单 ❌ 不可控 ✅ 立即成交 抢单、止损

避坑指南:我曾经在流动性差的币种上用了市价单,结果成交价比预期高了2%。从那以后,我遇到低流动性品种,一律用限价单+滑点容忍度设置。

1.3 订单簿里的「暗流」

你以为订单簿就是表面那些数字?太天真了。真正的老手会看这些东西:

  • 深度:某个价格附近有多少挂单。深度厚,说明支撑/阻力强
  • 挂单变化速度:突然撤单又挂单,可能是大资金在试盘
  • 冰山订单:只显示一部分,实际挂单量更大。我见过有人用这个手法骗散户跟单

我记得有一次做回测,发现某个策略在回测里收益很好,实盘却一直亏。后来一查,原来是订单簿深度不够,市价单的滑点把利润全吃掉了。嗯,从那以后我回测必加滑点模型。

1.4 代码看一眼

下面是一个简单的订单簿数据结构,用Python表示:

# 一个简化的订单簿
order_book = {
    'bids': [  # 买单,价格从高到低
        {'price': 9.99, 'size': 500},
        {'price': 9.98, 'size': 200},
        {'price': 9.97, 'size': 100}
    ],
    'asks': [  # 卖单,价格从低到高
        {'price': 10.00, 'size': 300},
        {'price': 10.01, 'size': 150},
        {'price': 10.02, 'size': 200}
    ]
}

# 计算中间价和价差
best_bid = order_book['bids'][0]['price']
best_ask = order_book['asks'][0]['price']
spread = best_ask - best_bid
mid_price = (best_bid + best_ask) / 2

print(f"最佳买价: {best_bid}")
print(f"最佳卖价: {best_ask}")
print(f"价差: {spread}")
print(f"中间价: {mid_price}")

这段代码虽然简单,但它是所有订单簿分析的基础。你想想看,如果每秒更新一次这个结构,再记录变化,就能分析出很多市场行为。

1.5 小结一下

订单簿就是市场的「实时投票器」。限价单是「我坚持这个价」,市价单是「我现在就要」。两者没有绝对好坏,关键看你的策略和当前市场环境。

我个人建议:刚开始做回放训练时,先用限价单模拟,等熟悉了订单簿的跳动规律,再尝试市价单。别一上来就猛冲,容易交学费。


公众号:蓝海资料掘金营,微信deep3321