2026年八月29日 · 資金費率

你打造了一套只在 00:00 UTC 交易的策略——談資金費率結算時間效應的一封信

你打造了一套只在 00:00 UTC 交易的策略——談資金費率結算時間效應的一封信

你把權益曲線和交易紀錄寄給我,問這結果是不是好得不真實。簡單說:它既不能明確判定為真,也不能明確判定為假,大約花 1 天就能查出是哪一種。下面詳細說明,因為診斷比下結論更重要。

你的策略是這樣:在 Binance 的 BTCUSDT 和 ETHUSDT 永續合約上使用 15 分鐘均值回歸訊號,以價格相對 96 根 K 棒均值的 z-score 為依據,反向交易尾端,持有 2-8 根 K 棒。回測涵蓋 2024 年 2 月至 2026 年 6 月。扣除你的費用模型後 Sharpe 為 2.9。你把損益按一天中的分鐘分桶後發現,其中 71% 落在涵蓋 00:00、08:00 和 16:00 UTC 的 3 個 15 分鐘區間。

你已經知道這為什麼可疑。我來說說為什麼其中一部分也可能是真的。

資金費率時鐘確實存在,也確實會推動價格

Binance 在 00:00、08:00 和 16:00 UTC 結算永續合約資金費率。結算瞬間仍持有部位的交易者都要支付或收取資金費用。這是確定、按時發生、人人都知道的現金流,也會在結算前後帶來真實的訂單流——不是資料假象,而是交易者實際採取的行動。

這股訂單流有一定模式。結算前 10 到 30 分鐘,不想支付資金費用的部位會平倉或避險。假設這個時段的資金費率是 +0.04%,打算離場的多頭會趕在標記價格更新前出場,而不是等更新後再出;做基差交易、放空永續合約的人則會樂於持倉跨過結算。這是帶有明確期限的不對稱壓力。結算後,其中一部分訂單流會反向回來——想避開資金費用的多頭重新進場——於是價格出現部分反轉。

因此,在 23:52 觸發、00:12 出場的均值回歸訊號,正好處在可預測的流動性事件發生點。你的部分優勢很可能來自對機械性、由日曆決定的價格推動進行反向交易。這是真實的微觀結構現象,而且多年來一直存在。

不過,在相信你這麼大的數字之前,我會先想知道幾件事。

6 項檢查,我會依照這個順序進行

先做成本最低的檢查,因為這類策略多半在第 2 或第 3 項就站不住腳了。

  1. 資金費率損益有沒有重複計算?如果你的成交引擎會對未平倉部位計入資金費用,而且你的價格序列使用的是標記價格而非最新成交價,那麼你可能把資金費用付了或賺了 2 次——明確計入 1 次,另 1 次則透過標記價格的收斂特性反映出來。列印每筆交易的原始資金費用現金流,再抽查 10 筆,對照交易所的歷史資金費率 API。
  2. 資金費率資料列帶的是哪個時間戳?Binance 的資金費率歷史資料會回傳 fundingTime,代表結算時間。有些供應商提供的同一筆資料,時間戳卻標在適用時段的起始時間。如果你的資料有 8 小時偏移,你交易的訊號就等於知道未來。這是我最常看到的虛假資金費率優勢來源,而且會產生和你完全一樣的損益形狀——集中在結算 K 棒、方向正確、漂亮得驚人。
  3. 00:00:00 的價差變化如何?看委託簿,不要只看 K 線資料。1 分鐘 K 棒看不出價差;在中階交易所,結算前後幾秒的價差可能擴大到 3-5 倍。如果你的成交是用中間價或收盤價模擬,就等於把實際上不存在的價差收入算進去了。
  4. 只看另外 2 次結算,策略還能成立嗎?把 3 個時段拆開來看。00:00 UTC 的訂單流和 08:00(接近亞洲開盤)及 16:00(美國下午)的不同。如果所有獲利都來自 3 個時段中的其中 1 個,你手上大約只有 300 次事件,而非 900 次,Sharpe 也應該據此重新計算。
  5. 換到結算時鐘不同的交易所,策略還成立嗎?這項檢查很有用。把完全相同的訊號放到資金費率每小時結算或採用不同時間表的交易所。如果效果來自資金費率,時間點應該會跟著該交易所的時鐘走。如果那家交易所不是在 00:00 UTC 結算,策略卻仍在 00:00 UTC 觸發,你找到的就是資料管線裡的午夜假象,而非資金費率效應。
  6. 有多少損益來自前後 90 秒?如果全部優勢都集中在不到 2 分鐘的區間,你的 15 分鐘 K 棒過於粗略,無法如實反映進場價格。你應該假設自己模擬到的是該時段能拿到的最佳成交,而非實際能拿到的成交。

如果我只有 1 小時,會先做第 5 項。這是乾淨的自然實驗,除了另一個資料來源之外,不需要任何新基礎設施。

結算時段實際會讓你付出多少成本

假設這個效應是真的,而且你通過了全部 6 項檢查。接著要正確計算成本,因為你模擬的交易和實際能做到的交易並不一樣。

以下比較一筆 20 分鐘往返交易在平靜時段與跨越結算時段的成本。標的是 USDⓈ-M 永續合約,進出場都用 taker,單筆交易金額為 $50k:

平靜時段(例如 03:20 UTC)跨越 00:00 UTC
Taker 費用,往返0.09%0.09%
典型價差成本~0.4 bp1.5-3 bp
$50k 單筆交易的滑價~0.5 bp2-6 bp
支付/收取的資金費用0±1 至 ±4 bp(整個時段)
實際總成本~10 bp13-19 bp,未含資金費用

資金費率這一列最值得注意,也是我一直強調第 1 項檢查的原因。如果你持倉跨過結算,就要支付或收取該時段的全部資金費用,和持倉時間長短無關。23:59:54 開始承受 12 秒曝險,就得支付完整 8 小時的資金費用。平均持倉時間為 20 分鐘、而且跨過結算點的策略,等於在一筆 20 分鐘交易上支付 8 小時的持倉成本。你的費用模型必須照這樣計費,不能按持倉時間比例分攤。

還有一個相關陷阱:如果你完全避開結算點——23:58 出場,00:02 再進場——手續費筆數就會加倍。現在你的策略核心論點變成:多付 2 次 taker 費用比付 1 次資金費用便宜。有時確實如此。請明確算出來,不要交給回測替你決定。

你還沒問過的市場狀態問題

你的樣本期間是 2024 年 2 月至 2026 年 6 月。這段期間的資金費率並非始終處於同一種市場狀態。有很長一段時間,8 小時資金費率都卡在 0.01% 的下限,沒有人有理由在結算前後調整部位;也有些週資金費率連續數天維持在 0.05% 以上,結算前的訂單流非常劇烈。

依交易當時的資金費率水準將損益分桶——例如依絕對值分成 4 桶。如果優勢來自資金費率帶來的訂單流,損益應大致隨 |funding| 單調變化。資金費率接近 0,優勢也接近 0;資金費率高,優勢也高。如果各桶結果差不多,甚至大部分損益都集中在低資金費率桶,那麼你只是把資金費率這個說法套用到其他現象上。

我喜歡這項檢查,因為它根據你自己的解釋提出可驗證的預測。你問的不是「策略還能不能用」,而是「策略是否因為我所說的原因而有效」。

我實際上會怎麼處理

如果通過:縮小策略規模。這套策略合理的樣貌,不是在 15 分鐘網格上每年交易 900 次,而是精選幾百個事件,進場邏輯精確到秒,成交模型則根據委託簿快照建立,而不是 K 線資料。這樣的策略規模更小、看起來沒那麼漂亮,也更站得住腳。它也比較有機會在模擬交易中重現,而模擬交易是確認你假設的成交是否真能做到的唯一方法。

如果第 2 項檢查沒通過——也就是時間戳偏移——不用太懊惱。每個人至少都踩過一次這個坑。仔細檢查你的資料載入程式,別只修正時間偏移,因為資金費率若有偏移,未平倉量也很可能有同樣問題。你會想在研究下一個想法之前先弄清楚。

還有一件事,很多人會略過。無論你查出什麼,都把這 6 項檢查和結果記在策略旁邊。6 個月後,你或其他人可能會產生結構完全相同的訊號,得到同樣漂亮的曲線,又從頭開始爭論一次。這份診斷才是能長久保存的資產,策略本身未必是。

資金費率、永續合約、回測、過度擬合、加密貨幣
← 所有文章