PnL 口径

币安合约每笔交易盈利,为什么余额反而减少?

单笔平仓盈利不等于账户净增加。币安(Binance)U 本位合约的已实现盈亏、开平仓手续费、资金费率和其他账单扣项要放在同一时间范围内重构;其中任何一项都可能让余额变化低于页面显示的盈利。

IENEO · 最后核验 2026-08-31 · 约 10 分钟 · 依据 2 项交易所官方来源 · 核验与更正方法

从已实现盈亏依次扣除开平仓手续费和资金费用得到余额净变化的瀑布图
原创匿名示例:绿色盈利记录不等于余额净增加,必须把同周期费用和非交易资金变化一起核对。

先区分成交盈亏、已实现盈亏和余额变化

成交记录里的 PnL 通常描述某次平仓产生的价格盈亏;手续费可能记录在同一成交行,也可能单独进入资金流水。资金费率则按持仓跨过结算时点产生,不会因为某笔平仓显示盈利而自动消失。

账户余额变化还可能受到充值、提现、账户划转、手续费抵扣资产和未实现盈亏变化影响。因此,看到多笔绿色盈利记录时,仍不能直接把这些数字相加后与钱包余额比较。

为什么短线盈利尤其容易被费用抵消

永续合约通常在开仓和退出时都会形成成交费用。交易越频繁、名义成交额越大,手续费越可能超过单笔看起来不大的利润。若大量成交以 Taker 方式执行,累计费用通常会更明显。

同时持仓跨过资金费率结算时点时,还可能产生资金支出。正确问题不是“有多少笔盈利”,而是同一统计周期内的已实现盈亏能否覆盖全部已发生费用。

怎样用余额做最后的交叉检查

先从资金流水重构账单净结果,再计算期末余额减期初余额,并对充值、提现、划转和未实现盈亏变化作调整。两种方法接近时,说明主要费用项目已被覆盖。

如果差额仍然很大,应优先检查时间范围和时区是否一致、手续费是否以其他币种支付,以及同一费用是否同时出现在成交文件和资金流水中。

计算口径

建议使用的核算口径

账单净结果 = 已实现盈亏 − 交易手续费 + 资金费率收入 − 资金费率支出 − 其他已识别费用

如果要与钱包余额变化比较,还要加回充值、减去提现,并剔除账户之间的内部划转。

数字案例

把 120 和 55 之间的差额拆开

已实现盈亏 +120 USDT,开平仓手续费 46 USDT,资金费率净支出 19 USDT,不计其他项目时余额净增加约 55 USDT,而不是 120 USDT。

本文所有金额与费率都是用于说明计算方法的匿名示例,不代表真实账户,也不代表当前费率。你的实际费率取决于交易所公开费率表和你自己的账户等级,请以官方页面为准。

字段级核对

四组数据必须放进同一个时间范围

成交历史回答“这笔交易如何成交”,资金流水回答“账户为什么增加或减少”。只下载其中一个文件,通常无法完整解释余额变化。

数据组应该读取的内容在核对中的作用
已实现盈亏平仓产生的价格盈亏构成交易结果的起点,但通常不是最终净收益
交易手续费开仓、平仓和部分成交的 Commission需要从已实现盈亏中扣除,注意避免跨文件重复
资金费用Funding Fee 的收入与支出按结算事件计入,不一定和某笔平仓同时出现
非交易资金变化充值、提现、内部划转、奖励用于余额对账,但不属于策略交易盈亏
未实现盈亏统计时点仍未平仓仓位的浮动结果影响权益或可用余额,但不能混入已实现净结果
完整算例

完整算例:为什么显示盈利 120,余额只增加 55

假设账户在统计期初的可核对余额为 2,000 USDT,期间没有充值、提现和内部划转。成交历史显示已实现盈亏为 +120 USDT。

同一时间范围内,开仓和后续加仓共发生 24 USDT 手续费,平仓与部分平仓发生 22 USDT 手续费;持仓跨过结算时点后,资金费率净支出 19 USDT。

在没有其他余额项目、期末也没有未平仓仓位的前提下,期末余额应接近 2,055 USDT。若实际余额不是这个数字,应继续检查费用币种、时间边界、返佣和重复记录。

  1. 已实现盈亏:+120 USDT
  2. 开仓与加仓手续费:−24 USDT
  3. 平仓与部分平仓手续费:−22 USDT
  4. 资金费率净支出:−19 USDT
  5. 账单净结果:120 − 24 − 22 − 19 = 55 USDT
如何解释结果

“每笔都是盈利”只能描述部分成交结果;账户净变化必须覆盖完整周期内的所有正负账单事件。

完成前检查

下结论前,先确认这 5 项

  • 成交历史与资金流水的起止时间完全一致
  • 开仓手续费没有被遗漏,跨文件重复费用已去重
  • Funding Fee 按收入和支出分别求和
  • 充值、提现和账户划转没有被当作交易盈亏
  • 期末未实现盈亏已单列,不与已实现结果混算

按这三步重建余额变化

  1. 1

    导出同一日期范围内的合约成交历史与资金流水

    成交历史和资金流水要使用完全相同的起止日期与时区,避免漏掉边界时点的费用。

  2. 2

    分别汇总 Realized PnL、Commission 和 Funding Fee

    不要只汇总正数;手续费和资金支出通常为负数,资金收入可能为正数。

  3. 3

    排除充值、提现、账户划转和仍未平仓的浮动盈亏

    余额核对时把外部资金变化单列,不要把入金误认为交易盈利,也不要把划转误认为亏损。

核对余额时最常见的误判

  • 把页面上的单笔 PnL 直接相加,当作账户净利润。
  • 只统计平仓手续费,遗漏开仓成交产生的手续费。
  • 同时读取成交表和账单表,却没有对重复出现的费用记录去重。

这套算法不覆盖的情况

  • 页面字段与导出文件的口径可能不同
  • 非 USDT 费用需要按发生时点换算
  • 这项核算不判断交易策略是否盈利

常见问题

为什么平仓盈利后可用余额仍可能下降?

可能是开平仓手续费、资金费率支出或其他账单扣项高于这次平仓利润,也可能是保证金和未实现盈亏变化影响了可用余额。应以完整资金流水核对。

只下载成交历史够不够?

通常不够。成交历史适合核对价格、数量和交易角色;资金流水更适合确认 Funding Fee、Commission、Realized PnL 和其他余额变动。

余额变化和账单净结果必须完全一致吗?

只有在时间范围、币种换算、出入金、内部划转和未实现盈亏都完成调整后才应接近。存在多币种或统一账户时,还需要统一估值时点。

为什么两次核对同一时间段,结果还不一样?

多数是导出时的时区不同:交易所界面常按 UTC+8 显示,导出文件却可能是 UTC。差一个时区,跨日的成交和结算就会被算进不同的区间。

官方来源

继续核对其他盈亏口径问题

想核对自己的账单?原始文件只在浏览器内解析,不需要 API Key。先看如何导出账单

导入账单,生成费用回放