Geofin Score v0:把敘事觀點翻譯成可回測的因子
強敘事觀點很多、能進 backtest 的很少。這篇提出 Geofin Score v0——一個把 Geopolitical-First 框架五個維度量化成單一分數的初版設計。v0,會被下一版推翻。
目錄
問題:強敘事 ≠ 可用因子
如果你看過足夠多的總經評論——不論來源是研究報告、Substack、YouTube、還是 老交易員的 twitter——你會同意一件事:觀點的強度跟可驗證性不成正比。
強敘事讓人記得住,但「記得住」無法進 backtest。我要的是反過來的東西: 把一個敘事拆成每天可以算出數字的 feature,然後進 backtest。
Geofin Score 是我對這個問題的答案的第 0 版。它還不 work,我需要先寫下來 才知道哪裡會壞掉。
五個維度
v0 用五個軸,全部對應 Geopolitical-First 框架 的上游變量:
1. Geopolitical Tension(GT)
- 資料源:GDELT 事件資料庫 + 七個瓶頸點的新聞事件嚴重度
- 量化:0–10,週滾動
- 信念:地緣風險先於資金,資金先於價格
2. Debt Stress(DS)
- 資料源:七個主要經濟體的公債殖利率曲線 + CDS spread + 銀行體系壓力指標
- 量化:0–10
- 信念:債務陷阱的警報不是價格,是利率曲線的形狀
3. Supply Chain Chokepoint(SCC)
- 資料源:七個瓶頸點的船運通過數 + BDI + 運價 spread
- 量化:0–10
- 信念:物理世界的延遲是金融世界的 alpha 窗口
4. Governance Quality(GQ)
- 資料源:World Bank Governance Indicators + 主權評等變化 + 資本管制事件
- 量化:0–10,月更新
5. Narrative Divergence(ND)
- 資料源:主流財經媒體情緒 vs 獨立評論者情緒的偏離度
- 量化:0–10
- 信念:敘事分歧有時是 alpha,有時只是 noise——這一軸本身是反向 指標測試用,不是信號來源
v0 的組合方式
簡單加權(後續版本會試 PCA 或 regime-switching):
Geofin Score = 0.25·GT + 0.25·DS + 0.20·SCC + 0.15·GQ + 0.15·ND
這組權重是猜的。我知道。下一版會用每一軸對過去 NASDAQ / 台指的預測力去 反推權重,但 v0 先用直覺跑一遍作為 baseline。把 v0 發表出來的唯一目 的,就是讓未來的 v1 有東西可以打。
預計的測試
| 測試 | 目的 |
|---|---|
| 單軸 IC | 每一軸對未來 5/20/60 日 return 的相關性 |
| 組合 IC | 整合分數的 IC |
| Regime-conditional | 不同 VIX regime 下的表現 |
| Walk-forward | 避免 in-sample overfit |
| Seed stress | 任何含 ML 元件的版本,最少 10 個 seed 平均 |
會犯的錯(事先承認)
- 權重猜測:v0 的 0.25/0.25/0.20/0.15/0.15 是直覺,不是最佳化的結果
- 資料對齊偏差:五個軸的發布頻率不同(日/週/月),對齊時會引入 look-ahead 風險,要明確處理
- 生存偏誤:我選的七個瓶頸點是現在覺得重要的,1995 年重要的節點 跟現在不一樣
- LGBM 樂透:前一篇講過的教訓——v0 不用 LGBM,先用線性組合,避免 random seed 把假訊號放大成真訊號
下一步
如果 IC 是 0,下一篇就寫 Geofin Score v0 是一個 0 IC 的因子。這也是有價值 的結論——至少讓未來的我不會再用同一組假設跑第二次。
地緣優先的投資觀察週報
每週一封。方法論、失敗紀錄、量化驗證結果。不寄明牌,不寄投資建議。 免費訂閱即可收到精選摘要,付費解鎖完整深度研究。
- 免費版:每週 1 篇精選 + 市場速覽
- 付費版:每週 3 篇深度研究 + 數據附件
同一條思路下的其他研究

「615 回測後 670 反彈」的敘事解剖:為什麼 90% 的 Level Prediction 是事後合理化
市場充滿精確的價格預測:『S&P 615 回測,670 反彈』。但為什麼這些預測事前很少成立,事後總能解釋?這篇文章用統計學和心理學拆解三個預測存活的機制,以及如何區分『真預測』與『事後合理化』。

Walk-Forward 設計守則:OOS 不是跑一次就算
很多回測報告寫著「OOS 表現良好」就把策略 GREEN 了。但 OOS 做一次不叫 walk-forward,那只是運氣。這篇整理 walk-forward 分段的三個設計關鍵,以及每一段應該記錄什麼才算誠實的 robustness 檢驗。

公開回測紀律:為什麼我們把 Sharpe > 2 先當成 bug
十多次失敗的回測告訴我一件事:高 Sharpe 不是 edge,是訊號。是「該去找 bug」的訊號。本文整理三個最常見的高 Sharpe 假象、對應的診斷步驟、以及為何把「先假設壞掉」寫成預設值,對長期研究才誠實。把門檻寫出來,是為了下次看到漂亮數字時仍能按順序跑完七條檢查,而不是被僥倖拉走。