這是全書最實用的五章。它們處理的是那個最痛的落差——為什麼回測很漂亮,真的做卻不賺錢。作者用九個案例走完同一條管線,把衰減發生在哪一關誠實地標出來了。
四道關卡,以及衰減真正發生的地方
Part IV 的五章其實是四道獨立的關卡:訊號有沒有品質(Ch 16 的診斷)、訊號能不能翻譯成部位(Ch 17)、扣掉成本還剩不剩(Ch 18)、以及撐不撐得過時間(Ch 19 的風控與 Ch 20 的 holdout)。
Ch 20 把九個案例全部走過一遍,得到一張很有價值的漏斗圖。關鍵發現:衰耗不是平均分布的,它高度集中在最後一關。九個案例的驗證期 IC 全部為正、八個過了驗證 Sharpe 關、八個過了成本關——然後在 holdout 只剩五個為正。更刺眼的是,三個驗證 Sharpe 超過 +2 的案例,到 holdout 全部翻成負值。
這張漏斗的價值在於:它告訴你該把驗證資源花在哪裡——不是在驗證期把 Sharpe 再擠高一點。
好看的權益曲線是「主張」,不是「確認」
核心思想:回測是證偽練習,不是展示。預設姿態應該是不相信,直到證據撐過多次明文記錄的擊破嘗試。書給了三個問題:訊號是真的,還是洩漏與選擇效應的產物?執行在你假設的時點與流動性下真的可行嗎?績效跨 regime、跨微小規格變動穩不穩定?
實務上第一件事是先寫協定六要件:訊號時點、調倉與持有規則、部位規模、成交假設、限制條件、成本模型。這六項固定之前,任何結果都不可解讀——書說得很好:兩個回測結論不同,常常只是因為它們回答了不同的協定問題。
而這章最需要內化的統計事實是:你選出來的「最佳」Sharpe,天生就是向上偏的。從 N 個策略裡挑最好的那一個,即使全部都毫無技能,最佳 Sharpe 的期望值也會隨著 N 機械性上升。
重點不是「不准搜尋」,而是搜尋會消耗證據——短樣本撐不起寬搜尋。
# 六要件固定之前,任何回測結果都不可解讀
固定 ① 訊號時點 預設 close → next open
# 同一根 bar 內算訊號又成交 = lookahead
# 把成交移到下一根,常常直接讓策略從賺變賠
固定 ② 調倉與持有規則 ③ 部位規模
固定 ④ 成交假設 ⑤ 限制條件 ⑥ 成本模型
# 每份回測都要報這個數字:break-even 成本與實際成本的倍數
實例 書中 ETF 基線的 break-even ≈ 單邊 166 bp
協定假設的成本是 5 bp → 約 30 倍餘裕
# 但若毛報酬相同、換手率變 10 倍,餘裕只剩 1/10
選引擎 策略下一步是否依賴模擬中才實現的狀態?
(成交、現金、保證金、drawdown 斷路器、動態 sizing)
是 → 事件驅動 否 → 向量化就夠
regime 切片 門檻用擴張中位數
# 用全樣本中位數 = 拿未來的資訊去分類過去
→ 接到台股(以下為外推,非書上內容):「訊號時點」在台股有個書上沒有的變數:台股收盤後還有盤後定價交易,而且隔日開盤前有試撮。如果訊號用收盤價算、假設隔日開盤成交,這個假設在台股比美股更需要驗證——尤其是流動性差的個股,開盤第一筆可能離參考價很遠。另外漲跌幅限制會讓「假設成交」這件事失真:訊號叫你買,但隔天鎖漲停根本買不到,回測若照成交價計入就是系統性高估。這是台股回測最需要自建的一層檢查,書上沒有對應機制。
配置器是音量鈕,不是選台鈕
核心思想:配置器把預測翻譯成部位,而這個翻譯本身就是一個模型——有輸入、有假設、有超參數、有失敗模式。強訊號可以被幼稚的 sizing 毀掉,弱而分散的訊號可以被有紀律的配置器保住。
但書的經驗訊息是謙卑:簡單啟發式是很高的門檻。等權(equal weight)是必須清過的 null model——不是因為它好,而是因為估計誤差經常吃光最佳化的理論增益。書的實測很有說服力:同一個訊號下,四種配置器的 Sharpe 全距只有 0.067,而且最大回撤完全相同(路徑由選股主導)。更嚴重的是無約束最佳化的崩塌——不加限制的最大 Sharpe 組合塌縮到只剩兩檔,最小變異數組合塌到一檔。
九個案例掃過六種配置器,固定訊號下最佳與最差的 Sharpe 差距中位數是 0.49——真實但有界。
評估配置器 對「基準配置器」算 IR,不對現金算 Sharpe
# 只要把總風險降低就能拉高 Sharpe,那不是本事
# IR 問的才是:偏離基準有沒有賺到
Kelly 公式 用 1/2 或 1/4 的分數 Kelly
全 Kelly 是上界,不是操作規則
# 實測原始多資產 Kelly 算出來的槓桿常在 30 倍以上
加同源資產沒用
N 檔資產同 Sharpe、彼此相關係數 ρ
→ 等權組合的 Sharpe 上限 = 單一資產 Sharpe ÷ √ρ
# 相關性高的時候,加再多檔也頂不上去
波動目標化(可以包在任何配置器外面的覆蓋層)
部位 × (目標波動 / 估計波動)
估計波動必須 lag 一步;低波動時要 cap 縮放倍數
評估期內規則凍結,不邊跑邊調
→ 接到台股(以下為外推,非書上內容):「相關性天花板」那條公式對台股特別有意義——台股個股與大盤的相關性普遍高於美股(尤其電子權值股彼此高度連動),這代表「多買幾檔來分散」的效果會比美股更快遇到天花板。書給的 s/√ρ 公式可以直接拿來估算:如果你的選股池平均相關係數是 0.6,等權組合的 Sharpe 上限大約只有單檔的 1.3 倍,而不是直覺以為的「檔數開根號」。這也暗示台股要真的分散,得跨到不同產業甚至不同資產類別,而不是在同一個題材裡加檔數。這是套用書上公式到台股的推論,實際 ρ 要自己算。
成本是設計輸入,不是事後扣項
核心思想:交易成本是理論 alpha 與實現報酬之間最大的缺口。書的立場很明確——成本必須從特徵評估一路整合到實盤執行,而不是最後刮一個百分比。它決定你的 universe、你的調倉頻率、你的部位規模,而且是在回測跑之前就決定。
這章最實用的是三個可行性護欄,都是用算術就能在部署前判死刑的工具:break-even 換手率、最低可行 edge、以及容量估計。它們回答的問題很殘酷但很必要——「以我的成本結構,這個訊號有沒有資格存在?」
前兩個護欄是同一個限制的兩種寫法——都算一次,答案不合就是換手率或成本估計有錯。
# 成本基底要配工具——選錯基底可以直接翻轉結論
價格域寬的 universe 用 bps of notional
# 固定 5 分/股,對中位數 $18 的股票 ≈ 來回 55 bp
# 同一部位在 $5 與 $200 的股票上,成本差 40 倍
選擇權 必須用權利金計價,不能用 notional
# 價平短跨式的真實成本可達 notional 的 15–75 bp/邊
成本不是常數,要 regime 條件化
波動期滑價 × 2–3
壓力期 spread × 3–10
regime 不明時 預設用壓力參數
# 回測要讓危機期付危機的成本,不是全樣本平均
修還是棄 先修實作通道
降換手 → 改善執行 → 縮到流動 universe → 接受較低容量
修完還是不行 → 不管毛回測多漂亮都放棄
→ 接到台股(以下為外推,非書上內容):台股的成本結構跟書上的美股差異很大,而且有一項美股完全沒有的:證交稅。賣出時課千分之三(當沖減半為千分之一點五),這是單向的、固定的、不因流動性改善而降低——換句話說,台股的「來回成本地板」比美股高得多,Ch 18 的最低可行 edge 護欄在台股會篩掉更多高頻策略。實務上把台股來回成本拆成三塊會比較清楚:手續費(可議價)+證交稅(固定)+滑價與衝擊(書上的方法適用)。書中「拉長調倉頻率常常比調模型回報更高」這條建議,在有證交稅的台股只會更成立——這是推論,具體門檻要用你自己的費率算。
它是系統設計,不是報表層
核心思想:風險管理是一組限制、控制與治理文件,定義「情況惡化時策略被允許做什麼」。書講了一句很重的話:沒有明文風險控制的策略不是可交易系統,只是一個等著第一次壓力測試的假設。
三個原則要先立:控制必須無 lookahead 可實作(t 時刻的控制訊號只能用 t 之前的資訊)、必須可稽核(回撤後要能追出哪個訊號觸發哪個動作,「模型決定的」不是答案)、以及治理文件先於部署(可接受回撤、槓桿上限、暫停條件全部事前落字)。
尾部風險有一個很好用的無分布下界:Cantelli 界——只要變異數有限,Sharpe 為 S 的組合單期虧損機率不超過 1/(1+S²)。Sharpe 1 就是 50%、Sharpe 2 是 20%。這個界不需要任何常態假設,在厚尾讓參數化 VaR 失效時特別有用。
每個觸發都要能回答五件事,少一件就只是儀表板上的數字,不是治理規則。
尾部風險 VaR 與 CVaR 都要報,而且按 regime 分開估
# 實測:高波動 regime 的 95% CVaR 是低波動的 2.7 倍
最壞 regime 的 CVaR 放在報告最上面
再套流動性 haircut(spread ×2–3、ADV 打折)
# 對有換手的策略,調整後可比原值高 50–100%
自適應控制的鐵律 t 時刻只能用 t 之前的資訊
合法:lagged 實現波動、已發布指標(VIX、信用利差)
非法:同日實現波動、事後 regime 標籤
非法:全樣本擬合的隱狀態模型(smoothed 機率)
評比波動模型 只信 QLIKE 與 variance-MSE
# 真波動不可觀測,換個 proxy 用 naive MSE 排名就翻轉
風控端用 QLIKE——它重罰「低估變異」
漂移預警 PSI < 0.10 無虞 / 0.10–0.25 調查 / > 0.25 重訓
# 門檻要先在歷史 regime 轉換上校準過
→ 接到台股(以下為外推,非書上內容):「風險控制必須無 lookahead 可實作」這條,在台股最容易違反的地方是用事後才知道的 regime 標記做條件化——例如回頭把某段標成「盤整期」再說「這個策略在盤整期會停止交易」。那不可實作。書的替代方案(用已發布指標當門檻)在台股有現成材料:VIX 的台股對應是台指選擇權隱含波動率,另外融資餘額、外資期貨未平倉這類每日公布的數字也都是合法的、決策時已知的控制輸入。至於分級 kill switch,個人投資者同樣適用——只是決策權那一欄從「投資長/董事會」換成「事前寫給自己的規則」,重點在事前落字而不是當下判斷。而 drawdown 規則悖論提醒的正是:不要用單一切點,要有情境確認。
九個案例的誠實成績單
核心思想:九個案例走同一條標準化管線,得到的不是「ML 行不行」的答案,而是一張診斷地圖。這章是全書最誠實的一章,也是最有價值的一章——因為它把失敗攤開來看。
先看成績單。下表是九個案例各自最佳配置的驗證期與 holdout 表現,請特別注意兩欄之間的落差:
| 案例 | 調倉 | 日 IC | 驗證 Sharpe | Holdout Sharpe |
|---|---|---|---|---|
| 美股公司特徵 | 月 | +0.037 | +2.75 | +1.77 |
| 美股 Panel | 週 | +0.036 | +2.03 | −0.49 |
| S&P 500 股票+選擇權 | 週 | +0.041 | +2.39 | −0.73 |
| CME 期貨 | 週 | +0.032 | +1.36 | +1.11 |
| ETF | 月 | +0.085 | +1.36 | +1.00 |
| 加密永續 | 24 小時 | +0.026 | +2.57 | −0.13 |
| S&P 500 選擇權 | 週 | −0.002 | +0.16 | +0.97 |
| 外匯 | 日 | +0.012 | +0.05 | +0.19 |
| NASDAQ-100 微結構 | 15 分鐘 | +0.004 | +1.13 | +0.53 |
最刺眼的三列是中間那幾個:驗證 Sharpe 都在 +2 以上,holdout 全部翻負。而 S&P 500 選擇權那列剛好相反——驗證期幾乎沒有訊號(IC 是負的、Sharpe 只有 +0.16),holdout 反而 +0.97,因為它賺的是結構性溢酬過了執行關,不是模型選股。
三種病因對應三種完全不同的處置——判錯型就會在錯的層級燒掉研究預算。
IC 王 ≠ Sharpe 王 9 個案例裡有 7 個不是同一個模型家族
跨變體的 IC 與 Sharpe 相關只有 0.34
# IC 只解釋了大約 1/8 的 Sharpe 變異
IC 有天花板 全測試床的日 IC 上限約 +0.085
# 低訊噪是結構性的,單模型調過這條線是徒勞
出路在 breadth、ensemble、組合建構——不是更深的網路
預設先用 GBM 它拿下 4/9 的下游 Sharpe 冠軍
# 機制:預測變異低、沒有 checkpoint 選擇風險、對 regime 不敏感
# 線性模型另有價值:換手比 GBM 低 28–55%,是成本效率替代品
樣本外存活的是「分散」不是「訊號強度」
同樣的驗證 Sharpe 下——
10 檔集中版 holdout 回撤 −34%
50 檔分散版 holdout 回撤 −8.6%
成本脆弱度 = 調倉頻率 × universe 流動性
# 拉長調倉頻率,常常比調模型的回報還高
→ 接到台股(以下為外推,非書上內容):這章的四關卡框架,正好可以用來重新盤點 H-018 那次的驗證:當時測到的是第一關(訊號品質)失敗——樣本外檢定顯示方向是反的。四關卡框架會提醒你,第一關失敗其實是最省成本的失敗,因為你不用再去試配置器、成本模型、風控覆蓋層了。反過來說,如果哪天有個台股訊號過了第一關,這張表提醒你後面還有三關,而且衰耗最重的是最後那關。另外「樣本外存活的是分散不是訊號強度」對台股選股策略是很值得記住的一條——集中壓在幾檔強勢股上,驗證期會很好看,但 holdout 的回撤會教你做人。以上是把書的框架套到台股情境的推論,不是書上針對台股的結論。
策略實作的閾值與規則,這是全書閾值密度最高的一段
| 情境 | 怎麼做 | 出處 |
|---|---|---|
| 訊號在收盤算出 | 成交排在次日開盤;同 bar 訊號+成交=lookahead | Ch 16 |
| 回測完成後 | 報 break-even 成本,並與實際成本比倍數餘裕 | Ch 16 |
| 選回測引擎 | 下一步依賴模擬中才實現的狀態 → 事件驅動;純權重制 → 向量化 | Ch 16 |
| 做 regime 切片 | 門檻用擴張中位數(point-in-time),不用全樣本中位數 | Ch 16 |
| 讀未校正 Sharpe | < 0.5 弱、0.5–1.0 看條件、1.0–1.5 有潛力、1.5–2.0 嚴查、> 2.0 全面嚴審 | Ch 16 |
| 評估配置器 | 對等權/逆波動這類基準配置器算 IR,不對現金算 Sharpe | Ch 17 |
| 用 Kelly | 取 ½ 或 ¼ 分數 Kelly;全 Kelly 是上界不是操作規則 | Ch 17 |
| 估分散極限 | N 檔同 Sharpe、等相關 ρ → 等權組合 Sharpe 上限 = 單檔 ÷ √ρ | Ch 17 |
| 用 MVO | Ledoit-Wolf 收縮+限制當正則化+換手罰項;傷你的是排序錯誤不是尺度錯誤 | Ch 17 |
| 做波動目標化 | 估計波動 lag 一步、低波動時 cap 縮放倍數、評估期內規則凍結 | Ch 17、19 |
| 選成本模型 | < 0.5% ADV 半價差、0.5–2% 線性、> 2% 平方根;η 取範圍上半 | Ch 18 |
| 算最低可行 edge | 來回成本 ÷ 持有天數(20 bp ÷ 5 天 = 每天先賺 4 bp) | Ch 18 |
| 算 break-even 換手 | 年毛報酬 ÷ 來回成本(5% ÷ 25 bp ≈ 每年 20 倍) | Ch 18 |
| 估容量 | 參與率上限 × 日成交額 ÷ 日換手率 | Ch 18 |
| 成本基底選擇 | 價格域寬用 bps of notional;選擇權用權利金計價;日內用每股 | Ch 18 |
| 波動期估滑價 | × 2–3;壓力期 spread × 3–10;regime 不明預設用壓力參數 | Ch 18、19 |
| 報尾部風險 | VaR 與 CVaR 都報、按 regime 分開、最壞 regime CVaR 置頂,再套流動性 haircut | Ch 19 |
| 免分布下界 | Cantelli:Sharpe 1 單期虧損機率 ≤ 50%、Sharpe 2 ≤ 20% | Ch 19 |
| 評比波動模型 | 只信 QLIKE 與 variance-MSE;風控端用 QLIKE(重罰低估) | Ch 19 |
| 設自適應控制 | lagged 波動合法;同日波動、事後 regime 標籤、smoothed 機率全部非法 | Ch 19 |
| 設 kill switch | 分級(5/10/15/20/30%),每級五件套;避免單一機械切點 | Ch 19 |
| 監控漂移 | PSI < 0.10 無虞、0.10–0.25 調查、> 0.25 重訓 | Ch 19、26 |
| 宣稱 alpha 之前 | 先做因子歸因並帶 HAC 標準誤;殘差配對相關 |ρ| > 0.4 要旗標 | Ch 19 |
| holdout 失望時 | 先判三型(預測漂移/翻譯漂移/regime 轉換),不要同管線換超參數重跑 | Ch 20 |
| 選模型家族 | 預設先 GBM(低選型風險);線性換手低 28–55%,是成本效率替代 | Ch 20 |
| 要不要 ensemble | 頂群在 bootstrap 誤差帶內分不出高下時才啟用;買的是穩定不是峰值 | Ch 20 |
| 決定集中度 | 樣本外存活的是分散——同驗證 Sharpe 下,集中版回撤可能是分散版的四倍 | Ch 20 |
skills/ml4t/chapters/ch16–ch20 蒸餾檔。來源 EPUB 抽取時數學公式與圖表無法讀取,本頁數字均取自章節檔中以文字明確寫出的部分。九案例成績為作者測試床的實測結果,屬研究等級、非實盤依據,不構成投資建議;口徑是美股,台股段落已逐段標示為外推。