第四章:库存管理——做市商的命门
做市商这行当,说白了就是赚买卖差价。但你想想看,如果手里囤了一堆货卖不出去,或者货不够卖,那还怎么玩?库存管理,就是解决这个问题的。
我个人习惯把库存管理比作开超市。进货太多,仓库堆不下,资金全压住了;进货太少,顾客来了没东西卖,白白流失生意。做市商也一样,库存管理不好,轻则赚不到钱,重则爆仓出局。
4.1 库存风险定义
库存风险,简单说就是持仓方向和市场走势相反带来的亏损风险。举个例子,你手里囤了100个ETH,结果ETH跌了5%,账面直接亏掉5%。这就是最直接的库存风险。
但库存风险远不止这么简单。我在项目中遇到过一种情况:某个小币种,流动性极差,我手里囤了2万个,结果市场突然暴跌,我想卖都卖不出去——因为买单太薄了。这种流动性风险,比价格波动更可怕。
库存风险可以拆成三个维度:
- 方向性风险:持仓方向与市场趋势相反。比如你做多,市场却跌了。
- 流动性风险:想平仓时发现对手盘不够,只能砸盘或拉盘。
- 资金占用风险:库存占用了大量资金,导致无法参与其他机会。
核心公式:库存风险 = 持仓量 × 价格波动率 × 流动性系数
这个公式我用了好几年。持仓量越大,波动率越高,流动性越差,风险就越大。三个因素乘在一起,效果是放大的。
4.2 库存平衡策略
库存平衡,就是让库存量维持在一个合理范围内。既不能太多,也不能太少。怎么做?我总结了三种主流策略。
4.2.1 目标库存法
设定一个目标库存量,比如100个ETH。当库存偏离目标时,通过调整报价来回归。
具体做法是这样的:
- 库存 > 目标:降低卖价,提高买价,鼓励卖出,抑制买入
- 库存 < 目标:提高卖价,降低买价,鼓励买入,抑制卖出
嗯,这里要注意。调整幅度不能太大,否则会被市场当成傻子。我一般用比例调整,比如偏离1%,报价偏移0.1个tick。
def adjust_price(base_price, inventory, target_inventory, sensitivity=0.1):
"""
根据库存偏离调整报价
sensitivity: 敏感度系数,越大调整越激进
"""
deviation = (inventory - target_inventory) / target_inventory
adjustment = deviation * sensitivity * base_price
bid_price = base_price - spread/2 - adjustment
ask_price = base_price + spread/2 - adjustment
return bid_price, ask_price
4.2.2 库存区间法
这个方法更灵活。设定一个库存区间,比如[50, 150]。在区间内,正常做市;超出区间,启动强平机制。
我曾经吃过这个亏。有一回库存到了180,我还觉得没事,结果行情反转,直接亏了20%。从那以后,我强制自己设了硬止损线。
| 库存状态 | 操作策略 | 报价调整 |
|---|---|---|
| 正常区间 [50, 150] | 正常做市 | 标准价差 |
| 偏高区间 (150, 200] | 主动去库存 | 卖价降低0.5%,买价提高0.3% |
| 过高区间 > 200 | 强制平仓 | 市价卖出50% |
| 偏低区间 [0, 50) | 主动补库存 | 买价提高0.5%,卖价降低0.3% |
| 过低区间 < 0 | 强制平仓 | 市价买入补回 |
4.2.3 动态对冲法
这个方法高级一点。不直接调整库存,而是用衍生品对冲。比如你囤了BTC,可以卖BTC期货来对冲价格风险。
动态对冲的核心是:保持Delta中性。什么意思?就是你的总持仓对价格变化不敏感。涨了不赚,跌了不亏,只赚做市商的买卖差价。
我的经验:动态对冲适合大资金做市商。小资金做动态对冲,手续费和滑点就能吃掉你所有利润。我刚开始做的时候,资金只有10万U,根本不敢碰对冲,老老实实用目标库存法。
4.3 库存指标监控
光有策略不行,还得监控。不监控,你都不知道库存什么时候出问题。我每天必看以下几个指标。
4.3.1 库存周转率
库存周转率 = 成交量 / 平均库存。这个指标告诉你,你的库存多久能轮换一遍。
周转率越高,说明库存流动性越好。我一般要求周转率不低于5。低于5,说明库存积压了,得想办法出货。
4.3.2 库存偏离度
库存偏离度 = (当前库存 - 目标库存) / 目标库存 × 100%。
这个指标简单直观。偏离度超过20%,我就开始警惕了。超过50%,直接启动强平机制。
4.3.3 库存成本均价
这个很多人忽略,但很重要。你手里的货,平均成本是多少?如果市场价低于成本价,那就是浮亏。
我记得有一次,我囤了一批山寨币,成本均价0.5U,结果市场跌到0.3U。我硬扛了两个月,最后割肉出局。教训就是:成本均价超过市场价20%,必须止损。
4.3.4 实时监控面板
我习惯用Python写一个实时监控面板,每秒钟刷新一次。核心指标包括:
监控指标清单:
1. 当前库存量(各币种)
2. 目标库存量
3. 库存偏离度(%)
4. 库存成本均价
5. 当前市场价格
6. 浮盈/浮亏(U)
7. 库存周转率(24h)
8. 风险等级(绿/黄/红)
避坑指南:我曾经只监控库存量,不看成本均价。结果库存量看起来正常,但成本均价已经远高于市场价,最后亏了一大笔。现在我的监控面板上,成本均价和浮盈浮亏是必选项。
4.4 实战中的库存管理流程
说了这么多,总结一下我每天的操作流程:
- 开盘前:检查各币种库存量,确认是否在目标区间内
- 盘中:每5分钟检查一次库存偏离度,超过阈值自动调整报价
- 收盘后:复盘库存变化,分析偏离原因,优化参数
- 每周:调整目标库存量,根据市场波动率变化
这个流程我用了三年,基本没出过大问题。当然,遇到极端行情,比如312那种暴跌,什么流程都没用,直接手动干预。
最后说一句:库存管理没有银弹。不同币种、不同市场环境,策略都要调整。我的建议是,先用模拟盘跑一个月,找到适合自己风格的参数,再上实盘。别一上来就梭哈,那是在给市场送钱。