1390  

很多年前某前輩使用程式交易的心得,到現在我仍然覺得是篇很有用的文章,  如何評估回測績效績效? 如合量身訂做投資組合?...... 以下分析探討

轉貼自網路

程式交易最大的疑問,都在於大家都知道的「過去的完美績效並不等於未來的績效」。在真正下場交易前,看到過去的「最佳化」績效表現,都會油然升起無比的信心與勇氣,總想不透為何別人寫不出續效這麼好的程式? 面對未知的風險,卻滿心期待過去的獲利結果會100%反射到未來的交易,這通常也是魔鬼錯誤的開始。90%的機率天總不從人願,實際交易三個月後,發現真正的結果可能連歷史績效的50%都不到,更甚而產生連續性的虧損。看著實際的交易單,對照過去的歷史績效,摸著冒冷汗的腦袋,問題到底在哪裡?

有了這一個未知的風險,過去戰績輝煌的報表瞬間形同一堆廢紙;經過了幾次失敗的策略,當你看到別人端出一些美麗的歷史回測曲線,接下來,你不是「一笑置之」,就是「嗤之以鼻」…三年台指淨利798萬的績效曲線,你還會相信嗎? 你應該不會懷疑是你自己的程式邏輯太差才是。

很多的程式交易專家到了後來,對未知的期貨市場都會下一個結論 ─「市場走勢是可以被分析(analyze),但不能被預測(anticipate)」的。也就是說,你應該沒有辦法用任何型式的模型或演算來預測市場未來的走勢。如果是這樣,那怎麼辦? 那不是不用玩了嗎? 但貪婪的人們總會想出一些「可能的方法」來做未來走勢的假設,針對過去的走勢,再加上歷史的統計資料,用統計機率的方法論演譯在「某種情況下」,未來市場機率比較高的可能走法,但也仍然是根據於歷史的資料。但文章開頭就說「過去的績效不等於未來的績效」,就算經過百般複雜的統計檢定「可能性」,那也只是機率的問題,的確是不能代表未來的獲利能力的。所以很多的專業期刊,發表到後來都是高等統計的方法論,什麼樣的統計方法才能有「顯著的有效性」,我可以說,程式交易的專業級玩家,在統計上的層次應該都不會太低,由其面對這麼複雜且資料量龐大的市場,迴歸、斜率、蒙地卡羅模擬、類神經檢定等,真不是一般業餘玩家能夠輕易上手。

降低策略風險的方式實在很多,得一步一步實測、一點一點慢慢體會,終究會有那個「感覺」。就好像那些天才交易者所謂的「盤感」,看到了跑出來的績效結果,在經驗的累積下,馬上就可以感覺到這個策略的可行性及真實性。若不先討論這些不切實際的東西,在策略下場前,幾個步驟一定要做:

 一個一個交易訊號比對

這個主要是在避免可能在策略邏輯思考上的缺陷,產生策略訊號與自己本身原始策略構想落差的情況。最常見到的是「訊號在當根週期的重複交易」問題。也就是有些系統的交易訊號在實際上線時會「忽明忽滅」。但在績效回測時,奇狐的計算總是以「收盤價」來做計算,便產生了相當大的績效誤差。通常解決的方式有二個;

a. 使用前一根已經收盤的價格來做計算

b. 使用當根的「最高點」或「最低點」來做程式構思。因像是突破是交易,一旦最高點突破產生訊號,就算收盤價回落,但最高點已經產生,此價格就不會消失,訊號也不會「忽明忽滅」

一定要經過幾個檢定步驟:

1. Curve Fitting(過多的參數,太短的回測時間長度)

2.這個系統運用在多市場的績效檢定(如果你是做台指期的,測試日經,香港恆生,新加坡 摩台指看看)

3.這個系統運用在 multi time frame的測試(比如說你的系統是15分鐘線的,那麼測試看看13分鐘,14分鐘,16分鐘,17分鐘看看)

4.太少的交易筆數

5.參數孤島/參數高原分析(交易系統的穩健度分析)

6. In sample, out-of-sample測試(比如說十年的歷史資料,只拿前八年跑最佳化,用最後兩年資料來驗證)

7.Walk Forward Analysis(移動窗格檢定)

8.統計的顯著性檢定 (Z-score, SQN)

MDD (maximum Drawdown) 出現的機率

說實在,這個有點難。在最佳化的策略程式後,面對未來的不確定或非常態分佈,MDD被突破是輕而易舉可見的情況。因為市場如不屬於常態分佈,那多數型態的統計模式(皆根據於常態分佈假設)失效是可以預測且理解的。如何解決這個問題,我想了很久,最後我使用了一個最原始「土法煉鋼」的方法 ─ 「使用資金管控 + 多策略的組合形成一個大策略」,便能有效的降低MDD產生的機率及幅度。 怎麼說呢?

a. 如果只使用單一策略,MDD很容易發生。一個策略有一個MDD,四個策略有四個MDD。每個策略的MDD發生的時間點不同,且產生的幅度也不同。若把四個策略組合成一個策略,在四個策略相互補償的情況下,那同一時間點平均每個策略的MDD的平均風險就會下降。我想這個道理不難理解。

b. 資金控管上,之前我習慣使用一個策略下一口大台,現在我把一口大台轉成四口小台。也就是說,當四個策略變成一個大策略後,以前滿倉是一口大台,現在滿倉是四口小台,當然也會有0, 1, 2, 3口數,看四個策略的多、空互補狀況。如不算交易稅及手續費,總資金的需求是相同的,但風險卻大大的降低。不但獲利的曲線更平滑,且超出單口突破MDD的情況也大幅降低。

c. 四個策略當然也有一些條件要考量 I) MDD出現的時間點要錯開 II) 在同一大策略內的四個小策略,相關係數要夠低,最好能夠低於40%,

多市場多策略

這是各個專業程式交易玩家一直鼓吹的觀念。但若能加上外匯、國外商品期貨等,程式交易不但能夠24小時不打洋,而能夠大大降低單一市場的風險。當然,資訊源的取得以及進入門檻就高一些。

但如果只做台指期,那「單市場多策略」的必要性是100%,且策略的相關係數要夠低(至少50%的策略和另一半的相關係數<40%~50%),才足以稍稍的分散風險。

在台指市場上,我用了10個策略來應付它,還再不斷增加中,說真的,效果是可以被接受的。

arrow
arrow
    全站熱搜

    元大期貨楊宗儒 發表在 痞客邦 留言(0) 人氣()