ML4T 導讀 · Part VI · Ch 25–27

同一份程式碼,跑回測也跑實盤

多數演算法交易專案不是死在「沒有 edge」,而是死在回測到實盤的那段過渡。最後這三章講怎麼把橋搭好、怎麼在上線後持續正確,以及為什麼「流程」才是唯一帶得走的資產。

Ch 25 實盤系統 Ch 26 MLOps 治理 Ch 27 系統化優勢
0

一張圖看懂這一部分

三章,三個不同的問題

這三章的責任切分很乾淨,而且混淆它們會浪費大量時間與資本:

Ch 25 問的是「實盤算出來的,跟回測算出來的一樣嗎?」——這是技術問題,答案是二元的,而且完全是自找的(書稱為 technical divergence)。Ch 26 問的是「在現在這個市場狀態下,還該不該讓它跑?」——這是統計問題,管線可以完全正確,但世界變了。Ch 27 則收在最後一個問題:「怎麼讓這整套流程持續運轉下去?」

Ch 25 · 技術正確 「算的跟回測一樣嗎?」 同樣的輸入 → 不同的輸出 = 管線分歧,是 bug 處方:修程式,不要換模型 Ch 26 · 統計適配 「現在還該讓它跑嗎?」 同樣的輸入 → 同樣的輸出 但報酬失效 = 模型衰退 處方:重訓、重設計或退役 Ch 27 · 流程持久 「怎麼一直做下去?」 單一策略是暫時優勢 能持續產出策略的流程 才是持久價值 為什麼分診這件事這麼重要 把「統計衰退」當 bug 除錯 → 徒勞地追一個不存在的程式錯誤 把「bug」當衰退換模型 → 換了一個新模型,但同一個 bug 還在裡面

兩種病因的處方完全相反,所以第一步永遠是分診,不是動手。

A

Ch 25 · 實盤交易系統

靠架構消滅分歧,而不是事後 debug

核心思想:多數演算法交易專案死在「回測 → 實盤」的過渡——不是策略沒有 edge,而是生產系統與研究環境之間的微妙分歧,一點一點侵蝕掉報酬。

書的解法很有力:統一雙模式框架——同一份策略程式碼在回測與實盤兩種模式下跑,靠構造消滅技術分歧,而不是靠測試去追捕它。書把最常見的錯誤路徑點名了:研究用 notebook、上線另外寫一套——那是兩份平行實作、兩個藏 bug 的地方,改進不同步、修復不回流,六個月後回測 15% 而實盤 3%,卻無從診斷。

同一份策略程式碼 Ch 16–19 的策略類別、配置邏輯 成本參數、風控門檻——直接移植 它不知道資料是從哪來的 回測模式 歷史資料庫 重放歷史事件 成交由模擬器結算 實盤模式 WebSocket 即時串流 接收即時事件 成交由券商回報 抽象 介面 共用的事件驅動核心 同一組 handler 同一套狀態管理 支援重啟續跑 訊號生成必須確定性 禁:依賴系統時間 禁:跨執行不同的隨機種子 禁:會變的外部狀態

把 Part IV 寫好的策略當成「正在等待即時資料源的生產程式碼」,而不是一份需要重寫的原型。

Ch 25 · 上線前的驗證與安全設計決策規則
# 部署前的四階段 parity 測試——逐段餵相同輸入、比對輸出
驗 ① 原始資料 → 特徵    # 常見凶手:調整價 vs 未調整價、時區、缺值
驗 ② 特徵 → 預測        # 序列化差異、前處理錯配、浮點精度
驗 ③ 預測 → 訊號        # 最佳化器容差、universe 差異
驗 ④ 訊號 → 委託單      # 整股捨入、既有部位、執行約束
     # 用二分搜尋定位分歧發生在哪一段

自動化 每日開盤前,比對昨日實盤訊號 vs 同資訊集的回測輸出
     不符即停,停到解釋清楚為止

下單要冪等 client_order_id 送單前先落地持久化
     逾時 → 先查券商有沒有這張單 → 有就同步、沒有就同 ID 重送
     # 這是崩潰復原時「永不重複下單」的基石

拒單分因處置,絕不盲目重試
     買力不足 → 等資金釋放 無效代碼 → 記錄調查 休市 → 等開盤

安全控制要 fail-closed
     kill switch 狀態必須持久化——否則當日崩潰重啟就歸零虧損計數
     啟動時與券商對帳,不乾淨就拒絕開始新的交易週期
註解為什麼重要:這章有兩個特別容易致命的細節。第一,訓練與推論要鎖同一個交易所——不同場所的報價慣例、費率結構、流動性輪廓造成的分布位移,程式碼驗證完全抓不到。第二,券商的路由選擇比表定佣金更影響實現成本:書實測五家美國券商的往返成本從 0.07% 到 0.46%,差了六倍多,而訂單流付款(PFOF)只解釋了其中 3.4% 的變異——差異來自路由品質本身。

→ 接到台股(以下為外推,非書上內容):統一雙模式框架的架構原則完全適用,但券商整合那一層要整組換——書講的是 IBKR 與 Alpaca,台股要走券商的 API(各家規格不同,且多數不像美股券商那樣有成熟的程式交易介面)。「訓練與推論鎖同一資料源」這條在台股同樣重要:如果研究用 FinMind 的資料訓練、實單用券商報價執行,兩邊的還原價演算法、成交價定義可能不同——這正是書說「程式碼驗證抓不到」的那種分布位移。至於冪等下單,台股券商 API 是否支援自訂委託書號要逐家確認;不支援的話,就得自己維護一份委託對照表來達成同樣效果。管轄權那一條在台股是:先確認你的券商允許程式下單、以及當沖與現股當沖的資格限制。

B

Ch 26 · MLOps 與治理

每個部署的模型都會衰退,問題只是多快發現

核心思想:每個部署的模型都會衰退——問題不是會不會,而是多快偵測到、多安全地應對。書把治理拆成三層:偵測(資料閘門、滾動指標、漂移分析)→ 應對(shadow 評估、分段上線)→ 自動安全(熔斷器)。

有一個很違反直覺但極重要的順序:資料完整性閘門要先於模型監控。書指出大量「表面上的漂移」其實是靜默的資料缺陷——陳舊價格、公司行動處理錯誤、斷裂的 join、時區問題、缺 bar、重複列。先把資料驗好,才不會追錯方向。

而換模型這件事,書的態度是替換品可能比衰退的原版更糟,所以要走一條很慢的路。

安全換模:全程 60–90 天,每一階段都可觀察、可歸因、可審查 ① 影子模式 新舊模型吃同一份即時資料 但只有舊模型真的交易 預設 60 天 ② 資本上限 A/B 給新模型 5–10% 的實際資本 影子模式看不到的問題 訊號集中在低流動股、sizing 衝擊 ③ 分段晉升 10% → 25% → 50% → 100% 每階段都有最短觀察期,而且要持續優於門檻 新模型不必天天贏,但分歧要能歸因 晉升的最小效果量門檻 Sharpe 改善 低於 0.2–0.3 就不晉升 而且「統計顯著」也不能豁免這條 0.05 的 Sharpe 改善,不值得承擔部署風險 回滾要先測過才算數 先把舊模型歸檔到可以即時還原的狀態 觸發條件事前定義好 部署新模型之前,實測回滾真的能動

只存在於文件裡的回滾程序,在壓力下失靈就等於沒有。

Ch 26 · 漂移三分法與熔斷器決策規則
# 監控說「變了」之後,要診斷「什麼變了」——三類漂移三套工具
資料漂移  輸入分布位移 → PSI(<0.1 穩 / 0.1–0.25 查 / >0.25 不可靠)
特徵漂移  哪些特徵在主導 → 監控 SHAP 的平均值、變異、相對排名
概念漂移  關係本身變了(分布沒變)→ ADWIN / DDM 跑在預測誤差流上
     # 例:動能訊號在趨勢轉均值回歸時反號,但輸入分布完全沒動

# 診斷矩陣:兩個維度四種情況,處方不同
     漂移有 · 衰退無 → 模型穩健,觀察即可
     漂移無 · 衰退有 → 監控覆蓋不全,要擴大追蹤範圍
     兩者都有    → 重訓,或換成 regime 專屬模型
     兩者都無    → 健康

四層熔斷器(各層獨立,任一層跳掉就止血該範圍)
     虧損型 日 −2% / 週 −5% / 峰值回撤 −10~−15%
     部位型 單一資產 ≤5% / 單一板塊 ≤20%
     異常型 VIX >40 / spread 達常態 3 倍 / 單日 10%+ 位移
     基礎設施 端到端延遲 >100ms 停止交易(防拿陳舊資料下單)

告警紀律 每個告警都要綁定一個定義好的行動
     # 從不改變決策的告警,是偽裝成嚴謹的噪音
註解為什麼重要:有一個指標特別值得追蹤,叫 realization ratio——實盤指標除以回測指標。書給的例子:回測 Sharpe 2.0、實盤 1.5,比率就是 0.75。重點不在絕對值,而在這個比率是不是在持續下滑——即使絕對績效還過得去,比率下滑就代表正在退化。另外一條容易搞錯的:執行成本惡化不該觸發重訓。那是微結構或基礎設施的問題,模型是無辜的,重訓是錯誤的處方。

→ 接到台股(以下為外推,非書上內容):這章對個人研究者最可搬的是「資料閘門先於模型監控」那條。台股資料的靜默缺陷有自己的形狀:除權息當天的還原價、暫停交易與處置股的缺 bar、興櫃轉上市的代號變更、以及不同資料源對「成交金額」定義的差異。書建議的做法(在資料匯入時就驗 schema、null、時間戳單調、唯一鍵,執行關鍵資料驗不過就不交易)在台股完全適用,而且成本很低。熔斷器的閾值則要重新校準——書給的 VIX > 40、單日 10% 位移是美股口徑;台股有 10% 漲跌幅限制,「單日 10% 位移」在台股幾乎等於鎖漲跌停,是完全不同的訊號強度。這類閾值一定要用台股自己的歷史 regime 轉換來校準,不能照抄。

C

Ch 27 · 系統化優勢

回到第一章那句話

全書最後一章沒有新技術,它把第 1 章那個命題收了回來:單一成功策略只是暫時優勢;模型會衰退、alpha 會被侵蝕、市場持續變化——能長期產出「多元策略組合」的流程,才是持久價值。

而作者把這句話再往外推了一層:這同樣適用於職涯經營本身。單一技能就像單一策略,一樣會衰退;能持續產出新能力組合的學習流程,才是跨職涯複利的東西。書用了一個很貼切的說法——把職涯當成 alpha factory 來經營。

這一章最實用的部分,是把「系統化心態」套用到注意力配置上——面對新技術浪潮,先問一句:「這是 2030 年代的期權,還是今天的現貨?」

把系統化心態套用到「注意力該放哪」 立即投入 去中心化金融(DeFi) 已是活的數十億美元市場 公開鏈提供逐筆、即時的另類資料 所需技能是既有工具箱的自然延伸 對獨立實踐者最可及的前沿 立即投入 AI 治理與倫理 已從哲學變成量化紀律與合規要求 歐盟 AI 法案對高風險金融 AI 強制要求可解釋性 像管財務風險一樣管模型風險 監看即可 量子運算 仍在雜訊中等規模的階段 衍生品定價要有意義的優勢 需要數千個邏輯量子位元 商業化普遍預估 2030–2040 年 Your process is your edge 第 1 章開場、第 27 章收尾——中間那 25 章都是這句話的展開

量子運算唯一該做的近期動作是防禦性的:關注後量子加密的遷移。

Ch 27 · 把學習當成一套流程來設計決策規則
# 認知偏誤要靠流程擋,不是靠意志力
對抗 confirmation bias → 事前寫下可否證的假說
對抗 overfitting    → 樣本外測試
對抗 data mining    → 多重檢驗校正
     # 這三件事就是全書 Part II 到 Part IV 在做的事

學習系統怎麼設計
     每天 30 分鐘靠複利累積,勝過偶爾啃完整課程
     每學一個新技法,必須找到應用場景
     # 沒有應用的知識不會複利成專長
     外化筆記,失敗的實驗也要記
     # 記「什麼沒用」與記「什麼有用」同等重要

技能盤點的補強原則
     優先補「與既有強項互補」的缺口
     而不是另起一條全新的技能線
     # 目標是 T 型:一深多廣

最該避免的模式
     永遠在學、從不應用 # 最精密的模型若不轉化為更好的結果,價值為零
     追逐每個新函式庫  # 該掌握的是每類工具在工作流程中的「角色」
註解為什麼重要:這一段跟前面 26 章的技術內容看起來不同類,但它其實是同一個論證的終點。書從第 1 章就在說:沒有模型能跨 regime 永遠最優。那個結論如果成立,它的推論就必然是——你能持有的資產不是某個模型,而是那套產生、檢驗、汰換模型的流程。第 27 章只是把這個推論再往外推一層,用在你自己身上。

→ 接到台股/你的專案(以下為外推,非書上內容):這章最值得帶走的一句,套到你的情境是:H-018 被證偽不是損失,是流程在運作的證據。那次做對的事情——事前定義假說、跑樣本外檢定、認賠、而且把結論寫進 skill 描述擋住後續誤用——正是書講的「用機械化紀律對抗認知偏誤」。書會補的是把這件事制度化:假說編號已經有了,再加上 setup 版本、搜尋帳、以及「失敗實驗也要記」的習慣,那條流程就完整了。至於前沿分級,你的位置很特別——你正在做的「用 AI agent 加 skill 跑研究流程」,就是書第 24 章描述的 operator 模式,這件事本身就在前沿的「立即投入」那一格。

D

這一部分的決策速查

從上線到治理的閾值與規則

情境怎麼做出處
研究到實盤的架構同一份策略程式碼跑兩模式,只換資料來源與執行目的地Ch 25
訊號生成必須確定性:禁系統時間依賴、禁跨執行不同的隨機種子、禁會變的外部狀態Ch 25
部署前驗證四階段 parity 逐段比對,二分搜尋定位分歧;每日開盤前自動比對,不符即停Ch 25
下單client_order_id 先持久化再送單;逾時先查券商再決定重送Ch 25
訂單被拒分因處置(買力/代碼/休市),絕不盲目重試Ch 25
訓練與推論鎖同一交易所/資料源——混用造成的分布位移,程式碼驗證抓不到Ch 25
kill switch四級(停新訊號 → 撤單 → 清倉 → 停機),一鍵可達且獨立於被控組件Ch 25
安全控制設計fail-closed:kill switch 狀態持久化、資料陳舊檢查、啟動對帳不乾淨就拒跑Ch 25
上線節奏延長紙上交易 → 小額實盤(驗機制不是驗獲利)→ 漸進加碼;與紙上平行跑看分歧Ch 25
實盤失效第一步分診:同輸入不同輸出 → 修 bug;同輸出壞報酬 → 重訓/退役Ch 26
監控的第一層資料完整性閘門,執行關鍵資料 fail-closed;多數「漂移」其實是資料缺陷Ch 26
滾動指標30/60/90 天 Sharpe;實盤持續低於回測 0.5 以上=過擬合或 regime 變Ch 26
漂移診斷PSI 管輸入、SHAP 管重要性、ADWIN/DDM 管關係——三類漂移三套工具Ch 26
換模型影子 60 天 → 5–10% 資本 A/B → 10/25/50/100% 分段,全程 60–90 天Ch 26
晉升門檻Sharpe 改善低於 0.2–0.3 不晉升,統計顯著也不豁免Ch 26
回滾先歸檔舊模型、事前定義觸發、部署前實測回滾能動Ch 26
熔斷器日 −2%/週 −5%/峰值 −10~−15%;單一資產 5%、板塊 20%;延遲 >100ms 停Ch 26
執行成本惡化那是微結構或基礎設施問題,不要用重訓當處方Ch 26
設計告警每個告警綁一個定義好的行動;從不改變決策的告警是噪音Ch 26
配置學習資源DeFi 與 AI 治理立即投入;量子運算監看即可(預估 2030–2040)Ch 27
設計學習系統每天 30 分鐘、每技必應用、外化筆記含失敗實驗、建立外部問責Ch 27
補技能補與既有強項互補的缺口,不另起新線;目標是 T 型(一深多廣)Ch 27

注意事項 · 這一部分最容易踩的坑

🔀研究與生產寫兩套實作:改進不同步、修復不回流,六個月後回測 15% 而實盤 3%,而且無從診斷——因為你有兩份平行的實作,不知道哪一份才是對的。
🔓kill switch 不持久化:當日虧損的開關如果只存在記憶體裡,崩潰重啟後虧損計數歸零——系統會在最糟的時刻重新開放交易。這是實盤兩大最常見死法之一(另一個是拿陳舊資料交易)。
🩺對帳不符卻自動修正:那是把記帳錯誤變成交易錯誤。正確做法是先停止自動交易、人工審查、再調整——寧可停機也不要讓系統自己「猜」正確的部位是什麼。
📉只看統計顯著、不設最小效果量:0.05 的 Sharpe 改善,不值得承擔一次部署的風險。書的門檻是 0.2–0.3,而且明說「統計顯著也不能豁免」。
📝回滾只存在於文件裡:壓力下失靈的理論程序等於沒有。書的要求很硬——部署新模型之前,必須實際測過回滾真的能動。
📐本頁的來源邊界:內容取自 skills/ml4t/chapters/ch25–ch27 蒸餾檔。來源 EPUB 抽取時數學公式與圖表無法讀取,本頁數字均取自章節檔中以文字明確寫出的部分。書中數字為作者環境的實測,屬研究等級、非實盤依據,不構成投資建議;口徑是美股,台股段落已逐段標示為外推。