某个永续合约显示,每 8 小时的资金费率为 0.01%。你做空它,同时买入现货对冲,预计每天能收取约 0.03%。然而回测结果却是亏损。
这个结果可能没错。资金费率是特定时点多空持仓者之间的一笔付款,并非任何注意到它的人都能保证拿到的每日利息。为了弄清原因,我们来拆解一个刻意简化的例子:持有一笔价值 $10,000 的 delta 中性 BTC 套利仓位 24 小时。
信号:0.01% 只是一个快照
假设策略在 00:00 UTC 观察到预测资金费率为正的 0.01%。在这个交易场所,资金费在 00:00、08:00 和 16:00 UTC 结算。策略决定做空永续合约,并买入等值现货。
这个预测估算的是下一次结算,并不保证 3 次结算都按这个费率支付。资金费率可能在计算付款金额前发生变化。如果回测把 0.01% 原封不动地沿用下去,就等于假设一次观测会带来 3 笔付款。
| 输入项 | 本例中的假设 | 回测所需数据 |
|---|---|---|
| 观测到的费率 | 00:00 时为 0.01% | 决策时已知的准确费率 |
| 结算时间 | 00:00、08:00、16:00 UTC | 交易场所的实际安排和结算记录 |
| 持仓时间点 | 订单在 00:00 之后刚刚成交 | 该仓位是否符合本次结算条件 |
| 后续费率 | 入场时未知 | 每个费率应按其实际可用时间记录,而非采用今天看到的最终历史数据 |
如果在 00:00 截止时间之后入场,仓位可能只能收到 08:00 和 16:00 的付款。按假设的费率计算,这两笔合计为 $2,而不是 $3。如果之后两次结算前费率降至 0.002%,付款总额就只有 $0.40。
对冲:美元金额相同,不代表敞口相同
一笔 $10,000 的永续合约空头与 $10,000 的现货组合,只有在用于确定仓位规模的价格和数量下才是 delta 中性。对于线性 BTC 合约,用 0.1 BTC 空头对冲 0.1 BTC 现货是一个实用的起点。如果策略按美元价值确定两条腿的规模,而其中一条腿以不同价格成交,就会留下残余敞口。
即使只持有一天,这部分残余敞口也很重要。BTC 变动 0.2%,未对冲的 $10,000 敞口就会产生 $20 的盈亏,是本例 $3 最高资金费收益的好几倍。再平衡可以缩小敞口,但每次再平衡都会增加交易、手续费和滑点。我见过一些整齐漂亮的套利收益曲线,建立在入场时精确对冲、第一次价格变动后却不复存在的假设上。
付款:计入正确账户和正确方向
假设空头在 3 次结算时都收到资金费。每次费率为 0.01%,总毛收入为 $3。回测应复现交易场所的正负号约定:正费率通常意味着多头付给空头,但具体约定和产品细节应以合约说明为准。
资金费通常按结算时的仓位价值计算。如果 BTC 价格变动,名义价值也会变化,美元付款金额随之改变。忽略这些变化,固定计入 3 次、每次 $1 的收入;使用入场名义价值对短期持仓或许是可以接受的近似,但应明确标注并量化其误差。
一轮交易:两条腿,4 笔成交
假设在每个交易场所,每笔 taker 成交的费用为 5 个基点。开仓和平仓都涉及两条腿,因此每条腿价值 $10,000 时,往返费用约为 $20:每条腿开仓 $5,平仓再花 $5。这还没算价差和市场冲击。如果现货采用 maker、期货采用 taker,费用会有所不同,但回测需要证据证明 maker 订单确实能够成交。
这个算术刻意保持简单。即使 3 笔付款都按公布的费率到账,这笔为期一天的交易在计入执行质量之前也会亏损 $17。手续费折扣、更长的持仓时间或更有利的资金费率可能改变结果,但每一项也都会改变正在测试的策略。
退出:回测必须计入离场成本
资金费策略往往在回测于有利行情开始时入场、在行情结束时离场的情况下显得最强。现实中,信号可能转为负值,基差可能扩大,而退出订单仍需要实际成交。临近退出时的一笔负资金费,可能抵消此前好几笔收入。
应对平仓制定明确的决策规则,并按策略有可能获得的价格计入两条腿的平仓成本。分别按结算记录资金费,按成交记录手续费,并单独追踪对冲留下的价格敞口。这样的拆分能告诉你,交易失败是因为套利收益消失、执行成本过高,还是对冲不再中性。
正的资金费率快照是有用的输入,但它不是盈亏预测。只有每笔付款都有时间戳、每条腿都计入执行成本,而且策略经得起持仓过程中看似平淡的算术检验,回测才值得信任。
← 全部文章


