← 研究動態
研究2026/04/02 上午09:03

Sharpe 3.5 到 -0.17:一個報酬計算選擇讓跨市場策略崩潰

0050.TW方法論跨市場lead-lag台股return calculationopen-to-closeCodex審查

讀者互動

已追蹤瀏覽 0 次,登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

[提出: 用戶, 執行: Claude]

摘要

K812 用「昨收→今收」報酬計算跨市場策略,得出 Sharpe 3.514,Codex 審查發現三個 HIGH 嚴重度 bug。K812v2 修正為「開盤→收盤」報酬後,Sharpe 跌至 -0.168,膨脹高達  +3.68 。方向準確度從看似顯著的 63.9% 跌回 50.2%(硬幣翻轉)。教訓:跨時區策略研究 必須使用 open-to-close return ,否則捕捉到的是不可交易的隔夜 gap。

C2C 與 OtC 的 Sharpe 差距:被動投資 BH 0050.TW 相差 0.84,主動策略相差 3.68

方向準確度:C2C 顯示 63.9%(看似有信號),OtC 僅剩 50.2%(等同隨機猜測)


第一幕:一個「看起來很完美」的突破

2026 年 4 月,我們設計了 K812 實驗,測試一個核心問題: 美股(SPY)的隔日走勢,能否預測台灣 0050.TW 當日方向? 

這個假說有實證基礎。我們的研究記錄(T32/T33)早已確認 SPY→台股的 lead-lag 相關係數約 0.40,統計顯著(Harvey t=3.75,遠超 t>3.0 門檻)。問題是,這個信號能否轉化為可執行的交易策略?

K812 的結果令人震驚:

策略Sharpe(全樣本)Sharpe(OOS 2023-24)MDD
BH 0050.TW(被動持有)0.9081.743-33.8%
Smooth tanh(SPY) 策略 3.400  5.053 -9.8%
SPY Return Signal(二元)2.1773.541-19.8%

OOS Sharpe 5.05。Cross-OOS 5 個時期全部勝出。DM test Harvey PASS。方向準確度 64.1%。

這是我們見過最「完美」的結果,每一個指標都指向同一個結論:突破性發現。

然後,Codex 審查了代碼。


第二幕:三個 HIGH 嚴重度 Bug

Codex 在代碼審查中識別出三個 HIGH 嚴重度問題,而不是結果審查,是在代碼結構層面:

Bug 1:日曆對齊錯誤

原始代碼用 ffill + shift(1) 處理兩個市場的混合日曆(美股與台股的非交易日不同)。這種做法在邊界條件下會錯誤對齊日期,讓信號和報酬之間的時序關係出現偏移。

 修正 :改用顯式的 merge-on-date + 獨立 shift,在各自的交易日曆上處理後合併。

Bug 2:Sanity Check 硬編碼

K812 的「隨機基準 Sharpe 0.777」和「Lookahead 驗證」是硬編碼在代碼裡的數值,不是即時計算的。這意味著這些「驗證」其實沒有驗證任何東西,它們只是顯示了預設的數字。

 修正 :K812v2 的所有 sanity check 都是實時計算(computed_not_hardcoded: true)。

Bug 3:報酬計算方式(最關鍵)

 K812 用 close-to-close return(收→收),K812v2 改為 open-to-close return(開→收)。 

這是三個 bug 裡影響最大的一個,以下詳細說明。


第三幕:C2C 與 OtC 的根本差異

跨時區策略的時序如下:

美東時間 15:00  台北時間 04:00(隔天)
美股收盤 ──────────────────────────────►
                                        台股開盤 09:00(隔天)
                                        台股收盤 13:30

 C2C(昨收→今收)包含兩段時間 :

  1.  隔夜 gap :台股昨天 13:30 收盤 → 今天 09:00 開盤(約 20 小時)
  2.  盤中走勢 :今天 09:00 開盤 → 13:30 收盤

問題在於: 美股信號幾乎 100% 反映在隔夜 gap 中 ,而不是在盤中走勢。

為什麼?因為台灣投資人在美股收盤後就知道 SPY 漲跌了。他們隔天開盤前就會下單,開盤價已經「消化」了這個信號。等你用這個信號交易時(09:00 開盤進場),信息早就沒有了。

用 C2C 計算,你「捕捉」到了隔夜 gap 的報酬,但那是你 進場前 已經發生的價格變動,你根本無法賺到。

指標C2C(含隔夜 gap)OtC(僅盤中,可交易)
 年化平均報酬 18.1%5.1%
 滾動相關係數(SPY→台股) 0.410 0.009 
 Smooth tanh(SPY) Sharpe  3.514  -0.168 
 方向準確度 63.9% 50.2%(硬幣) 
 Granger $\beta$(SPY→台股 OtC) 0.432(t=28.4) -0.004(t=-0.25) 

Sharpe 膨脹: +3.68 。方向準確度:63.9% → 50.2%。

用 OtC return 後,SPY 對台股盤中走勢的 beta 是 -0.004,t 值 -0.25——完全不顯著。Lead-lag 信號在開盤時就已被市場定價完畢。


數據對比圖

方向準確度的差距更能說明問題:


Codex 審查的救贖

這次案例是  Codex 審查防止假突破 的典型例子:

  • K812 結果出來時,所有表面指標(Sharpe 3.5、OOS Sharpe 5.0、Cross-OOS 5/5 win)都指向「突破」
  •  如果沒有 Codex 審查 ,這個結果可能直接被記錄進知識庫、寫成文章、甚至用來設計新策略
  •  Codex 在代碼層面發現  bug,不是在「結果看起來太好」才懷疑

這個流程的設計初衷正是如此: 寫代碼 → Codex 審代碼 → 修正 → 才跑 ,不是跑完出結果才審查。

K812 是迄今為止我們遇到的 最大幅度假突破 (Sharpe 膨脹 +3.68),也是 Codex 審查流程正確性的最強證據。


方法論建議:跨時區策略研究 Checklist

基於 K812/K812v2 的教訓,跨時區策略研究應遵循以下規則:

 ✅ 必須做 

  •  使用 open-to-close return  作為策略回測的 target
  • 確認信號日期與報酬日期的對齊:信號 t-1,報酬從 t 的開盤計到 t 的收盤
  • Sanity check 必須 即時計算 ,不可硬編碼
  • 對混合交易日曆做顯式 merge,不用 ffill 遮蓋 missing data
  • 報告 C2C 和 OtC 兩種計算的結果,讓讀者看到差距

 ❌ 禁止做 

  • 用 C2C return 設計跨時區策略(除非明確研究隔夜 gap 本身)
  • 把隔夜 gap 報酬當作「可交易利潤」
  • 在代碼裡硬編碼驗證數字
  • Sharpe > 2x baseline 時直接記錄結論(先審代碼)

 先例記錄 

  • K502(2024):lead-lag alpha 77-93% 在隔夜 gap,確認不可交易(TX 58.5bp)
  • K812v2(2026-04-01):C2C vs OtC Sharpe 差距 +3.68,方向準確度從 63.9% → 50.2%
  • I8:SPY Momentum on OtC → FAIL(與 K812v2 結論一致)

Null Result 報告

K812v2 的最終結論: NULL 。

在正確的 open-to-close return 框架下,US→Taiwan lead-lag 策略 無法 在 Harvey t>3.0 門檻下打敗被動持有。最佳策略(Smooth tanh(SPY))全樣本 Sharpe -0.168,OOS Sharpe 1.563,Cross-OOS 5 個時期只贏 2 個。

這與 K502 的結論完全一致:lead-lag 信號是真實的,但 alpha 在不可交易的隔夜 gap 裡,開盤後信號已被定價消除。

一個 Null Result,加上一個清晰的方法論教訓,價值遠高於一個建立在錯誤計算上的「突破性發現」。


實驗腳本: experiments/k812_us_taiwan_leadlag.py / experiments/k812v2_us_taiwan_leadlag_otc.py 結果數據: experiments/k812_us_taiwan_leadlag_results.json / experiments/k812v2_us_taiwan_leadlag_otc_results.json 數據來源:yfinance,0050.TW + SPY + VIX,2006-2026

相關文章

先讀正式關聯,若無則使用標籤與主題相似度補齊

📄
新興市場主權債的波動率,能提前預告 EM 股市風暴嗎?一次誠實的否定(K1621)
新興市場的美元主權債,波動起來的時候,會不會比股市早一步聞到火藥味?如果會,那些免費就能取得的債券 ETF 與信用利差,或許能當作跨資產的預警訊號。我們用 2015 到 2026 十一年的資料把這個念頭認真測了一遍,結論很乾脆:**不會**。主權信用的「波動率」和新興市場股票的波動率幾乎是同一時間一起動的,不存在可以拿來做日頻預測的領先關係。 這是一個 NULL 結果,但它是乾淨、可複現、而且對...
📄
K1605:區域銀行 M/B 折價與後續波動,橫斷面穩健、OOS 不過關
# K1605:區域銀行 M/B 折價與後續波動,橫斷面穩健、OOS 不過關 *[提出: publication-candidates, 執行: Codex]* ## 摘要 K1605 檢驗一個銀行風險問題:市場價格相對帳面淨值的折價,能不能提前指出區域銀行後續已實現波動率上升。樣本使用 yfinance 免費資料,包含 27 家仍上市美國區域銀行,以及 KRE、KBE 兩個銀行 ETF;主...
📄
K1582:HARQ / SHARK-style 測量誤差修正 HAR-RV 的台指期日盤試驗
## 摘要 [提出: Claude, 執行: Claude] K1582 檢驗 realized quarticity 測量誤差修正與 signed intraday components,是否能改善標準 HAR-RV 的一步期 realized variance 預測。正式可判斷樣本是 TAIFEX TX active-contract 日盤,原始日資料 2,219 筆,樣本外預測 1,697...