DeFi 真實收益實驗室:扣除無常損失、Gas 與幣價下跌後還剩多少?

DeFi 真實收益實驗室:扣除無常損失、Gas 與幣價下跌後還剩多少?

一份手動工作表,用來比較 LP 與 HODL 在費用、無常損失、幣價變化與獎勵幣折價後的結果。

目錄

1. 手動工作表與使用邊界

這是一份手動工作表,用於教育與風險辨識,不構成財務建議,也不是自動計算器。你需要從官方文件、協議介面、錢包、區塊鏈瀏覽器或交易平台自行抄入數字,再用同一套假設計算。本站不抓取即時資金池資料,不保存輸入,也不承諾 APR、APY、代幣價格或最後收益。

DeFi 真實收益實驗室結構圖,分開計算 LP、HODL、費用、無常損失、獎勵代幣風險與淨結果。

使用前先確認一件事:你比較的不是「LP 有沒有賺錢」而已,而是「LP 是否比同一筆初始資產直接 HODL 更好」。Uniswap Developers 說明,Uniswap 透過流動性池與演算法定價完成兌換,交易相對池深越大,價格影響越明顯 How Uniswap Works。因此,交易費與獎勵要放在 HODL 對照之後評估。

2. 輸入清單

輸入 需要填什麼 限制與提醒
投資金額 以同一計價貨幣記錄初始投入 例如 USD 或你自己的記帳貨幣,全篇保持一致。
兩幣初始價格 進池時 token A 與 token B 的價格 盡量取自同一來源與同一時間點。
兩幣期末價格 假設離場時的價格 這是情境,不是預測。
池比例 50/50、穩定池或自訂價格區間 下方 IL 公式只適用於 50/50 恆定乘積池。
APR 或 APY 官方頁面顯示的數字 記錄它是否會即時變動。
Gas approve、add、claim、remove、swap 的成本 不要只填入單一交易費。
進出池與兌換成本 交易費、滑價、價差、跨鏈或兌換費 分開記錄已發生與預估成本。
複投頻率 一年複投幾次 只有在獎勵真的能低成本再投入時才有意義。
獎勵幣跌幅 不變、-30%、-50%、-80% 用多組情境,不用單一樂觀價格。
期限 資金停留天數 不要把年化數字直接當成短期結果。

3. 50/50 無常損失公式、變數與 HODL 基準

50/50 恆定乘積池的簡化公式是:

IL = 2 × sqrt(r) / (1 + r) - 1

r 是 token A 相對 token B 的價格變化倍數;sqrt(r) 是平方根;IL 是 LP 相對同一初始組合 HODL 的差距,尚未加入獎勵、Gas 與其他費用。Uniswap v2 白皮書描述恆定乘積模型與 LP 的 impermanent loss 暴露 Uniswap v2 Core。如果是集中流動性,公式只能做底層直覺參考,因為 Uniswap 文件說明,LP 可把資金配置在自訂價格區間,價格離開區間時該部位不再賺取費用,直到價格回到區間 Concentrated Liquidity

假設示例:初始投入 1,000,token A 相對 token B 上漲 2 倍,所以 r = 2

  • IL = 2 × sqrt(2) / (1 + 2) - 1
  • IL = 2 × 1.41421356 / 3 - 1
  • IL = -0.05719096,約為 -5.72%
  • 如果同一初始組合 HODL 期末價值為 1,500,LP 在獎勵與費用前約為 1,500 × 0.94280904 = 1,414.21
  • 相對 HODL 差距約為 85.79

4. 穩定幣池與波動幣池比較

穩定幣池通常追求低滑價,但風險不是消失,而是轉成脫鉤、池內失衡、合約與退出成本。Curve 說明 StableSwap 是面向穩定資產的 invariant,正常接近 peg 時偏向低滑價,池子明顯失衡時會更接近恆定乘積行為 Curve StableSwap Overview

波動幣池的主要壓力來自兩個資產相對價格大幅變動。當某一資產上漲,LP 會自動持有較少上漲資產、較多相對落後資產;交易費可能補足,也可能補不足。PancakeSwap 官方新增/移除 EVM 流動性指南也提醒,提供流動性時較低美元價值的一邊會限制可提供的流動性數量 How to Add/Remove Liquidity

5. APR 轉 APY 與複投成本限制

若官方頁面給的是 APR a,一年複投 n 次的簡化 APY 公式是:

APY = (1 + a / n)^n - 1

假設示例:a = 0.12,每月複投,所以 n = 12

APY = (1 + 0.12 / 12)^12 - 1 = 0.126825,約為 12.68%

限制要寫在旁邊:這個公式假設全年收益率不變、獎勵可無滑價再投入、獎勵幣不跌、協議參數不變,而且沒有額外 Gas。PancakeSwap Farming FAQ 提到,CAKE 排放率是影響 Farm 收益的因素之一,且 Farm v3 的 CAKE reward APR 可因部位而異 Farming FAQ。所以 APY 是情境,不是保證。

6. 淨結果公式與 HODL 對照

用同一計價貨幣計算:

LP 淨結果 = 期末 LP 可提取價值 + 已實現獎勵價值 - 初始投入價值 - Gas - 兌換費 - 進出池成本

HODL 對照:

HODL 淨結果 = 按初始持幣數量計算的期末價值 - 初始投入價值 - 必要交易成本

相對結果:

LP 相對 HODL 的超額結果 = LP 淨結果 - HODL 淨結果

假設示例:初始投入 1,000,期末 LP 可提取價值 1,060,獎勵折價後已實現 80,Gas 18,兌換費 5,進出池成本 7。

  • LP 淨結果 = 1,060 + 80 - 1,000 - 18 - 5 - 7 = 110
  • 若 HODL 期末價值 1,080,必要交易成本 3,HODL 淨結果 = 1,080 - 1,000 - 3 = 77
  • LP 相對 HODL = 110 - 77 = 33

7. 獎勵幣不變、-30%、-50%、-80% 情景表

不要把獎勵幣按發放時宣傳價格直接算成收益。假設示例:獎勵幣未下跌前價值為 120,領取與兌換成本合計為 4。

獎勵幣價格情境 獎勵毛值 領取/兌換成本 淨獎勵價值
不變 120 4 116
下跌 30% 84 4 80
下跌 50% 60 4 56
下跌 80% 24 4 20

若獎勵來自代幣排放,先看排放來源與期間。PancakeSwap Developer 的 MasterChef V3 文件說明,該合約用於向 PancakeSwap v3 池提供 CAKE 排放,並追蹤 NFT 部位的 pending CAKE MasterChef V3。這說明排放機制,不預測 CAKE 價格。

8. 雙池比較工作表

項目 池 A 池 B 你的判斷
初始投入
資產類型 穩定 / 波動 / 獎勵幣 穩定 / 波動 / 獎勵幣
比例或價格區間
官方 APR/APY
IL 或脫鉤情境
Gas 與退出成本
獎勵幣 -50% 後價值
退出流動性
合約與管理權限風險
相對 HODL 的淨結果

如果某一池只在獎勵幣不跌時勝出,請重算 -30%、-50% 與 -80%。

9. 最低損益平衡收益與回本天數限制

最低收益不是單一官方數字,而是你要覆蓋的負擔:

損益平衡負擔 = 相對 HODL 的 IL + Gas + 進出池成本 + 兌換費 + 滑價 + 獎勵幣折價 + 風險緩衝

期間最低收益率 = 損益平衡負擔 / 初始投入

若轉成年化簡化值:

簡單年化最低收益 = 期間最低收益率 × 365 / 持有天數

假設示例:初始投入 1,000,IL 對 HODL 負擔 58,總費用 20,獎勵折價 40,風險緩衝 25,期限 60 天。

  • 損益平衡負擔 = 58 + 20 + 40 + 25 = 143
  • 期間最低收益率 = 143 / 1,000 = 14.3%
  • 簡單年化最低收益 = 14.3% × 365 / 60 = 86.99%

回本天數只能在這些假設下閱讀。若獎勵幣下跌、池子退出變貴或流動性變差,回本天數會向後移,不能當成承諾。

10. 非量化協議風險檢查表

風險 要問的問題 可接受訊號 警訊
合約 合約地址是否來自官方文件? 地址、鏈、版本可核對 地址只來自社群截圖
審計 審計是否涵蓋實際用到的合約? 範圍、commit、殘留問題清楚 只有審計商標誌
管理權限 誰能升級、暫停或改費率? 權限與延遲機制公開 管理角色不清楚
預言機 價格是否依賴外部來源? 價格來源與失效模式可讀 來源或備援不明
流動性 退出時能否承受滑價? 池深、路由與輸出可檢查 小額退出就大幅滑價
脫鉤 資產是否聲稱穩定? peg 機制與風險公開 池內集中弱勢資產
獎勵幣 獎勵是否容易賣出? 排放、用途、流動性清楚 排放高、需求弱
退出成本 Gas、等待時間與費用是否明確? 可在交易前估算 送出前才知道成本

11. 行動清單與延伸文章

投入資金前:

  1. 先寫下初始價、期末情境價與投入金額。
  2. 先算 HODL,再算 LP。
  3. 按池類型估算 IL、脫鉤或區間失效。
  4. 納入所有 Gas、滑價、兌換、領取與退出成本。
  5. 用不變、-30%、-50%、-80% 重算獎勵幣。
  6. 將 LP 淨結果與 HODL 淨結果相減。
  7. 閱讀合約地址、審計、權限與獎勵規則。
  8. 若壞情境已超出你能承受的範圍,就不要只因年化漂亮而進場。

延伸閱讀:

12. 購買組成資金池資產的場景與披露

若你需要先購買組成資金池的兩種資產,請只使用你所在司法管轄區可用、條款可讀、風險說明可核對的官方渠道。集中式交易平台的產品可用性、費用、規則與風險可能因地區而不同;Binance 一般風險提示指出,虛擬資產價格可能高度波動,投資價值可升可跌,使用者可能無法取回投入金額 Binance Terms / General Risk Warning。若你選擇使用推薦碼 BN8812,請理解這是推薦碼,可能形成推薦關係;它不是較低費用、監管保護、產品可用性或 DeFi 收益的承諾。

13. 從輸入到決策的完整工作流

使用這份手動工作表時,請先寫目的,再寫數字。目的不同,HODL 對照也不同。如果你的目標是維持兩種資產各半,50/50 HODL 是合理基準。如果你原本想持有 80% 資產 A 與 20% 資產 B,加權池就要與 80/20 HODL 比較,而不是與 50/50 比較。如果你只想持有某一種穩定幣,穩定幣池退出後仍要計算把其他穩定幣換回目標資產的成本。

第二步是統一單位。Gas 可能以 ETH、BNB 或其他鏈上代幣支付,reward 可能是第三種代幣,LP 退出時可能拿回兩種資產。不要把 token 數量、美元價值與百分比混在同一格。選定一種計價貨幣後,把每一筆成本、reward、退出資產都換成同一單位,並記錄價格來源與時間。若價格只是情境假設,請標示為假設,不要寫成即時行情。

第三步是先算 HODL,再算 LP。很多 LP 部位看起來對本金是正的,但仍可能輸給同一筆資產直接持有。先算 HODL 可以避免「有賺錢」與「比替代方案更好」混淆。接著才加入 IL、depeg、手續費、reward、Gas、滑價與協議風險。這個順序讓 reward 不會掩蓋池子本身的機制。

第四步是把結果寫成三句話。第一句:基本情境下 LP 對 HODL 的差額是多少。第二句:保守情境下差額如何改變,原因是 reward、Gas、價格相對變化或流動性。第三句:依照你的風險上限,是進場、小額測試、等待或拒絕。若三句話寫不出來,代表輸入還不完整,或決策邊界尚未定義。

14. 三層情境與敏感度檢查

情境要在喜歡某個 APY 之前建立。基本情境使用你從官方頁面、錢包與協議文件看到的正常數字。保守情境把 reward 降低 30% 或 50%,提高退出成本,加入滑價,並讓價格相對變動到足以影響 IL。壓力情境則測試 reward -80%、Gas 明顯上升、穩定幣脫鉤、集中流動性離開區間,或退出路徑變差。這些情境不是預測,而是看決策能否承受壞條件。

不要只做一張總表。先做敏感度表。第一列只改 reward,第二列只改 Gas,第三列只改價格相對變化,第四列只改流動性或滑價,第五列再把幾個壞變數合併。若結果只因 reward -50% 就從正變負,主要風險是 reward。若結果只因 Gas 上升就失去意義,主要問題是部位太小或交易太頻繁。若價格相對變化造成最大損失,就要回到無常損失或加權池的文章。

穩定幣池也要做敏感度。不要只寫「depeg 3%」。請同時寫哪一個穩定幣脫鉤、退出時池內比例、把該資產換回目標資產的成本,以及是否願意持有該資產。若池子變成大量較弱資產,0.97 的價格可能比單純 3% 看起來更嚴重。穩定幣池的壞情境常常來自價格、比例、流動性與信任同時變差。

波動代幣池則要分開看資產方向。資產 A 大漲、資產 A 大跌、資產 B 大跌,結果都不同。LP 會自動再平衡,可能賣出相對上漲的一邊並持有更多相對落後的一邊。交易費可能補償,也可能不足。只有把 LP 與 HODL 放在同一張表中,才知道收益是否來自真實費用,或只是承擔更多價格風險。

15. 兩池比較與風險分數如何結合

比較兩個流動性池時,先讓資料欄位相同。每個池都要有 chain、協議、token pair、權重或價格區間、fee tier、官方 APR/APY、HODL 基準、IL 或 depeg、Gas、滑價、reward 折價、退出流動性、合約與 admin 風險、oracle 或價格來源、以及最後對 HODL 的淨差額。若某個池缺少官方地址或合約證據,就不要把 APY 放進排名。

兩池比較不一定會有絕對贏家。池 A 可能在基本情境勝出,池 B 可能在保守情境較穩,兩者在壓力情境都不合格。這時可以寫「等待」或「兩者都拒絕」。手動工作表的目的不是強迫投資,而是把不適合的條件暴露出來。若池 A 只因 reward 完全不跌而勝出,請把 reward 折價後的結果放在決策前面。

風險分數是另一層過濾。合約、審計、admin control、oracle、流動性、depeg、reward tokenomics 與退出成本都需要分數。分數不是精密模型,而是提醒:結果正數不代表風險可接受。若收益只比 HODL 多一點,但 audit 不匹配或 admin 權限不明,這一點收益可能不足以補償不確定性。若分數高,請提高 buffer、降低部位、等待證據,或直接拒絕。

範例假設:池 A 在保守情境下比 HODL 多 40,風險分數 16;池 B 多 70,但風險分數 34,因為 reward token 流動性薄、合約 reward 未被 audit 覆蓋、退出成本較高。若你的上限是 25,池 B 不會因多 30 而自動勝出。你可以等待 reward 合約證據、縮小部位,或只選池 A。這種結論比「APY 高者勝」更可追溯。

16. 把結果轉成可執行邊界

最後請把結果寫成邊界,而不是願望。邊界可以是:Gas 進出不得超過本金 2%;reward -50% 後仍需大於 HODL;穩定幣脫鉤到 0.97 且池內比例超過 65% 時不加倉;合約地址若與官方文件不一致就停止;audit 若不覆蓋正在使用的合約就等待。邊界越具體,越不容易被當下 APY 影響。

也要寫退出條件。進場前就寫:何時領取 reward、何時不 compound、何時退出、何時只觀察。若等到市場波動後才想退出條件,往往會把原本的界線放寬。退出條件不需要複雜,只要能被檢查。例如「若 reward 可售價值低於 Gas 的三倍,暫不 claim」或「若重新設定區間成本超過預期額外 fee,不 rebalance」。

若所有結果都不合格,請接受「不進場」。這不是錯過機會,而是工作表完成後得到的資訊。DeFi 並不保證每個資金規模、鏈、池子與風險偏好都有正的真實收益。等待 Gas 下降、選擇更簡單產品、直接 HODL、或不採取行動,都可以是理性結論。

17. 留存版本與重新檢查

每次填表都應保存輸入版本:官方 APR/APY、價格假設、Gas、reward 折價、持有天數、HODL 基準、風險分數與來源連結。之後若同一池看起來更好,先問是哪個變數改變。是 reward 真的提高,還是你降低了折價?是 Gas 下降,還是少算了一筆退出交易?是 audit 補齊,還是只是 UI 新增了標籤?

定期重新檢查來源,而不是只看價格。官方文件可能更新地址,reward campaign 可能結束,治理可能改參數,TVL 與 volume 可能搬到其他池,oracle 或 admin 風險也可能改變。若其中一項改變,請更新風險分數,再更新淨結果。舊分數不能永久使用。

保留版本還有一個好處:它讓錯誤可修正。若你發現之前把 Gas 當成零,或把 reward 未售出值當成現金,可以回到舊表修正,並理解決策如何變化。這比事後用結果好壞判斷對錯更有用。好的工作表不是保證賺錢,而是讓假設、證據與風險邊界都能被看見。

18. 常見錯誤與最後檢查

第一個錯誤是把年化當成期間收益。若你只持有 30 天,請先算 30 天結果,再看年化。第二個錯誤是把 reward 未售出價值當成現金。reward 需要領取、出售或明確決定持有,才有可用價值。第三個錯誤是只算進場成本,不算退出成本。LP 的結果在退出時才完整,remove、claim、swap、bridge 都可能影響結果。

第四個錯誤是 HODL 基準錯配。50/50 pool 要對 50/50 HODL,加權 pool 要對相同權重 HODL,穩定幣池要對你真正想持有的穩定資產。第五個錯誤是把審計寫成安全保證。審計要看 scope、版本、commit、未解 findings 與正在使用的合約。第六個錯誤是把官方來源與社群截圖混在一起。若地址、reward、參數來自非官方來源,請標示為未驗證。

最後檢查可以用一個問題完成:若最壞的兩個變數同時發生,是否仍在你的承受範圍內?例如 reward -50% 且 Gas 翻倍;穩定幣 0.97 且池內比例失衡;價格離開集中區間且 rebalance 成本高;audit 不覆蓋 reward 合約且 reward APY 是主要收益來源。若答案是否定,請降低部位、等待或拒絕。

請把最後決策寫成可重新檢查的句子,而不是情緒判斷。範例:「在 reward -50%、Gas 兩倍、HODL 正確對照下,LP 仍多 20,但 protocol risk 中等,因此只用小部位。」或:「壓力情境為負,且 reward 合約證據不足,因此不進場。」這種句子讓未來的你知道當時依據是什麼。

19. 最後輸出格式

如果只想保存一個核心數字,請保存「保守情境下對 HODL 的差額」,不要保存 APY。APY 是篩選線索,保守差額才是決策輸出。再把這個差額與風險分數放在一起讀:同樣是正 20,低風險與高風險的部位大小不同。若保守差額為負,低風險也不能讓策略變成可投;若差額為正但風險分數高,等待或小額才合理。

重新檢查時,先更新輸入,再更新結論。不要只因價格漲跌就說上次決策錯或對。若上次使用的 reward 折價、Gas、HODL 基準與風險分數在當時合理,決策就是可辯護的。工作表的價值是讓決策可追溯,而不是預知結果。

把最後一句寫成「進場、進場小額、等待、拒絕」四選一,並附上改變條件。若改變條件不存在,代表你沒有真正定義風險邊界。若改變條件太容易觸發,代表部位應更小或不應進場。

完成後,請用相同輸入再算一次,確認正負號、計價單位與 HODL 基準沒有在最後一步被換掉。

若你要把結果交給別人複核,請附上來源連結與日期、每個假設的單位、以及未採用的 APY 或 reward。未採用的數字也重要,因為它說明你不是忘記,而是判斷它不符合可執行路徑。這能讓下一次更新更快,也讓錯誤更容易被發現。

主要資料