這是整張圖上最難辯護的一格。量化資產定價領域規模最大的機器學習實證研究——Gu、Kelly、Xiu,Review of Financial Studies 33(5), 2020, 2223–2273——的核心結論是表現最好的方法是樹與神經網路,經濟利益顯著,在某些情形下約為領先的迴歸類策略的兩倍。同一張圖把神經網路的當代代表(Transformers)放 S 級、把樹放 D 級,兩格之間的距離與這份證據的方向相反。
這篇先把樹模型講清楚,再處理「為什麼有人會給它 D 級」這個問題——那個理由其實存在,只是不足以支撐 D。
📖 單棵樹(CART)
迴歸樹遞迴地做二元切分。在每個節點上,搜尋切分變數 j 與切點 s,使切分後的平方誤差和最小:
預測值是落點所在葉節點的樣本平均。輸出函數是分段常數,這個事實決定了樹模型後面所有的優點與缺點。
單棵樹的致命弱點是高變異:訓練資料換幾個樣本,整棵樹的結構可能完全改變。兩條解法走了相反的方向。
📖 隨機森林:用平均壓變異
Breiman(2001)的做法是訓練大量樹再平均。關鍵在於讓這些樹盡量不相關,因為 B 棵相關係數為 的樹,其平均的變異數是:
時第二項消失,但第一項不會。所以光是增加樹的數量有上限,必須降低 。隨機森林用兩個隨機化達成:
- Bootstrap 抽樣:每棵樹看不同的資料子集。
- 每次切分只考慮隨機抽出的
m個特徵(通常 )。這一步是隨機森林與單純 bagging 的差別,也是它名字的由來——它阻止所有樹都在同一個強特徵上做第一刀。
隨機森林的特性是穩健、幾乎不用調參、難以過擬合(增加樹的數量不會讓測試誤差上升)。
📖 梯度提升:用序列化壓偏誤
Friedman(2001)的方向相反:不是平均獨立的樹,而是序列地疊加小樹,每一棵修正前面累積的誤差。
其中 擬合當前損失函數對 的負梯度(平方損失下就是殘差), 是學習率(收縮係數),通常取 0.01 到 0.1。
與迭代次數 M 是一組取捨: 越小需要的 M 越大,但泛化通常越好。這是 GBM 最重要的調參直覺。
XGBoost 與 LightGBM 在此之上加了二階近似、正則化項、特徵分箱與高效的工程實作,是當代表格資料競賽的常勝軍。
| 隨機森林 | 梯度提升 | |
|---|---|---|
| 壓的是 | 變異 | 偏誤 |
| 樹的深度 | 深(接近完全生長) | 淺(常 3–6 層) |
| 樹之間 | 獨立,可平行 | 序列相依 |
| 過擬合風險 | 低 | 高,必須靠早停與正則化控制 |
| 調參難度 | 低 | 中高 |
📖 為什麼樹特別適合金融表格資料
第一,自動捕捉非線性交互作用。 「小市值且高動能且低流動性」這種三重條件,樹用三刀就表達了,線性模型需要事先手工建出交互項。Gu-Kelly-Xiu 明確把機器學習的預測增益歸因於允許非線性預測變數交互作用,而這正是樹的原生能力。
第二,對特徵的單調變換不變。 切分只用到排序,所以取對數、標準化、做排名都不改變結果。金融特徵的尺度差異極大(本益比、市值、成交量),這省掉了大量前處理決策。
第三,對 X 的離群值穩健。 一個市值大一萬倍的樣本,在線性迴歸裡是槓桿點,在樹裡只是「大於切點」。
第四,處理缺值與混合型態。 財報資料充滿缺值與類別變數,樹不需要補值策略。
📖 它真正的弱點:無法外插
這是在金融領域最值得認真對待的一條。 樹的預測值是葉節點的訓練樣本平均,所以預測永遠落在訓練目標值的範圍內。
在 VIX 位於 10 到 40 的資料上訓練的模型,遇到 VIX 等於 80 的那一天,只會把它分到「VIX 很高」那片葉子,給出該葉子裡的平均反應——也就是 VIX 等於 40 時的反應。模型沒有外插的能力,它只會說「這和我見過最極端的情況一樣」。
而金融風險的本質就在於樣本外的極端。線性模型在這裡反而有一個真實優勢:它會外插(即使外插得很糟),至少方向與量級會隨輸入繼續變化。
其餘三個弱點:
- 分段常數不擅長平滑單調關係。 一條直線關係,樹要用很多刀去逼近階梯,在低訊噪比下這些刀大多是在擬合雜訊。
- 在低訊噪比下極易過擬合。 樹的彈性在金融資料上是負擔,必須靠深度上限、最小葉節點樣本數、早停、
subsample強力約束。 - 時間序列洩漏。 隨機 K-fold 交叉驗證在時間序列上會讓未來資訊進入訓練集。正確做法是 walk-forward,並在訓練集與驗證集之間做淨化(purging)與禁運(embargo),否則回測會系統性地樂觀。
📖 把 D 級的理由寫成它最強的版本
要公平,就得先承認給樹 D 級有一個講得通的理由:
這張圖上其他模型都教會了我們某件關於市場的事。Black-Scholes 教會我們選擇權價格與期望報酬無關;GARCH 教會我們波動率有持續性並可預測;Litterman-Scheinkman 教會我們殖利率曲線只有三個自由度。樹模型沒有教會我們任何關於市場的事。 它是一台函數逼近機器,沒有經濟內容、沒有封閉解、沒有可解讀的參數,也不能用來定價一張衍生品或導出一個避險比率。而且它無法外插,恰好在最需要它的時候失靈。
這個論證是誠實的,而且它解釋了整張圖的排序邏輯(見 12)。
但它仍然撐不起 D 級,有兩個理由:
- 它和「有用」這個判準衝突。 在報酬預測這個具體任務上,樹模型是當前證據下表現最好的一類方法之一。把它排在幾個在它自己的任務上已被否證的模型(例如常數波動率的 Black-Scholes)之下,等於不承認「預測準確」是一種價值。
- D 級裡還有 Nelson-Siegel。 把「全球多數央行每天用它生產官方殖利率曲線」與「在大規模實證研究中預測表現最好」放進同一級,只能說明這一級裡混進了兩種不同的「我不覺得它厲害」。
📖 實證證據的細節與保留
Gu、Kelly、Xiu(RFS 2020)的具體結論:
- 比較多種機器學習方法用於衡量資產風險溢酬,報告投資人使用機器學習預測可獲得大幅經濟利益,某些情形下約為領先迴歸類策略的兩倍。
- 表現最好的是樹與神經網路,增益來自其他方法錯失的非線性預測變數交互作用。
- 所有方法對主要預測訊號的判斷一致:動能、流動性、波動率的各種變體。
複現上的保留
一篇鹿特丹伊拉斯謨大學的碩士論文以該研究資料的子集嘗試複現,報告無法重現其績效,其神經網路甚至產生負的
R²,作者將部分落差歸因於資料集較小。這是單一學生複現,應視為警示而非反駁,但它提醒這類結果對資料規模與實作細節敏感。
另外,在與 Transformer 的直接比較中,梯度提升仍然頂得住:一項 TSX 研究報告 XGBoost 選出的股票在部分比較中報酬更高,且報酬最高的模型並非準確率最高的模型;一項滬深 300 波動率研究發現 XGBoost 具競爭力,Transformer 僅在部分損失指標上最佳。
📖 我的評價
A 級。 與 ARCH/GARCH 同級。理由是它在自己的任務(橫斷面報酬預測、特徵豐富的表格預測)上有最佳或接近最佳的實證紀錄,而它不進 S 級是因為它缺乏理論內容、無法外插,且重度依賴使用者的驗證紀律——同一個工具在不會做時間序列交叉驗證的人手上會產生災難性的樂觀回測。
🔍 待解問題
- Gu-Kelly-Xiu 的結論建立在美股
1957–2016的大樣本上,跨市場(尤其是流動性較低的市場)與跨期間的穩健性未知。 - 學術論文與實際部署的落差在金融特別大(有效的策略不會發表),樹模型在真實量化機構中的使用比例無公開資料。
- 樹與神經網路在金融表格資料上的優劣,不同研究結論不一致,缺乏一份方法統一的系統性回顧。
🔗 參考連結
- Gu, Kelly, Xiu, Empirical Asset Pricing via Machine Learning(NBER w25398)
- SSRN 版本(abstract 3159577)
- Erasmus 碩士論文,複現嘗試
- From Index to Equity: Pre-Training Transformers for Stock Return Prediction(arXiv 2605.23962)
🕒 更新紀錄
- 2026-11-09:建立。