库存风险度量指标: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(95%,1天):控制在总库存的5%以内
- CVaR(95%,1天):控制在总库存的8%以内
- 库存周转率:不低于5
- 库存集中度HHI:不超过0.5
任何一个指标超标,我都会手动干预或者触发自动对冲。
好了,这一章的内容就这些。四个指标,每个都有它的用处,也都有它的局限。做市商的风险管理,说白了就是跟不确定性打交道。你永远无法消除风险,但你可以度量它、管理它。