在評估一個系統(tǒng)的測試指標(biāo)之前,我認(rèn)為先檢驗(yàn)測試結(jié)果的可信度。這就像我們在相信一個人說的話之前,先必須相信這個人。你可能找到一個交易系統(tǒng),也可能是自己開發(fā)了一個交易系統(tǒng),但是不論你對提供這個系統(tǒng)的人,包括你自己,有多少信任,你都要堅(jiān)持先檢驗(yàn)測試結(jié)果的可信度。如果因?yàn)槊つ康南嘈呕騼e幸心理,跳過去這個過程,這無異于給你的資金安全埋下一個定時炸彈。
交易系統(tǒng)測試結(jié)果的可信度評估主要有以下幾個方面:
一、這個系統(tǒng)是不是“黑盒子”?如果是,不論是什么理由,其結(jié)果都不可信。這雖然有些絕對,但僥幸心理是交易之大忌。這有點(diǎn)像在坐飛機(jī)時幫陌生人捎帶東西一樣:那東西打不開,但一定是炸彈嗎?也不能下定論。如果你認(rèn)為不能帶陌生人的東西上飛機(jī),你也不應(yīng)該相信一個“黑盒子”系統(tǒng)。
二、檢驗(yàn)系統(tǒng)測試條件與實(shí)際交易的符合程度。如果不符,各種績效指標(biāo)就不用看了。我認(rèn)為至少要檢查以下幾點(diǎn):
a.測試數(shù)據(jù)是否涵蓋了至少一個大的牛市和一個大的熊市,一般至少要十年以上。我見過很多系統(tǒng),測試指標(biāo)很漂亮,可仔細(xì)一看,測試結(jié)果是基于指定的某段時間,譬如從2000年到2005年,這時就要打個問號了,因?yàn)椋玻埃埃澳暌郧暗臄?shù)據(jù)不難得到啊,為什么不從1990年或更早開始呢?對于大多數(shù)要賣錢的交易系統(tǒng),這樣做是不難理解的。一般來講,測試涵蓋的時間越長,測試的可信度越高。
b.測試是否把交易傭金從贏利中扣除。否則,你可能在為證券公司打工。這一點(diǎn)對于交易頻繁的系統(tǒng)尤其重要。
c.測試是否把交易的滑價(jià)(slippage)從贏利中扣除。譬如測試的某個交易是在40元買入的,在實(shí)際交易中可能你買不到,你可能要花 40.10元,有的市場甚至可能要40.50元。這一毛或五毛的價(jià)差是不是刨去了?好的系統(tǒng)測試會根據(jù)被測市場的流通性假設(shè)一個合理的滑價(jià)。越是短線的交易系統(tǒng),滑價(jià)造成的影響越大。我還見過幾次這樣的情形:很好的測試結(jié)果,滑價(jià)預(yù)計(jì)得比較低,但當(dāng)前市場的流通性確實(shí)很好,滑價(jià)好像是合理的。但總覺得結(jié)果好得讓人不敢輕易相信。仔細(xì)一想,發(fā)現(xiàn)了問題:這個市場只是最近這兩年才熱起來的,以前的日成交量很低,但測試結(jié)果是按照當(dāng)前的日成交量來估算滑價(jià)的。如果按以前的日成交量來算滑價(jià),系統(tǒng)的績效就遠(yuǎn)不如第一次看到的那樣好。但是起碼這是合理的結(jié)果。在測試時堅(jiān)持合理的假設(shè),會減少在實(shí)際交易中出現(xiàn)的沒有預(yù)想到的損失。另一個需要注意的情形是如果系統(tǒng)是一個突破型的系統(tǒng),例如在股票突破五日最高點(diǎn)時買進(jìn),這時市場上可能有很多交易者都盯著那個點(diǎn)買入,在價(jià)格突破時會有很多人進(jìn)場作多,這時即使是日成交量很大的股票都可能會出現(xiàn)大的滑價(jià),在測試中這些都需要考慮進(jìn)去。
三、檢查測試結(jié)果是否具有統(tǒng)計(jì)意義上的可信度。如果統(tǒng)計(jì)意義上的可信度很低,別的指標(biāo)不用看了。統(tǒng)計(jì)的指標(biāo)有:
a.交易次數(shù)。至少要超過30,才能滿足一般的統(tǒng)計(jì)要求。結(jié)果的不確定性是與交易次數(shù)(統(tǒng)計(jì)上的樣本大小)的平方根成反比的。因此,系統(tǒng)交易的次數(shù)越多,這些交易所表現(xiàn)的系統(tǒng)績效的確定程度就越高,也就是結(jié)果越可信。
b.系統(tǒng)的贏利是不是集中在少數(shù)幾個交易上。如果一個系統(tǒng)的贏利有十萬元,但其中的七萬來自于某兩次交易,那么應(yīng)該把這兩次交易去除看你能不能對系統(tǒng)的其他次交易的結(jié)果滿意,因?yàn)楹苡锌赡苣阍趯?shí)際交易中碰不到這種“滿貫”型的交易。在Tradestation系統(tǒng)測試軟件的系統(tǒng)分析報(bào)告中,除了 “獲利因子”(Profit Factor)外,還有一項(xiàng)“經(jīng)調(diào)整的獲利因子”(Adjusted Profit Factor),就是針對這種情況而設(shè)的。
四、系統(tǒng)是否被“過度優(yōu)化”(Over-optimized)。可以看以下兩點(diǎn)得到初步印象:
a.看系統(tǒng)有幾個優(yōu)化參數(shù)。參數(shù)越多,“過度優(yōu)化”的可能性越大。一般來講,超過兩個就很危險(xiǎn)了。如果你手頭有系統(tǒng)測試軟件,你可以做個簡單的試驗(yàn):選一個股票或期貨,用兩個移動平均的交叉作買入和賣出的信號,然后對這兩個移動平均的日數(shù)做優(yōu)化(例如從10日到160日,5日一階),很有可能在優(yōu)化的結(jié)果中你能找到很不錯的。如果再加一個參數(shù),譬如說止損點(diǎn)或贏利靶點(diǎn)(Profit Target),那么今天你就可以找到不少誘人的系統(tǒng)。但是你會用這些系統(tǒng)去交易嗎?
b.看系統(tǒng)交易程式中是否有“魔術(shù)”數(shù)字。如果有,就要問為什么用這個特定的數(shù)字。譬如,程式中用了一個20天的移動平均,一般我都會問為什么用20天而不是10天?如果是10天的移動平均會是什么結(jié)果?30天又是什么結(jié)果?
c.看系統(tǒng)的交易策略是否簡單。越是邏輯簡單的系統(tǒng),一般來說,越不容易被過度優(yōu)化,也越能經(jīng)得起時間的考驗(yàn)。海龜交易法則就是一個簡單系統(tǒng)的典范。基于期貨市場價(jià)格的季節(jié)性漲跌的系統(tǒng)也是很簡單易懂的。很多人不相信大家都知道的交易策略能持久地贏利。在這里順便談?wù)勎业目捶āN艺J(rèn)為,這個問題的關(guān)鍵,是不能簡單地以為知道了交易策略就萬事大吉了。交易策略可以大家都一樣,但每個人的交易計(jì)劃,包括資金管理和交易管理,和每個人的性格與自律程度,以及對市場的了解,則千差萬別。好比人人都知道怎樣在墻上釘個釘子:買個錘子啊!聽起來最簡單不過了,三歲小兒都知道。為什么很多人還是敲不好呢?原因很多。可能買了個自己使不動的錘子(交易系統(tǒng)不符合個性),可能不知道有些墻是要先探到磚縫的才好敲的(對市場不了解,選錯了市場或選錯了時段),也可能是釘子敲得太少(缺乏經(jīng)驗(yàn),對市場沒感覺),或者是用力過猛把釘子敲彎了(想一夜暴富,結(jié)果過度交易搞破產(chǎn)了),等等。總之,交易策略可以簡單,但要指望通過交易達(dá)到穩(wěn)定地贏利卻不容易。
回到“過度優(yōu)化”的主題上,如果要做進(jìn)一步的分析,我一般會看系統(tǒng)指標(biāo)在不同參數(shù)下的分布。對于好的系統(tǒng),這種分布的形狀應(yīng)該像小山包。
假設(shè)系統(tǒng)只有一個參數(shù),即某個移動平均的日數(shù)。而且,為簡單起見,我們只看系統(tǒng)的總贏利。可以看到,雖然總贏利在參數(shù)為45時最優(yōu),但用其他值時的贏利也很不錯。或者說這是個可以“穩(wěn)定”贏利的系統(tǒng)。
如果像懸崖,說明系統(tǒng)對于參數(shù)的變化太敏感,你就要小心了。
五、看系統(tǒng)的交易策略是否有實(shí)際意義。也就是說,系統(tǒng)的交易邏輯必須能夠被合理解釋。好的交易系統(tǒng)捕捉市場的某些可量化的特性,如果系統(tǒng)的邏輯無法合理地解釋成市場的某種特性,那么這個系統(tǒng)是不可信的。舉個例子說,假設(shè)某人發(fā)現(xiàn)在黃金突破20天高點(diǎn)之后的三個月聯(lián)想總是會上漲,于是他開發(fā)出一個系統(tǒng)在黃金突破20天高點(diǎn)時買入聯(lián)想的股票。這個系統(tǒng)可能可以通過以上所有的可信度檢驗(yàn)而且每年能給你100%的回報(bào),但是,在我有足夠的想像力能夠解釋為什么聯(lián)想的股票跟金價(jià)會有這種關(guān)系之前,我是不會用這個系統(tǒng)進(jìn)行實(shí)戰(zhàn)交易的。
只有在通過了以上所述的可信度檢驗(yàn)后,討論系統(tǒng)測試的績效指標(biāo)才有意義。如果是自己進(jìn)行交易系統(tǒng)的開發(fā),在交易策略的選擇,優(yōu)化,和測試的過程中就必須把可信度的問題考慮在內(nèi)。但交易系統(tǒng)的開發(fā)與測試有更多的內(nèi)容和需要注意的地方,需要另一個專題來討論。
祝大家找到合意的交易方法并穩(wěn)定贏利!