向交易所要一年的資料,它可能給你兩份不同的文件。一份印著一個盈虧數字,一頁就裝得下;另一份完全不提盈虧,卻有幾百行。兩份都準確,它們回答的是不同的問題,而報稅只能建在其中一份上。
這兩份紀錄各自的用途
交易紀錄是一份日誌。每一行都是一次改變了餘額的事件:一筆成交、一筆手續費、一筆充值、一筆提現、一次內部劃轉、一筆獎勵。它按順序記下發生了什麼,然後就到此為止。裡面沒有任何一行告訴你是賺是虧。
已實現盈虧報表是從那份日誌裡得出的結論。有東西讀過這些事件,把賣出與買入配上對,套用了一條「哪一筆買入付了哪一筆賣出」的規則,然後印出結果。它更短,是因為它是答案,不是演算過程。
這讓兩者的關係是單向的。你可以從一份完整的交易紀錄重建出已實現盈虧報表,卻無法從報表重建出交易紀錄。報表那條規則壓縮掉的東西,在報表裡就沒有了 —— 所以哪怕手上已經有一份更整齊的匯總,成交歷史仍然是那份存檔文件。
交易紀錄裡到底裝著什麼
帳本匯出好用的地方,正在於它幾乎不替你做決定。Kraken 的帳本欄位是個不錯的形狀示例:時間、類型與子類型、資產、數額、手續費,以及變動後的餘額;條目類型除了成交,還含充值、提現、劃轉、支出、收入與質押。用那份文檔自己的話說,每一條帳本條目關注的是某一項資產餘額的一次變動。
這種寬度正是重點。帳本裡會有一些盈虧匯總沒理由印出來的行:從你自己錢包轉進來的資金、提到銀行的一筆提現、一筆落在根本不是處置行為上的費用。當你想知道自己做得怎麼樣時,這些行是噪音;當有人問某一筆錢從哪來時,它們是憑證。
已實現盈虧報表裡到底裝著什麼
已實現盈虧報表只裝已平倉的結果。一個還開著的倉位對它零貢獻,因為它的未實現盈虧還在動,還沒有任何結果被固定下來。這份沉默不是報表的缺口,它正是標題裡「已實現」三個字在起的作用。
報表裡還裝著一個不是你做的決定。當一筆賣出小於你手上那一堆時,總得有東西說清是哪些單位離開了,在這個問題定下來之前印不出任何數字。它用的那條規則可能整頁都不會出現,而這正是兩份都準確的文件會對不上的原因之一。
兩者為什麼對不上
第一個原因是範圍。報表是按一個帳戶、一條產品線、一個日期窗口生成的,這些邊界之外的東西根本不在裡面。你從別處轉進來的資產沒有附帶任何買入行,於是那家場地手上沒有它們的成本基礎,只能估一個,或者讓那條紀錄殘缺著。
第二個原因是配對規則,這一條值得用數字看一遍。假設你以 $2,000 買了一個單位,又以 $8,000 買了第二個單位。這讓你在這兩筆上的平均成本是 $5,000。之後你以 $12,000 賣出一個單位。按先進先出的口徑,這筆賣出配的是較早那筆買入,報表顯示 $10,000。按平均成本的口徑,同一筆賣出顯示 $7,000。兩種情況下你的交易一模一樣,變的只有規則。
第三個原因是手續費與非交易類資金流落在哪。一筆手續費可以併進買入的成本、從賣出的所得裡扣掉,也可以單列成一條帳本行、完全不進盈虧數字。這三種做法各有各的道理,而它們算不出同一個總數,所以報表與帳本之間的差,可能恰好就是它們之間的那些手續費。
| 你在看的是什麼 | 交易紀錄 | 已實現盈虧報表 |
|---|---|---|
| 一行是什麼 | 一次改變了餘額的事件 | 一個已平倉的結果 |
| 未平倉的倉位 | 在,以開倉那幾筆成交的形式 | 平倉之前都不在 |
| 充值、提現、劃轉 | 包含 | 在盈虧數字之外 |
| 是否對它套用過規則 | 沒有 | 有,一條你沒看見的配對規則 |
| 它適合拿來做什麼 | 重建任何東西 | 一眼看到結果 |
現貨的紀錄與合約的紀錄構造不同
現貨上你買到的是一個東西。一筆買入把成本掛到你現在持有的單位上,這些單位就待在那兒直到你把它們處置掉,而處置的那一刻才是結果被固定下來的時刻。所以紀錄必須跨時間存活:今年的一筆賣出可以取決於好幾年前的一筆買入,這也是為什麼只匯出一年可能不夠用。
合約上你什麼也沒買到。一份合約被開出來、之後被平掉,結果就是這兩個價格之差乘以倉位大小,用保證金貨幣結算。沒有需要結轉的單位存貨,所以一筆合約的結果在它平倉的那個期間之內就是完整的。
合約反過來多出來的是第二條資金流。倉位開著的時候,資金費與交易手續費會打到你的餘額上,而它們在構造上就與開平倉價差是分開的。你所在場地是把它們併進已實現數字,還是單列成帳本行,這是那家場地報表的性質,不是算術的性質,所以去自己帳戶上確認,不要想當然。
實際後果是:一份合約盈虧報表可以看起來很完整,卻仍然不等於你餘額的變化。補上這段差的是帳本,因為每一筆資金費劃轉、每一筆手續費在裡面都是一行。
一份稅務紀錄真正需要什麼
稅務規則各國不同,本文是科普不是建議,但這個要求的形狀值得看一遍。美國國稅局把數字資產按財產處理,而在計算盈虧時,它列出的需保存紀錄是:數字資產的類型、交易的日期與時間、單位數量、交易當時以美元計的公允市場價值,以及被賣出或處置資產的計稅基礎。
把這份清單對著兩份文件讀一遍。上面每一個欄位都是逐筆交易的欄位,那是帳本的格式,不是匯總的格式。已實現盈虧報表可以是你驗算的好幫手,卻是這個要求的差答案,因為它已經把這個要求所指的那些行壓掉了。
一旦把報表根本看不到的事件也算進來,這道口子還會更大。一個應稅事件可以是兩個代幣之間的一次兌換,也可以是拿加密貨幣買東西,這兩件在交易介面上都不像一筆賺錢的賣出。如果報表的範圍只到成交,這些行就只活在帳本裡。
兩份都要怎麼匯出
要有準備去拉不止一個文件。Kraken 的匯出介面把 Trades 與 Ledgers 作為兩類分開的匯出,各自都要求填起止日期,並讓你選 PDF 或 CSV。這種分開反映的是兩份文件回答的是不同的問題,所以兩份都拉,別只挑一份。
只要這個文件要去到你自己眼睛之外的地方,就選 CSV 而不是 PDF;把日期範圍設得比納稅年度更寬,好讓期初餘額與更早的買入都露出來;並且按產品線各匯一份,因為現貨與衍生品可能分在不同的帳本裡。
然後把原始文件原樣存好,演算在副本上做。一份匯出是某家場地的紀錄在某一刻的快照,就地改動會毀掉它之所以是憑證的那個性質。一份匯出也只覆蓋出具它的那一家場地,所以你自己在平台之間的劃轉,正是重建會斷掉的接縫。
| 你要回答的是什麼 | 哪一份匯出能回答 |
|---|---|
| 我在已平倉的倉位上賺了多少 | 已實現盈虧報表 |
| 我手上還持有的單位當初花了多少 | 成交匯出,從那筆買入起 |
| 這次餘額變動是從哪來的 | 帳本匯出 |
| 我付了多少手續費與資金費 | 帳本匯出 |
| 我要交給報稅的人什麼 | 帳本與成交兩份匯出,報表用來交叉校驗 |
小結
交易紀錄是事件日誌,已實現盈虧報表是從它得出的結論,所以報表裡裝的東西永遠不可能比帳本多。兩者對不上有三個都站得住的原因:匯出的範圍、把賣出配給買入所選的那條規則,以及手續費與非交易類資金流被放在哪。
現貨的紀錄把成本帶過很多年,合約的紀錄在期間之內就閉合,而合約多出資金費與手續費這兩條單獨的資金流,盈虧數字未必包含它們。兩份文件都匯出來,原始文件留著,把匯總當成對帳本的一次校驗,而不是帳本的替代品。想繼續打好這些基礎,請追蹤 Bitbase(幣貝)學院的更多內容。
相關閱讀
幣貝上與本主題相關的其他文章:
- 複利與倉位增長
- Diamond Hands、Paper Hands 與 Jeets
- 衡量加密社群增長:Discord、Telegram 與真實參與
風險披露:本文為 Bitbase(幣貝)學院的科普內容,僅供教育與資訊參考,不構成任何投資、交易、稅務或財務建議。加密資產波動劇烈,請自行評估風險。本文撰寫於 2026 年 9 月,請以官方最新資訊為準。
參考資料
[1] 美國國稅局,Digital assets:數字資產交易需要保存的紀錄 irs.gov
[2] Kraken 幫助中心,How to export your account history on Kraken Pro(Trades 與 Ledgers 兩類匯出) support.kraken.com
[3] Kraken 幫助中心,How to interpret Ledger history fields(帳本欄位與條目類型) support.kraken.com






