永续合约回测只在平仓时扣资金费,会漏掉什么风险?

 / 
3

回测里"只在平仓时扣一次资金费",最直接的后果是把一笔路径依赖的持续现金流,压成了一个不随持仓时间变化的固定成本。它漏掉的核心风险不是"少算了一点手续费",而是策略的盈亏结构被扭曲了:一笔持仓 2 小时和持仓 20 小时、跨越 0 个还是 6 个结算点,在真实账户里的资金费支出可以差出数倍,而在这种回测里它们看起来完全一样。

欧易OKX交易所
全球领先的加密货币平台,适合新手与进阶交易者
新手福利:注册即享20% 交易手续费减免!

资金费是离散结算,不是连续计提

永续合约的资金费在固定时间点结算。币安和 OKX 的 USDT 永续默认每 8 小时一次(00:00、08:00、16:00 UTC),部分合约可能缩短为 1、2 或 4 小时。关键规则是:只有在结算时刻恰好持有仓位,才需要支付或收取资金费。在 08:00 结算前平仓,这一期就不用付;在 08:00 后一秒开仓,这一期也与你无关。

"只在平仓时扣一次"的回测,通常是用一个日均费率或单次费率乘以持仓名义价值,在交易结束时一次性扣除。这会带来两个方向的错误:

持仓跨过多个结算点,费用被严重低估。 假设你用 10,000 USDT 名义价值做多,资金费率每 8 小时 +0.01%。持有 24 小时跨过 3 个结算点,真实支出是 3 × 10,000 × 0.01% = 3 USDT。如果回测只在平仓时扣一次 0.01%,它记录的支出是 1 USDT。持有 3 天,真实支出 9 USDT,回测仍然只扣 1 USDT。持仓时间越长,低估越严重。在资金费率偏高的时期,这种误差可以大到改变策略的盈亏判断——一个在回测里"微利"的趋势跟踪多头策略,扣掉真实的累计资金费后可能变成亏损。

持仓未跨过结算点,费用被凭空多扣。 如果你做的是日内策略,开仓在 00:30、平仓在 07:30,真实资金费为零。但"平仓时扣一次"的回测会错误地扣掉一笔费用,让高频或短持仓策略的表现被系统性压低。

路径依赖:同样的开平仓价格,不同的盈亏

资金费是路径依赖的现金流。两笔交易即使开仓价和平仓价完全相同,如果一笔持有期间跨过了高正费率的结算点,另一笔跨过的是低费率或负费率的结算点,最终净盈亏可以完全不同。

"只在平仓时扣一次"的回测抹掉了这个维度。它让所有同方向、同名义价值的交易看起来承担了相同的资金费成本,无论它们实际经历了什么样的费率路径。对于持仓时间不固定的策略(比如趋势跟踪、突破策略),这会让回测无法区分"在低费率窗口持有的盈利单"和"在高费率窗口死扛的亏损单",而这两者在实盘中是完全不同的交易。

费率本身在变,固定值假设会失效

资金费率由溢价指数和利率共同决定,随市场多空拥挤程度浮动。在趋势行情中,正费率可能从基准的 0.01% 升到 0.05% 甚至更高;在暴跌中可能转为负值。如果回测用一个固定的"平仓时扣一次"的费率,它无法反映费率反转对策略的影响。

一个具体的场景:你做多,持仓期间费率从 +0.01% 转为 -0.01%。真实情况下,后半段你从"支付资金费"变成"收取资金费",净成本可能远低于按固定正费率估算的结果。反过来,在牛市拥挤的多头行情中,费率可能持续处于高位,固定低费率假设会严重低估持仓成本。对于依赖资金费作为收益来源的策略(如资金费套利),这种建模方式更是完全失效——套利策略的核心收益就是逐次结算的资金费收入,只扣一次的逻辑把它变成了一个无法评估的东西。

回测应该怎么扣

正确的做法是按结算时间戳逐次处理,而不是按平仓事件一次性处理。

在回测引擎中,维护一条资金费结算时间线。在每个结算时刻,检查当时是否有未平仓仓位。如果有,用当时的名义价值和该结算时刻的实际费率计算现金流:正费率时多头支出、空头收取;负费率时反向。费用或收入立即计入权益曲线,而不是等到平仓时才体现。

需要区分的是费率口径。币安界面显示的资金费率是"过去 8 小时溢价指数的估算",用于下一次结算的参考,不是已经发生的费率。回测应该使用每个结算时刻实际执行的费率历史数据,而不是界面上的估算值或日均值。不同交易所、不同合约的结算周期和费率可能不同,跨交易所策略不能混用同一套费率序列。

一个简化但仍有缺陷的做法是"按持仓小时数 × 每小时等效费率"连续计提。这比"平仓扣一次"更接近真实成本,但会引入新的误差:它把离散的结算点平滑化了,无法准确反映"恰好跨过 08:00 一秒就要付整期费用"的阶跃效应。对于持仓时间以小时或天计的策略,阶跃效应是真实存在的,连续计提会低估短持仓跨过结算点时的成本冲击,也会高估未跨过结算点时的成本。

我的判断是:如果你在评估一个持仓时间可能超过 8 小时的永续策略,"平仓扣一次"的回测结果不具备参考价值。持仓时间越长、费率波动越大,这个错误对结论的污染越严重。在跑任何永续回测之前,先确认引擎是否按结算时间戳逐次处理资金费,并使用了与交易场所匹配的实际历史费率序列。如果没有,先修引擎,再看结果。

欧易OKX交易所
全球领先的加密货币平台,适合新手与进阶交易者
新手福利:注册即享20% 交易手续费减免!

参考资料

  1. 币安永续合约资金费说明 
  2. OKX永续合约资金费机制说明 
  3. 回测中资金费的重要性研究 
  4. 永续合约回测资金成本相关文章 
  5. 比特币永续资金费率分析 
  6. 历史资金费率回测相关教程 
  7. rustrade回测框架资金费结算说明