歡迎來到回溯測試與模擬的世界!
你好!你已經來到 投資組合管理 (Portfolio Management) 課程中非常關鍵的章節。你可以把這部分想像成投資策略的「壓力測試」。在基金經理動用數百萬美元執行一項新策略前,他們必須先搞清楚:「這個策略在過去行得通嗎?」以及 「如果未來出現意外,情況會變成怎樣?」
在本單元中,我們將學習如何利用 回溯測試 (Backtesting) 來檢視過去,以及如何利用 模擬 (Simulation) 來預測未來。別擔心這些術語聽起來很專業,我們會透過簡單的類比一步步拆解。現在,讓我們開始吧!
1. 什麼是回溯測試?
回溯測試 (Backtesting) 是一種將投資策略或分析模型應用於歷史數據,以評估其過往表現的過程。這就像是「倒帶」版的紙上交易 (Paper Trading)。
核心目標: 在投入真實資本之前,驗證策略背後的邏輯是否合理。
回溯測試的步驟
1. 策略設計: 定義你的規則。例如:「當市盈率 (P/E ratio) 低於 15 時買入股票,當達到 25 時賣出。」
2. 收集歷史數據: 收集你想要測試期間(例如 2010 年至 2023 年)的價格及財務數據。
3. 模擬交易: 將你的規則套用到這些數據上。電腦會根據你的規則自動進行「買入」與「賣出」。
4. 績效評估: 查看結果。你賺錢了嗎?你承擔了多少風險?
重點複習: 回溯測試是基於「過去發生的事」來告訴我們「當初會發生什麼」。
2. 關鍵績效指標
我們如何判斷回溯測試是否成功?我們需要使用特定的指標來衡量「風險調整後」的績效。投資不僅僅是看總報酬,重點在於為了獲得這些報酬,你承受了多少「心驚肉跳」的波動。
A. 夏普比率 (Sharpe Ratio)
衡量每單位總風險(標準差)所產生的超額報酬。
\( \text{Sharpe Ratio} = \frac{R_p - R_f}{\sigma_p} \)
其中 \( R_p \) 為投資組合報酬率, \( R_f \) 為無風險利率, \( \sigma_p \) 為投資組合的標準差。
B. 最大回撤 (Maximum Drawdown, MDD)
這是所謂的「痛感指數」。它衡量的是從資產淨值最高點跌到最低點的最大跌幅。
類比:如果你的帳戶從 100 美元跌到 60 美元,隨後才回升到 110 美元,那麼你的最大回撤就是 40%。
C. 資訊比率 (Information Ratio, IR)
這對主動型基金經理人至關重要。它衡量的是每單位「主動風險」(追蹤誤差)所帶來的「主動報酬」(高於基準的收益)。
\( \text{Information Ratio} = \frac{R_p - R_b}{\sigma_{(R_p - R_b)}} \)
核心要點: 一個好的策略通常擁有高夏普比率和可控的最大回撤。如果回撤幅度太大,投資人往往會在策略還沒來得及復甦前就因為恐慌而離場!
3. 常見陷阱:為什麼回溯測試會失敗?
這是 CFA 考試非常喜歡考的主題!有些回溯測試在紙面上看起來很完美,但在現實中卻慘敗。為什麼?通常是因為出現了這些「偏誤」。
1. 生存者偏差 (Survivorship Bias)
指測試時只考慮「今天依然存在」的公司,而遺漏了在測試期間已經破產或下市的公司。
例如:測試一個 1999–2005 年的「科技股策略」,卻只納入目前還在標普 500 指數成分股的公司。這等於忽略了所有在網路泡沫中倒閉的公司!
2. 前瞻偏差 (Look-Ahead Bias)
在測試中使用了當時根本還無法獲得的資訊。
例如:測試一個策略,假設在 1 月 1 日根據該公司的「年底財報」買入股票。事實上,年底財報通常要到 2 月或 3 月才會發布!
3. 數據挖掘 (Data Mining / Overfitting)
如果你對數據進行過度挖掘,它最終會「配合」你的任何假設。這是指在成千上萬個變數中尋找隨機模式,這些模式在過去可能生效,但完全沒有經濟學邏輯支撐。
類比:如果你發現「每逢週二下雨股市就會上漲」,這很可能只是巧合,而非真正的策略。
4. 交易成本與流動性
許多回溯測試假設買賣是免費的。但在現實中,交易手續費和買賣價差 (Bid-ask spread) 會嚴重侵蝕你的利潤。
記憶口訣: 請記住 S.L.O.T. (Survivorship 存活者偏差, Look-ahead 前瞻偏差, Overfitting 過度擬合, Transaction costs 交易成本)。如果你的回溯測試犯了這些錯,你等於是在把錢投進一台賠錢機器裡!
4. 模擬:蒙地卡羅與歷史模擬
回溯測試檢視的是過去曾經走過的一條路,而 模擬 (Simulation) 則是探索未來可能發生的多種路徑。
A. 蒙地卡羅模擬 (Monte Carlo Simulation, MCS)
蒙地卡羅模擬利用電腦,根據統計分佈(如常態分佈)生成數千種隨機的「如果...會怎樣」的情境。
運作方式: 你告訴電腦資產的平均報酬率和波動率,它會進行 10,000 次「擲骰子」模擬,讓你看到各種可能的結果範圍。
蒙地卡羅的優點:
- 它能展現結果的 分佈(而不僅僅是一個數字)。
- 對於「路徑依賴」問題非常有用(例如:如果市場在第 2 年崩盤,我的退休金會不會提早用光?)。
- 可以模擬複雜的「選擇權」(Optionality) 特徵。
缺點:
- 「垃圾進,垃圾出」(Garbage in, garbage out)。如果你輸入的假設(平均值與變異數)錯誤,結果將毫無意義。
- 經常預設為 常態分佈,這可能忽略了「肥尾效應」(Fat Tails,即極端市場崩盤的情況)。
B. 歷史模擬 (Historical Simulation)
不同於使用隨機數字,歷史模擬直接使用過去真實發生的市場價格與利率變動。你是在將過去發生的事情「重演」在你的 現有 投資組合上。
差異: 與蒙地卡羅不同,歷史模擬不需要預設「分佈」(如鐘形曲線)。它使用的是過去真實的數據分佈,這自然包含了極端的「肥尾」或市場崩盤數據。
你知道嗎? 蒙地卡羅是以摩納哥著名的賭場命名的。它的核心就在於機率與隨機性!
5. 敏感度分析 vs. 情境分析
這些是簡化版的模擬工具,能幫助我們理解風險。
敏感度分析 (Sensitivity Analysis): 每次只改變 一個 變數(例如:「如果利率上升 1%,對投資組合有什麼影響?」),以觀察其影響。
情境分析 (Scenario Analysis): 同時改變 多個 變數,以反映特定事件(例如:「如果發生全球疫情?」)。這同時涉及 GDP、利率及消費者支出等變數的變動。
核心要點: 敏感度分析適用於小範圍的「微調」。情境分析適用於預測「重大事件」。
6. 總結與最後提醒
如果覺得資訊量很大,別擔心。只要記住這三個「大概念」:
1. 回溯測試 是對歷史的回顧,但容易受到 偏誤 影響(特別是存活者偏差與前瞻偏差)。
2. 蒙地卡羅模擬 利用隨機分佈來建模數千種未來的可能性。
3. 夏普比率 與 最大回撤 是判斷策略報酬是否值得承擔風險的主要指標。
避免常見錯誤: 在考試中,如果題目說某個模型因為測試了 50 年的數據所以表現完美,請務必保持懷疑!這很可能是 過度擬合 (Overfitted) 或 數據挖掘 (Data Mining) 的結果。如果你只是在尋找巧合的模式,數據越多未必越好。
繼續加油!你做得到的。懂得如何測試與模擬策略,正是專業投資組合經理與幸運賭徒之間的分水嶺。