2009年9月15日 星期二

HTS「戰略合成」的初步理解


程式交易小學堂─期貨投機事業的王道
HTS裡的「戰略合成」這個東西,本來我一直覺得是個黑盒子,隨便的把幾個做好的買賣訊號丟給它,就幫你生出一個新的買賣訊號出來,完全不曉得它是怎麼生的?

最近,我自己做了幾次實驗,我想我大約知道戰略合成是怎麼搞「合成」了。

假設你自己有兩個買賣訊號:A訊號、B訊號。過去日盛對外教學最多的應該就是一個交易策略去跟一個停損的合成。總之,其實戰略合成就是按照你要合成的買賣訊號的"依序"跑一遍。而其中所有的數值,包含在買賣訊號中所使用的變數或是MarketPosition、BarsSinceEntry等等這些的依序產生後果做最後的輸出,如此而已。

看看以下兩個相同的買賣訊號只是合成時置放的順序不同,就會得到不一樣的結果。






其實,我們可以把兩個買賣訊號的程式碼,除了宣告參數、變數的區域必須放在最開始處之外,只要把程式碼Copy放在統一個買賣訊號內其實就可以得到一樣的結果了。簡單說,當你使用戰略合成把A+B合成為一個策略的效果跟把A程式碼+B程式碼來得到一個新的C程式碼,會是一樣的效果。而也就是說戰略合成B訊號+A訊號,與複製B程式碼+A程式碼得到所新的D訊號的效果是一樣的。

就像這樣:


以及這樣:



戰略合成就像是在幹上面這兩張圖這樣的事情。也因為如此,我已經把我之前那個合成而來的程式真的"合成"在一個買賣訊號裡,而不需要用「戰略合成」了,畢竟這樣的方式還是我比較熟悉而容易控制的。

至於是不是所有被用來戰略合成的訊號經過順序調動,就會得到不一樣的結果?我的實驗結果是:不一定。反正不使用戰略合成,自己把程式碼Copy and Paste到一個新的買賣訊號裡,做前後調動就知道影響是什麼了,效果是一樣的。但是有一點是永遠重要的,你得知道這樣新組成的程式在做什麼,自己還是得對其中的邏輯有所掌握。

熱門文章