第四章:做市商风险管理

做市商这活儿,表面看是低买高卖赚差价。实际上呢?你是在跟整个市场对赌。我做了这么多年,见过太多人死在风险管理上。今天咱们就聊聊做市商最头疼的三个风险:库存风险、逆向选择风险,还有存货成本与对冲。

核心观点:做市商的本质不是预测方向,而是管理风险敞口。你赚的是流动性溢价,不是方向性收益。

4.1 库存风险:你手里的货,是资产也是炸弹

库存风险,说白了就是你手里囤了一堆资产,价格一跌你就亏钱。做市商不像普通交易者,你不能随便清仓——你的职责是持续提供双边报价。

我记得刚入行那会儿,有次做ETH的做市,库存建得有点大。结果半夜一条利空消息,价格直接砸了5%。那一晚我基本没睡,盯着盘面手动调报价。嗯,从那以后我就再也不敢忽视库存管理了。

库存风险的核心指标

指标 定义 我的经验阈值
库存敞口 当前持仓数量 / 目标持仓数量 超过±30%就要警惕
库存久期 按当前成交量清空库存所需时间 超过2小时就偏高了
库存成本 平均建仓成本 vs 当前市价 亏损超过0.5%必须行动

库存管理的基本策略

  • 偏移报价:库存偏多时,把卖价调低、买价调高,吸引对手方向成交。我在项目中习惯用指数衰减函数来调整偏移量。
  • 库存上限:设定硬性上限,到了就暂停做市。别贪,活着最重要。
  • 时间衰减:持仓时间越长,容忍度越低。我一般设30分钟为一个衰减周期。

我的小技巧:用波动率来动态调整库存上限。波动率大的时候,库存上限砍一半。别问我怎么知道的——亏出来的经验。

4.2 逆向选择风险:你以为是套利,其实是送钱

逆向选择,这个词听着高大上。说白了就是:你报了个价,结果只有懂行的人来跟你成交。你想想看,如果你报的买价被成交了,大概率是因为有人知道这个价格要涨。你报的卖价被成交了,大概率是因为有人知道要跌。

为什么会这样?因为信息不对称。市场上总有比你更聪明、更快、信息更灵通的交易者。你报的每一个价格,都是在给这些人送期权。

逆向选择的典型场景

  • 大单拆分:机构用算法把大单拆成小单,专门吃你的报价。我曾经在BTC上遇到过,一个小时内被吃了20多次,后来才发现是同一家机构在扫货。
  • 新闻驱动:重大消息出来前,总有人先知道。你的报价就成了他们的提款机。
  • 跨市场套利:其他交易所价格变了,你的报价还没更新。这时候来成交的,全是套利机器人。

如何防范逆向选择

方法 原理 实现难度
延迟报价更新 收到成交后延迟更新报价,防止被连续吃
成交量监控 单边成交量异常时,主动缩小报价宽度
毒丸策略 检测到逆向选择时,临时报出极差价格

避坑指南:我曾经犯过一个错误——为了抢成交量,把报价宽度收得很窄。结果被套利机器人盯上了,一天亏了3%的库存价值。记住:报价宽度是你的保护层,别为了面子丢了里子。

4.3 存货成本与对冲策略

存货成本不只是你买资产花的钱。还有资金成本、机会成本、滑点成本。我习惯把存货成本拆成三块来看:

  1. 资金成本:你占用资金做市,这笔钱如果不做市,放理财也有收益。这部分就是你的隐形成本。
  2. 持仓成本:特别是永续合约做市,每天的资金费率会吃掉你的利润。别小看这个,年化下来可能超过20%。
  3. 滑点成本:你调整仓位时,大单进出造成的价格不利变动。这个在流动性差的品种上特别明显。

对冲策略实战

我个人最常用的对冲方式有三种:

  • 期货对冲:持有现货多头时,做空等量期货。这样库存价值不变,但方向性风险被锁住了。我在ETH上常用这个,效果不错。
  • 期权保护:买一个虚值看跌期权,防止黑天鹅。成本不高,但能保命。我记得2020年3月那次暴跌,有期权保护的朋友基本没受伤。
  • 跨品种对冲:相关性高的品种之间做对冲。比如BTC和ETH,虽然不完全同步,但大部分时间走势一致。

关键公式:对冲比率 = 现货持仓价值 × 贝塔系数 / 期货合约价值。别问我贝塔怎么算——用过去30天的日收益率做线性回归就行。

一个完整的对冲流程示例

# 伪代码:库存风险监控与对冲
def risk_monitor(position, market_data):
    # 计算当前库存敞口
    inventory_exposure = position.current / position.target
    
    # 如果敞口过大,启动对冲
    if abs(inventory_exposure) > 0.3:
        hedge_size = position.current * 0.5  # 对冲50%敞口
        
        # 选择对冲工具
        if market_data.volatility < 0.02:
            # 低波动用期货
            futures_hedge(hedge_size)
        else:
            # 高波动用期权
            options_hedge(hedge_size, strike='OTM')
    
    # 记录对冲成本
    log_hedge_cost(hedge_size, market_data.spread)

我的经验:别试图完美对冲。对冲是有成本的,你每对冲一次,就损失一次买卖价差。我一般只对冲50%-70%的敞口,留一部分风险敞口来赚取流动性溢价。完全对冲等于完全放弃做市利润,那你还做什么市?

4.4 风险管理的整体框架

说了这么多,咱们来画个图,把这三个风险串起来看看。

做市商风险管理 库存风险 逆向选择风险 存货成本 偏移报价 · 库存上限 延迟更新 · 毒丸策略 期货对冲 · 期权保护 核心目标:在控制风险的前提下,最大化流动性溢价收益 三个风险相互关联,需要动态平衡

你看这张图就明白了。三个风险不是孤立的——库存大了,逆向选择风险也跟着大;对冲做多了,存货成本就上去了。你需要找到一个平衡点。

我个人习惯每天收盘后做一次风险评估,看看三个指标的数值。如果任何一个指标亮红灯,第二天就调整策略。别等到爆仓了才想起来风险管理——那时候已经晚了。

最后说一句:做市商这行,活得久比赚得多重要。风险管理不是成本,是保险。你永远不知道黑天鹅什么时候来,但你可以确保自己扛得住。

专注资料整理