逆向投資策略之動態跌幅門檻效果研究

返回分析系統

3.4 參數最佳化方法

本節說明如何在 3,500 種參數組合中,透過系統性搜尋與 Walk-Forward 驗證找出最佳參數組合。參數最佳化是本研究第一階段的核心任務,其結果將直接影響第二階段策略比較的有效性。

一、參數搜尋空間設計

1.1 搜尋空間總覽

如第 3.3 節所述,動態跌幅門檻策略涉及三個核心參數,形成三維搜尋空間:

參數 符號 搜尋範圍 數量 搜尋方式
滾動窗口長度L{1, 2, 3, 4, 5, 7, 10} 年7離散搜尋
百分位數P{1, 2, 3, ..., 100}100完整搜尋
回看天數N{5, 10, 20, 40, 60} 天5離散搜尋

總搜尋空間

$|\mathcal{S}| = |L| \times |P| \times |N| = 7 \times 100 \times 5 = 3,500$

1.2 各參數範圍的設計依據

滾動窗口長度 L

L 值 訓練資料量(約) 設計考量 潛在優缺點
1 年252 天快速適應市場變化樣本量少,估計不穩定
2 年504 天短期適應平衡適應性與穩定性
3 年756 天涵蓋一個商業週期常用的基準長度
4 年1,008 天中期平衡包含多種市場狀態
5 年1,260 天較長歷史更穩定的估計
7 年1,764 天長期穩定可能包含過時資訊
10 年2,520 天完整市場週期最穩定但適應性最低

選擇非等距的 L 值(1, 2, 3, 4, 5, 7, 10)而非等距序列,是為了在短期與長期區間均有足夠的取樣點,同時控制總搜尋量。

百分位數 P

本研究採用 P = 1 至 100 的完整搜尋,而非僅測試特定值(如 P = 5, 10, 15, 20),原因如下:

  1. 避免選擇偏誤:若僅測試預設值,可能錯過真正的全域最佳
  2. 描繪完整效果曲線:完整搜尋可呈現 P 值與績效的關係曲線
  3. 識別高原區間:若最佳 P 值落在某區間而非單點,完整搜尋才能發現
  4. 提供實務參考:了解不同 P 值的績效差異,有助於實務應用

回看天數 N

N 值 對應時間 捕捉的市場現象 學術依據
5 天1 週週度價格波動Lehmann (1990)
10 天2 週短期價格調整Lo & MacKinlay (1990)
20 天1 個月月度價格修正Jegadeesh (1990)
40 天2 個月中期趨勢反轉技術分析慣例
60 天3 個月季度週期修正財報週期

1.3 搜尋策略

本研究採用網格搜尋(Grid Search)而非啟發式搜尋(如遺傳演算法),原因如下:

  1. 可重現性:網格搜尋的結果完全確定,便於學術驗證
  2. 完整性:確保搜尋所有可能的參數組合
  3. 計算可行性:3,500 種組合的計算量在可接受範圍內
  4. 結果可解釋:可繪製完整的參數—績效關係圖

計算複雜度估計

二、Walk-Forward 驗證方法

2.1 Walk-Forward 的基本概念

Walk-Forward 驗證(Walk-Forward Optimization, WFO)是一種滾動式的樣本外測試方法,其核心概念為:

  1. 訓練期(In-Sample):使用歷史資料進行參數最佳化
  2. 測試期(Out-of-Sample):使用最佳化後的參數進行樣本外測試
  3. 滾動前進:將窗口向前移動,重複上述步驟

此方法可有效避免傳統回測中的前視偏誤(Look-Ahead Bias)過度擬合(Overfitting)問題。

2.2 Walk-Forward 執行流程

本研究的 Walk-Forward 驗證流程如下:

輸入:
  - 價格資料:2005-2024 年
  - 參數空間:L × P × N = 3,500 種組合
  - 測試年度:2015-2024(共 10 年)

對於每個測試年度 y ∈ {2015, 2016, ..., 2024}:

    對於每個滾動窗口長度 L ∈ {1, 2, 3, 4, 5, 7, 10}:

        定義訓練期:[y - L, y - 1]

        對於每個參數組合 (P, N):

            步驟 1:計算門檻
            使用訓練期資料計算跌幅分布的第 P 百分位數

            步驟 2:訓練期回測
            在訓練期執行策略,記錄績效指標

            步驟 3:記錄結果
            Performance[y][L][P][N] = 訓練期績效

        步驟 4:選擇最佳參數
        (P*, N*)_L = argmax_{P,N} Performance[y][L][P][N]

    步驟 5:選擇最佳窗口長度
    L* = 基於訓練期績效或預設值選擇

    步驟 6:測試期驗證
    使用 (L*, P*, N*) 在測試年度 y 執行回測
    Test_Result[y] = 測試期績效

輸出:
  - 每年度的最佳參數:{(L*_y, P*_y, N*_y)}_{y=2015}^{2024}
  - 每年度的測試績效:{Test_Result[y]}_{y=2015}^{2024}
  - 參數穩定性報告

2.3 訓練期與測試期的切分

以 L = 3 年為例,Walk-Forward 的期間切分如下:

測試年度 訓練期 訓練期長度 測試期
20152012-20143 年2015
20162013-20153 年2016
20172014-20163 年2017
20182015-20173 年2018
20192016-20183 年2019
20202017-20193 年2020
20212018-20203 年2021
20222019-20213 年2022
20232020-20223 年2023
20242021-20233 年2024

重要說明

  1. 訓練期與測試期不重疊:確保樣本外測試的有效性
  2. 每年重新計算門檻:訓練期滾動前進,門檻隨之更新
  3. 總觀察期需求:最長窗口 L = 10 年,測試 2015 年需要 2005-2014 年資料

2.4 避免前視偏誤的設計

前視偏誤(Look-Ahead Bias)是指在回測中使用了當時尚未可知的資訊。本研究透過以下設計避免此問題:

潛在偏誤來源 防範措施
使用未來價格計算門檻門檻僅使用訓練期(過去)資料計算
最佳參數選擇基於測試期績效最佳參數選擇僅基於訓練期績效
跨年度資訊洩漏每年度獨立執行,不使用未來年度資料
調整後價格的回溯調整使用資料供應商的 point-in-time 資料

2.5 避免過度擬合的設計

過度擬合(Overfitting)是指模型過度適應訓練資料,導致樣本外表現不佳。本研究透過以下設計降低過度擬合風險:

  1. 樣本外測試:最終績效評估使用測試期(樣本外)資料
  2. 滾動驗證:10 個測試年度提供多次樣本外驗證機會
  3. 參數穩定性評估:追蹤最佳參數是否在年度間劇烈變動
  4. 多股票驗證:116 檔股票的平均績效降低單一樣本的影響

三、最佳參數選擇準則

3.1 主要最佳化指標:夏普比率

本研究以夏普比率(Sharpe Ratio)作為參數最佳化的主要指標,選擇依據如下:

夏普比率的優勢

  1. 風險調整:同時考慮報酬與風險,避免僅追求高報酬
  2. 可比較性:不同策略、不同股票的夏普比率可直接比較
  3. 學術標準:夏普比率是投資績效評估的主流指標(Sharpe, 1994)

夏普比率的計算

$SR = \frac{R_p - R_f}{\sigma_p}$

其中:

3.2 次要參考指標

除夏普比率外,本研究亦參考以下指標作為最佳參數選擇的輔助依據:

指標 考量重點 選擇偏好
年化報酬率絕對獲利能力越高越好
最大回檔風險承受能力越小越好(絕對值)
勝率獲利穩定性越高越好
資金使用率策略活躍度適中(避免極端)

3.3 最佳參數選擇流程

步驟 1:計算各參數組合的訓練期績效

對於每個參數組合 $(L, P, N)$,計算其在訓練期的夏普比率:

$SR_{L,P,N}^{\text{train}} = \frac{1}{S} \sum_{s=1}^{S} SR_{L,P,N,s}^{\text{train}}$

其中 $S = 116$ 為股票數量,此為跨股票的平均夏普比率。

步驟 2:識別最佳參數組合

$(\hat{L}, \hat{P}, \hat{N}) = \arg\max_{L,P,N} SR_{L,P,N}^{\text{train}}$

步驟 3:穩健性考量

若存在多個參數組合的績效接近(差異在 5% 以內),優先選擇:

  1. 較長的滾動窗口 L(更穩定)
  2. 中等的百分位數 P(避免極端)
  3. 常用的回看天數 N(如 N = 20)

3.4 處理績效高原(Performance Plateau)

在參數搜尋中,可能發現績效曲線呈現「高原」特性,即多個參數值產生相近的績效。此時的處理方式:

識別高原區間

定義高原區間為績效達到最佳值 95% 以上的參數範圍:

$\text{Plateau}_{P} = \{P : SR_{P} \geq 0.95 \times SR_{\max}\}$

選擇策略

情境 選擇方式 理由
單一最佳點選擇該點明確的最佳解
窄高原(5 個值以內)選擇中點穩健性考量
寬高原(5 個值以上)選擇保守端避免過度擬合

範例:若 $P \in [8, 15]$ 皆產生接近最佳的績效,選擇 $P = 10$ 或 $P = 12$(中間值),而非 $P = 8$(極端值)。

四、多重比較校正

4.1 多重比較問題

搜尋 3,500 種參數組合涉及大量的隱含假說檢定。若不進行校正,可能因多重比較而產生「偽陽性」——即找到的「最佳」參數實際上是隨機產生的。

問題說明

假設每個參數組合獨立進行假說檢定,顯著水準 $\alpha = 0.05$。在 3,500 次檢定中,期望的偽陽性數量為:

$E[\text{False Positives}] = 3,500 \times 0.05 = 175$

即使所有參數組合的真實效果相同,仍可能找到 175 個「顯著優於」其他的參數。

4.2 Benjamini-Hochberg 校正

本研究採用 Benjamini-Hochberg (BH) 方法控制錯誤發現率(False Discovery Rate, FDR):

BH 校正步驟

  1. 將所有 p 值由小到大排序:$p_{(1)} \leq p_{(2)} \leq ... \leq p_{(m)}$
  2. 計算校正後的 p 值:$p_{(i)}^{\text{adj}} = p_{(i)} \times \frac{m}{i}$
  3. 調整後的 p 值需單調遞增,若 $p_{(i)}^{\text{adj}} > p_{(i+1)}^{\text{adj}}$,則令 $p_{(i)}^{\text{adj}} = p_{(i+1)}^{\text{adj}}$

FDR 控制目標

$FDR = E\left[\frac{\text{False Positives}}{\text{Total Positives}}\right] \leq q$

本研究設定 $q = 0.10$,即容許最多 10% 的「顯著」結果為偽陽性。

4.3 Bootstrap 信賴區間

為進一步驗證最佳參數的穩健性,本研究使用 Bootstrap 方法估計績效指標的信賴區間:

Bootstrap 程序

  1. 從原始績效資料中進行有放回抽樣
  2. 重複 $B = 10,000$ 次
  3. 計算 2.5% 與 97.5% 分位數作為 95% 信賴區間

Bootstrap 信賴區間的應用

  1. 參數選擇的穩健性:若最佳參數與次佳參數的信賴區間重疊,需謹慎宣稱「最佳」
  2. 策略比較的顯著性:DROP 與 DCA 的績效差異是否顯著,需檢視信賴區間是否包含零

五、參數穩定性評估

5.1 穩定性的重要性

若最佳參數在不同年度間劇烈變動,則該參數組合可能僅是隨機噪音,缺乏實務應用價值。因此,評估參數的時間穩定性是驗證策略有效性的關鍵步驟。

5.2 穩定性指標

年度最佳參數序列

$\{(L_y^*, P_y^*, N_y^*)\}_{y=2015}^{2024}$

百分位數 P 的變異係數(CV)

$CV_P = \frac{\sigma_{P^*}}{\mu_{P^*}}$

其中:

穩定性判定標準

CV 範圍 穩定性評價 實務意涵
CV < 0.2高度穩定可使用固定參數
0.2 ≤ CV < 0.3中度穩定建議使用區間而非單點
CV ≥ 0.3不穩定需每年重新最佳化

5.3 穩定性分析方法

方法 1:年度最佳參數追蹤

繪製 2015-2024 年各年度的最佳 P 值,觀察其變動趨勢:

年度:  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024
P*:     12    10    11    13    10     8    11    14    12    10

若 P* 在 8-14 之間波動,可認為參數具有中度穩定性。

方法 2:滾動窗口 L 的影響

分析不同 L 值下的 P* 穩定性:

方法 3:分群穩定性

分別分析美股與台股、ETF 與個股的參數穩定性,檢驗是否存在市場或產品類型的差異。

5.4 穩定性與績效的權衡

參數穩定性與策略績效可能存在權衡:

情境 績效 穩定性 建議
高績效 + 高穩定最佳建議採用理想情況
高績效 + 低穩定次佳謹慎採用可能過度擬合
中績效 + 高穩定可接受建議採用穩健選擇
低績效 + 低穩定不佳不建議採用策略無效

本研究在報告最佳參數時,將同時呈現績效與穩定性指標,讓讀者能全面評估策略的可靠性。

六、最佳化結果的呈現方式

6.1 參數—績效熱力圖

以熱力圖呈現 P × N 的績效分布(固定某一 L 值):

此圖可直觀呈現高績效區域與參數敏感度。

6.2 百分位數效果曲線

以折線圖呈現 P 值與平均夏普比率的關係(固定 L 與 N):

此圖可識別:

  1. 最佳百分位數 P*
  2. 高原區間(若存在)
  3. 極端 P 值的績效衰減

6.3 年度最佳參數表

以表格呈現 Walk-Forward 驗證中各年度的最佳參數:

年度 L* P* N* 訓練期夏普 測試期夏普
2015312200.850.72
2016310200.780.65
..................

此表可評估:

  1. 參數的年度穩定性
  2. 訓練期與測試期績效的差異(衡量過度擬合程度)

七、小結

本節說明了動態跌幅門檻策略的參數最佳化方法,主要內容包括:

  1. 搜尋空間設計:$L \times P \times N = 7 \times 100 \times 5 = 3,500$ 種參數組合,採用網格搜尋確保完整性與可重現性。
  2. Walk-Forward 驗證:滾動式的訓練—測試切分,10 個測試年度(2015-2024)提供樣本外驗證,有效避免前視偏誤與過度擬合。
  3. 最佳參數選擇:以夏普比率為主要指標,輔以年化報酬率、最大回檔等指標,並處理績效高原的情況。
  4. 多重比較校正:使用 Benjamini-Hochberg 方法控制錯誤發現率,Bootstrap 方法估計信賴區間。
  5. 穩定性評估:追蹤年度最佳參數的變異係數,評估參數的時間穩定性。

透過上述方法,本研究可在 3,500 種參數組合中,以嚴謹的統計方法識別出具有穩健績效的最佳參數組合,為第二階段的策略比較提供可靠的基礎。下一節將說明本研究採用的績效評估指標。