本章整合原書第 18–20 章,涵蓋系統測試的三大支柱:選擇合適的價格序列、測試與優化方法,以及業績評估指標。
選擇最佳期貨價格序列(Chapter 18)#
四種價格序列的比較#
| 類型 | 描述 | 優缺點 |
|---|---|---|
| 實際合約序列 | 單個合約的完整報價 | 15 年測試需 60–90 個合約序列;流動性強的時期通常少於 5–6 個月,不適合長期系統測試 |
| 最近期貨 | 逐個接續各合約至到期日 | 合約間價格缺口會產生幻影價格運動(作者舉例:7 月玉米到期時的 38 美分幻影損失)—— 對系統測試毫無用處 |
| 固定前移(永續) | 由固定前移時間量的報價構成(例:3 個月前移價 = 內插計算) | 消除缺口問題,但無法反映實際合約中時間消失的影響,特別在期貨溢價市場中 |
| 連續(價差調整) | 透過累加新舊合約展期時的價差,消除缺口 | 唯一能精確反映價格波動和實際交易帳戶權益波動的序列,是系統測試的最佳選擇 |
連續期貨序列是唯一可用於交易系統計算機測試準確模擬的連續序列。它會精確反映一個期貨頭寸的波動,這個頭寸在最後交易日前 N 天被不斷地展期到後續合約。
連續期貨的限制#
- 連續序列可能包含負價格(當累積調整因子大於當前價格時)——不影響測試有效性
- 不能用於百分比計算——連續期貨僅反映價格變化,不是價格水平
- 需補充使用實際合約數據或最近期貨來計算百分比變化
許多行業專家和文章支持使用固定前移(永續)序列——作者強烈反對這一觀點。無論支持者的立場是出於天真還是自我利益(他們往往是固定前移類型數據的銷售商),他們都是錯的。請嘗試把實際交易帳戶的波動與固定前移隱含的波動相匹配——你很快會信服。
測試和優化系統(Chapter 19)#
「精心選擇的例子」陷阱#
系統的典型銷售宣傳會展示資產淨值近乎完美的上升趨勢。但一個實證例子告訴我們:
- 簡單 6 日移動平均系統在 1980 年瑞士法郎 年化收益 287%
- 相同系統用在 1976–1983 年 25 個市場中,19 個虧錢,6.5 年平均年化收益不足 8%
- 在 13 個虧損市場中,5 個市場每份合約損失 超過 45,000 美元
不要基於孤立例子對系統(或指標)下結論——判斷系統價值的唯一方法是「在廣泛的市場範圍內長時間測試」。
核心概念與定義#
- 參數(parameter):改變信號時機的可隨意賦予的數值(如突破系統中的 N 值)
- 參數組(parameter set):系統中所有參數的一個組合(如交叉移動平均的 10 + 40 組合)
- 連續參數:可假定無限數量值(如 0.05% 百分比突破需規定間隔)
- 不連續參數:只能為整數(如突破天數)
- 編碼參數:分類變數(如 0 = 收盤價上突破定義、1 = 高點上突破定義)
- 固定(非優化)參數:為避免過量參數組合,固定某些參數值
選擇測試時期#
- 理想範圍:10–20 年——結果越可信
- 短期系統可能 5–10 年充分;基於 2 年或更短數據的研究結果不可信
- 日間數據系統在至少幾年的時期內測試,因為大規模市場狀況在此類短暫時期內通常相對靜態
理論上,使用更長期時期(如 15 年)測試系統,然後就這個時期總體以及各個較短的時間間隔(如單個年份)來評估——對確定系統時間穩定度特別重要。
現實假設的兩大錯誤#
1. 交易成本低估#
- 手續費只占交易成本一小部分
- 理論執行價與實際執行價之間還有隱含滑點
- 兩種保守做法:
- 使用最差可能執行價(如收盤區域的最高價)
- 使用遠大於實際歷史手續費的每筆交易手續費假設(如每筆 25 美元)
2. 限價日的忽略#
- 自動交易系統假定每個信號都會執行
- 現實中:市場被鎖定漲跌停時無法執行
- 突然缺口可能使實際成交價遠差於信號價格(例:2011 年 9 月玉米鎖定跌停後 648 美分收盤,次日開盤 41.25 美分價差,每份合約損失 2,062.50 美元)
最優化系統的四大考量#
定義「最優」績效時,應綜合四個因素而非僅看最大資產淨值:
- 百分比收益:相對使用系統交易的資金衡量
- 風險衡量:收益率變化率、資產淨值回撤(高波動參數組應避免)
- 參數穩定性:相似參數組表現穩定(優化目標應是找到良好績效的廣泛區域,而非單一高點)
- 時間穩定性:整個時期真實代表而非個別時段優異反映
最優化神話#
過去最優參數組在未來未必最優。
對 10 個市場突破系統的測試顯示:過去 8 年最佳參數組,在後續兩年的排名幾乎隨機分布——排名第 1 的可能變成第 9,排名第 9 的可能變成第 1。
最優化的合理策略#
- 尋找廣泛的良好績效區域(如 N=25 到 N=54 全部較好),而非追逐某單一最優點
- 如 N=7 異常優秀但 N=5 和 N=9 大幅下降 → 這是「歷史價格的特殊性」,不會重複
- 對整體風險/收益衡量滿意,而非對某單一表現的驚豔滿意
構建和測試交易系統的 10 個步驟#
綜合上述,設計穩健系統的建議流程:
- 從基本概念出發(如趨勢追蹤、反趨勢)
- 使用連續(價差調整)期貨序列
- 選擇 10–20 年測試期
- 使用多個市場(至少 10–15 個)測試
- 包含現實交易成本(充裕手續費 + 滑點)
- 測試多個參數組,而非單一組合
- 評估參數區域的穩定性而非最優點
- 檢驗時間穩定度(拆分為子時期)
- 與基準比較(如同時期的買入持有或其他標準系統)
- 針對活躍交易市場增加現實假設
如何評估過往業績(Chapter 20)#
單獨考慮回報毫無意義#
比較 300 與 250 哪個便宜,必須知道貨幣單位——若 300 為美元、250 為英鎊,結論相反。風險是決定回報的貨幣單位。
透過加槓桿置換風險與回報#
| 情境 | 回報 | 風險(標準差) | 回報/風險 |
|---|---|---|---|
| 經理 A | 10% | 5 | 2:1 |
| 經理 B | 25% | 25 | 1:1 |
| 經理 A × 3 倍槓桿 | 30% | 15 | 2:1 |
透過對經理 A 加 3 倍槓桿,回報(30%)高於經理 B(25%),但風險(15)仍低於經理 B(25)。結論:回報/風險比率才是真正關鍵。
主要風險調整後指標#
1. 夏普比率(Sharpe Ratio)#
最廣泛使用的指標:SR = (AR - RF) / SD
AR= 平均回報;RF= 無風險利率;SD= 標準差- 月度夏普比率乘以 √12 年化
兩個缺陷:
- 基於平均回報而非複合回報(真實投資者經歷的是複合報酬,非算術平均)
- 範例:第一年 +50%、第二年 -50% → 平均 0%,但實際 -25%(年化 -13.4%)
- 不區分向上與向下波動——只懲罰虧損方向的波動才合理
2. 索提諾比率(Sortino Ratio)#
SR = (ACR - MAR) / DD
ACR= 年化複合回報;MAR= 最小可接受回報;DD= 下行偏離- 使用複合回報,且只考慮低於 MAR 的下行偏離
但索提諾比率總高於夏普比率(偏離基於更小樣本)——不可直接比較兩者。
3. 對稱下行風險夏普比率(SDR, William T. Ziemba)#
SDRSR = (ACR - RF) / (√2 × DD)
去除索提諾比率內含的相對於夏普比率的向上偏好,可與夏普比率直接比較。
4. 收益損失比率(GPR)#
GPR = Σ 月收益和 / |Σ 月損失和|
GPR = 1 意味月損失等於月收益。月度 GPR > 1 較好,> 1.5 非常好;日度 > 0.17 較好,> 0.25 非常好。
5. 尾部比率(Tail Ratio)#
比較極端收益與極端損失的平均值:
- = 1:回報正態分布
- < 1:大損失 » 大收益(高風險)
1:大收益 » 大損失
6. MAR 比率與 Calmar 比率#
- MAR:
ACR / 最大回撤 - Calmar:同 MAR,但限於過去 3 年數據
缺陷:僅基於單一最大回撤事件,統計意義有限。
7. 回撤比率(RRR)#
RRR = (ACR - RF) / AMR,AMR = 平均最大回撤(基於每個月份的最大回撤)
比 MAR 和 Calmar更有意義,因為基於多個數據點而非單一統計。
回報/風險指標的適用時機#
| 指標 | 特色 | 建議用途 |
|---|---|---|
| 夏普比率 | 最廣泛使用但懲罰上行波動 | 快速粗略比較 |
| 對稱下行夏普比率 | 修正夏普的不足,可直接比較 | 一般比較首選 |
| 收益損失比率 | 不重視損失次序 | 若投資者不在意連續損失 |
| 尾部比率 | 聚焦極端回報 | 輔助指標,突出極端風險 |
| MAR / Calmar | 反映最差情況的單一統計 | 輔助,了解歷史最壞時刻 |
| RRR | 綜合所有回撤 | 多指標中最好的單一回撤衡量 |
看得見的業績衡量#
淨資產(NAV)圖#
必須用對數比例繪製 NAV 圖,尤其在淨資產範圍較大時。算術比例會嚴重扭曲長期圖表:
- 相同 1,000 美元下跌在 NAV = 16,000 時是 6% 溫和下跌
- 在 NAV = 2,000 時是 50% 大幅下跌
對數比例下,相同百分比變化顯示為相同視覺距離。
滾動窗口回報圖(Rolling Window Return Chart)#
- 顯示任意時間長度的持有回報(如 12 個月、24 個月)
- 揭示回報穩定性——任意 12 個月持有期的回報範圍
- 範例:經理 E 12 個月回報波動 -49% 至 +142%;經理 F 範圍 -10% 至 +29%
- 兩人年化回報僅差 1.3%,但風險體驗天差地別
回答投資者真正關心的問題:「如果我在任何月份進場持有 12 個月,最差會虧多少?」 這遠比只看累積曲線更有價值。
實務建議總結#
- 系統測試使用連續期貨序列——這是唯一能準確模擬真實權益波動的選擇
- 長期測試(10–20 年)+ 多市場驗證(至少 10–15 個)
- 保守的交易成本假設——使用最差可能執行價或高額滑點
- 避免單一最優參數組——尋找穩定的良好績效區域
- 評估時不只看回報——用風險調整後指標比較
- 對稱下行風險夏普比率 + RRR 是較均衡的指標組合
- 滾動窗口回報圖比單一累積曲線更能揭示真實風險