4. 库存管理基础:库存风险的定义与度量

做市商这行,说白了就是赚买卖价差的辛苦钱。但很多人只看到我们每天吃盘口,没看到背后扛着的库存风险。我刚开始做市那会儿,就吃过一次大亏——库存方向没控制好,一波行情下来,把几个月的利润全吐回去了。嗯,从那以后,我对库存管理就特别上心。

4.1 库存风险的定义

库存风险,简单说就是你手里囤着的资产,价格朝不利方向变动带来的损失风险。你想想看,你作为做市商,在市场上同时挂买单和卖单。有人卖给你,你就多了库存;有人买你的,库存就减少。库存多了,价格一跌就亏钱;库存少了甚至空了,价格一涨就踏空。

我个人习惯把库存风险拆成两个维度来看:

  • 方向性风险:库存净头寸暴露在价格波动中。比如你持有100个ETH,ETH跌了2%,你就亏了2%的库存价值。
  • 基差风险:不同合约或不同交易所之间的价差变化。比如你在币安做市,同时在OKX对冲,两个所的价差突然拉大,你就可能两头亏。

核心观点:库存风险是做市商区别于普通交易员的核心特征。普通交易员主动选择方向,做市商是被动吃单,库存是被塞进来的。管理库存,就是管理这种「被动暴露」。

4.2 库存风险的度量方法

度量库存风险,不能光看数量,还得看波动率。我常用的几个指标:

指标 公式 说明
净头寸 Net = Long - Short 最直观,但忽略了波动率
风险价值(VaR) VaR = σ × z × Net 给定置信度下的最大可能亏损
库存周转率 Turnover = Volume / Avg Inventory 衡量库存消耗速度
库存成本 Cost = Σ (买入价 - 当前价) × 数量 浮亏/浮盈的累计

我在项目中遇到过一个问题:只看净头寸,觉得库存不大,结果波动率突然飙升,VaR直接爆表。所以我现在习惯同时监控VaR和净头寸两个指标,缺一不可。

实战技巧:我建议把VaR的置信度设到99%,时间窗口用1小时。太短了噪音大,太长了反应迟钝。这个参数我调了不下50次才找到平衡点。

4.3 库存管理目标

库存管理不是要把库存降到零,那不现实。做市商的核心目标是:在控制风险的前提下,最大化做市收益。具体来说,有两个子目标:

4.3.1 中性化

中性化,就是让库存的净头寸尽量接近零。说白了,你不想赌方向,只想赚价差。怎么做?

  • Delta中性:现货库存用期货或期权对冲,让整体Delta≈0
  • Gamma中性:对期权做市商来说,还要管理Gamma,防止波动率突变
  • 跨品种中性:比如做BTC做市,同时用ETH期货对冲相关性风险

我记得有一次,我管理的账户BTC库存偏多,但我不想直接卖现货(怕影响做市报价),就开了等量的BTC永续合约空单。结果第二天BTC跌了3%,现货亏了,但合约赚了,整体几乎没损失。这就是中性化的威力。

4.3.2 风险预算

风险预算,就是给库存风险设一个「天花板」。你不能让库存无限扩大,得有个上限。我常用的做法:

  1. 设定最大净头寸:比如总资金的5%
  2. 设定最大VaR:比如日VaR不超过当日预期收益的3倍
  3. 分层预警:达到预警线就启动再平衡,达到止损线就强制平仓

避坑指南:我曾经把风险预算设得太宽松,结果一次黑天鹅事件,库存VaR直接爆了5倍。后来我学乖了,风险预算一定要留余量,别卡着上限做。市场专治各种不服。

4.4 库存管理工具

光有目标不行,得有工具。我常用的三件套:对冲、再平衡、限仓。

4.4.1 对冲

对冲是降低库存风险最直接的手段。核心思路:用衍生品抵消现货的方向性风险。

# 一个简单的Delta对冲示例
def delta_hedge(inventory, futures_price, contract_size):
    """
    inventory: 现货库存数量
    futures_price: 期货价格
    contract_size: 每张合约对应的数量
    """
    # 计算需要开多少张空单
    hedge_qty = inventory / contract_size
    
    # 考虑基差调整
    basis = futures_price - spot_price
    if abs(basis) > threshold:
        hedge_qty *= (1 + basis_adjustment)
    
    return hedge_qty

这个代码看着简单,但实际跑起来坑很多。比如基差变化、合约展期、流动性不足,都会让对冲效果打折扣。我建议对冲频率不要太高,5-10分钟一次就够了,太频繁反而增加交易成本。

4.4.2 再平衡

再平衡,就是主动调整库存,让它回到目标水平。常见策略:

  • 时间驱动:每隔固定时间检查一次库存,超标就调整
  • 事件驱动:库存达到阈值时触发调整
  • 混合模式:平时用事件驱动,极端行情用时间驱动兜底

我个人偏好混合模式。平时设个±20%的阈值,到了就调。但如果波动率突然放大,我会把检查频率从10分钟提到1分钟,防止库存失控。

4.4.3 限仓

限仓是最后一道防线。说白了,就是硬性规定库存不能超过某个数。超过就强制平仓,没得商量。

限仓类型 触发条件 处理方式
硬限仓 库存数量超过上限 立即市价平仓超出的部分
软限仓 库存接近上限(如80%) 调整报价,减少吃单,加速出库
动态限仓 波动率或流动性变化 根据市场状况动态调整上限

经验之谈:硬限仓一定要设,但别设得太死。我见过有人设了硬限仓,结果行情剧烈波动时,市价平仓反而造成了更大的滑点损失。所以硬限仓的阈值要留够缓冲空间,我一般设到理论最大库存的80%。

4.5 知识体系总览

下面这张图,是我自己整理的知识框架。每次做库存管理决策,我都会过一遍这个流程:

库存管理知识体系 库存风险 定义:方向性+基差 度量:净头寸/VaR/周转率 度量:库存成本 目标1:中性化(Delta/Gamma) 目标2:风险预算(上限/预警) 工具1:对冲(期货/期权) 工具2:再平衡(时间/事件) 工具3:限仓(硬/软/动态) 核心:控制风险 → 最大化做市收益

这张图我每次培训新人都会拿出来讲。你看,从库存风险出发,到定义度量,再到管理目标和工具,是一条完整的链路。任何一个环节出问题,整个做市策略都可能崩盘。

好了,库存管理的基础就聊到这儿。记住一句话:做市商赚的是管理风险的钱,不是赌方向的钱。把库存管好了,你才能在这个市场里活得久、赚得稳。

专注资料整理