看完這一篇學到的東西還真不少,我加入本期的"量化交易日報",希望有更多人也能學習多策略的分析。
=======================
策略經理人雙周報(七) 多策略分析實例
此篇幅將探討的主題:
(1) 分析多策略績效採取的角度。
(2) 挑選策略組合的準則。
(3) 績效分析-單一策略加減碼vs多策略。
這一篇的內容最好搭配雙周報(六),才比較容易有連貫性,最後筆者會直接拿幾個策略使用策略經理人做示範。
-
分析多策略績效採取的角度
曾經在一個論壇看到討論串,某一位資深交易人拿了十個策略,組合再一起說明多策略的優點,但卻有一位版友評論說,相關係數沒有意義以及獲利因子(PF)沒有改變,而且績效都是集中在某幾隻策略。
在這邊必須要闡明的是,多策略必須在乎的是過程的分析-如何降低權益的波動,穩定資產才能夠更有效率運用資金,如果單純用獲利因子,第一點它是以逐筆的角度去看而非逐日(交易結束才去看損益),第二點它是結果論而無法有效代表中間權益變化的過程,如果要了解過程中權益變化的程度的話,則波動度是簡單且實用的東西,也因此Sharpe Ratio是比較有優勢的績效指標;另外該交易人只放了兩年多的績效報表,而只有兩年多的歷史資料很容易造成績效集中在幾隻策略中,但只有兩年多的歷史並不代表未來,交易者根本無法知道未來哪一個策略表現會比較好,這也是要採用多策略的原因。
另外筆者還看過有討論者提到說,單一策略如果都是採用一口單的方式執行並不會穩定,所以個別組合起來也不會穩定,因此單一策略要採用加減碼優先於多策略,這並不是正確的觀念,在雙周報第五回有採用把一個加減碼策略拆開成不同策略的方法,把各個策略拆開後就是單獨的策略,其因為倉位方向不會相反的關係而有高度相關性,合併在一起後風險分散的效果也不高,在後面會比較這個方法與多策略的效果差距。
多策略我們依舊是採用逐日損益去做績效分析,如此就有一致性的比較標準,多策略的逐日損益很簡單-把每個策略乘以單位數相加即可組合出策略組合績效。得到策略組合績效後,我們就能直接用它計算出各種績效指標、MDD、VaR以及基本資金準備度,一切都跟以往一樣不需要修正了。
-
挑選策略組合的準則
使用者建立策略組合的過程中,會遇到的問題是-「哪個策略加入組合裡才會提升整體績效?」在此要先瞭解的是,您原本有一個策略組合,該策略組合有自己的績效,如果新的策略績效太差,或是相關係數太高,則加入策略組合中績效並不會提高反而會是較差的結果,有個簡單的判斷式如下:
以上的公式代表,新策略的Sharpe Ratio必須大於-它跟策略組合的相關性乘上策略組合的Sharpe Ratio;因此相關係數太高、策略組合的Sharpe Ratio已經很高或是新策略的Share Ratio不夠好,將不符合以上的條件式,而把策略加入策略組合的效果會是負面的;因此我們把不等式右邊相乘的結果當成一個門檻,只要新策略的Sharpe Ratio高過這個門檻都會有正面的效果。
筆者在第四回第五回的雙周報有出現過兩個範例策略,兩個策略都有實際的交易紀錄,績效最好的是第五回雙周報中第一次進場的基本單策略我們稱之為「諸葛亮」策略,其加碼的第二次進場訊號稱為「諸葛亮第二口」策略,而第四回雙周報出現的策略績效則較差,因此這個策略就稱作臭皮匠策略,大部分的人觀念上就是「我只要使用績效好的策略,績效不好的我就不用了」,就像是劉備只要靠諸葛亮就能當上皇帝一樣,但這會造成風險過度集中的狀況,建立策略組合是為了分散風險,並能提升相對績效。
策略經理人在編輯策略組合的畫面如下:
我們先把「諸葛亮」策略放到右邊的策略組合中,則右邊的策略組合Sharpe Ratio是1.44,而左邊要找新策略去配置時我們點選臭皮匠策略,可以看到下面的輔助列,左邊是新策略-「臭皮匠」其Sharpe Ratio只有1.14,比諸葛亮低了不少,代表損益波動較大且期望值較低,所以這樣有必要放進組合嗎?但是由於這兩邊相關性不高(0.24),我們套用以上的公式利用計算機按一下0.24*1.44=0.3456,因此只要新策略的Sharpe Ratio有高過0.3456放入策略組合都能有效果,而臭皮匠策略的Sharpe Ratio是1.14已經高過門檻0.3504,放入組合的話可以降低波動而提升新組合的Sharpe Ratio,放入後新組合如下:
新的策略組合Sharpe Ratio提高到1.57,原因就是損益波動被降低了。另外在風險損益座標圖我們可以看到:
橫軸代表風險、縱軸代表損益,則斜率愈陡峭代表Sharpe Ratio也愈高,由此圖中我們可以瞭解到策略組合的斜率線皆高於諸葛亮與臭皮匠。
在這裡提醒另一點,如果經過計算符合上述公式的條件,但搭配出來的Sharpe Ratio沒有比較好,那就需要調整配置比重即可達成,這時可以藉由調整各策略的單位數去實現,在下一回的雙周報會用效率前緣做更進階的說明。
-
績效分析-多策略vs加減碼
很多人的策略中都有加減碼機制,並且認為這樣才是交易,但實際上卻沒有考量到每筆進出是否有分散風險;大部分的人只重視總損益,而不在乎中間過程中的權益波動、再加上錯誤的資金控管造成槓桿過大,大部分用單一策略加減碼犯的錯誤不外乎就是這些,在這個章節我們建立五個對造組,揭示兩口單:
(1)諸葛亮第一口*2 = 兩口單皆壓在基礎單
(2)諸葛亮第二口*2 = 兩口單皆壓在加碼單
(3)臭皮匠*2 = 兩口單皆壓在效率較差的策略上
(4) 諸葛亮第一口 + 諸葛亮第二口 = 簡單加碼系統
(5) 諸葛亮第一口 + 臭皮匠 = 簡單多策略系統
1、2、3組皆是原本單一訊號做兩口,只是為了方便後面兩組對照之公平性。
因為範例的幾個策略在起始與結束時間有幾天的差異(回測的歷史第一筆訊號出現的不同),在分析前我們先把分析的時間區間鎖定在2002/1/1~2012/12/31 (2739個交易日),讓時間區間有共同的標準,這樣我們能公平的用相同基準去比較出每個對造組的差異。在做這些測試前我們先設定好日期區間並儲存,如此這樣的日期區間就能重複使用,未來切到不同的策略或是組合時就直接套用了,減少設定上的麻煩:
測試比較規則介紹:
標的物 |
台指期 |
準備資金 |
以系統建議為主(凱利方程式求出) |
交易成本 |
每筆交易設成雙邊1200元 |
資料區間 |
2002-1-1 ~ 2012-12-31 |
VaR設定 |
估計22日後的99%風險(樣本數100) |
年化報酬率 |
總損益/(總資金*年數) 非複利計算 |
以下是不同系統的相關係數矩陣,加碼系統中各碼訊號的相關係數頗高,原因不外乎是邏輯雷同,方向也不會衝突,差別只在於第二口的加碼單擁有比較多的空手時間:
因為所有的績效績效皆是由逐日損益計算出來,以下就列出各個對照組的逐日損益績效:
以下是各個對照組的VaR:
接下來是Sharpe/Sortino Ratio:
以上列了那麼多圖看起來很累人,在此整理個比較總覽,各項目表現最好的會以底線標記:
對照組1 |
對照組2 |
對照組3 |
對照組4 |
對照組4 |
|
|
諸葛亮_第一口*2 |
諸葛亮_第二口*2 |
臭皮匠*2 |
簡單加碼系統 |
簡單多策略系統 |
最大口數 |
2 |
2 |
2 |
2 |
2 |
累積損益 |
10,194,000 |
9,782,800 |
12,446,000 |
99,988,400 |
11,320,000 |
準備資金 |
1,079,142 |
930,982 |
2,227,961 |
952,630 |
966,509 |
每日期望損益 |
3,721.80 |
3,571.67 |
4,543.99 |
3,646.73 |
4,132.90 |
MDD |
(762,800) |
(512,400) |
(1,369,600) |
(623,200) |
(897,000) |
VaR |
(184,428) |
(146,904) |
(287,624) |
(165,666) |
(145,058) |
年化報酬率 |
86.91% |
96.68% |
51.40% |
96.47% |
108.26% |
Sharpe Ratio |
1.47 |
1.52 |
1.12 |
1.53 |
1.57 |
SortinoRatio |
2.33 |
2.46 |
1.79 |
2.46 |
2.71 |
以上的表格可以很明顯看到,對照組三雖然累積損益有高,但是因為其風險很大(由於MDD與VaR較大),所以準備資金也相對高很多,因此當設定的本金較大的狀況下影響到年化報酬率也比較低,導致Sharpe/Sortino Ratio都較差(效率較差);對照組二有最小的準備資金(因為這屬於加碼訊號通常也比較輕巧),風險也最低,若單獨使用已經是三個單一策略中效率最好的(最低風險、最大年化報酬、Sharpe/Sortino Ratio);再比較看看簡單加碼系統與多策略系統,因為加碼系統中的訊號本身相關性就很高,多策略系統會因為風險分散的關係幾乎在Sharpe Ratio、VaR、Sortino Ratio以及年化報酬率都明顯優於加碼系統,但唯獨多策略的MDD比較大,而在前幾回的雙周報中筆者有提出MDD本身是個只記錄”最大”的衡量方法、他並不代表整個過程中的不確定性,因此MDD的不可靠在此也顯露出來,更何況是會失真的MDD%。
筆者自行再整理出效率改進表
簡單加碼系統是由對照組1與對照組2組合而成,因此與個別及平均值比較其採用加碼的效率改進:
|
與對照組1比較 |
與對照組2比較 |
與(對照組1+對照組2)/2比較 |
累積損益 |
-1.91% |
2.21% |
0.00% |
準備資金 |
11.72% |
-2.33% |
1.30% |
每日期望損益 |
-2.02% |
2.10% |
0.00% |
MDD |
18.30% |
-21.62% |
0.56% |
VaR |
10.17% |
-12.77% |
0.00% |
年化報酬率 |
11.00% |
-0.22% |
1.27% |
Sharpe Ratio |
4.08% |
0.66% |
0.59% |
SortinoRatio |
5.58% |
0.00% |
0.68% |
簡單多策略系統是由對照組1與對照組2組合而成,因此與個別及平均值比較其採用多策略的效率改進百分比:
|
與對照組1比較 |
與對照組3比較 |
與(對照組1+對照組3)/2比較 |
累積損益 |
11.05% |
-9.05% |
0.00% |
準備資金 |
10.44% |
56.62% |
10.39% |
每日期望損益 |
11.05% |
-9.05% |
0.00% |
MDD |
17.59% |
34.51% |
3.97% |
VaR |
21.35% |
49.57% |
9.64% |
年化報酬率 |
24.57% |
110.62% |
14.14% |
Sharpe Ratio |
6.80% |
40.18% |
5.31% |
SortinoRatio |
16.31% |
51.40% |
7.89% |
以上兩張表可以看出因為多策略跟加減碼分別是兩種訊號的累加,所以累積損益與每日期望值改善度是0%(也代表無消耗),而且會比累積損益最高的單一策略還要差,但風險卻相對降下來;另外採用加減碼策略因為兩個先後加碼的訊號相關性很高,表現並沒有比全押在第二次加碼訊號還好上多少,除非考量部位太大可以分散進出場以減小對市場的衝擊,要不然其實很雞肋。而多策略確實在整體的效率上有明顯的提升,因此筆者在上上回雙周報列出的資金管理階層圖中把多策略排位高於加減碼。
多策略在使用上還是有其限制在,如果不是每個的策略都有正期望值,那麼到最後效果也不會多好,但是等到這個層級時,投資人可以更專注在找出許多正期望值的交易訊號,把每個訊號都弄得簡單且明確,即使其損益的波動較大也不見得需要淘汰,一來可以減少過度最佳化的狀況,二來透過計算各個訊號的相關性後,找出相關性較低的組合進而提升相對績效。