库存风险度量指标:VaR、CVaR、库存周转率与集中度

做市商这行,说白了就是跟库存风险打交道。你手里有多少货,决定了你晚上能不能睡踏实。今天咱们聊聊几个核心指标——VaR、CVaR、库存周转率、库存集中度。这些是我每天盯盘时必看的几个数,缺一个我都觉得心里没底。

一、VaR(在险价值)——你的底裤在哪里

VaR,全称Value at Risk,翻译过来叫“在险价值”。什么意思呢?就是问一个问题:在给定的置信水平下,未来一段时间内,我的库存最多可能亏多少钱?

举个例子。假设你持有100个BTC,置信水平95%,持有期1天。VaR算出来是5个BTC。那就意味着:有95%的把握,明天最多亏5个BTC;剩下5%的情况,亏得比这还多。

我个人习惯用95%的置信水平,也有人用99%。但说实话,99%的VaR对尾部风险太乐观了,我吃过亏。

VaR的计算方法(三种主流):

  • 参数法(方差-协方差法):假设收益率服从正态分布。快,但假设太强。市场暴跌时,正态分布根本不顶用。
  • 历史模拟法:直接用过去N天的收益率分布。我比较喜欢这个,因为它不假设分布形态。
  • 蒙特卡洛模拟法:随机生成大量路径。精度高,但计算量大。做市商高频场景下不太实用。
# 一个简单的历史模拟法VaR计算(Python伪代码)
import numpy as np

def calculate_var(returns, confidence_level=0.95):
    """
    returns: 历史收益率序列
    confidence_level: 置信水平,默认95%
    """
    sorted_returns = np.sort(returns)
    index = int((1 - confidence_level) * len(sorted_returns))
    var = -sorted_returns[index]  # 取正值表示损失
    return var

# 假设你有100个ETH,日收益率序列如下
daily_returns = [-0.02, 0.01, -0.03, 0.005, -0.015, ...]
var_95 = calculate_var(daily_returns, 0.95)
print(f"95% VaR: {var_95 * 100:.2f} ETH")  # 输出:95% VaR: 3.50 ETH

我的经验:VaR有个致命缺陷——它只告诉你“最多亏多少”,但不告诉你“亏超了会怎样”。说白了,它忽略了尾部风险。我曾经用VaR做风控,结果遇到一次黑天鹅,VaR显示安全,实际亏得我头皮发麻。所以后来我引入了CVaR。

二、CVaR(条件在险价值)——补上VaR的短板

CVaR,也叫Expected Shortfall(期望损失)。它回答的是:当亏损超过VaR时,平均会亏多少?

还是刚才那个例子。95% VaR是5个BTC,那剩下5%的情况里,平均亏损可能是8个BTC。这个8就是CVaR。

你想想看,VaR只告诉你“95%的情况没事”,但CVaR告诉你“那5%的倒霉情况有多倒霉”。做市商最怕的就是那5%,所以CVaR比VaR更实用。

# CVaR计算(接上面的代码)
def calculate_cvar(returns, confidence_level=0.95):
    sorted_returns = np.sort(returns)
    index = int((1 - confidence_level) * len(sorted_returns))
    tail_returns = sorted_returns[:index]  # 尾部损失
    cvar = -np.mean(tail_returns)
    return cvar

cvar_95 = calculate_cvar(daily_returns, 0.95)
print(f"95% CVaR: {cvar_95 * 100:.2f} ETH")  # 输出:95% CVaR: 5.80 ETH

注意:CVaR对数据质量要求很高。如果你的历史数据不够长,或者有异常值,算出来的CVaR可能偏差很大。我建议至少用500个以上的数据点,并且做一下异常值处理。

三、库存周转率——你的货动得快不快

库存周转率,说白了就是你的货在手里待多久。公式很简单:

库存周转率 = 一定时期内的成交量 / 平均库存量

比如你一天成交了1000个ETH,平均库存是100个ETH,那周转率就是10。意味着你的库存一天转了10次。

周转率高,说明你的做市策略活跃,库存风险暴露时间短。周转率低,说明货压在手里,风险敞口大。

周转率范围 含义 我的建议
> 20 极高,策略非常活跃 注意交易成本,别赚了吆喝赔了钱
5 - 20 正常,健康的做市状态 保持,关注波动率变化
1 - 5 偏低,库存积压 检查报价宽度,考虑降价去库存
< 1 危险,库存基本不动 立即止损,重新评估策略

我在项目中遇到过周转率突然从15掉到2的情况。当时没在意,结果第二天市场暴跌,库存亏了一大笔。后来我加了个监控,周转率低于3就自动报警。

四、库存集中度——别把鸡蛋放一个篮子里

库存集中度,衡量的是你的库存分布是否过于集中在某个品种或某个方向。

常用的指标是赫芬达尔-赫希曼指数(HHI):

HHI = Σ (每种资产占比)²

HHI越接近1,说明越集中;越接近0,说明越分散。

举个例子:

  • 如果你只持有BTC,HHI = 1² = 1(极度集中)
  • 如果你持有50% BTC + 50% ETH,HHI = 0.5² + 0.5² = 0.5
  • 如果你持有10种资产各10%,HHI = 10 × 0.1² = 0.1

我的经验阈值:

  • HHI > 0.6:高度集中,需要警惕
  • HHI 0.3 - 0.6:中等集中,可以接受
  • HHI < 0.3:分散良好

我曾经吃过集中度的亏。有一段时间我重仓某个小币种,HHI高达0.8。结果那个币的做市商突然撤单,流动性瞬间枯竭,我手里的货根本出不去。嗯,从那以后,我给自己定了个规矩:任何单一品种的库存占比不超过30%。

五、四个指标的关系——一张图看懂

这四个指标不是孤立的。它们共同构成了库存风险的全景图。我画了张图,帮你理清关系:

库存风险度量指标关系图 库存风险 核心 VaR 在险价值 CVaR 条件在险价值 库存周转率 流动性指标 库存集中度 分散程度 VaR和CVaR衡量损失大小,周转率衡量流动性,集中度衡量分散程度 四个指标共同构成库存风险的完整画像

你看,VaR和CVaR是“损失维度”,告诉你亏多少;库存周转率是“流动性维度”,告诉你货动得快不快;库存集中度是“分散维度”,告诉你风险是否集中。四个指标合在一起,才能全面评估库存风险。

我的日常监控面板:

  • VaR(95%,1天):控制在总库存的5%以内
  • CVaR(95%,1天):控制在总库存的8%以内
  • 库存周转率:不低于5
  • 库存集中度HHI:不超过0.5

任何一个指标超标,我都会手动干预或者触发自动对冲。

好了,这一章的内容就这些。四个指标,每个都有它的用处,也都有它的局限。做市商的风险管理,说白了就是跟不确定性打交道。你永远无法消除风险,但你可以度量它、管理它。


专注资料整理