持仓成本

资金费用对不上:先核结算时点,再核仓位金额

资金费用差异要先区分线性与币本位合约、普通与股票除息特殊结算,再按历史费率、结算仓位和账户流水逐项核对。

资金费用对不上:先核结算时点,再核仓位金额

资金费用对不上时,先不要急着重算乘法。先回答三个问题:这是 U 本位线性合约还是币本位合约,是普通资金结算还是股票除息引起的特殊结算,账户流水对应的是哪一个结算时间。只要其中一项拿错,计算器按得再准确,也无法解释账单。

本文用于核对永续合约资金流水。所有数字例子均为教学假设,不是实际仓位、当前费率或收益展示。永续合约涉及杠杆、资金费用与强制平仓风险,核账不能代替风险管理。

先把差异分到正确路径

开始计算前,先给问题贴上四个标签:合约代码、合约结构、结算种类、结算时间。它们决定后面应该找什么证据。

看到的情况 先走哪条路径 容易拿错的材料
U 本位永续的常规资金费用 线性合约普通结算 开仓价、当前预计费率、当前仓位
币本位永续的常规资金费用 币本位公式与结算资产 直接照搬 USDT 名义价值公式
股票永续在除息附近出现额外记录 普通与特殊结算分流 把两条费率或两条流水合成一条
页面预计值与账单不同 查已结算历史费率 结算前截图
钱包余额变化与单笔费用不同 查账户资金流水 混入手续费、转账和已实现盈亏的余额差

公共资金费率历史说明市场在某个时点采用了什么费率;账户资金流水说明你的账户实际记了什么金额。两份材料用途不同。公共历史记录不能证明某个账户当时持有多少仓位,钱包总余额也不能证明某一条资金费用算错。

线性合约与币本位合约不能套同一算式

官方资金费率说明给出的总框架是:

资金费用 = 持仓名义价值 × 已结算资金费率

对 USDⓈ 本位线性合约,官方给出的名义价值关系为:

持仓名义价值 = 标记价格 × 合约数量

若具体产品另有合约乘数,账表还要按合约规格纳入乘数。这里使用的是结算时系统采用的标记价格,不是开仓成交价,也不是用户最初投入的保证金。“保证金 × 杠杆”只能描述某些简化场景,不能替代结算时仓位名义价值。

对常见的反向币本位合约,每张合约以报价货币面值计量。把合约乘数理解为每张的报价货币面值,用结算时标记价格换算后,名义价值以标的币计:

持仓名义价值 = 合约乘数 × 合约数量 ÷ 标记价格

这也是为什么同样的合约张数,在币价变化后用标的资产表示的资金费用会变化。核账时应读取该产品的合约乘数、结算资产与数量方向,不能把币本位结果当作 USDT 数字直接比较。若账单扣记 BTC,就保留 BTC 原值;需要折成法币或稳定币时,另列估值时点和换算价。

普通资金结算怎样还原

一笔普通资金费用至少涉及五项历史数据:结算时间、合约代码、结算时仓位数量、结算标记价格、已结算资金费率。多空方向决定支付或收取,账户流水中的正负号是最后的记账证据。

看一个教学例子。假设某 U 本位线性永续合约持仓数量为 0.25 枚,合约乘数按 1 处理,结算标记价格为 2,400 USDT/枚。结算前页面显示的预计费率为 0.008%,用预计值计算得到:

0.25 × 1 × 2,400 × 0.00008 = 0.048 USDT

到结算时,仓位数量与标记价格在这个假设中没有变化,但已结算费率变为 0.010%。若该仓位是支付方,结算金额为:

0.25 × 1 × 2,400 × 0.00010 = 0.060 USDT

差额为 0.060 - 0.048 = 0.012 USDT。这里没有隐藏费用,差异来自预计费率与已结算费率不同。若结算前还发生加仓、减仓或平仓,就必须把仓位数量也换成结算时点的数据。

普通资金费用通常按结算时的仓位收取。临近结算时点开仓或平仓时,不能只凭一张秒级截图判断是否应收取,应以平台最终处理结果为准,并把成交时间、仓位记录和资金流水放在同一条时间线上。

股票除息特殊结算怎样识别

股票永续仍是衍生品,不产生股东身份下的股息请求权;但适用的股票永续可能在标的股票除息时发生特殊资金结算。开发者市场数据文档把资金费率记录分成 RegularSpecial:前者是普通资金费率,后者对应股票分红造成的额外资金费率。特殊结算是合约调整产生的现金流,不能写成持有股票或收到股息。

排查时先按 symbolfundingTime 找公共费率历史,再看 rateType。若除息事件附近同时存在普通与特殊记录,就分别建两行,不把两种费率相加后套一次仓位。随后在账户资金流水中分别寻找对应金额和时间;实际支付或收取方向以官方记录和账户正负号为准。

以下只是账表结构示范。假设某股票永续在同一核对窗口有一条 Regular 记录和一条 Special 记录,账户流水分别显示 -0.30 USDT+1.20 USDT。应保留两行,合计净变动才是 +0.90 USDT。不能只保留净额,也不能把 +1.20 USDT 称为股票股息。若公共历史只有普通记录,账户却出现无法对应的第二条资金流水,应先扩大时间窗口和核对合约代码,不凭除息日期自行补造特殊费率。

想进一步分清直接股票、代币化股票与股票永续的权利关系,可参看股票产品区别。这里的重点只是:股票永续对账多了一条“是否存在 Special 结算”的分流。

历史费率与账户流水怎样匹配

最实用的做法是并排保留“市场事件表”和“账户流水表”。

市场事件表至少记录:

symbol,fundingTime,fundingRate,markPrice,rateType,结算间隔,来源

账户流水表至少记录:

symbol,incomeType,income,asset,time,tranId,账户范围,来源文件,核对状态

官方 U 本位合约市场数据文档提供资金费率历史中的时间、费率、标记价格和结算类型;账户文档的收入历史提供 incomeTypeincomeassettimetranId 等字段。筛选资金费用时使用 FUNDING_FEE,但不要把同一合约、同一时点出现的多条合理流水自动合并。tranId 应保留为流水定位信息,普通与特殊结算也要分别记录。

匹配顺序可按下面执行:

  1. 固定账户范围、合约代码和统一时区。
  2. 从市场历史取得目标结算点的 fundingRatemarkPricefundingTimerateType
  3. 从仓位或成交记录还原结算时点的实际持仓,不用当前仓位倒推。
  4. 从账户收入历史筛出 FUNDING_FEE,保留金额、资产、时间和 tranId
  5. 分别计算线性或币本位理论值,再与实际流水的绝对值和正负方向核对。
  6. 若时间相差很短,考虑结算处理时间;若相差一个完整周期,优先检查结算间隔或时区。

时区转换最好留下双列。fundingTime 和流水原始 time 保存为 UTC,旁边再生成本地时间供阅读;筛选和匹配始终使用 UTC 原值。假设结算点为 16:00 UTC,在新加坡显示为次日 00:00,若按本地日期分文件,就可能把同一事件拆到相邻两天。跨月对账尤其要先扩大一个结算周期取数,匹配完成后再按既定账期归档。截图上的倒计时只证明截图当时的页面状态,不能替代历史 fundingTime。若平台导出只显示到秒,而 API 时间为毫秒,可在账表中同时保留原始精度和用于人工阅读的格式化时间,避免同一结算事件因显示精度不同而匹配失败。

交易手续费另有成交编号、订单编号和扣费资产,适合用限价单逐笔手续费账表核对。不要拿成交手续费的去重键处理资金流水。

2026年9月10日调整说明了什么

“所有合约都每八小时结算”已经不能作为核账前提。币安公告确认,自 2026-09-10 08:15 UTC 起,部分 USDⓈ 本位 TradFi 永续合约的资金结算间隔从每八小时调整为每四小时,并同时调整相关费率上下限。公告列出的对象包括 MEITUANUSDT、KUAISHOUUSDT、GIGADEVUSDT、POPMARTUSDT、TENCENTUSDT、HK1810USDT、HK0700USDT、ZHIPUUSDT 与 MINIMAXUSDT。

这次已核事件的用途不是推断其他合约当前也为四小时,而是提醒对账者保存历史参数。今天的合约页面、当前 fundingIntervalHours 或默认 FAQ,不能直接覆盖 9 月 10 日调整前的账期。核历史费用时应使用当时有效的公告、结算间隔和已结算记录;若公告与一般 FAQ 对同一调整存在差异,该公告明确要求以通知为准。

提交核对前整理哪些材料

如果理论值仍与流水不符,按一个结算事件准备材料:

  • 合约代码与合约结构,注明 U 本位线性或币本位;
  • 目标 fundingTime、时区和当期结算间隔;
  • 历史 fundingRatemarkPricerateType
  • 结算前后的仓位数量与关键成交时间;
  • 账户流水的 incomeTypeincomeassettimetranId
  • 自己使用的公式、合约乘数与每一步中间值;
  • 普通结算和特殊结算是否已分行记录。

这组材料足以定位“时间错、仓位错、公式错、结算类型漏记或流水范围不全”。API 只是可选取数方式,不需要把 API 密钥交给本站;普通用户可使用官方界面和账户导出完成同样的证据整理。

资料来源与核验日期

本文于 2026-09-11 核验。下列资料分别用于核对通用计算规则、市场字段、账户流水字段和 9 月 10 日的具体调整。

作者:Tradecost 编辑部