持仓成本
资金费用对不上:先核结算时点,再核仓位金额
资金费用差异要先区分线性与币本位合约、普通与股票除息特殊结算,再按历史费率、结算仓位和账户流水逐项核对。
资金费用对不上时,先不要急着重算乘法。先回答三个问题:这是 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。这里没有隐藏费用,差异来自预计费率与已结算费率不同。若结算前还发生加仓、减仓或平仓,就必须把仓位数量也换成结算时点的数据。
普通资金费用通常按结算时的仓位收取。临近结算时点开仓或平仓时,不能只凭一张秒级截图判断是否应收取,应以平台最终处理结果为准,并把成交时间、仓位记录和资金流水放在同一条时间线上。
股票除息特殊结算怎样识别
股票永续仍是衍生品,不产生股东身份下的股息请求权;但适用的股票永续可能在标的股票除息时发生特殊资金结算。开发者市场数据文档把资金费率记录分成 Regular 与 Special:前者是普通资金费率,后者对应股票分红造成的额外资金费率。特殊结算是合约调整产生的现金流,不能写成持有股票或收到股息。
排查时先按 symbol 和 fundingTime 找公共费率历史,再看 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 本位合约市场数据文档提供资金费率历史中的时间、费率、标记价格和结算类型;账户文档的收入历史提供 incomeType、income、asset、time、tranId 等字段。筛选资金费用时使用 FUNDING_FEE,但不要把同一合约、同一时点出现的多条合理流水自动合并。tranId 应保留为流水定位信息,普通与特殊结算也要分别记录。
匹配顺序可按下面执行:
- 固定账户范围、合约代码和统一时区。
- 从市场历史取得目标结算点的
fundingRate、markPrice、fundingTime与rateType。 - 从仓位或成交记录还原结算时点的实际持仓,不用当前仓位倒推。
- 从账户收入历史筛出
FUNDING_FEE,保留金额、资产、时间和tranId。 - 分别计算线性或币本位理论值,再与实际流水的绝对值和正负方向核对。
- 若时间相差很短,考虑结算处理时间;若相差一个完整周期,优先检查结算间隔或时区。
时区转换最好留下双列。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、时区和当期结算间隔; - 历史
fundingRate、markPrice、rateType; - 结算前后的仓位数量与关键成交时间;
- 账户流水的
incomeType、income、asset、time、tranId; - 自己使用的公式、合约乘数与每一步中间值;
- 普通结算和特殊结算是否已分行记录。
这组材料足以定位“时间错、仓位错、公式错、结算类型漏记或流水范围不全”。API 只是可选取数方式,不需要把 API 密钥交给本站;普通用户可使用官方界面和账户导出完成同样的证据整理。
资料来源与核验日期
本文于 2026-09-11 核验。下列资料分别用于核对通用计算规则、市场字段、账户流水字段和 9 月 10 日的具体调整。
- 币安:币安合约资金费率简介
- 币安开发者文档:U 本位合约市场数据
- 币安开发者文档:U 本位合约账户 Income History
- 币安公告:2026-09-10 调整部分 TradFi 永续合约资金结算间隔
作者:Tradecost 编辑部