close

最新一期的策略經理人雙週報收到囉!

--------------------------------------

策略經理人雙周報(八) 策略拆解實例

此篇幅將探討的主題:

 

(1) 策略拆解。

(2) 負相關策略範例。

(3) 最佳化配置。

 

上一回的雙周報尾聲有提到,如果要建構多策略組合的話,操作者不需要打造一個在任何盤勢都適應性超強的策略(實際上也很難辦到),而是把焦點放在找出正期望值的策略訊號,再透過低相關係數去組合,因此在策略開發的過程中愈簡單愈好,把每個訊號都處理得簡單且明確。

 

 

  • 策略拆解

 

絕大多數失敗的交易者,策略都「不簡單」,往往愈複雜的策略愈容易造成實單不如回測穩定,譬如有的策略進場訊號就五六種,不同的出場訊號算下去可能就超過十種進出場訊號:又或者是過多的濾網,過量的if控制項與參數設計,而為什麼那些失敗的交易者要這麼做呢?其目的是為了解決策略適應性不夠好或是不夠穩定,因此時常修改策略-輸家之所以為輸家就是不認輸,不是該賺的盤勢就別想多偷一點,偷來的有一天終究會吐回去,若是試圖將策略達到完全適應,則更容易顧此失彼。

 

當不同的進出場訊號存在於同一個策略中,很容易造成互相消耗的狀況,就像是馬路上的十字路口大塞車,也得靠交通警察跟紅綠燈號誌,比較先進的都市建設上會有高架橋的存在,也是為了解決不同方向的車流量能彼此互不干擾,而交易也是如此,您是否有想過訊號的衝突解決流程跟規則呢?少數服從多數?猜拳丟銅板?先到先贏?最新訊號為主?以上的訊號衝突解決方式都像是交通警察,如果要保持一邊的車流量通暢,勢必得放棄另一邊的順暢而造成阻塞。

 

因此大多數的策略花了最多心思都是在做衝突協調,核心也從訊號的有效性轉移到協調不同訊號,突然到了某天績效不如預期,又重新修改協調機制,下了更多的條件與更多的參數,原因說穿了也就是怕輸;換個角度想,如果將各個訊號自行處理自己的進出場點,最後累加在一起建構成多策略系統,就像是在大都市中蓋了高架橋,會更有效率,當然各個進場訊號不穩定是難以避免的,但透過良好的配置就能更穩定,這時您可以想像資金更大就像是城市的可用空間更廣,而策略訊號愈有效就像是一條更高速的馬路或是高架橋,要規劃這樣的都市就必須用到前面所提到的相關係數-相關係數愈低才能造就整體系統的穩定。

 

另外以軟體工程的觀點去看,將策略拆解的好處在於方便管理,每一個被拆解的訊號都可以被重複利用重複組裝,當要建構新的系統時只要拿這個訊號兜上去即可;而當某單一訊號需要被修改時,開發者只要修改這個單一訊號內容就能更新到每一個有採用此策略訊號的系統,可以降低許多管理成本,IBM當年在推行服務導向架構時也是以重複使用的概念說服各大系統廠商。

 

  • 負相關策略範例

 

我們知道相關係數是個穩定的估計量很難有大幅變動,而相關係數愈低愈能促進多策略系統的穩定度,如果以上回雙周報中的公式

 

 

那假設一個策略跟另一個策略有負相關存在做的組合不就很容易達成條件式了嗎?曾經在論壇與討論空間中看到一個論點就是單一市場要找到負相關係數的訊號是不可能的,對於此觀念筆者在此稍作說明,畢竟策略開發者如果是同一人,他操作的習性、他看到的世界或許會造就他開發出來的策略差異性並不大,而大部分的程式交易者都是設法抓住市場上的大行情而捨棄掉小波動,當然不同的角度看起來會有差距,譬如你的盤整不等於我的盤整、我的趨勢不見得是你的趨勢,但是基本上不少程式都有共同放棄的盤勢或是共同想要咬住的盤勢。

但對於此筆者有更進一步的解讀是,大部分的開發者交易觀念被各開發平台的範例程式限制住,大部分的策略開發平台範例程式都是-多空對翻,多空對翻是個正確的訊號協調機制,大部分能獲利的策略也都採用多空對翻的方式,不過本回雙周報要拆解的主題就是這個已經深植大眾且根深蒂固的協調機制。

 

一般交易策略中的多空協調機制都是多空對翻

 

If (Condition1) then buy

If (Condition2) then sell

 

其中Condition1跟Condition2會是互斥(如果不互斥的話就會變成condition2主控,因為他最後出現),因此在單一策略中多空訊號就無法並存,但如果拿一個策略拆開後的作多訊號與另一個策略拆開後的做空訊號重新組合,那多空訊號就會有機會重疊,而組合後多空重疊的部分就等於對沖,相關係數就很容易變成負的。有這樣的想法後筆者將隨意拿兩個策略多空拆解後做組合,做簡單的範例。

純做多策略

 



純做空策略

 

 

 

其中我們可以看到兩個策略都不是很穩定,尤其是純做空策略很容易暴起暴落,一般人看到這樣的損益曲線後就開始卻步了,其實蠻糟糕的,怎麼會想要使用呢?

組合一口多一口空後的相關係數:

 

 

 

果然一多一空很容易有負相關存在,重新組合後損益曲線也變得更直了點。

 

  • 最佳化配置

一多一空的組合仔細觀察會發現很多問題,像是以下風險報酬分析:

 

 

   為什麼符合判斷公式,組合出的sharpe ratio也沒比較高,這樣合理嗎?其實問題在於配置權重,一多一空口數配置是50%:50%的配置,而判斷出台股的特性大多是漲勢居多,而跌勢幅度較大且快風險較高,因此放空必須很小心;這時可以透過改變權重配置的方式達到放空較小心的目的,我們利用效率前緣功能做最佳化配置計算:

 

 

由此可以看到原本的策略組合多空權重為1:1,切點投資組合的建議的權重是72.63%:27.37%,我們取整數改成三口多一口空,三多一空也符合我們做空要比較小心的目的。

   三多一空的相關係數依舊跟一多一空相同(上回的雙周報有說過線性的變化不會影響相關係數,例如改變口數、改變資金準備度)。

   組合三口多一口空後的相關係數:

 

 

 

再重新看一次改變權重配置的三多一空組合在風險損益分析確實讓Sharpe Ratio與Sortino Ratio提高了(多方的口數雖然增加到3口,但Sharpe Ratio與Sortino Ratio依舊沒變,因此我們亦能知道線性改變不影響單一策略的Sharpe Ratio):

 

 

 

做到此乍看之下,會覺得還蠻順利,但會發現到年化報酬率82.19%比單一多方策略的96.48%還要低,細部觀察就會發現,原來是新的策略組合設定的基本資金準備也變大,計算出的槓桿沒有增加多少,因此結論是Sharpe Ratio變高是因為風險變小但是不代表槓桿就能開更大,雖然多策略的比較常用Sharpe Ratio這個績效指標,但資金準備必須另外計算,不能冒進。

 

下一回雙周報將詳細且完整地解釋效率前緣在這個系統的做法。

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 wenschair 的頭像
    wenschair

    程式交易≠Holy Grail

    wenschair 發表在 痞客邦 留言(1) 人氣()