Skip to main content
永续合约永不到期,把期货价格拉回现货的那套机制也就跟着没了。顶上来的是资金费率:市场两侧之间的周期性支付,金额定得让拥挤的那一边掏钱给另一边。 资金费是交易者之间的事。交易场所一分不抽——这边付出多少,那边就收到多少;两边总额对不上,结算直接被拒。

方向

结果就是拥挤的那一边一直被拖着。多头仓位熬过一段持续溢价,价格哪怕不动,也在持续失血——这正是设计意图。没有它,热门方向上的杠杆只会越堆越高,最后不是慢慢释放,而是剧烈出清。

你付多少

资金费=仓位数量×标记价格×资金费率\text{资金费} = \text{仓位数量} \times \text{标记价格} \times \text{资金费率} 仓位价值按结算那一刻的标记价格算,不是指数价格,也不是最新成交价。标记价格更难被推动;用它,就意味着有人赶在整点前几秒打一笔成交,也改不了资金费的金额。

费率是怎么算出来的

每区块深度加权买卖价对比指数价格
每 5 秒取该窗口中各区块的中位数
每个结算周期取样本均值
叠加利率分量限幅 ±0.05%
按周期摊分,再限幅按该市场自己的费率上下限
资金费率
挂一笔报价推不动它——你得在远离指数的位置摆上真实深度,而谁都可以来跟你成交
单个异常区块左右不了这个样本
单个五秒窗口左右不了这个周期
利率项有界,因此不会反过来主导费率
每个市场公布自己的上限
在交易者之间支付。交易场所一分不抽,两边总额对不上,结算直接被拒。
费率是怎么算出来的
每一层堵住什么
订单簿和你实际支付的费率之间隔着三层平均。每一层堵住的是一条不同的攻击路径。

溢价指数

溢价衡量的是合约成交价离指数价格有多远——但不是拿中间价去比,中间价只要买卖两边各挂一笔报价就能轻易推动。 它用的是深度加权价格:拿一笔既定规模的资金去扫单,实际能拿到的平均价格。这笔规模叫冲击名义额,由该市场的最大杠杆推出来,所以允许开大仓位的市场,探到的深度也相应更深。 P=max⁡(0,  深度加权买价−指数价格)  −  max⁡(0,  指数价格−深度加权卖价)指数价格P = \frac{\max(0,\; \text{深度加权买价} - \text{指数价格}) \;-\; \max(0,\; \text{指数价格} - \text{深度加权卖价})}{\text{指数价格}} 两边各带一个 max⁡(0,⋅)\max(0,\cdot),意思是:只要指数价格落在深度加权买卖价之间,溢价就是零。只有真正朝一个方向偏出去的订单簿才算数。 想推动这个数,挂一笔订单没用——你得在远离指数的位置摆上真实深度,而这些深度谁都可以来跟你成交。

采样与平均

溢价每个区块算一次,再按窗口取各区块的中位数,每五秒归成一个值。这里同样用中位数,不用均值:单个异常区块左右不了这个样本。 一个结算周期的费率,是整个周期内这些五秒样本的算术平均——一小时里共 720 个。 采样有有效性条件。买卖盘交叉、任一侧只剩三档或更少、指数价格陈旧超过十秒——碰上这三种,这个区块的溢价直接跳过。它们都属于市场失效状态;把它们喂进资金费率,等于让一次故障变成一笔收费。 资金费只在一种情况下跳过:实际采到的样本不足预期数量的 20%——对一小时的市场来说,就是 720 个里不到 144 个。没到这一步,周期就按已经采到的那些样本照收。门槛定得这么低是有意的:它要拦下的是几乎没测到的周期,而不是替测得不够完美的周期开脱。

利率分量与限幅

F8h=Pˉ+clamp⁡ ⁣(I−Pˉ,  −0.05%,  +0.05%)F_{8h} = \bar{P} + \operatorname{clamp}\!\left(I - \bar{P},\; -0.05\%,\; +0.05\%\right) 费率按八小时口径报出,一次结算收的是该市场的周期长度在其中占的那一份: F=F8h×周期秒数28,800F = F_{8h} \times \frac{\text{周期秒数}}{28{,}800} Ffinal=clamp⁡ ⁣(F,  Fmin⁡,  Fmax⁡)F_{\text{final}} = \operatorname{clamp}\!\left(F,\; F_{\min},\; F_{\max}\right) 周期长度按市场配置,而且只允许六个取值:30 分钟、1、2、4、8 或 24 小时。所以一小时的市场每次结算收八小时费率的八分之一;八小时的市场一次收满。 估算持仓成本时,最常算错的就是这一步。一小时的市场上,报出来的 0.01% 费率,每次结算实收 0.00125%,不是 0.01%——一整天下来是 0.03%,不是 0.24%。 利率分量反映的是交易对两种货币之间的持有成本。它是按市场设定的常数,以 default_funding_rate_ppm 按八小时口径公布。 横盘行情里想估算单纯持仓要花多少钱,要找的就是这个数:溢价为零时,费率就落在这个利率常数上,再按周期长度折算。请从你所在市场的合约规格里读它,别凭假设取值。外面那层限幅框住了它最多能把费率从溢价实测值拉开多远——所以强趋势行情里由溢价说了算,横盘行情里利率项定一个较小的基线。 最后,结果还要被限制在一组上下限之内,这组上下限按市场配置,上市时就定好:
这些上限可以按市场收紧或放宽;极端行情下也可能调,好用更大的力把跑偏的合约推回指数附近。各市场的当前取值发布在自己的合约规格里——见市场。

结算

资金费在每个周期的第一个区块结算——通常是每小时整点。周期长度可按市场配置。 结算是原子的:要么在一个执行步骤里作用到该市场的每一个仓位,要么完全不生效。它是区块执行内部的一个清算所阶段,不是外部的扫描任务,所以不存在“一部分账户扣了、另一部分还没扣”的时间窗口。 每次结算之后都核对总额。多头付出的和空头收到的对不上,这笔交易就回滚并告警,而不是留下一本对不平的账。
只有在结算区块那一刻还持着仓,才会被收资金费。提前一分钟平掉,一分不付;提前一分钟开仓,要付整整一个周期。这不按时间折算——以为资金费按秒累积的人,常在这里吃亏。

实践中的含义

  • 打算持仓跨过结算点,先看一眼费率:当前费率和距下次结算的倒计时都在交易界面上,API 也能取到。
  • 费率高本身就是信息:资金费一直很贵,说明市场在你这一侧拥挤,而这也正是容易发生强制出清的状态。
  • 资金费是成本,不是手续费:钱进的是其他交易者的口袋,和流向协议的交易手续费是两回事。

实时取值从哪里读

本页的每一个数字都是链上的按市场配置,不是协议常量。驱动它们的参数: 它们发布在各市场的合约规格里,也可以直接从链上读。集成如果把它们写死,迟早会算出一个网络并没有在用的数字——见开发者。

后续阅读

标记价格

资金费金额所依据的价格。

指数价格

溢价所参照的现货基准。

市场

各市场的资金费周期与费率上限。

手续费

协议收取的部分,区别于你付给其他交易者的部分。