第二十四节:曲面套利与做市商策略:流动性提供与库存管理

做市商这活儿,说白了就是在市场里「摆摊」。你挂买单,我挂卖单,赚的是买卖价差。但期权做市和股票做市完全是两码事——股票你只需要管一个价格,期权你得管一整个曲面。我刚开始做期权做市那会儿,最头疼的就是库存管理。你想想看,手里一堆不同行权价、不同到期日的期权,Delta、Gamma、Vega全都不一样,怎么管?

曲面套利在这里扮演的角色,其实比大多数人想象的要重要得多。它不只是用来赚钱的,更是用来管理风险的。今天我就聊聊,怎么把曲面套利的思想融入到做市商的日常策略里。

做市商的核心矛盾:流动性提供与库存风险

做市商本质上是在做两件事:

  • 提供流动性——随时准备买卖,让市场运转起来
  • 管理库存——控制手里持仓的风险暴露

这两个目标天然冲突。你提供流动性越积极,库存积累得越快,风险敞口就越大。你越保守,库存风险小了,但流动性也差了,赚不到钱。

我见过不少做市团队,一开始只盯着价差收入,结果某天市场一波动,库存里的Gamma和Vega全炸了,一天亏掉三个月的利润。嗯,这里要注意——做市商的第一要务不是赚钱,是活着。

曲面套利如何帮助做市商?

曲面套利的核心思想是:曲面上的价格关系应该是合理的。如果某个行权价的隐含波动率明显偏离了周围点,那就是套利机会,也是做市商调整库存的信号。

具体来说,曲面套利在做市策略中有三个应用场景:

  1. 定价基准——用曲面模型给出每个期权合约的「合理价格」
  2. 库存对冲——利用曲面上的相对价值关系,低成本调整风险暴露
  3. 报价优化——根据曲面形态动态调整买卖价差

核心观点:做市商不应该孤立地看待每个期权合约。一个合约的价格,必须放在整个曲面的上下文中去理解。曲面套利就是帮你建立这个「上下文」的工具。

流动性提供的曲面视角

传统的做市报价,通常是根据单个合约的买卖价差来定的。比如某合约中间价是10块,你挂9.95买、10.05卖,赚1毛钱价差。

但曲面套利的思路不一样。我会先问自己一个问题:这个合约的「合理价」是多少?

合理价不是随便拍脑袋定的。我一般用SVI或SSVI模型拟合整个曲面,然后看每个合约的模型价格和市场价格之间的偏差。如果偏差在正常范围内,我就按正常价差报价。如果偏差很大——比如某个合约的隐含波动率比模型预测高了两个百分点——那我就要小心了。

为什么会这样?可能是因为市场上有大单在买,也可能是数据错误。但不管怎样,这个偏差本身就是信息。我个人的习惯是:偏差大的合约,报价要更保守——价差拉大,仓位控制更严。

库存管理的曲面方法

库存管理是做市商最头疼的事。你手里有一堆期权,Delta、Gamma、Vega、Theta全都不一样。怎么调?

曲面套利提供了一个很优雅的思路:用曲面上的相对价值关系来调整库存

举个例子。假设我手里积累了大量的虚值看涨期权,Gamma暴露很大。传统做法是直接卖出这些期权来减仓,但这样会冲击市场,而且可能卖在低价。

曲面套利的做法是:找曲面上的「亲戚合约」。比如,同样到期日的平值看涨期权,或者不同到期日的类似行权价合约。如果这些合约之间的价差关系出现了扭曲,我就可以通过「买入一个、卖出另一个」的方式,在不增加整体风险的前提下,调整库存结构。

我曾经遇到过一次极端情况:某天市场突然暴跌,我手里的虚值看跌期权全部变成了实值,Gamma暴露瞬间爆表。当时我做的第一件事不是直接平仓,而是利用曲面上的日历价差——卖出近月合约、买入远月合约——把Gamma风险往后推,给自己争取了调整时间。这就是曲面套利在库存管理中的实战应用。

实战技巧:库存管理不要只看单个希腊字母。要关注整个曲面的「形状风险」。比如,如果曲面变得陡峭了,你的Vega分布是否还合理?如果曲面变得平坦了,你的日历价差头寸是否还安全?

做市商策略的量化框架

下面我给出一个简化的做市商策略框架,用伪代码展示核心逻辑:

# 做市商策略核心逻辑(伪代码)

def market_making_strategy(current_positions, order_book, surface_model):
    # 1. 用曲面模型计算每个合约的合理价格
    fair_prices = surface_model.fit(order_book)
    
    # 2. 计算当前库存的风险暴露
    risk_exposure = calculate_risk(current_positions)
    
    # 3. 根据风险暴露调整报价偏移
    for contract in order_book:
        # 基础价差
        base_spread = calculate_base_spread(contract)
        
        # 曲面偏差调整
        deviation = order_book[contract].iv - fair_prices[contract].iv
        spread_adjustment = abs(deviation) * 0.5
        
        # 库存风险调整
        if risk_exposure.gamma > threshold:
            # Gamma过高,缩小卖出报价,扩大买入报价
            inventory_adjustment = -0.2 * risk_exposure.gamma / threshold
        else:
            inventory_adjustment = 0
        
        # 最终报价
        bid_price = fair_prices[contract].price - (base_spread + spread_adjustment + inventory_adjustment) / 2
        ask_price = fair_prices[contract].price + (base_spread + spread_adjustment - inventory_adjustment) / 2
        
        submit_quotes(contract, bid_price, ask_price)
    
    # 4. 定期检查曲面套利机会,用于库存再平衡
    arbitrage_opportunities = find_surface_arbitrage(fair_prices, order_book)
    for arb in arbitrage_opportunities:
        if arb.profit > transaction_cost:
            execute_arbitrage(arb)
            # 同时调整库存
            rebalance_inventory(arb)

这个框架的核心思想是:报价不是固定的,而是动态调整的。调整的依据有三个:曲面偏差、库存风险、套利机会。

曲面套利与库存管理的协同

很多人把曲面套利和做市商策略当成两件事。其实它们是同一枚硬币的两面。

曲面套利帮你发现价格扭曲,做市商策略帮你管理这些扭曲带来的风险。两者协同起来,效果是1+1>2的。

我举个例子说明这个协同过程:

步骤 曲面套利视角 做市商视角
1 发现曲面局部扭曲 调整报价价差,控制风险
2 构建套利组合 执行交易,同时调整库存
3 监控套利组合的盈亏 监控库存风险的变化
4 套利收敛后平仓 库存恢复到目标水平

你看,每一步都是两个视角同时进行的。曲面套利不只是赚钱工具,更是库存管理的「导航仪」。

注意:曲面套利和做市策略协同的时候,最容易犯的错误是「过度交易」。我曾经有一段时间,看到曲面上的小偏差就想做套利,结果交易频率太高,手续费和冲击成本把利润全吃掉了。后来我学乖了——只做那些偏差足够大、预期收益能覆盖成本的交易

曲面套利做市策略的知识体系

下面这张图展示了曲面套利与做市商策略的核心逻辑关系:

曲面套利与做市商策略知识体系 做市商策略 流动性提供 库存管理 报价价差动态调整 曲面偏差定价 订单簿深度管理 希腊字母风险监控 曲面套利再平衡 日历价差调整 曲面套利模型 SVI/SSVI拟合 相对价值分析 核心目标:在提供流动性的同时,控制库存风险

实战中的几个关键点

最后,我总结几个实战中容易踩的坑:

  • 不要迷信模型——曲面模型再好,也只是对现实的近似。市场极端行情下,模型会失效。我经历过一次,模型显示某个合约严重低估,结果我买进去之后曲面继续变形,亏了不少。后来我加了一条规则:模型信号必须和成交量、持仓量等市场数据交叉验证
  • 库存管理要有「止损线」——不是每个头寸都能等到套利收敛。如果库存风险超过了你的承受能力,该砍就砍。我给自己定的规矩是:单个希腊字母的暴露不能超过总资本的20%。
  • 流动性提供要「看人下菜碟」——不同合约的流动性不一样。近月平值合约流动性好,价差可以小一点。远月深度虚值合约流动性差,价差必须拉大。曲面套利可以帮助你量化每个合约的「流动性溢价」。

做市商这行,说白了就是「在不确定性中寻找确定性」。曲面套利给了你一个框架,让你能更清楚地看到市场里的价格关系。但最终决策,还是要靠你对市场的理解和经验积累。嗯,今天就聊到这儿吧。

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