2011年1月16日 星期日

如何評估系統的測試結果

當你編寫了一個自以為有效的交易系統後,必須利用歷史資料進行測試,確定它真的能夠幫你賺錢。這一點很重要,除非你確定自己的系統有效,否則你很容易會對它失去信心。

很多人花錢參加昂貴的投資課程,學到神奇的交易方法後,沒有進行歷史測試 (back-testing) 就拿來實戰,結果往往遇到兩、三次的虧損便信心盡失,於是又再踏上尋找之旅,希望找到另一個「聖杯」。這樣的過程不斷重複,他們不明白問題其實出在自己身上,世上沒有穩賺不賠的交易方法,如果輸兩、三次就放棄,就算是再好的系統,交到他們手上也沒有用。

現在,讓我們嘗試比較兩個不同的交易系統,圖 1 是 StochRSI 系統的測試報告 (已扣除佣金及滑移價差),圖 2 則是 Moving Average Crossover (10天/30天) 系統。在這裡我只想評估系統的測試結果,至於買賣規則就不多作解釋了。

圖 1 - StochRSI System





圖 2 - Moving Average Crossover System


評估系統的效能時,我們要考慮以下因素:

淨獲利 (Profit)

淨獲利代表系統在測試期間內,能為你賺到多少錢。很明顯這是第一個需要關注的數字,如果淨獲利為負數,你就不能期望這系統能為你賺錢。StochRSI 系統 (以下簡稱 StochRSI) 及 Moving Average Crossover 系統 (以下簡稱 MAC) 的淨獲利分別為 9781點及 13966點。單看這點,似乎 MAC 較好,但我們不能就此下定論。

總交易筆數 (Total Trades)

系統在測試期間的總交易筆數,至少要達到 30以上,其結果才有參考價值。如果兩個交易系統的其他表現相若,總交易筆數較少的系統就更優勝,因為可以節省更多交易成本。StochRSI 及 MAC 的總交易筆數分別為 193及 81,報告中可以看到,StochRSI 的佣金成本高達 1930點 (以恆指細期為例,每點 $10,因此實際佣金為 $19300),反觀 MAC 只需 810點。

勝率 (Percent Profitable)

將獲利筆數 (Profitable Trades) 除以總交易筆數即可得出系統的勝率,StochRSI 及 MAC 的勝率分別為 61.7% 及 39.5%。很多人追求高勝率的交易方法,以為勝率要有 80%以上才能幫他賺錢,其實這是完全錯誤的觀念。以這兩個系統為例,StochRSI 較 MAC 優勝的地方幾乎只有勝率而已,可惜就系統的獲利能力來說,只考慮勝率是全無意義的。不過我覺得還是值得看一看這個數字,因為很多人在心理上接受不到勝率太低的系統 (即使該系統擁有很高的獲利能力),與其實際交易時為了短暫的連敗而煎熬難耐,還不如一開始就採用勝率較高的系統。

平均獲利 (Average Profit) 與平均虧損 (Average Loss)

為何 MAC 的勝率較低,總獲利反而較高,關鍵就在這裡。StochRSI 在 119筆獲利交易中,平均每筆獲利 596點;但在 74筆虧損交易中,平均每筆虧損 827點。相反, MAC 的平均獲利達到 1288點,遠較平均虧損 (556點)  為高。

最大單筆獲利 (Highest Profit)

我們需要知道,系統的淨獲利在扣掉最大單筆獲利後還剩下多少。假設某系統在測試期間產生了 100筆交易,淨獲利 10500點,但最大單筆獲利為 10000點,即是說扣除這筆最大獲利的交易後,餘下 99筆交易只提供了 500點的利潤,這樣你能接受嗎?StochRSI 的最大單筆獲利為 3735點,扣掉這筆交易,剩下 192筆交易的淨獲利為 6046點。MAC 的最大單筆獲利為 6339點,扣掉這筆交易,剩下 80筆交易的淨獲利為 7627點。

最大單筆虧損 (Highest Loss)

在情況最壞時,你的交易會虧損多少?知道這個數字,心理上及資金上才能作好準備。很多人忽視資金管理的重要性,可能只有三萬元的本金就去交易一張細期,對他們來說,在一筆交易裡出現 2000點的虧損簡直是毀滅性的災難。StochRSI 及 MAC 的最大單筆虧損分別是 5190點及 2017點。

最大連續虧損筆數 (Most Consecutive Unprofitable Trades)

運氣最差時,你的系統會連續發生多少筆虧損?就算是獲利能力很高的系統,在某段時期裡也會出現連續虧損,對一般人來說,連續輸 3、4次已是很大打擊,足以令他放棄任何優秀的系統。但如果有進行過 back-testing,就不會對此大驚小怪。

StochRSI 及 MAC 的最大連續虧損筆數分別為 4及 6。

獲利係數 (Profit Factor)

將總獲利 (Trade Profit) 除以總虧損 (Trade Loss),就得出獲利係數。如果獲利係數為 1,代表該系統只是打個和而已,因此獲利係數愈高愈好。為了進一步說明獲利係數的重要性,我們假設有一個系統,總獲利及總虧損分別為 115000點及 100000點,兩者相減得出 15000點的淨獲利。如果只看淨獲利,該系統比 StochRSI 及 MAC 更高,但其實它的獲利係數只有 1.15,反映總獲利和總虧損很接近,將來轉盈為虧的機會很大。

StochRSI 的獲利係數只有 1.16,但 MAC 則有 1.51。我認為獲利係數至少要 1.5以上,才可以接受。

下表總結兩個交易系統的表現:



2 則留言:

程式交易搏客 提到...

metastock 的 test 設計上有問題...

Bernie Lee 提到...

hi, 你指設計上的問題是?