3. 库存成本分析:持仓成本计算与库存持有成本模型
做市商的核心利润来源,说白了就是买卖价差。但很多人忽略了一个关键问题——你赚的价差,够不够覆盖你持仓的成本?
我见过不少交易员,账面看着盈利,一算资金成本,其实是亏的。嗯,今天我们就来拆解一下,库存成本到底由哪些部分构成。
3.1 持仓成本的三个维度
持仓成本不是单一概念。我个人习惯把它拆成三块:
- 资金成本——你占用资金要付的利息
- 交易成本——手续费、滑点这些直接支出
- 冲击成本——大单进场时,把价格推高或砸低的那部分损失
这三块加在一起,才是你真正的持仓成本。少算一个,都可能让你亏得不明不白。
3.2 资金成本计算
资金成本是最容易被低估的部分。尤其是做高频做市的人,觉得持仓时间短,利息无所谓。但你想想看,如果每天周转10次,年化资金成本可能吃掉你20%的利润。
计算公式很简单:
资金成本 = 持仓市值 × 资金利率 × 持仓时间
举个例子:
| 参数 | 数值 |
|---|---|
| 持仓市值 | 100万 USDT |
| 年化资金利率 | 5% |
| 持仓时间 | 7天 |
| 资金成本 | 100万 × 5% × 7/365 ≈ 959 USDT |
我在项目中遇到过,有人做BTC做市,持仓市值500万,年化利率8%,持仓3天。算下来资金成本是3287 USDT。他当时觉得「就三天,能有多少」,结果一算账,利润全被利息吃掉了。
3.3 交易成本计算
交易成本包括两部分:
- 手续费——交易所收的,一般是万分之几
- 滑点——你下单时,成交价和预期价之间的差额
我习惯这样算:
交易成本 = 成交金额 × (手续费率 + 平均滑点率)
举个例子:
| 参数 | 数值 |
|---|---|
| 成交金额 | 50万 USDT |
| 手续费率 | 0.04% |
| 平均滑点率 | 0.02% |
| 交易成本 | 50万 × (0.04% + 0.02%) = 300 USDT |
这里有个坑——滑点率不是固定的。市场流动性好的时候可能只有0.01%,流动性差的时候能到0.1%甚至更高。我曾经在某个小币种上吃过亏,以为滑点只有0.03%,结果实际成交滑了0.15%,那一单直接亏了750 USDT。
3.4 冲击成本计算
冲击成本是大单交易特有的。你想想看,如果你要买10个BTC,盘口只有2个BTC的卖单,你剩下的8个BTC会把价格推高多少?
冲击成本的计算公式:
冲击成本 = 实际成交均价 - 下单时的最优价格
或者用相对值:
冲击成本率 = (实际成交均价 - 最优价格) / 最优价格 × 100%
举个例子:
| 参数 | 数值 |
|---|---|
| 最优卖价 | 30000 USDT |
| 实际成交均价 | 30120 USDT |
| 冲击成本 | 120 USDT/个 |
| 冲击成本率 | 0.4% |
冲击成本跟订单大小、市场深度直接相关。我一般用这个经验公式估算:
冲击成本 ≈ 订单量 / 市场深度 × 价差宽度
比如订单量是10个BTC,市场深度(前10档)是50个BTC,价差宽度是0.1%,那么冲击成本大约是:10/50 × 0.1% = 0.02%。
3.5 库存持有成本模型
把上面三块整合起来,就是库存持有成本模型。我个人习惯用这个公式:
库存持有成本 = 资金成本 + 交易成本 + 冲击成本
更完整的表达:
库存持有成本 = 持仓市值 × 资金利率 × 持仓时间
+ 成交金额 × (手续费率 + 滑点率)
+ 订单量 / 市场深度 × 价差宽度 × 持仓市值
这个模型的核心价值在于——它能告诉你,你的做市策略到底能不能赚钱。
举个例子:
| 成本项 | 金额(USDT) |
|---|---|
| 资金成本(7天,5%年化) | 959 |
| 交易成本(手续费+滑点) | 300 |
| 冲击成本 | 200 |
| 总持有成本 | 1459 |
如果你的做市策略在这7天里只赚了1000 USDT的价差,那其实是亏的。因为你付出了1459 USDT的成本。
3.6 成本模型的可视化
下面这张图,是我自己画的一个库存持有成本结构图。你可以看到,三个成本项在不同持仓规模下的变化趋势。
从图上可以明显看出:
- 资金成本是线性增长的,持仓越大,利息越多
- 交易成本是阶梯式的,每突破一个流动性阈值,成本跳一档
- 冲击成本是指数增长的,大单的边际成本越来越高
- 总持有成本在持仓规模较小时主要由资金成本主导,规模大了冲击成本占大头
3.7 实战中的成本控制技巧
说了这么多理论,来点实际的。我总结了几条经验:
- 控制持仓时间——资金成本跟时间成正比。能隔夜平仓就别持仓过周末。我见过有人周末持仓,结果周一开盘跳空,资金成本加上价差损失,一天亏了半个月的利润。
- 分散交易——大单拆成小单,降低冲击成本。我曾经试过,一个100 BTC的单子,一次性成交冲击成本0.3%,拆成10笔每笔10 BTC,冲击成本降到0.08%。
- 选对交易所——不同交易所的手续费率、深度都不一样。做市商应该选深度好、费率低的交易所。别为了省0.01%的手续费,去一个深度差10倍的交易所,那得不偿失。
- 动态调整——市场波动大的时候,价差宽,冲击成本高。这时候应该降低持仓规模。市场平稳的时候,可以适当放大。
3.8 避坑指南
最后,分享几个我踩过的坑:
- 别忽略隐性成本——资金成本、冲击成本都是隐性的,不像手续费那么直观。但它们的总和往往比手续费大得多。
- 别用静态数据算成本——市场是动态的。利率、深度、波动率都在变。我建议每小时更新一次成本估算。
- 别只看单笔成本——做市商是高频交易,单笔成本可能只有几块钱,但一天几千笔,累积起来就是大数字。一定要算总账。
我曾经在一个项目里,用静态利率算成本,结果市场突然加息,资金成本翻了一倍。那一周我亏了6万 USDT。从那以后,我再也不敢用静态数据了。
库存成本分析,说白了就是算清楚你到底在赚什么钱。算明白了,你才能知道什么时候该做,什么时候不该做。
公众号:蓝海资料掘金营,微信deep3321