前言
很多開發者在做策略開發時,會將多空策略一起寫在同一個code,所以同時只會有一個方向的單,這對開發者來說是「整合」,但卻發現做出來的策略不容易除錯或是會over – fitting,那究竟策略該如何做呢?
策略組合
這是一支做多策略:

這是一支做空策略 :

可以看到上述兩隻策略他們取樣時間段是相同的,並且策略操作時區大小也是相同的,但績效以目視來說,不太好。
那現在我們將他們兩隻多空策略合起來,會如何呢?
合起來之後的策略長這樣:

咦,看起來好像不錯。
那究竟爲什麼會這樣呢 ?
策略組合介紹
在去年( 2022 ) 的crypto hedge fund report 中,可以看到multi – strategy 是一個對衝基金公司會用的方式,也是我們MFT / LFT 開發者會用的方式。
「Multi – Strategy」是將不同性質的策略分散去投資,例如:
原本策略只有一隻,我的資金100% 都在這個策略中,但整體系統風險都在這一支上面;
但現在我開發了10 只策略,每隻我就可以只投入總資金10%,而風險被分散到10 只上,並且策略之間盈虧幅度與「時機」也不一定相同,代表在某隻策略虧損時,別隻策略有機會盈利去對衝虧損策略的風險。
這個方式在防止over – fitting 中也有異曲同工之妙: Simple divergence ( 簡單的東西分散用) is better than combine ( 好過將他們組合在一起用)。
你是開發者,該如何做 ?
將策略的邏輯不要太多整合在一起作爲條件( 條件不用到太嚴謹,因爲這樣會產生over – fitting 機率很大)。
將多空策略分開寫,不要一開始就把做多做空的邏輯一起寫完,多與空之間應該是分開的,畢竟我做多平倉不等於要做空的訊號。
多策略但是相關性低,並且要做回測就是全部策略一起跑( 不過這邊注意資金要用分散過後的下去測)。
補充
long / short strategy ( 多空策略) 也是一種多策略分散,因爲多跟空有可能同時開單,或是像在pair trading 當中,就是同時開着;這種情況會有一方是賺的一方是虧的,但pair trading 要賺的就是兩個pair 之間漲跌幅度的變化( 收斂或發散),所以多策略還有一個好處: 兩隻策略就有機會產生新的alpha (超額收益),來自於兩策略之間的相關性低。

上圖可以看到通常對衝基金都是使用long / short strategy 作爲主要盈利項目,並且以long 爲主,也就是多/ 空方向會單獨拿來當一隻策略。
總結
在開發策略時,以多策略、低相關性、分散寫、分散執行( 要一起跑)、多空分離,作爲主軸,在第一步就可以防止後續over – fitting 的機會,也可以將各個策略的邏輯更加清晰與簡單,方便除錯,也可以加強策略的穩健性與風險分散。