4、库存成本分析:持仓成本计算、资金费率影响、库存磨损模型
做市这行,说到底就是在跟成本赛跑。
你策略再牛,订单流再顺,只要库存成本控制不好,利润分分钟被吃掉。我见过太多团队,策略回测曲线漂亮得不行,一上实盘就亏钱。为什么?说白了,就是没算清楚库存成本这笔账。
今天咱们就把这块掰开揉碎,讲透。
4.1 持仓成本计算
持仓成本,不是简单的「买入价+手续费」。它是个动态值,会随着你的交易行为和市场变化不断漂移。
我个人习惯用「平均成本法」来算。但注意,这里的平均不是简单的算术平均,而是加权平均。
核心公式:
持仓成本 = (Σ 买入金额 + Σ 买入手续费 - Σ 卖出金额 + Σ 卖出手续费) / 当前持仓量
举个例子,你分三笔买入 BTC:
| 笔数 | 价格 (USDT) | 数量 (BTC) | 手续费 (USDT) |
|---|---|---|---|
| 第1笔 | 30000 | 1.0 | 30 |
| 第2笔 | 31000 | 0.5 | 15.5 |
| 第3笔 | 29500 | 0.8 | 23.6 |
总买入金额 = 30000*1 + 31000*0.5 + 29500*0.8 = 30000 + 15500 + 23600 = 69100 USDT
总手续费 = 30 + 15.5 + 23.6 = 69.1 USDT
总持仓量 = 1 + 0.5 + 0.8 = 2.3 BTC
持仓成本 = (69100 + 69.1) / 2.3 ≈ 30073.5 USDT
我的经验: 别只算买入成本。卖出时的费用同样要算进去。我在做ETH做市时,就因为忽略了卖出手续费,导致实际盈亏比预期差了0.3%。0.3%看似不多,但高频交易下,一年累积下来就是天文数字。
4.2 资金费率影响
永续合约的做市商,最头疼的就是资金费率。这东西,说白了就是多头和空头之间互相支付的「租金」。
资金费率 = 溢价指数 × 资金费率间隔
当市场看多情绪浓烈时,资金费率为正,多头要付钱给空头。反之亦然。
你想想看,如果你做市时持有了大量多头仓位,而资金费率持续为正,那你每天都要往外掏钱。这可不是小数目。
避坑指南: 我曾经在2021年牛市期间,因为忽略了资金费率,导致一个月的做市利润被资金费率吃掉了一半。从那以后,我养成了一个习惯:每次部署策略前,先算资金费率对库存成本的影响。
怎么算?很简单:
每日资金成本 = 持仓名义价值 × 当前资金费率 × 结算次数
假设你持有100 ETH的多头仓位,ETH价格2000 USDT,资金费率0.01%,每天结算8次:
每日成本 = 100 × 2000 × 0.0001 × 8 = 160 USDT
一个月就是4800 USDT。嗯,这里要注意,如果资金费率方向对你有利,这也可以是收入。
4.3 库存磨损模型
库存磨损,是做市商最隐蔽的成本。它不像手续费那么直观,也不像资金费率那样定期结算,但它实实在在存在。
说白了,就是你为了维持做市,不得不持有库存,而库存本身会随着时间产生价值损耗。
库存磨损主要来自三个方面:
- 价差磨损: 你买入和卖出之间存在价差,这个价差就是你的成本。做市商赚的就是这个价差,但如果库存周转太慢,价差收益覆盖不了其他成本,你就亏了。
- 波动磨损: 市场剧烈波动时,你的库存价值会大幅波动。比如你库存里有1000个UNI,价格突然暴跌10%,你的库存价值瞬间蒸发。虽然你做了对冲,但完全对冲是不可能的。
- 时间磨损: 库存持有时间越长,暴露的风险越大。资金费率、机会成本、甚至黑客攻击风险,都和时间成正比。
库存磨损模型公式:
总磨损 = 价差磨损 + 波动磨损 + 时间磨损
其中:
价差磨损 = 平均买卖价差 × 库存周转率
波动磨损 = 库存价值 × 波动率 × 风险敞口系数
时间磨损 = 库存价值 × 资金费率 × 持有时间
我建议你把这三个维度做成一个仪表盘,实时监控。当总磨损超过预期收益的某个阈值时,就该考虑减仓或者调整策略了。
我的建议: 别把库存磨损当成一个静态值。市场环境在变,你的库存结构也在变。我每周都会跑一次回测,看看过去一周的实际磨损和模型预测的偏差有多大。如果偏差超过5%,我就会检查是不是模型参数需要调整了。
最后说一句,库存成本分析不是一次性工作。它应该嵌入到你的做市引擎中,实时计算、实时预警。只有这样,你才能在市场变化时第一时间做出反应,而不是事后才发现利润被悄悄吃掉了。