返回列表 發帖

交易策略的構建

交易策略的構建

那些擁有豐富經驗的交易員們都知道,想要開發一個持續有效的系統是有多么困難。但是,很多市場的參與者常常憑借某一圖形就輕易地確定他們的交易規則。誠然,這種方式能夠完美地契合他們所觀察到的某一特殊現象,然而,一旦這一規則被投入較長的歷史數據中驗證時,他們就會發現這套系統其實并不有效。

還有一些交易員在開發系統時選擇性地忽視傭金和滑點。這類系統看起來非常完美,交易員也十分狂熱。但當實際操作中的摩擦成本出現時,一個理論上賺錢的系統馬上就會下降到盈虧平衡點,甚至有可能更糟。

即使是在一個合理的檢驗與開發原則之下,一個有效的系統通常也需要交易員測試幾十、幾百甚至幾千種方法。好的開發程序可以幫助交易員過濾掉大量無效的交易系統。不過,就算一個系統通過了初始的開發和檢驗,在投入實際操作前還需經過很多必要的步驟。遵循這些“開發后”原則能夠為交易員省下成千上萬美元的資金,并能有效預防心臟病的發生。

蒙特卡洛模擬

交易員常犯的錯誤之一就是基于回測的歷史凈值曲線來做出交易決策。很多人看著凈值曲線就會想,“由于歷史上的最大回撤是X美元,因此不可能遭遇比這更大的損失”。或者,他們會得出這樣的結論,“這個系統每年都能盈利,所以用它來交易相當安全”。

不幸的是,這兩個假設都有些天真。因為歷史凈值曲線只是這個交易系統可能產生的眾多路徑之一(如下圖所示)。只要重新調整某一些交易的位置,最大回撤就會變得非常糟糕,盈利的時段也很容易變成虧損。當然,從擲硬幣的角度來說,交易系統的表現也有可能變得更好。

那么問題來了,有沒有一種方法可以分析這種現象,即有沒有可能觀察到一個交易系統可能遵循的各種不同路徑?我們的回答是“YES”,這種方法就是蒙特卡洛模擬。

該方法的基礎是過去的交易結果會在未來出現,只是以某種不同的、未知的順序。因此,通過以不同的順序排列這些結果,就能生成完全不同的凈值曲線。

雖然也可能存在蒙特卡洛檢驗并不適用的場合,但對絕大多數的交易系統,該方式是合理的,并且能夠提供對系統的深入分析。你可以簡單地記錄下每一次交易的結果,然后從中隨機挑選和排序形成一條凈值曲線。顯然,計算機能夠更為快速地完成這一抽樣過程,并產生成千上萬條模擬的凈值曲線。

分析這些模擬結果,你可以得到出現過的最大回撤、可能的年化收益以及破產的風險。如果你對模擬結果有評價的標準和目標,你也能很容易地考察系統是否滿足要求。而僅觀察歷史凈值曲線是無法得到這些信息的。

孵化(Icubation)

大部分交易員在完成了一個策略的開發后,都會感到十分興奮并迫不及待想將策略投入實際的交易。這可是一個大忌,尤其是對那些菜鳥交易員。很多策略都依賴于交易軟件,這些先進的工具使得策略的構建、交易規則的修改以及多元優化問題變得異常簡便。事實上,絕大多數的軟件開發的初衷就是方便和鼓勵采用優化手段。

然而,伴隨著軟件的大量使用,一些壞習慣也在不知不覺中養成。交易員在開發過程中往往會選擇歷史凈值曲線更好的模型和參數。但是大部分情況下,看起來很出色的回測結果卻與策略在未來的表現毫不相關(有時甚至是負相關)。為什么會這樣?簡單來說,增加限制、引入濾波器以及運行更多的優化,雖然對交易策略更好地擬合歷史數據很有效,但實際上卻蘊藏著巨大的風險。

很多情況下,開發之后的持續跟蹤能提供很多線索。這一過程被稱為“孵化”(incubation)。最簡單的方式是,讓策略實時運行3-6個月,但并不真正用于實盤交易。每個月觀察一次最新的運行結果,并將其加入歷史回測凈值曲線。下圖是一個簡單的示例。其中,孵化結果被作為向前的歷史數據。在這個例子中,“孵化”結果看起來和歷史形態十分相似,這被認為是策略的開發過程較為合理的一個重要標志。

在幾個月的“孵化”后,你很可能觀察到以下兩種情況之一:系統的表現看起來和歷史回測一致;或者大不相同。一個辨別這兩類結果的訣竅是,將凈值曲線(歷史的和“孵化”的)打印在白紙上,并盡可能地放大,并將它釘在10英尺開外的墻上。如果你能清晰地分辨出哪里是歷史回測的終點,哪里又是“孵化”的起點,那這個系統就是有問題的。因為在理想狀態下,兩者的表現應該沒有很大變化。

當然,除了上述直觀的判斷,另一種確定交易系統的表現是否發生變化的檢驗方法是日收益率的直方圖。其關鍵點同樣是考察系統的表現是否在完成開發后發生了改變。

哪些原因可能引起系統表現的變化?可以確定的是,如果當前的市場行為和檢驗期的任何時段都完全不同,那么表現發生改變也是自然的。但倘若你在構建策略時使用了很多年的數據,這種變化應當不會太劇烈。因此,更有可能的是開發過程中存在錯誤。例如,策略被過度優化了。

系統相關性

另一個交易員需要關注的方面是交易系統之間的相關性。如果你只應用一個系統交易,那就沒什么可擔心的。但如果你把一個新的系統加入組合,那你不得不確保新加入者是對其他系統的一個補充。因為你肯定不希望所有的系統在同一時刻買入或賣出。

使得系統間不相關的一個辦法是在不同的市場和時段上交易。如果你對不相關的數學證明感興趣,可以對交易系統的結果進行線性回歸。最好的方法是比較兩個策略的結果,計算它們之間的相關系數。如果在-0.5和0.5之間,就表明這一對系統之間并不相關。下圖分別展示了相關系統和不相關系統可能的收益率形態。

研究系統間的相關性是相當重要的,因為交易過程中一個重要的因素就是合理的風險控制。而一旦兩個或兩個以上的系統高度相關,那么整個組合的風險等級就會劇烈地上升。不相關的系統所形成的組合能夠產生更平滑的凈值曲線,同時也是合理分散化的關鍵。

在進行了蒙特卡洛模擬,系統的孵化以及相關性的檢驗后,是時候投入一小部分資金在這個系統上了。那為什么只是一小部分?有以下幾個理由。第一,即使通過所有的檢驗步驟,系統還是有可能會失敗。第二,小額交易是檢驗事前的滑點設置是否合理的一條有效途徑。這一過程可以讓你發現滑點的假設是過高還是過低,從而可以幫助你更合理地選擇頭寸的大小。

最后,在交易過程中,因為種種原因,你很有可能發現自己其實并不中意這個系統,即便它確實能產生利潤。而一旦你對一個系統感到不適,就會傾向于不遵循系統進行交易。因此,小額交易有助于你判斷是否喜好使用某一系統。即使不喜歡,產生的后果也相對較小。

切忌操之過急

在一個系統開發完成之后,實盤資金的交易并不是緊隨其后的一個步驟。相反,謹慎對待、深入分析才是最佳選擇。從蒙特卡洛模擬到“孵化”,再到相關性分析和小額資金的測試,看似多余的步驟恰恰能避免大量的損失,甚至挽救投資者的生命。只有在完成以上這些工作后,你才會獲得一個更加穩健的策略。

參考文獻:Building a Trading Strategy: After Testingand Optimization
轉載原文: http://www.19lh.com/News_265.html
十五年期貨從業,十年量化研究,零傭金開戶,交易所保證金,享高比率返傭!期貨量化無門檻返傭,上萬歐美量化策略,100G量化文檔,最新歐美期貨雜志,無論研究或實盤,均可免費獲得!詳情聯系論壇管理員。

返回列表
意甲联赛ac米兰国米