Back to blog
Guides

多交易所加密货币盈亏怎么算?FIFO与平均成本法实例详解

多交易所加密货币盈亏怎么算?各交易所盈亏页面为何对不上,先进先出与平均成本法实例对比,含手续费和资金费率,附新加坡、香港、台湾税务要点。

11 min readChinese (Simplified)by The Crypto Hub

你在币安买币,转到 Bybit 卖,再到 OKX 开几笔永续合约。年底想算一下今年到底赚了多少,结果三个交易所的盈亏页面给出三个数字,加起来还跟银行账户里多出来的钱对不上。

最常见的情况是:你从 A 交易所转到 B 交易所的币,在 B 那边没有成本价。B 要么把它当成零成本,要么干脆不算。卖出之后,屏幕上显示一笔"暴利",其实你根本没赚那么多。这篇文章讲清楚多交易所加密货币盈亏怎么算,并用一个完整例子对比先进先出(FIFO)和平均成本法。

已实现盈亏和未实现盈亏

已实现盈亏是你已经卖掉、换掉或平仓的部分。卖出所得减去这部分币的成本价,再减手续费,就是已实现盈亏。

未实现盈亏是你手上还拿着的币,按现价算出来的浮盈浮亏。价格一动,它就变。

报税或复盘时,最重要的是已实现盈亏。未实现盈亏只是"如果现在卖"的估算。

为什么各交易所的盈亏页面对不上

每个交易所只看得到自己平台上的记录,而且算法各不相同。常见原因有这些:

  • 成本方法不同:有的用平均成本法,有的按先进先出,有的只显示当前持仓的均价。
  • 手续费扣法不同:手续费可能用计价币(USDT)扣,也可能用基础币(例如 ETH)扣,或者用 BNB 之类的平台币抵扣。用 BNB 付的手续费,很多页面根本不算进成本。
  • 资金费率:永续合约每隔几小时结算一次资金费。有的页面把它算进"已实现盈亏",有的单独列在资金流水里。
  • 转入的币没有成本价:从别的交易所或钱包充值进来的币,接收方不知道你当初的买入价,常常当作零成本处理。
  • 稳定币兑换:USDT 换 USDC、USDC 换法币,看似"没变",但每一次兑换都是一笔交易,可能有小额价差和手续费。
  • 显示币种不同:有的页面用 USDT 计,有的用美元,有的用新币或港币。汇率换算的时间点不一样,数字自然不同。

所以,单看任何一个交易所的盈亏页面,都不能代表你的真实总盈亏。你需要把所有记录放在一起,用同一种方法重新算一遍。

先进先出和平均成本法

先进先出(FIFO):卖出时,默认先卖掉最早买入的那一批币。每一批买入叫一个"批次",各有自己的成本价和买入日期。

平均成本法:把同一币种所有持仓的总成本除以总数量,得到一个平均成本价。卖出时,按这个平均价扣成本。

两种方法在整个持有期内的总盈亏是一样的,差别在于"什么时候"算作已实现。价格上涨时,FIFO 先卖掉便宜的旧批次,当期已实现盈利通常更高;平均成本法则把成本摊平。

关键是:选定一种方法,每年都用同一种,不要为了少报而来回切换。

实例:两个交易所,两种算法

以下数字均为虚构,只用来演示算法。所有金额以 USDT 计,现货手续费为成交额的 0.1%,用 USDT 支付,买入时计入成本,卖出时从所得中扣除。

第 1 步:在交易所 A 买入 1 ETH,价格 2,000 USDT,手续费 2 USDT。这一批的成本价是 2,000 + 2 = 2,002 USDT。

第 2 步:在交易所 B 买入 1 ETH,价格 2,400 USDT,手续费 2.4 USDT。这一批的成本价是 2,400 + 2.4 = 2,402.4 USDT。

第 3 步:把交易所 A 的 1 ETH 转到交易所 B。这是自己账户之间的转账,不是卖出,不产生盈亏。为简化,这里不计链上转账费。

第 4 步:在交易所 B 卖出 1 ETH,价格 2,600 USDT,手续费 2.6 USDT。卖出净所得是 2,600 − 2.6 = 2,597.4 USDT。

第 5 步:同时在交易所 B 做了一笔 ETH 永续合约多单。开平仓价差盈利 120 USDT,开仓和平仓手续费合计 3 USDT,持仓期间支付了一次资金费 4.5 USDT。合约已实现盈亏 = 120 − 3 − 4.5 = 112.5 USDT。合约用 USDT 结算,不涉及现货批次,两种方法结果相同。

按先进先出计算

卖出的 1 ETH 对应最早的批次,也就是在交易所 A 买入、后来转过去的那一枚,成本价 2,002 USDT。

现货已实现盈亏 = 2,597.4 − 2,002 = 595.4 USDT。

加上合约:595.4 + 112.5 = 707.9 USDT。

剩下 1 ETH 的成本价是 2,402.4 USDT。按现价 2,600 计,未实现盈亏 = 2,600 − 2,402.4 = 197.6 USDT。

按平均成本法计算

两批 ETH 总成本 = 2,002 + 2,402.4 = 4,404.4 USDT,平均成本价 = 4,404.4 ÷ 2 = 2,202.2 USDT。

现货已实现盈亏 = 2,597.4 − 2,202.2 = 395.2 USDT。

加上合约:395.2 + 112.5 = 507.7 USDT。

剩下 1 ETH 的成本价是 2,202.2 USDT,未实现盈亏 = 2,600 − 2,202.2 = 397.8 USDT。

结果对比

同样的交易,FIFO 的已实现盈亏是 707.9 USDT,平均成本法是 507.7 USDT,差了 200.2 USDT。

但把已实现和未实现加起来,两边都是 905.5 USDT(707.9 + 197.6 = 507.7 + 397.8 = 905.5)。方法不同,只是把盈利在不同时间点"实现"。

再看交易所 B 自己的页面:它不知道转入那枚 ETH 的成本。如果它把转入当作零成本,可能显示这笔卖出赚了 2,597.4 USDT;如果它只用自己平台上的买入价 2,402.4 USDT,又会显示 195 USDT。两个数字都不对。

实际操作步骤

  • 导出每个交易所的完整记录:现货成交、合约成交、资金费、充值和提现,全部都要,时间范围从你第一次入金开始。
  • 配对转账:把 A 的提现和 B 的充值一一对上(币种、数量、时间、链上哈希)。配对之后,转入的币沿用原来的成本价和买入日期。
  • 处理手续费:用 BNB 等平台币付的手续费,要按当时价格折算成 USDT 计入;同时记得你手上的平台币也因此减少了。
  • 选一种方法并坚持:FIFO 或平均成本法,选定后每年一致。
  • 统一计价币种:统一用 USDT 或你所在地的货币,并记录使用的汇率来源。
  • 保存记录:原始 CSV、配对结果和计算表都留档,至少保留到当地税务机关要求的年限。

新加坡、香港、台湾的税务要点

以下只是概要,请以官方原文为准。

新加坡

新加坡税务局(IRAS)表示,出售房产、股票和金融工具的收益一般不征税;买卖股票或其他金融工具(包括数字代币)的盈亏,一般被视为个人投资。

IRAS 的《Income Tax Treatment of Digital Tokens》e-Tax Guide(2026 年 1 月 30 日更新版)说明:购买支付型代币本身不是应税事件;但如果处置属于交易活动,收益就按收入征税。是否属于交易,按"交易标志"(badges of trade)判断,购买时的意图会被考虑。指南在挖矿例子中也提到,如果个人表现出惯常、有系统地谋利,可能被视为以此为业。

需要计算应税收益时,IRAS 接受先进先出或加权平均成本法,不接受后进先出(LIFO)。指南还要求保存交易日期、数量、交易时价值、所用汇率和交易目的等记录。

商品及服务税方面:自 2020 年 1 月 1 日起,用数字支付代币兑换法币或其他数字支付代币,属于免征 GST 的供应。

香港

香港税务局(IRD)说明,在香港经营行业、专业或业务的人士,须就源自香港的利润缴纳利得税,但出售资本资产所得的利润除外。

IRD 第 39 号释义及执行指引(2020 年 3 月修订)指出:如果为长期投资而买入数字资产,出售所得利润不须缴纳利得税。数字资产属于资本资产还是交易存货,要视事实而定,适用"交易标志"原则,取得时的意图始终相关。判断买卖加密货币是否构成经营业务时,会考虑活动的程度和频率、是否有系统和组织,以及是否以牟利为目的。从事加密货币业务的人士须保存妥善的业务记录。

台湾

财政部 2022 年 11 月的说明指出:个人综合所得税采属地主义。个人在境内非经常性买卖虚拟资产的所得,属所得税法第 14 条第 1 项第 7 类的财产交易所得,以成交价额减除原始取得成本及相关费用后的余额,并入综合所得总额课税;有损失的,可列报财产交易损失特别扣除额。

个人在海外发生的所得,申报户全年海外所得达新台币 100 万元的,须依所得基本税额条例计入基本所得额。财政部也提醒投资人备妥虚拟资产取得成本的证明文件。

TheCryptoHub 如何帮你

TheCryptoHub 用只读或交易权限的 API 密钥连接你的交易所,从不需要提现权限。它把所有已连接交易所合并成一份盈亏,自动配对你自己账户之间的转账,不会把转账当成卖出。

它按币种跟踪每个 FIFO 批次和持有期间。找不到买入价的卖出会被标记出来,让你复核,而不是直接忽略。新加坡、香港和台湾目前不是 Tax Center 的专属辖区:你得到的是跨交易所的盈亏、FIFO 批次和持有期间,作为你自己报税或交给会计师的起点,而不是现成的申报表。

可以先试试免费演示,使用示例数据,无需注册。也可以用免费盈亏计算器:拖入币安或 Bybit 的交易记录 CSV,文件不离开你的浏览器,就能看到每个币的已实现盈亏、手续费、胜率和每月表现。

常见问题

交易所显示的盈亏可以直接拿来报税吗?

不建议。每个交易所只看到自己的记录,转入的币常常没有成本价,资金费和平台币手续费的处理方式也不同。应该把所有交易所的记录合并,用同一种方法重新计算。

FIFO 和平均成本法,哪个更好?

没有绝对的好坏。两种方法在整个持有期内总盈亏相同,只是已实现的时间点不同。在新加坡,如果收益需要计税,IRAS 接受 FIFO 或加权平均成本法,但不接受 LIFO。选定后要年年一致。

从一个交易所转到另一个交易所,算卖出吗?

不算。这是自己账户之间的转移,不产生盈亏。但你要能证明两边是同一笔转账,并让转入的币沿用原来的成本价和买入日期。

USDT 换成 USDC 也要记录吗?

要。每一次兑换都是一笔交易,可能有价差和手续费。即使金额很小,也应该完整记录,否则对账时会出现缺口。

永续合约的资金费怎么处理?

资金费是合约持仓的实际收支。收到的计入收益,支付的计入成本。导出时记得单独拉取资金费流水,因为很多交易所不把它放在成交记录里。

本文仅供一般参考,不构成税务建议。具体情况请咨询专业税务顾问。

更新于 2026 年 10 月。

资料来源

  1. 01IRAS:Income Tax Treatment of Digital Tokens(e-Tax Guide)iras.gov.sg
  2. 02IRAS:Gains from sale of property, shares and financial instrumentsiras.gov.sg
  3. 03IRAS:GST: Digital Payment Tokens(e-Tax Guide)iras.gov.sg
  4. 04香港税务局:DIPN No. 39 (Revised) Digital Economy, Electronic Commerce and Digital Assetsird.gov.hk
  5. 05香港税务局:Profits Taxird.gov.hk
  6. 06台湾财政部:FTX 破产投资人虚拟资产损失认列说明(2022 年 11 月 18 日)mof.gov.tw
  7. 07全国法规资料库:所得基本税额条例第 12 条law.moj.gov.tw

Share this article

Keep reading