← 回 blog 列表 · 2026-05-10

我把 Bitfinex Funding 回測了 5.5 年 — 這是真實能賺到的數字

從 2020-11 到 2026-04 的完整 walk-forward 回測。58 個 90 天 OOS 視窗、真實成交模型、prepayment hazard。中位約 16% net APY,p5-p95 區間 6.7%-27.3%。

我把 Bitfinex Funding 回測了 5.5 年 — 這是真實能賺到的數字

「Bitfinex Funding 平均年化多少?」 — 這個問題沒有單一答案。利率每天變動、每年市場 regime 不同、不同 strategy 結果差很大。

我用 Bitfinex 公開的 5.5 年 candle 資料,跑了一個 walk-forward 回測 — 想知道如果過去 5.5 年都跑同一個策略,實際會賺多少

這篇文章是回測結果完整公開: 中位 APY、最差 5%、最好 95%、跨 regime 表現。所有數字都是 net(扣完 Bitfinex 15% 抽成),由 scripts/realistic_backtest.pydata/history/ 跑出。

TL;DR

  • fUSD balanced 中位 net APY: 15.7% (p5-p95: 6.7%-27.3%, Sharpe 3.9)
  • fUST balanced 中位 net APY: 16.0% (p5-p95: 9.9%-22.9%, Sharpe 6.1)
  • 58 個 90 天 OOS 滾動視窗、跨 calm / bull / bear / storm 四種 regime
  • 包含真實成交模型(queue rank · time decay · depth gate · spike filter)+ prepayment hazard(借款人提前歸還)
  • 行銷頁刻意顯示更低區間(fUSD 12-15%、fUST 11-13%) — 見下方「保守估算」段

為什麼用 Walk-Forward 而不是單一回測

99% 的「我賺 X% APY」claim 是用單一回測算的:

  1. 抓一段歷史(例如 2024 整年)
  2. 跑策略
  3. 算最終收益

問題: 這嚴重 overfit。如果你把 strategy 參數調到剛好在 2024 表現最好,2025 大概率會崩。

Walk-Forward 的做法:

  1. 切資料成「訓練窗 + 測試窗」(180d train / 90d test)
  2. 在訓練窗 calibrate 參數
  3. 沒看過的測試窗評估
  4. 把測試窗往前滾 30 天、重複
  5. 最終 58 個獨立的 90 天 OOS 結果

每個 OOS 結果都是「策略真的不知道未來會發生什麼」的條件下跑出來的。58 個結果的中位 + 分布 = 真實期望表現。

看一張圖 — 結果分布

下圖是 58 個 OOS 視窗的 net APY 分布(fUSD vs fUST balanced preset, λ=1.0 calibrated baseline):

Walk-forward backtest distribution — 58 OOS windows

可以看到:

  • 兩個中位都集中在 16% 附近,分布有重疊
  • fUSD 離散度更大 — 上尾(>25% APY)跟下尾(<8% APY)都比 fUST 厚
  • fUST 較收斂 — 區間更窄、Sharpe 較高、極端月份較少
  • 「穩定幣 yield = 5%」的直覺遠低於中位;「>30% APY」的標題真的存在但是罕見(>p95)

完整 Preset 對比

SymbolPresetMedian APYp5p95Sharpe
fUSDsafe14.3%4.2%21.1%4.4
fUSDbalanced15.7%6.7%27.3%3.9
fUSDaggressive15.3%6.8%26.4%3.5
fUSTsafe17.8%6.5%34.5%5.7
fUSTbalanced16.0%9.9%22.9%6.1
fUSTaggressive16.8%9.6%24.4%6.1

(Sharpe = mean / std × √N。Sharpe 越高 = 同 mean 但月與月之間波動越小)

兩個出人意料的發現:

  1. fUSD aggressive 沒贏 balanced(15.3% vs 15.7%)。aggressive floor 過於激進、推離真正會成交的區間,等待沒那麼常出現的 spike。
  2. fUST safe 中位高過 balanced(17.8% vs 16.0%)、但 p5/p95 區間寬很多。較安全的 floor 成交快、漏單少,代價是月與月波動大。

生產目前兩個 symbol 都跑 balanced

Prepayment-Hazard 敏感度區間

模型只有一個關鍵不確定參數: 借款人提前歸還強度(λ₀)。我們把它對 0.5×, 1×, 2×, 4× calibrated baseline 跑網格:

λ scalefUSD medianfUST median
0.5×15.7%16.3%
1.0× (calibrated)15.7%16.0%
2.0×15.4%16.3%
4.0×15.7%16.4%

策略對 prepayment 不確定性很穩 — 即使 4× calibrated,中位 APY 變動 < 50 bps。(詳見 Prepayment hazard — 提前還款的真實成本)

為什麼行銷頁顯示更低區間

我們行銷頁顯示「fUSD 12-15%」、「fUST 11-13%」 — 低於上表中位。

原因:

  1. 回測 ≠ 真實: 5.5 年歷史不保證未來
  2. survivorship bias 還在: queue 排名是用 funding_stats 的 borrowed-amount delta 推估,不是 real order-book replay
  3. 過度行銷的反向操作: 寧可 under-promise over-deliver

實盤跑到行銷區間 = 我們贏。跑到 backtest 中位 = bonus。

跨 Regime 表現 — Storm 不是賺最多,是賺最少

Walk-forward 視窗跨 4 種 regime(用 BTC 30d vol 分位):

  • Calm: vol < 25 percentile
  • Bull: vol 25-75pct,30d return > 0
  • Bear: vol 25-75pct,30d return ≤ 0
  • Storm: vol > 75 percentile
RegimefUSD median APYfUST median APYn anchors
Calm17.3%17.3%34/38
Bull15.6%15.8%49/52
Bear13.4%18.2%48/49
Storm8.0%9.6%26/32

這是這份回測最反直覺的發現,推翻了一個常見假設。

直覺(「Storm = 高波動 = funding rate 高 = yield 大」)只對一半: spike rate 確實會出現,但 spike 持續很短,prepayment hazard 模型顯示借款人在 storm 中 deleverage、提前平倉。Bot 在 day 1 抓到 25% rate,借款人 day 4 就還(原本要拿 30 天),實際 APY 崩盤。

Calm 才是穩穩賺的環境 — 穩定 fill、滿期、低取消、模型可以坐穩的 stable rate。

過度承諾警告

幾個誠實的注意事項:

  1. 5.5 年資料 ≠ 永恆: 包含 2020-2021 牛市(funding rate 平均 30%),拉高歷史平均。如果未來 5 年類似 2018-2019(funding rate 1-3%),實盤會嚴重 underperform 回測。
  2. Fill model 用 queue-rank proxy: queue position 是從 funding_stats borrowed-amount delta 推估,不是真實 order-book history(Bitfinex 不公開歷史 book snapshots)。proxy 可能高估或低估競爭。
  3. 黑天鵝: 5.5 年資料只有 1 個重大事件(2022 LUNA 崩盤),樣本太少不能算 tail risk。
  4. 行銷區間還是高過 Storm regime: 如果你在高波動週開始,預期會跑出低於行銷區間的數字直到 regime 平靜。

過度承諾警告

幾個誠實的注意事項:

  1. 5.5 年資料 ≠ 永恆: 包含 2020-2021 牛市(funding rate 平均 30%),拉高歷史平均。如果未來 5 年類似 2018-2019(funding rate 1-3%),實盤會嚴重 underperform 回測。
  2. Survivorship bias: 我用的是 Bitfinex 上已成交的 rate,不是「我能搶到的」 rate。實際 queue 競爭可能讓 fill rate 低於模型。
  3. 黑天鵝: 5.5 年資料只有 1 個重大事件(2022 LUNA 崩盤),樣本太少不能算 tail risk。

完整方法論文件 → docs/strategy_review.md(repo 公開後)

Code 在哪

完整 backtest code 在:

  • lending_bot/backtest/fill_model.py — 成交模型
  • lending_bot/backtest/prepayment_model.py — 提前還款 hazard
  • lending_bot/backtest/engine.py — walk-forward orchestration
  • scripts/realistic_backtest.py — CLI 入口

Repo 上線後可自己跑 reproduce(目前 private,2026 Q3 開源 roadmap)。

延伸閱讀

免費試用 Yieldsforge 7 天 →


揭露: 本文作者是 Yieldsforge 開發者。回測使用 Bitfinex 公開 candle data,2020-11 至 2026-04。所有 APY 數字 net of 15% Bitfinex fee。本文非投資建議,過去表現不擔保未來。

想試試自動化你的 USDT?

7 天免費試用、不需信用卡。

免費開始