如何進行backtest及比較策略效果

如何進行backtest及比較策略效果

 

上文討論了投資初哥的自肥企劃,與及之前一連串的第9至12招文章,引發了一些網友的興趣,開始用Excel 建立運用於強積金的投資策略。

 

可是,當獲得了各種策略的每月回報之後,有些人便停了下來,不知道該如何處理這堆數據。所以本文旨在按Portfolio Visualizer 的分析內容,提出不同的方式去檢討backtest 的結果,與及討論如何比較各種策略的表現。

 

大家首先要玩玩 Portfolio Visualizer (PV)  , 這個網上工具是目前最好及最專業的資產配置及策略表現的分析工具,可以處理不同類型的SAA 及TAA 策略,內容及功能十分豐富。要令大家由白紙到全面熟識如何PV 操作,可能要開一個10堂,每堂3個鐘嘅課程先可以講得晒,但筆者不是教班大師,所以大家要自己花啲時間慢慢了解。筆者都只是熟識PV九成內容,有些分析工具比較少用。

 

筆者都用PV了很多年,個人投資的三十幾隻TAA 策略,大多運用PV 而建立,海外散戶高人亦都是運用PV 做backtest 。

 

不過,PV 只有美股,沒有港股,亦沒有強積金。所以大家可以先學習PV 的內容,真的要用PV 去分析強積金的話,可以付費使用PV 的PRO 功能,自行輸入自己的投資數據。

 

當運用PV 做backtest 之後,網頁會首先顯示以下資料,包括策略的 CAGR (即年均回報)  Stdev (即按年波幅)  Sharpe Ratio (即 [年均回報-無風險回報 ] / 按年波幅)  Sortino Ratio (詳情見下)  及 US Mkt Correlation (策略與美股大市的關聯系數)

 

 

 

 

接着PV便顯示累計回報及各年回報,個樣係唔係好面善呢?MPFier 嘅表達都係抄佢。

 

 

以上的第一頁是令人有快速的印象,初哥都能理解,但如果想要進一步資訊,便要click 去第二頁 metrics 。

 


 

Metrics 頁面顯示了最完整最全面的策略分析資訊,這些資訊是最適合用來做比較、分析、研究。以下筆者按各種Metrics 頁面內的資訊,逐一與大家研習一下。

 

 

 


 

Arithmetic Mean (monthly)
Arithmetic Mean (annualized)
Geometric Mean (monthly)
Geometric Mean (annualized)

 

上面4種都是回報,究竟應使用那一種呢?大家可先看<積金大反擊>第38頁。

 

PV 及大家Excel 的回報計算,多數是先由A.mean (monthly)  開始,然後年率化 (annualized)  轉為年均回報。

 

其實正宗統計公式於單次投資回報的計算是會得出A.mean,不過股票及強積金投資是賺蝕疊加,所以實際結果應該睇G.mean,而不是單次投資的A.mean 回報。另外,留意MPFDIY 及MPFier 是用 Log return ,比G.mean 更易計算。

 

 


 

Volatility (monthly)
Volatility (annualized)
Downside Deviation (monthly)
Max. Drawdown

 

筆者講左好很多年,睇完回報就要睇波幅,唔係筆者有咩真知灼見,而係回報及波幅係投資嘅基本動作。PV 在顯示回報之後,便顯示波幅 volatility,正正就是這個道理

 

筆者習慣用按月波幅 volatility (monthly),因為計算完每月回報之後便可得出按月波幅。而按年波幅 volatility (annualized) 是由按月波幅 x 開方12 而成的。

 

Downside deviation 就只考慮負回報的月份的波幅,大多用來計算Sortino Ratio ,不過筆者不是太喜歡這個計算,因為如果沒有負回報的平均值mean, 只看 downside deviation 其實不太正確。

 

Maximum drawdown (MDD) 是由歷史高位下跌的情況,太着重MDD 的話,會有點受 anchor effect 所影響,將自己拘禁於歷史的一點。所以筆者較喜歡最大單年跌幅,而用波幅可即時估算出最大單年跌幅,不用計MDD。

 

不過,一般大型指數基金的MDD 及最大單年跌幅都是差不多,讓自己對該投資物及投資策略有跌幅的預算便可。

 

總之,volatility、deviation 及drawdown 都是愈低愈好。

 

 


 

US Market Correlation
Alpha (annualized)

 

這個就是涉及大家耳熟能詳的Alpha 及 Beta 。如果策略的backtest 下出來的Alpha 不是正數的話,就學畢菲特話齋,持有S&P500 指數基金便算。

 


 

Sharpe Ratio
Sortino Ratio
Treynor Ratio (%)
Calmar Ratio

 

本站有多篇Sharpe ratio 的文章,大家請爬文。筆者其實不太喜歡Sharpe ratio 以外其他三個ratio ,與大家講解一下。

 

當啲人們用Sharpe ratio 好耐,就想諗下啲新ratio 玩下,例如啲人覺得正回報的風險不用考慮,便出了個Sortino ratio 去只考慮蝕錢的風險。

 

問題來了,究竟Sortino ratio 的定義公式是什麼? 這個?還是這個

 

原來Sortino ratio 沒有統一的公式,各人有各人的計算公式,計算出來的結果便是雞同鴨講。

 

再者,downside 波幅要與downside 回報一齊睇,因為統計採樣是downside population 的話,便只應單看downside 。但Sortino ratio 公式的分子考慮upside 及downside ,而分母只考慮downside,筆者覺得非常古怪。

 

Treyner ratio 要計Beta,不如直接睇Alpha 好過。

 

Calmar ratio 只睇對上36個月,筆者認為這會令Calmar ratio 隨時間及市況變化太大。Ratio 的設定是希望分析投資物或投資策略的本質,而不是市況。

 

綜合來說,Sharpe ratio 高,其他ratio 自然高,所以睇Sharpe ratio 已經搞惦。

 

 


 

Active Return
Tracking Error
Information Ratio

 

有基金經理管理的共同基金或被動式的ETF , 都會有一個基準(benchmark)  做對比,例如盈富基金是與恒生指數做對比。強積金成份基金大多都有其 benchmark,不過永遠比不上。

 

上面三個計算,就是策略回報與benchmark 回報的對比,像alpha beta 的計算,只是beta 通常指大市,而information ratio 是策略與benchmark 的比較。

 

如果要於不同策略去設定不同的benchmark 是十分麻煩,亦沒有統一標準,不如與大市做對比,睇alpha beta 算數。

 


 

Skewness
Excess Kurtosis

 

這兩個數字是看看波幅是否「常態」,因為波幅背後有常態分布的假設,但現實沒有投資回報是完美常態分布,尤其個別股票,所以睇波幅 volatility 時,尤其升跌古怪的投資物如bitcoin ,就要再睇埋 skewness 及 excess Kurtosis 。

 

由於強積金及筆者的投資對象是大市及大型指數基金,波幅基本屬於「常態」,所以不太理會skewness 及 excess kurtosis 。

 


 

Historical Value-at-Risk (5%)
Analytical Value-at-Risk (5%)
Conditional Value-at-Risk (5%)

 

前文已有討論,不過PV 內的VaR 是按月跌幅,5% 指平均100個月內會有5個月的跌幅大於VaR,而CVaR 是這些下跌大過VaR 的月份的平均下跌值。

 

由於VaR都是出於波幅,所以可以用按月波幅再進深計算每天每星期每月每年的最大跌幅,給自己有個參考,看看大跌市時自己的處景其實是好是壞。

 

 


 

Upside Capture Ratio (%)
Downside Capture Ratio (%)

 

Upside capture ratio 是指benchmark 上升時,策略是否一同上升,downside capture ratio 則看是否同跌。大概看tracking error 已知是否齊上齊落。

 


 

Safe Withdrawal Rate
Perpetual Withdrawal Rate

 

這兩個rate 是4%法則的源頭,會另文詳述。

 


 

Positive Periods
Gain/Loss Ratio

 

Positive periods 指正回報的百份比,愈高當然愈開心,90%指平均 10日有9日賺錢。

 

不過如果9日每日賺1%,第10日蝕50%,都唔會開心,所以有gain/loss ratio 作參考,即賺錢時的平均值與蝕錢時的平均值的比率。

 


 

小結

 

這些專門的策略分析數據,筆者會先看回報及波幅,對某一細項有興趣時,才仔細研究比較,大體來說,回報及波幅已經能說明一切。