投資組合回測:用資料驗證你的配置
大多數投資組合決定都是憑感覺做出的。回測能區分兩種計畫:一種你能用證據捍衛,另一種每當市場打個嗝就要調整。本指南涵蓋工作流程、真正重要的指標,以及那些把好看的淨值曲線變成實盤虧損的陷阱。

大多數投資組合決定都是憑感覺做出的。回測能區分兩種計畫:一種你能用證據捍衛,另一種每當市場打個嗝就要調整。本指南涵蓋工作流程、真正重要的指標,以及那些把好看的淨值曲線變成實盤虧損的陷阱。
投資組合回測與策略回測
策略回測在單一品種或小籃子上評估進出場規則。投資組合回測則評估跨多資產、再平衡日程與風控約束的配置邏輯。數學方法有交疊,但提出的問題不同。
組合層面的問題範例:風險平價過去三十年是否跑贏 60/40?加入 10% 的黃金板塊能否在足以抵銷持有成本拖累的程度上降低回撤?在目標配置之上疊加一條基於波動率的減倉規則會怎樣?
七步工作流
可複用的流程勝過一次性的小聰明測試。把它用在每個想法上。
| 步驟 | 你做什麼 | 為什麼重要 |
|---|---|---|
| 1. 立題 | 用一句話寫下目標 | 「降低回撤同時保留 80% 收益」可測試。「提升收益」不可 |
| 2. 定義 | 資產宇宙、配置邏輯、再平衡頻率、風險限額 | 沒有具體內容,測試就只是意見 |
| 3. 資料 | 無倖存者偏差、股息調整後、多種市場狀態 | 戰略配置 15 年以上,戰術規則需日級粒度 |
| 4. 成本 | 佣金、價差、滑點、必要時的稅收 | 無摩擦的回測是虛構 |
| 5. 執行 | 計算淨值曲線及完整指標集 | 保存交易明細,而不僅是匯總統計 |
| 6. 驗證 | 樣本外、滾動前推、情境壓力 | 只在開發樣本上有效就等於無效 |
| 7. 迭代 | 一次只做一項基於假設的修改 | 每項修改都必須能用經濟學解釋 |
真正重要的指標
單一數字很少能講完整個故事。看多個維度。
收益與路徑
年化收益告訴你目的地。累計收益曲線的形狀告訴你你是否真的能堅持持有。CAGR 相同的兩個組合,對持有者而言體感可能完全不同。
回撤與恢復
最大回撤是從峰值到谷底的最大損失。恢復時間是創出新高所需的時長。虧 35% 用 18 個月恢復的策略,與虧 22% 用 6 個月恢復的策略,是兩種不同的產品。
風險調整後收益
夏普比率比較超額收益與總波動率。索提諾僅分離下行波動率。卡爾瑪(收益/最大回撤)強調路徑。請並用多個。1.8 夏普伴隨 50% 回撤,與 1.2 夏普伴隨 15% 回撤,是完全不同的兩種東西。
穩定性
在子區間上分別執行:2008 年前、2008-2010、2011-2019、2020-2022、2023 年至今。如果收益完全來自一個時間窗口,那你押的是某種狀態特定的賭注,而非一個穩健的策略。
換手率與可執行性
年化換手率反映交易成本拖累。檢查你的規則交易的成交量是否足以讓你按目標規模成交而不衝擊市場。10 萬的回測可能在 500 萬規模下顯著退化。
讓表面表現虛高的陷阱
它們每一個都讓真金白銀消失過。
前視偏差
回測使用了在決策當時不可得的資訊。常見原因:日內規則卻用了收盤價,或者用了被修訂後的盈利而非最初公布的數字。讓訊號與執行按現實的滯後對齊。
倖存者偏差
股票宇宙剔除了被下市、破產或被併購的公司。歷史結果看起來比現實更好,因為輸家消失了。請使用按時間點對應的指數成分資料。
過度擬合
為了讓過去表現最大化而調整參數,直到曲線漂亮得無可挑剔。你抓住的是雜訊。模型保持簡單,偏好參數平台而非單峰,做樣本外驗證。
成本樂觀主義
省略佣金、價差、滑點或稅收拖累。剔除摩擦的結果在現實中很難複現。請按流動性與換手率為價差建模。
狀態盲
單一時期會掩蓋對狀態轉換的敏感性。執行情境:低利率/高利率、低波動/高波動、成長/價值、強美元/弱美元。穩健的組合在四種情形下都能扛住。
力求寬闊的參數平台,使溫和的參數變動仍能產出可接受的表現。最佳化網格上的尖峰通常是海市蜃樓。
按複雜度排序的配置方法
靜態。 等權、市值加權、60/40、目標風險。按固定日程再平衡。在考慮成本之後往往最難被打敗。
基於風險。 風險平價、最小變異、最大化分散。依賴共變異數估計。對回看視窗和收縮估計敏感。
訊號驅動。 因子傾斜、趨勢疊加、狀態感知輪動。以複雜度與換手率為代價換取更高的預期收益。
基於最佳化。 均值變異、Black-Litterman。理論上強大,實務中往往脆弱,因為輸入估計誤差會被放大。請大力正則化。
壓力疊加。 當已實現波動率超過閾值時給股票權重設上限的規則。以很小的預期收益代價改善持有體驗。
一個範例:60/40 的三種變體
| 變體 | 配置規則 | 你在測試什麼 |
|---|---|---|
| 原味 60/40 | 60% SPY、40% AGG,月度再平衡 | 基準 |
| 風險平價 | 6 個月波動率倒數權重,月度 | 更平滑的風險分布是否提升夏普? |
| 動量傾斜 | SPY 12 個月收益為正則 70/30,否則 50/50,月度 | 趨勢確認有沒有幫助? |
取 20 年以上 SPY 與 AGG 的月度總回報資料。每筆交易施加 5bp 滑點與 1bp 佣金。對每個變體計算波動率、夏普、最大回撤與水下時間。在子期間內比較(2003-2007、2008-2010、2011-2019、2020-2024)。
典型發現:風險平價在收益相近的同時降低回撤深度;動量傾斜在強趨勢中推升收益,但增加換手並在震盪市中表現較差。哪個最好取決於你能承受什麼。
從回測到實盤執行
永不部署的回測只是腦力練習。從驗證到實盤資金有兩條路。
程式碼優先。 Python、券商 API、自建排程器。最大化的控制,真正的工程工作。如果你的策略依賴客製邏輯或另類資料,這條路值得。
平台。 Obside 讓你用自然語言表達組合,幾秒鐘內執行回測,並透過你連接的券商發送訂單。從研究到實盤使用同一套規則。範例:
- 「維持 50 百分點 BTC、25 百分點 ETH、25 百分點 USDC。每週再平衡。若日波動率超過 5 百分點則暫停再平衡。」
- 「持有 60 百分點 SPY、30 百分點 AGG、10 百分點 GLD。在每季首個交易日或漂移達 5 百分點時再平衡。」
- 「若標普 500 日內下跌 10 百分點則清倉。當其從低點反彈 5 百分點時恢復持倉。」
- 「若 SPY 與 AGG 的 60 日相關性超過 0.5 則提醒我。」
準備好用真實資料驗證你的組合了嗎?
挑一條你實際在用的配置規則。跑一遍七步工作流。如果資料在不同狀態下、計入成本之後仍然成立,就把它自動化。Obside Copilot 接受自然語言的組合規則,幾秒鐘返回回測,並在你的券商上以相同邏輯實盤執行。智慧提醒、即時回測、券商連接——一站搞定。
建立你的免費 Obside 帳號,今天就驗證你的第一條組合規則。
僅供教育用途。不構成投資建議。投資涉及風險,包括可能的本金損失。
FAQ
戰略配置至少需要 15 到 20 年涵蓋完整週期(牛、熊、復甦)的月度資料。戰術規則需要跨多個波動率狀態的日級粒度。如果市場狀態發生了結構性變化(例如 2008 年前後債券行為),更多歷史未必更好。