四、系統是否被“過度優化”(Over-optimized)。可以看以下兩點得到初步印象:
a.看系統有幾個優化參數。參數越多,“過度優化”的可能性越大。一般來講,超過兩個就很危險了。如果你手頭有系統測試軟體,你可以做個簡單的試驗:選一個股票或期貨,用兩個移動平均的交叉作買入和賣出的信号,然後對這兩個移動平均的日數做優化(例如從10日到160日,5日一階),很有可能在優化的結果中你能找到很不錯的。如果再加一個參數,譬如說止損點或赢利靶點(Profit Target),那麼今天你就可以找到不少誘人的系統。但是你會用這些系統去交易嗎?
b.看系統交易程式中是否有“魔術”數字。如果有,就要問為什麼用這個特定的數字。譬如,程式中用了一個20天的移動平均,一般我都會問為什麼用20天而不是10天?如果是10天的移動平均會是什麼結果?30天又是什麼結果?
c.看系統的交易政策是否簡單。越是邏輯簡單的系統,一般來說,越不容易被過度優化,也越能經得起時間的考驗。海龜交易法則就是一個簡單系統的典範。基于期貨市場價格的季節性漲跌的系統也是很簡單易懂的。很多人不相信大家都知道的交易政策能持久地赢利。在這裡順便談談我的看法。我認為,這個問題的關鍵,是不能簡單地以為知道了交易政策就萬事大吉了。交易政策可以大家都一樣,但每個人的交易計劃,包括資金管理和交易管理,和每個人的性格與自律程度,以及對市場的了解,則千差萬别。好比人人都知道怎樣在牆上釘個釘子:買個錘子啊!聽起來最簡單不過了,三歲小兒都知道。為什麼很多人還是敲不好呢?原因很多。可能買了個自己使不動的錘子(交易系統不符合個性),可能不知道有些牆是要先探到磚縫的才好敲的(對市場不了解,選錯了市場或選錯了時段),也可能是釘子敲得太少(缺乏經驗,對市場沒感覺),或者是用力過猛把釘子敲彎了(想一夜暴富,結果過度交易搞破産了),等等。總之,交易政策可以簡單,但要指望通過交易達到穩定地赢利卻不容易。
回到“過度優化”的主題上,如果要做進一步的分析,我一般會看系統名額在不同參數下的分布。對于好的系統,這種分布的形狀應該像小山包.
假設系統隻有一個參數,即某個移動平均的日數。而且,為簡單起見,我們隻看系統的總赢利。可以看到,雖然總赢利在參數為45時最優,但用其他值時的赢利也很不錯。或者說這是個可以“穩定”赢利的系統。
如果像懸崖,說明系統對于參數的變化太敏感,你就要小心了。
五、看系統的交易政策是否有實際意義。也就是說,系統的交易邏輯必須能夠被合了解釋。好的交易系統捕捉市場的某些可量化的特性,如果系統的邏輯無法合理地解釋成市場的某種特性,那麼這個系統是不可信的。舉個例子說,假設某人發現在黃金突破20天高點之後的三個月聯想總是會上漲,于是他開發出一個系統在黃金突破20天高點時買入聯想的股票。這個系統可能可以通過以上所有的可信度檢驗而且每年能給你100%的回報,但是,在我有足夠的想像力能夠解釋為什麼聯想的股票跟金價會有這種關系之前,我是不會用這個系統進行實戰交易的。
隻有在通過了以上所述的可信度檢驗後,讨論系統測試的績效名額才有意義。如果是自己進行交易系統的開發,在交易政策的選擇,優化,和測試的過程中就必須把可信度的問題考慮在内。但交易系統的開發與測試有更多的内容和需要注意的地方,需要另一個專題來讨論。
22/2<12