久沒創新高是警訊嗎?夏普值 1.0 的策略三年內有 63.3% 的機會出現一段 189 個交易日以上的水下期,用水下天數當警報也沒有比較早
讀者互動
登入會員可按讚與收藏。
持續追蹤這項研究
收藏、追蹤與明日提醒只保存必要識別資料,可在會員中心檢視或刪除。
研究資訊不構成個人投資建議;提醒僅代表研究更新,不代表交易訊號。
先看結論
- 久沒創新高很常見。模擬一個夏普值 1.0、年化波動 12%、完全沒有失效的策略,三年內至少出現一次 189 個交易日以上沒創新高的機率是 63.3%;夏普值 0.5 時是 87.8%,夏普值 1.5 時是 37.5%。
- 拿「距離上次創新高的天數」當警報,在相同的誤報率下,沒有比夏普值落後警報更早發現失效。變點發生後 252 個交易日內,夏普值落後警報偵測到 37.5%,水下天數警報偵測到 16.8%,配對差是 -26.2 個百分點(信賴區間 -27.5 到 -24.9)。其餘十一個情境格的方向相同,差距落在 -30.9 到 -5.0 個百分點之間。
- 換一個時窗,結論會變。算到監控期結束,兩種警報偵測到的比例接近:夏普值落後警報 67.6%,水下天數警報 69.5%。原因在配平:水下天數警報要和夏普值落後警報有相同的誤報率,門檻得拉到 322 天,比 252 天的偵測視窗還長,所以事先訂的主指標對它不利。這個第二個比較不是事先訂的主指標,不另作主張。
- 範圍只限合成路徑。結論不能直接推到真實策略的失效。
水下期與兩種警報
策略的淨值創新高之後,只要沒有再創新高,就一直在水面之下。「水下天數」是距離上一次創新高過了幾個交易日。一檔策略的水下天數拉得很長,直覺上像是失效的訊號。
這份檢驗比較兩種警報。第一種是夏普值落後警報:近六個月的夏普值比全期夏普值低 1.0 以上,而且六個月夏普值的區間上界仍低於全期夏普值,統計上分得出不是運氣。第二種是水下天數警報:水下天數超過某個門檻就響。
警報會誤報。策略沒有任何變化,警報三年內響過至少一次的機率,叫誤報率。要公平比較兩種警報,得把水下天數的門檻調到和夏普值落後警報有相同的誤報率,再比較策略真的失效之後,誰先偵測到。
檢驗怎麼做
模擬。 每條路徑先有 504 個交易日的前段,接著 756 個交易日的監控期,年化波動固定 12%。每日報酬的雜訊取自標準化的 SPY 報酬,用相鄰日子成塊重抽樣的方式保留相關性。每個情境格 10,000 條路徑。警報每 5 個交易日檢查一次,只用檢查日前一個交易日為止的報酬。
情境格。 沒有失效時的年化夏普值是 0.5、1.0、1.5 三種;失效則是在前段之後第 126 或第 378 個交易日,夏普值降為零,或降為原來的一半,共十二格。主格是夏普值 1.0、第 126 個交易日、降為零。
怎麼比。 主指標是變點之前沒響過的路徑裡,變點後 252 個交易日內警報響起的比例。兩種警報在同一批路徑上配對比較。
結果
沒有失效的策略,長水下期很常見
下表是沒有失效時,三年內至少出現一次水下期超過門檻的機率。這個機率隨門檻變長而下降,隨夏普值升高而下降。
| 水下天數門檻(交易日) | 夏普值 0.5 | 夏普值 1.0 | 夏普值 1.5 |
|---|---|---|---|
| 63 | 99.90% | 98.77% | 94.95% |
| 126 | 96.50% | 83.08% | 63.72% |
| 189 | 87.81% | 63.30% | 37.53% |
| 252 | 78.03% | 46.75% | 22.78% |
| 378 | 58.46% | 25.40% | 8.36% |

夏普值落後警報本身的誤報率,在三種夏普值下是 36.47%、33.57% 與 32.22%。把水下天數的門檻調到相同的誤報率,需要 551、322 與 208 天。夏普值 1.0 的情境,門檻落在圖 1 的 252 與 378 之間。圖 1 橘色的柱子是 189 個交易日,也是下面比較真實策略時用的門檻。
相同誤報率下的偵測比較
主格的結果如下。變點之前沒響過的路徑,夏普值落後警報有 9,351 條,水下天數警報有 8,901 條。
| 警報 | 變點後 252 個交易日內偵測到的比例 | 到監控期結束偵測到的比例 | 已偵測者的延遲中位數(交易日) |
|---|---|---|---|
| 夏普值落後警報 | 37.5% | 67.6% | 224 |
| 水下天數警報(誤報率配平) | 16.8% | 69.5% | 344 |

在變點之前兩種警報都沒響過的 8,286 條路徑上配對比較,變點後 252 個交易日內的偵測比例,配對差(水下天數警報減夏普值落後警報)是 -26.2 個百分點,信賴區間是 -27.5 到 -24.9。這個差與上表兩個比例直接相減不同,因為配對只用兩種警報都符合資格的路徑,分母不同。其餘十一個情境格也都是水下天數警報較低,差距最大是 -30.9 個百分點,最小是 -5.0 個百分點,校正多重比較之後每一格的機率都極小。
這個比較的限制要講清楚。配平後水下天數警報的門檻是 322 天,超過 252 天的偵測視窗。變點發生當下,策略得已經在水下一段時間,水下天數警報才趕得上視窗。所以 252 天的主指標,機械性地不利水下天數警報,這是配平誤報率的代價。把時窗拉到監控期結束,兩者的偵測比例差不多,水下天數警報略高,但偵測到的路徑平均晚得多(延遲中位數 344 天對 224 天)。這個第二種比較不是事先訂的主指標,所以不據此另作主張。
十四支真實策略:久沒創新高罕見嗎
把十四支策略放在 844 個共同交易日上,有 3 支出現過 189 個交易日以上的水下期。用同一批模擬路徑問:沒有失效時,十四支策略裡至少有 3 支出現這麼長水下期的機率是多少?答案是 55.95%。這個數量並不罕見,沒有顯示這些策略的水下期異常,也不能證明它們沒有失效。這裡「沒有失效」的基準取自策略較早期報酬的平均,是代理,不是策略上架時的回測數字。
能說與不能說
能說的。 在這組合成情境裡,沒有失效的策略出現長水下期很常見,水下期的長度本身不是可靠的失效訊號。在相同誤報率與變點後 252 個交易日的視窗下,水下天數警報沒有比夏普值落後警報更早發現失效。
不能說的。 第一,不能說水下天數完全沒有用:換成監控期結束的時窗,兩種警報的偵測比例接近。第二,不能把結果推到真實策略:路徑是合成的,波動固定,失效只有「夏普值降為零或降為一半」兩種形態。第三,不能說十四支策略沒有失效:它們的比較只是描述,基準是代理。
限制
- 合成路徑。 年化波動固定 12%,雜訊取自 SPY 報酬的區塊重抽樣,沒有逐步退化、波動變化或策略特有的失效型態。
- 主指標對水下天數警報不利。 配平後的門檻超過偵測視窗,這是設計造成的,不是水下天數警報本身的特性。
- 預註冊不是盲的,也有一處修正。 預註冊的第二個正對照在原文設定下沒有通過,原因正是配平門檻超過偵測視窗;修正案在看過控制輸出之後、看到主結果之前寫成,改為計算變點後剩下的監控期內的偵測比例。主結果只報預註冊的情境格與判定,沒有新增分析。
- 十四支策略的比較是描述性的。 其中五支共享美股與黃金的曝險,不是五次獨立觀察;另一種把後期報酬當基準的假設,近乎套套邏輯,這裡不採用。
- 只測了一組設定。 檢查頻率、前段長度、監控期與路徑數都固定,只有區塊長度做了敏感度檢查。
資料與方法
- 資料:十四支策略的日報酬(首頁策略面板的同一窗口),SPY 調整後收盤價只作模擬雜訊的來源。
- 模擬:每個情境格 10,000 條路徑,校準與評估用不同的隨機種子;水下天數門檻在校準集上配平,再在評估集上比較。
- 檢驗:兩種警報在同一批路徑上做配對比較,報告差與標準誤,信賴區間取常態近似的雙尾九成五,多個情境格用 Holm 校正。
- 控制:隨機漫步的精確機率與模擬值相符;沒有變點的路徑上,評估集的誤報率與校準目標相符;夏普值大幅轉負的情境,兩種警報最後都偵測到。
- 重現:獨立審查端用同一份程式與輸入離線重跑,結果檔的科學欄位逐項相等。
懶人包圖組



相關文章
先讀正式關聯,若無則使用標籤與主題相似度補齊