第三章 库存管理模型:库存风险、库存成本、最优报价与库存水平的关系、Avellaneda-Stoikov模型简介
做市商的核心工作,说白了就是「低买高卖」赚差价。但这里有个很现实的问题——你手里囤的货怎么办?
我刚开始做市商那会儿,有次在ETH上挂了大量买单,结果行情突然跳水。我手里攥着一堆高位接盘的货,账面浮亏看得我心惊肉跳。那次之后我才真正意识到:库存管理,才是做市商的命门。
库存风险:你手里的货,就是你的风险敞口
库存风险,也叫存货风险。你想想看,做市商在市场上同时挂买单和卖单,本质上就是在「赌」价格不会剧烈波动。但市场哪会听你的?
库存风险主要来自三个方面:
- 价格波动风险:你手里囤了100个ETH,价格跌了5%,账面直接亏掉5%。这是最直接的损失。
- 流动性风险:行情不好的时候,你想平仓都平不掉。我记得2020年3月12日那天,很多做市商的止损单根本成交不了,因为市场深度直接消失了。
- 基差风险:现货和期货之间的价差变化,也会影响你的库存价值。这个在跨期套利里特别明显。
核心观点:库存风险的本质,是你把「流动性」换成了「存货」。你赚的是流动性溢价,但承担的是存货贬值的风险。
库存成本:不只是资金成本那么简单
很多人以为库存成本就是「借钱的利息」,其实远不止这些。我给大家拆解一下:
| 成本类型 | 说明 | 实际案例 |
|---|---|---|
| 资金成本 | 持仓占用的资金,如果借来的还要付利息 | 借USDT年化8%,持仓100万USDT,每天成本约219美元 |
| 机会成本 | 这笔钱如果不持仓,可以做其他交易赚更多 | 错过了一波趋势行情,少赚了3% |
| 滑点成本 | 平仓时因为市场深度不够,被迫接受更差的价格 | 想卖100个BTC,结果把价格砸下去0.2% |
| 管理成本 | 监控仓位、调整策略、风控的人力物力 | 需要专人盯盘,或者开发自动化系统 |
嗯,这里要注意:机会成本往往被新手忽略。我见过很多做市商,明明手里有更好的交易机会,但因为库存压着资金,只能眼睁睁看着行情走。
最优报价与库存水平的关系
这个问题很有意思。你想想看,如果你手里库存很多,你会怎么报价?
直觉上,库存多的时候,你应该降低卖单价、提高买单价,这样更容易卖出、更难买入,从而降低库存。反过来,库存少的时候,你应该提高卖单价、降低买单价,吸引更多买入。
但实际没那么简单。这里有个关键变量——你对未来价格的预期。
我的经验:库存管理不是简单的「多就卖、少就买」。你要结合市场趋势来判断。如果趋势向上,库存多点反而是好事;如果趋势向下,库存越少越好。
最优报价策略可以用一个简单的公式来表达:
最优卖单价 = 中间价 + 库存调整项 + 市场波动调整项
最优买单价 = 中间价 - 库存调整项 - 市场波动调整项
其中,库存调整项取决于你的目标库存水平和当前库存的差距。差距越大,调整幅度越大。
Avellaneda-Stoikov模型简介
说到库存管理模型,就不得不提Avellaneda-Stoikov模型。这是2008年由Marco Avellaneda和Sasha Stoikov提出的经典模型,现在很多做市商系统都在用。
这个模型的核心思想很简单:做市商应该根据库存水平动态调整报价。
模型假设做市商是风险厌恶的,有一个风险厌恶系数γ。库存偏离目标水平越远,报价偏移就越大。具体来说:
- 库存为正(手里有货):降低卖单价,提高买单价,鼓励卖出、抑制买入
- 库存为负(空头持仓):提高卖单价,降低买单价,鼓励买入、抑制卖出
- 库存为零:对称报价,赚取买卖价差
模型还考虑了时间因素。距离交易结束时间越近,做市商越急于平仓,报价调整幅度就越大。
模型核心公式:
最优报价偏移 = - (γ * σ² * (T - t) * q) / 2
其中:γ是风险厌恶系数,σ是波动率,T-t是剩余时间,q是当前库存
我在实际项目中用过这个模型。说实话,直接套用效果一般,因为市场条件太复杂了。但它的思想非常有用——把库存管理量化、系统化。
避坑指南:我曾经在波动率特别大的时候,把γ设得太高,结果报价偏移过大,频繁被套利者吃掉。后来我加了一个波动率自适应模块,才解决了这个问题。
知识体系总览
下面这张图,是我自己整理的库存管理知识体系。你可以把它当作一个思维导图来看:
这张图把库存管理的四个核心模块串起来了。你从中心往外看,每个模块都不是孤立的——库存风险影响成本,成本影响报价,报价又反过来影响库存水平。Avellaneda-Stoikov模型就是把这些关系量化了。
我个人觉得,做市商最难的还不是理解这些模型,而是在实战中找到适合自己的参数。每个市场的流动性、波动率、交易者行为都不一样,没有一套参数能通吃所有场景。
好了,这一章的内容就到这里。库存管理是个系统工程,需要你在实战中慢慢打磨。下一章我们会聊到更具体的做市策略,到时候再细说。