halo 的技术博客

返回

限价订单簿深度

限价订单簿(LOB)基础#

限价订单簿(Limit Order Book, LOB)是电子化交易市场的核心数据结构,记录了所有未成交的限价买单和卖单。LOB 以价格优先级和时间优先级组织订单,为市场提供流动性并决定证券的即时可执行价格。

LOB 数据结构#

一个典型的 LOB 包含:

  • 买价(Bid):按价格降序排列的买单队列
  • 卖价(Ask):按价格升序排列的卖单队列
  • 最优买价(Best Bid):最高买价
  • 最优卖价(Best Ask):最低卖价
  • 买卖价差(Spread):Best Ask - Best Bid
# LOB 数据结构示例
lob_snapshot = {
    'timestamp': '2026-06-03 09:30:00.123456',
    'bids': [
        (199.95, 500),  # (价格, 数量)
        (199.90, 1200),
        (199.85, 800)
    ],
    'asks': [
        (200.05, 300),
        (200.10, 900),
        (200.15, 1500)
    ]
}
python

订单类型与LOB动态#

限价订单(Limit Order)#

以指定价格或更好价格成交的订单,增加流动性,存放在LOB中。

市价订单(Market Order)#

以当前最优价格立即成交的订单,消耗流动性,从LOB中移除订单。

取消订单(Cancel Order)#

从LOB中撤销未成交的限价订单。

LOB动态示例#

时间 T1: LOB状态
Bids: (199.95, 500), (199.90, 1200)
Asks: (200.05, 300), (200.10, 900)

时间 T2: 市价买单 400股
→ 消耗 (200.05, 300),剩余100消耗 (200.10, 100)
新LOB:
Bids: (199.95, 500), (199.90, 1200)
Asks: (200.10, 800), (200.15, 1500)

时间 T3: 限价卖单 (200.00, 600)
→ 新增到Asks队列
新LOB:
Bids: (199.95, 500), (199.90, 1200)
Asks: (200.00, 600), (200.10, 800), (200.15, 1500)
plaintext

订单流不平衡

LOB特征统计#

1. 深度(Depth)#

不同价格水平的累计订单量,反映流动性深度。

# 计算LOB深度
def calculate_depth(lob, levels=5):
    bid_depth = sum(qty for _, qty in lob['bids'][:levels])
    ask_depth = sum(qty for _, qty in lob['asks'][:levels])
    return bid_depth, ask_depth
python

2. 订单流不平衡(Order Flow Imbalance, OFI)#

买卖订单量的不平衡,预测短期价格方向。

OFI = 买单量 - 卖单量
plaintext

3. 成交率(Fill Rate)#

限价订单成交的概率,受订单价格和市场规模影响。

高频策略基于LOB#

1. 做市策略(Market Making)#

在买卖两侧挂单,赚取买卖价差,管理库存风险。

# 简化做市策略
def market_making_strategy(lob, inventory):
    best_bid = lob['bids'][0][0]
    best_ask = lob['asks'][0][0]
    
    # 调整价差基于库存
    spread_adjustment = 0.01 * (inventory / 1000)
    
    my_bid = best_bid + 0.01 - spread_adjustment
    my_ask = best_ask - 0.01 + spread_adjustment
    
    return my_bid, my_ask
python

2. 订单流交易(Order Flow Trading)#

根据OFI预测价格方向,进行极短期方向性交易。

3. 统计套利(Statistical Arbitrage)#

利用相关证券的LOB差异,进行配对交易。

LOB数据获取与处理#

数据来源#

  • 交易所直接Feed:最快速(纳斯达克TotalView, 纽交所OpenBook)
  • 数据供应商:Refinitiv, Bloomberg, IEX Cloud
  • 开源数据集:LOBSTER, FI2020

数据处理挑战#

  1. 数据量巨大:单只股票每天GB级LOB更新
  2. 时间戳精度:需要微秒或纳秒级精度
  3. 消息排序:确保事件顺序正确

风险管理#

库存风险#

高频做市积累单方面库存,需动态调整报价。

逆向选择#

信息不对称导致逆向选择,需检测大单预警。

技术风险#

系统延迟、订单错误、交易所连接中断。

总结#

限价订单簿微观结构是高频交易的基石。理解LOB的动态、特征和相关策略,是开发成功高频交易系统的前提。随着市场结构演化,LOB分析将继续是量化研究的热点领域。

参考文献#

  1. Gould, M. D., et al. (2013). “Limit order books.” Quantitative Finance, 13(11), 1709-1742.
  2. Abergel, F., et al. (2016). “Limit Order Books: A Systematic Approach.” Cambridge University Press.
  3. Cartea, Á., et al. (2015). “Algorithmic and High-Frequency Trading.” Cambridge University Press.
限价订单簿微观结构:高频交易的核心
https://blog.halo26812.eu.org/blog/2026-06-03-lob-microstructure
Author halo
Published at 2026年6月3日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨