標籤:

一個交易系統的形成過程(1)

  • 專欄目錄
  • 專用名詞目錄
  • 問題回復專用帖
  • 專欄重要文章匯總

最近很多人私信來問我,到底應該怎麼設計一個交易系統,這個問題實在太大,無法一一回答,所以特地準備寫一個系列,讓大家知道一個系統到底是什麼設計出來的,系統說明書是怎麼寫出來的,如何歷史檢測,如何優化系統等。

過程我盡量寫的詳細一點,以保證大家可以看明白,因為並不是每個人一開始就是進階程度,每篇文章前面附著一個droplr連接,大家可以下載到這篇文章的PDF,以便列印留存。

可以向我報名參與測試,以分擔我的一些工作。(2名即可)

這個系統會寫以下幾個方面,整個設計、寫作時間跨度會比較長(因為我也沒有那麼多時間),最後做出的系統也可能是不能盈利的廢物,最後結果、系統說明書、數據,都會提供在知乎專欄:

  • 系統原型以及初衷
  • 核心指標
  • 系統規則
  • 基礎說明
  • 整個說明書初稿
  • 5年測試及數據公布
  • 系統規則優化、修改
  • 整個說明書二稿
  • 第二輪5年測試及數據公布
  • 第三輪5年測試及數據公布
  • 實盤測試
  • 說明書定稿及數據

系統原型以及初衷:

做交易、設計新系統,唯一的參照物是歷史數據,別無他法。

以前在復盤、實踐過程中發現,在趨勢流暢中,價格通常會往MA30均線回調,然後被支撐,最後反彈與原趨勢保持一致。

所以這個系統的原型即:單均線MA30系統,根據價格在MA30被支撐或反彈進場的趨勢交易系統。

為什麼是MA30?

答:

  • 歷史觀察中,MA30有效性較強,既不是特別敏感,也不是特別遲鈍
  • 根據「基欽周期」定理,也稱為「短期」定理,基欽周期的提出時間為1923年,基欽提出40個月為一個短周期,經過100年左右的發展,世界發展的速度已經迅猛了,所以適當減少參數,我們取整暫定為:30

按系統優化的步驟來說,對均線參數的測試是一個大頭,如果數據表明MA20比MA30更加成績好,那麼我們就應該用MA20而不是MA30,但是,基於我們是有主觀參與的手動系統,人手又少,手動測試比較麻煩,所以我們這個參數就不測試了,直接在MA30的數據上進行其他規則的優化和修改,跳過這個步驟。(不過如果我有2個助手,以後系統優化時可能會測試這個參數)

為什麼數據表明MA20比MA30更加成績好,那麼我們就應該用MA20而不是MA30?

答:

首先,我們要搞清楚系統優化和過度優化的區別。

如果使用最佳參數的系統,未來與歷史越接近,未來交易結果就越接近歷史模擬測試的結果,可惜啊,未來不可能和歷史相同,所以我們未來測試數據,會和歷史測試數據有個偏差,我們假設這個偏差距為X。

以橫軸為參數數據,縱軸為歷史測試成績,我們可以看到,用最佳參數的系統,歷史測試數據最好,而其他任何沒有優化的參數,成績都不如最佳參數Y,我們假設一個沒有被優化的參數為F。

因為未來和歷史不會相同,所以無論用最佳參數Y,還是用沒有優化的參數F,都會有一個偏差變數X,因為變數X的存在,未來成績是變好還是變差我們是不知道的一個交易系統的形成過程(1)。但肯定的是,用最優數據的測試,未來成績肯定變差。(因為無論往左還是往右,都是變差)

如果兩個紅框沒有重疊,那麼我們可以得出一個結論,用最佳參數的成績,肯定比用沒有優化的參數,未來數據成績要好,因為最優化即使變得最差,也比未優化參數變得最好要好。

但是,如果兩個紅框有了重疊,那麼問題就複雜了,因為用沒有優化的參數成績,未來成績可能會好過用最佳參數的未來成績,用圖表示的話,會像這樣:

這個時候,我們用數學中的最不利點思維考慮問題,假設F處於Y左側0.5X處,那麼它們各自有50%的概率往左偏移0.5X,也各自有50%的概率往右偏移0.5X,而F可以達到峰值(這就是最不利點)。但我們可以看到,即使F有概率可以達到峰值,Y最優化參數的平均成績,還是可以高於F未優化參數的平均成績的。

以下是我們的結論:

  • 最優化參數的系統,未來重現峰值的可能性降低
  • 不用最優化參數,未來成績變好的可能提高
  • 但是,我們還是要用最優化系統,因為從概率的角度來說,用最優化參數的系統未來成績還是要好於未優化系統

通俗易懂的解釋一下過度擬合(Over-optimized)

答:

所謂的過度擬合就是往一個交易系統中添加一些適用度很低的規則,以期抓住一些大幅盈利的交易或者避免一些大幅虧損的交易。比如,去年7月15日有一個獲利100倍的交易,你把系統規則改成:每年7月15日交易頭寸放大20倍,這樣,如果歷史檢測出來,你去年那筆交易會獲得2000倍的利潤,歷史數據成績會非常的感人淚下。

但是,這樣的規則未來重現的可能為零。

為了避免過度擬合,我們的系統規則應該保持簡單,並使其有足夠大的適用度。——利用K線進出場的系統就足夠簡單,審視一下自己的交易系統說明書,如果其中某個規則在大多數時候都用不上,那我們可能無法取得關於該規則足夠大的樣本數據,我們可能就會進入過度擬合的誤區。

所以我們在建立交易系統時,儘可能使用一些基礎性的工具,比如傳統趨勢流的波峰波谷,阻力位支撐位,因為無論市場怎麼變化,有趨勢的時候肯定有波峰波谷,沒趨勢的時候肯定有阻力位支撐位。

未完...

推薦閱讀:

TAG:交易 |