一、报价驱动市场概述

大家好,我是你们的老朋友。今天咱们聊聊报价驱动市场。说实话,这个概念我刚入行时也绕了好一阵子。说白了,报价驱动市场就是由做市商来提供买卖报价的市场。你想想看,在菜市场买菜,摊主喊价,你砍价,最后成交——这就是最朴素的报价驱动。

但在金融市场里,这事儿要复杂得多。我曾在某家自营交易公司待过,每天盯着屏幕上的买卖报价,那感觉就像在打仗。嗯,咱们一步步来拆解。

什么是报价驱动市场

报价驱动市场,也叫做市商市场。核心特征是:交易者之间不直接成交,而是通过做市商来完成交易

举个例子:你想买100股某只股票。在报价驱动市场里,你不会直接去找卖家。而是找做市商,他报个卖价给你。你接受,他就卖给你。反过来,你想卖,他报个买价,你接受,他就买走。

我刚开始做量化时,总觉得这机制多此一举。直到有一次,我模拟了一个没有做市商的市场——流动性差得吓人,挂单半天没人理。那时候我才明白,做市商就是市场的「润滑剂」。

核心要点: 做市商承担了「中间人」角色,他们赚的是买卖价差(spread)。

做市商制度

做市商不是随便谁都能当的。交易所对做市商有严格的要求:

  • 持续报价义务:交易时间内必须持续提供买卖报价
  • 最小报价数量:每次报价必须达到一定的手数
  • 最大价差限制:买卖价差不能超过某个阈值
  • 响应时间要求:对询价必须在规定时间内回复

我记得有一次,我们团队开发的做市策略因为响应时间慢了0.5秒,被交易所警告了。从那以后,我对延迟优化就特别敏感。你想想看,在高频交易的世界里,0.5秒足够让市场翻几个来回了。

做市商怎么赚钱?说白了就两点:

  1. 赚价差:低价买,高价卖,吃中间那点差价
  2. 赚返佣:交易所会给做市商交易费减免甚至返佣

但别以为这是稳赚不赔的买卖。我见过太多做市商在极端行情下爆仓的案例。2010年「闪电崩盘」那会儿,有些做市商的库存瞬间亏掉几千万美元。嗯,这里要注意:做市商承担的是「库存风险」——你手里拿着货,价格跌了就得认亏。

订单簿基础概念

订单簿,英文叫Order Book。它是做市商市场的核心数据结构。说白了,就是一张记录了所有买卖挂单的表格。

咱们来看一个典型的订单簿长什么样:

买价 (Bid) 买量 (Bid Size) 卖价 (Ask) 卖量 (Ask Size)
10.00 100 10.05 200
9.99 300 10.06 150
9.98 500 10.07 100
9.97 200 10.08 50

这张表里,左边是买方的报价,右边是卖方的报价。最高买价是10.00,最低卖价是10.05。中间的0.05就是价差(spread)。

我习惯用Python来模拟订单簿,这样能更直观地理解它的运作机制。给你看个简单的代码:

class OrderBook:
    def __init__(self):
        self.bids = {}  # 买盘,价格->数量
        self.asks = {}  # 卖盘,价格->数量
    
    def add_order(self, side, price, quantity):
        if side == 'buy':
            self.bids[price] = self.bids.get(price, 0) + quantity
        else:
            self.asks[price] = self.asks.get(price, 0) + quantity
    
    def get_best_bid(self):
        return max(self.bids.keys()) if self.bids else None
    
    def get_best_ask(self):
        return min(self.asks.keys()) if self.asks else None
    
    def get_spread(self):
        best_bid = self.get_best_bid()
        best_ask = self.get_best_ask()
        if best_bid and best_ask:
            return best_ask - best_bid
        return None

这段代码虽然简单,但已经能跑通基本的订单簿逻辑了。我曾经用它做过一个回测框架,效果还不错。

订单簿有几个关键指标,做量化交易的人必须盯紧:

  • 市场深度:某个价位上的挂单总量。深度越大,市场越抗波动
  • 价差:最佳买价和最佳卖价之间的差距。价差越小,流动性越好
  • 订单簿斜率:价格变化时,挂单量的变化速度。斜率陡峭说明市场脆弱
  • 买卖压力比:买方总挂单量除以卖方总挂单量。比值大于1说明买方强势
我的小技巧: 做价差预测时,别只看最佳买卖价。把订单簿前5档甚至前10档的数据都纳入模型,预测准确率能提升不少。我有个项目就是靠这个细节,把夏普比率从1.2提到了1.8。

咱们再聊聊订单簿的动态变化。你想想看,每一秒都有新订单进来,也有订单被撤掉。这个动态过程可以用一个状态机来描述:

订单簿状态机 初始状态 限价单到达 市价单到达 订单撤销 成交 新限价单 新市价单 更多限价单 撤销 价格匹配 立即成交 回到初始 更新订单簿

这张图展示了订单簿的生命周期。从初始状态开始,新订单进来(限价单或市价单),然后要么成交,要么被撤销,最终回到初始状态等待下一笔订单。我当年做低延迟系统时,就是按这个状态机来设计数据结构的。

避坑指南: 我曾经在订单簿数据清洗上栽过跟头。有些交易所的订单簿数据会有「幽灵订单」——已经撤销的订单还在快照里。如果你不做去重处理,模型预测出来的价差会严重失真。我的建议是:永远用增量更新(incremental update)而不是全量快照。

最后,咱们总结一下报价驱动市场的核心逻辑:

  • 做市商是市场的核心参与者,他们提供流动性
  • 订单簿是市场的「实时快照」,反映了供需关系
  • 价差是衡量市场效率的关键指标
  • 做市商赚的是风险管理的钱,不是无风险套利

嗯,这一章的内容就到这儿。记住,理解报价驱动市场是做价差预测的基础。下一章咱们会深入聊价差的统计特征和预测方法。到时候见。


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