[轉(zhuǎn)] 量化交易系統(tǒng)十大陷阱
一,偷價
如果一個交易策略要求你利用信號觸發(fā)前的價格進行交易,那么這個交易策略就存在偷價的問題。偷價發(fā)出的交易信號不會消失,但是你已經(jīng)沒有機會利用這個信號進行交易了。例如,信號可能提示,如果當天收盤價高于前一天最高價,則利用當天開盤價進行買入,而在開盤價成交已經(jīng)幾乎是不可能的事情了。
很多人也許會低估偷價的危害性,事實上,固定點數(shù)的偷價相當于在原本的資金曲線上疊加了一條斜率為正的直線(在每次交易都是固定手數(shù)的情況下)。例如,假設(shè)在股指上每次交易偷價1個點,那么一個上市至今交易2000筆的模型,會穩(wěn)定凈賺1*300*2000*2=120萬。
下面兩個圖表是筆者在股指連續(xù)合約5分鐘圖上測試的雙均線模型的交易盈虧曲線(回測時段2014年1月1日-2014年6月16日)。圖1是包含偷價的策略,即如果上一根k線上出現(xiàn)均線金叉,則以當前k線最低價買入,死叉則以當前k線最高價賣出。圖2是沒有偷價的策略,即如果上一根k線上出現(xiàn)均線金叉,則以當前k線開盤價買入,死叉則以當前k線開盤價賣出??梢钥闯觯瑑烧哔Y金曲線差異非常大。
二,未來函數(shù)
交易策略中如果包含了未來函數(shù),運行后表現(xiàn)是,某天出現(xiàn)的交易信號會在一段時間后消失,之后可能會在其他位置出現(xiàn)相同或不同的信號。出現(xiàn)這種情況的原因是,函數(shù)在判斷是否發(fā)出信號以及發(fā)出何種信號時,利用了未來還不確定的行情信息。例如,如果當前柱線上還在跳動的收盤價被用來判斷是否觸發(fā)信號,則該函數(shù)是未來函數(shù)。使用這類函數(shù)的模型,會測表現(xiàn)勝率可能非常高,是典型的馬后炮。
很多平臺上都有的Zigzag指標實際上就是一個未來函數(shù)。
下面兩個圖表是筆者在黃金連續(xù)合約5分鐘圖上測試的雙均線模型的交易盈虧曲線(回測時段2014年1月1日-2014年6月16日)。圖3是包含未來函數(shù)的策略,即如果當前k線上出現(xiàn)均線金叉,則以當前k線開盤價買入,死叉則賣出。圖4是不包含未來函數(shù)的策略,即如果上一根k線上出現(xiàn)均線金叉,則以當前k線開盤價買入,死叉則賣出??梢钥闯觯瑑烧哔Y金曲線差異非常大。
三、 手續(xù)費
策略進行測試時,如果不計入手續(xù)費,資金曲線可能會產(chǎn)生巨大差異,甚至不計手續(xù)費的盈利策略,在計入手續(xù)費后也可能產(chǎn)生虧損。手續(xù)費相當于在原本的資金曲線上疊加了一條斜率為負的直線(在每次交易都是固定手數(shù)的情況下)。
四、 滑點
滑點指的是開倉點位和成交點位之間的差異。滑點可能由網(wǎng)絡(luò)延遲、交易平臺不穩(wěn)定、行情波動劇烈、市場容量不夠等情況導(dǎo)致的,是難免會發(fā)生的情況,因此滑點是一個合格的交易策略必須充分考慮的因素。所以,如果在一個交易策略中,將滑點數(shù)設(shè)置為0,其資金曲線就會優(yōu)于同一個滑點數(shù)不為0的策略。
滑點和手續(xù)費對一個策略的資金曲線造成的影響是類似的。
下面兩個圖表是筆者在滬銅連續(xù)合約5分鐘圖上測試的雙均線模型的交易盈虧曲線(回測時段2014年1月1日-2014年6月16日)。圖5是手續(xù)費和滑點均為0的策略。圖6是設(shè)置了2.5%%手續(xù)費和2跳滑點的策略??梢?,一個盈利的無成本交易策略,在合理設(shè)置成本后卻可能出現(xiàn)虧損。
五、 指數(shù)合約
有些策略回測的合約是指數(shù)合約,而指數(shù)合約是使用該品種所有合約加權(quán)平均生成的,其價格與主力連續(xù)合約有所差異,這種價格上的差異會使回測的資金曲線不真實。例如,某個合約上的短期劇烈波動被指數(shù)合約平滑了;或者,當遠月合約升水,同時與近月合約基差較大,且處于移倉換月時,由于遠月權(quán)重的逐步加大,可能會在指數(shù)合約上形成一輪漲勢,而實際并不存在;再或者,實際操作中的移倉可能會產(chǎn)生一定的基差成本,這在指數(shù)合約卻上無需支付。
下面兩個圖表是筆者在滬銅指數(shù)合約和滬銅連續(xù)合約5分鐘圖上測試的海龜交易系統(tǒng)的交易盈虧曲線圖(回測時段2014年1月1日-2014年6月17日,參數(shù)已優(yōu)化)。圖7是滬銅指數(shù)合約的交易盈虧曲線。圖8是滬銅連續(xù)合約的交易盈虧曲線??梢钥闯觯瑘D7的曲線顯然更加平滑,且最終表現(xiàn)更優(yōu)異。
六、 過度優(yōu)化
有些策略在公布資金曲線前可能進行了過度優(yōu)化。過度優(yōu)化有多種操作方法,例如,策略交易者可以針對某段特定的行情,或短時間的行情進行參數(shù)優(yōu)化,之后將分段行情對應(yīng)的資金曲線拼接起來,得到一個表現(xiàn)更出色的資金曲線;或者,策略交易者指定過去某幾個表現(xiàn)較差的交易日不進行交易;再或者,策略交易者對過去的行情進行過度擬合,卻并不考慮這個擬合方程不適用于未來;等等。上述種種經(jīng)過加工的回測時的優(yōu)異表現(xiàn),都會與策略未來的運行結(jié)果存在較大差異。
曲線擬合可以幫助我們解釋過去的走勢,從而推導(dǎo)未來的走勢。然而,如果策略交易者對行情進行了過度擬合,則策略對過去行情的解釋可能會非常出色,但對于未來行情的解釋卻幾乎肯定是非常糟糕的。下面兩個圖表可以闡釋適當?shù)那€擬合和過度的曲線擬合。圖9的紅色曲線擬合是適當?shù)模覀兛梢钥吹绞畟€離散點基本均勻的分布在曲線附近。圖10的紅色曲線擬合很顯然是過度的,每個點都位于紅色曲線上,但我們很難想象這跟曲線能夠表達出下一個即將出現(xiàn)的點。
v
七、 市場容量
對于承載較大資金規(guī)模的策略而言,如果沒有充分考慮市場容量的問題,可能會導(dǎo)致交易結(jié)果與預(yù)期偏差較大。例如,漲跌停和流動性中斷時,大資金常常很難成交,這在策略回測時很難納入考量;或者,實際品種的市場容量有限,較大的單量不能全部以指定價格成交,這也會影響最終的交易結(jié)果。
下圖是瀝青主力合約1409在6月17日的盤口圖,可以看到瀝青市場容量很小,有時幾分鐘都沒有一筆成交,所以應(yīng)用在瀝青上的交易策略很難按照指定價格成交。
八、 樣本量過少
有些策略覆蓋的時間段太短,所以樣本量太少,不能充分展現(xiàn)策略效果。這些策略在更長時間段上的資金曲線可能表現(xiàn)的并沒有那么好。
九、 信號量過少
有些策略雖然測試了較長的時間段,但觸發(fā)的交易信號很少。這些策略未來是否表現(xiàn)穩(wěn)定也有待觀察。例如,應(yīng)用在日線圖上的策略需要考察更長的時期。
十、 適用范圍小
有些策略雖然覆蓋了較長的時間段,或較多的品種或市場,但僅僅覆蓋了一種類型的行情(例如一輪較長時間的大牛市)。這些策略在遇到截然不同的市場情況時,表現(xiàn)可能會大相徑庭。
例如《股市實戰(zhàn)-精準買賣點秘技大全》這本書成書于2007年底,出版于2008年5月1日。書中的股票策略(股票只有做多策略)回測勝率超過了90%。但實際上,在這樣的大牛市中,任何做多的策略都能賺錢。但該書出版后牛市就已經(jīng)結(jié)束,書中的幾十套策略自然無法應(yīng)對08年之后的漫漫熊市與震蕩。
您需要 [注冊] 或 [登陸] 后才能發(fā)表點評