第六章 库存风险管理
做市商这行,说白了就是赚买卖差价的钱。但你想想看,如果手里囤了一大堆货卖不出去,或者空仓被逼着交割,那点差价根本不够赔的。库存风险,就是做市商最大的敌人。
我个人习惯把库存管理比作开超市。进货太多,货架堆满了,资金全压在上面;进货太少,顾客来了没东西卖,白白流失生意。做市商也一样,库存管理做不好,赚再多手续费也是白搭。
6.1 库存指标计算
先说说几个核心指标。这些是我每天必看的,就像开车要看油表一样。
| 指标 | 公式 | 说明 |
|---|---|---|
| 净库存 | 多头持仓 - 空头持仓 | 正数表示净多头,负数表示净空头 |
| 库存价值 | 净库存 × 当前市价 | 按市价计算的持仓总价值 |
| 库存比率 | 库存价值 / 总资产 | 衡量风险暴露程度 |
| 库存成本 | 加权平均买入价 | 计算盈亏的基准 |
嗯,这里要注意。净库存这个指标,很多人只看绝对值。我在项目中遇到过,某个交易员持仓量很大,但多空对冲后净库存其实很小。这种时候,净库存比总持仓更有参考价值。
核心观点:库存管理的本质不是消除库存,而是把库存控制在可承受范围内。
6.2 库存对冲方法
对冲,说白了就是找另一个品种来抵消风险。我常用的方法有几种:
- 期货对冲:持有现货多头,做空相应期货合约。这是最经典的做法。
- 期权对冲:用期权来保护极端行情。成本高一些,但灵活性更好。
- 跨品种对冲:比如做多BTC,做空ETH。前提是两者相关性高。
- 时间对冲:利用不同到期日的合约来平滑风险。
我曾经犯过一个错误。当时做ETH的做市,库存积累了不少多头。我图省事,直接做空了同等数量的ETH期货。结果第二天ETH现货因为某个利好大涨,期货却因为资金费率问题没跟上。嗯,那一次亏得挺惨。后来我学乖了,对冲时一定要考虑基差和资金费率。
个人经验:对冲不是越复杂越好。简单的期货对冲,只要控制好比例和时机,效果往往比花里胡哨的策略好。
6.3 库存均值回归策略
这个策略的核心假设是:库存偏离正常水平后,最终会回归。你想想看,市场不会永远朝一个方向走,做市商的库存也不会永远偏一边。
具体做法是这样的:
- 设定一个目标库存水平,比如净库存为0
- 当实际库存偏离目标时,调整报价偏向
- 库存偏多时,降低卖价、提高买价,鼓励卖出
- 库存偏少时,提高卖价、降低买价,鼓励买入
代码实现其实不复杂:
def adjust_quote(net_inventory, target_inventory, base_spread):
deviation = net_inventory - target_inventory
# 库存偏离越大,报价偏移越狠
offset = deviation * 0.001 # 系数根据市场波动调整
bid_price = mid_price - base_spread/2 + offset
ask_price = mid_price + base_spread/2 + offset
return bid_price, ask_price
这个策略的关键在于系数怎么设。设大了,报价波动太剧烈,容易被套利者盯上;设小了,库存回归太慢。我个人习惯先用历史数据回测,找到最优参数。
避坑指南:我曾经把系数设得太大,结果在趋势行情里,库存越调越偏。记住,均值回归策略在震荡市里好用,在单边市里就是灾难。
6.4 库存上限与清算机制
不管策略多好,总会有失控的时候。所以必须设硬性上限。这就像开车,技术再好也得系安全带。
我一般设三层限制:
| 层级 | 触发条件 | 处理方式 |
|---|---|---|
| 警告线 | 库存比率 > 30% | 发出警报,人工确认 |
| 止损线 | 库存比率 > 50% | 强制平仓一半 |
| 清算线 | 库存比率 > 70% | 全部平仓,暂停交易 |
清算机制的执行要坚决。我记得有一次,某个交易员库存到了止损线,他跟我说「再等等,马上就能回来」。我没听他的,直接执行了强制平仓。结果第二天市场暴跌,那个品种跌了20%。他后来请我吃了顿饭,说救了他一命。
嗯,这里有个细节。清算不是简单的一键平仓,要考虑市场深度。如果库存太大,直接砸盘会造成更大的滑点损失。我通常的做法是:
- 拆分成小单,分批执行
- 优先用流动性好的交易对
- 如果时间允许,用冰山订单隐藏意图
最后说一句:库存风险管理,说到底就是三个字——守纪律。指标算得再准,策略设计得再好,执行不到位全是白搭。我见过太多人,明明触发了清算线,还抱着侥幸心理,最后爆仓出局。
总结一下:库存风险管理不是一锤子买卖,而是一个动态调整的过程。指标是眼睛,对冲是手脚,均值回归是策略,上限清算就是最后的保险。四者缺一不可。