今天看到阿政的網站也在推廣策略經理人軟體,看來認為這軟體值得推薦的人不少。原來程式交易也可以非常專業,這是我使用完的心得!!
上星期太忙了,所以延到這週才有時間轉貼策略經理人雙周報,我覺得文章都寫得很好,在此經過作者同意,分享給各位。

http://www.yctseng.net/

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

策略經理人雙周報(十) Position Sizing-部位規模

此篇幅將探討的主題:

(1) 動態調整部位的意義。

(2) 權益連結再投資。

(3) 口數單位衡量的方法。

(4) 依風險調整部位。

先前有讀者來信問到,前幾期雙周報中使用Sharpe Ratio做主要的績效衡量,這跟大多數程式交易者有很大的差異,其實Sharpe Ratio的設計原理是為了公平衡量操作績效,也已經很廣泛被使用在各種基金及資產上,使用此績效指標的目的在第二回雙周報也有提到,Sharpe Ratio可以比較不同規模、槓桿以及周期的策略績效,如果今天一策略Sharpe Ratio較另一策略高、但總獲利金額較低,那只要增加槓桿即可打敗另一策略 (就像是上回雙周報沿著直線往右上角推)。

而之前的文章無論是在分析或示範都是在固定口數的狀況下,而實際在操作時會遇到一些問題就是-權益是浮動的,有賺有賠,因此口數如果固定的話可能會造成槓桿不一致,或是績效扭曲的狀況;另外真實世界在操作時,投資者往往在乎的是資金而非口數,例如今天您一次投入一千萬資金,您要怎麼樣把這筆資金投入市場呢,因此有一個工具可迅速將一千萬資金計算後轉換成口數就顯現其重要性了,如此您的操作就像是一檔避險基金,當有一筆資金進來時就不必擔心煩惱交易的規模要擴張成多大,代入工具試算即可得到合理的答案。

 

  • 動態調整部位的意義

Position Sizing(以下皆簡稱PS)這段時間討論的很熱烈,相信許多人至今尚有不少疑惑,特在此說明,它是個中立工具,而非影響策略期望值或穩定度的因素,筆者手邊有32個策略績效,經過此工具都用相同參數做調整後,Sharpe Ratio跟MAR有17個變差15個變好,比例大致上一半一半,當然透過參數的重新調整(也就是最佳化),可以調到大部分績效都提升的結果,所以如果您用PS使得績效有提升,可能剛好歷史盤勢合胃口,未來會不會跳到另一半也很難說。既然是這種中性的工具那為什麼還要採用呢?使用PS的目的當然不是為了提升績效,因為大多數人在市場投資時看到資金權益會比口數單位更具體,PS的發明是為了依照權益轉換成合理的口數單位,以這個目的而言是相當有用的工具。

 

期貨在部位控管上比較複雜,筆者先以股票當例子,假設台積電的股票現在價值一股100元(一張10萬),假設您手頭上有500萬元,而您想要將持股比例設定在50%附近,經過計算您可以買進 500萬*50%/10萬=25張 台積電總共250萬,而如果又有一筆資金500萬進來,那就重新計算1000萬*50%/10萬=50張 共500萬(另有現金500萬),而如果今天台積電漲到120元,則您手上的資產規模將會是500萬*120/100(持股部位)+500萬(現金部位)=1100萬,此時再重新計算,1100萬*50%/12萬≒45張(無條件捨去),因此您將賣掉5張台積電,如果您手上的資金愈大,每次重新計算皆能愈接近目標的持股比例。

這就像是豬肉秤重的過程,秤重後決定要買多少肉,同樣的道理套用到期貨交易上,然而差別在於期貨商品是契約而不是實質資產,槓桿是可以自由設定的,假設股票的重量是股票的價格,股票價格愈高代表重量愈重,那期貨策略的重量要如何有個標準?答案在於波動與槓桿-波動愈高愈重,槓桿愈小愈重;風險大的時候用的槓桿就小。


順帶一提PS最大的好處,試想如果有兩種商品,各有不同波動(例如公債期貨是股票期貨),或是同一個商品,在不同時段有不同波動(例如台指期2011與2012的波動不同,2011遠大於2012),如果是這樣的情境下,回測時要合理判斷口數,波動較小的勢必給予較多口數-避免績效被波動大的商品或是大波動的交易時段影響過多,如此整體回測上每一筆所冒的風險將會較為平均,回測也較可信,這也是PS當作資金轉換工具的好處。

 

 

如上圖,PS工具中會將此設定的總權益(40萬)轉換成口數。

 

  • 權益連結再投資

既然PS是個資金轉換口數單位的工具,我們只要給予權益總值即可以依據市場與策略現況算出合理口數,如果每次交易的損益都累加回去本身的權益,權益將隨著每次勝敗變動,如果交易一直有獲利,權益就會不斷增加,計算時口數也理當跟著放大;如果交易持續有虧損將會造成權益降低,口數單位也該降低,如此槓桿就會保持一致。

 

這個問題將會變得較複雜,如果權益連結後回測將與目前現況不同,因此筆者建議一定要先去掉再投資的狀況,確定PS模型是合理的模型,再進行再投資。筆者舉例以下兩種情境﹕

 

(1) 權益固定﹕使用者回測前輸入總權益金額,則每次交易時都用此輸入的固定金額做計算;如果想要將目前的權益狀況做回測,建議關閉再投資的選項,這模擬的目的-回測過去的每個交易點都以目前的權益狀況做基準,此PS模型是否會帶來改善的空間;譬如我有100萬,而我想要回測過去每個點都用100萬投資的結果,單然這中間的過程每次進出都是用100萬去做資金轉換口數並重新回測。

下圖依各績效指標,PS模型動態調整後比起未調整的固定口數,績效有所提升。


 

下圖可以看到依照相對績效指標,PS模型調整後績效非但不增加,反而降低了,顯示PS不見得能對績效有實質的提升。


 

 

(2) 權益連結(再投資)﹕若採用此方法,使用者在回測前設定的總權益即期出總權益,在策略的回測過程中每次交易的損益都加回總權益(總權益將隨著策略賺賠有所漲跌),每次交易都用當下的總權益重新計算口數,在獲利時將會有複利效果,這會將問題變得較複雜,較難由此看出設定的PS模型是否能改善策略的績效,而且大部分的交易策略,一定是回測時先有賺才會繼續下一步測試再投資,回測時的獲利如果使用再投資也理當能繼續往上錢滾錢,這很合理。而過去不見得代表未來,因此使用此方式回測時應該把焦點放在「槓桿」上而非一飛衝天的績效,採用過大的槓桿更容易造成權益波動過大,當權益波動過大時也容易造成口數不穩定,口數不穩定的狀況下損益一定更不穩定,如此惡性循環下,非但不能造成權益往上攀升,反而會提早畢業,這就是再投資回測的目的。

 

失敗的槓桿控制如下圖,損益曲線波動將會愈來愈大,到最後撐不住了破產。


 

成功的槓桿控制會如下圖,權益不停攀升,口數持續放大。


 

然而實際下單時,如果像以上丟出幾百幾千口單,一定會對市場(例如台指)造成巨大的影響(價格破壞、巨大滑價…等),而此功能的目的僅在回測槓桿的使用是否過度,適當的槓桿才不會提早破產甚至穩定績效,實際使用時可以等到口數滾上去後再去尋找各種分散口數的解法。

 

  • 口數單位衡量的方法

如果使用策略經理人的部位規模功能,可以在下拉式選單中看到這些項目,筆者將在本篇幅一一介紹


(1) 市場ATR口數 = W%×可使用資金市場價格ATR×每跳動一單位金額

可使用資金﹕當此策略下注的時間點,手上握有的總資金。

W%﹕每次下注願意嘗試的資金比例,譬如可使用資金100萬,則W=10%為10萬,W愈大則嘗試的資金比例愈高。

市場價格ATR﹕由標的物的價格算出ATR,代表市場的風險。

每跳動一單位金額﹕例如大台200元,小台50元。

此公式中W愈大則口數愈大,(提高投入的部位-槓桿愈大),而市場風險大(ATR較高)的時候則口數較小-槓桿較小。

 

(2) 市場標準差: 口數 = W%×可使用資金市場價格標準差×每跳動一單位金額

市場價格標準差﹕由標的物的價格算出STD,代表市場的風險。

與上式雷同,但ATR的計算方式改成用標準差。

 

(3) 策略VaR95: 口數 = W%×可使用資金策略損益金額95% VaR

策略損益金額VaR95﹕信賴水準95%的策略損益VaR,代表策略的風險

 

(4) 策略VaR99: 口數 = W%×可使用資金策略損益金額95% VaR

策略損益金額VaR99﹕信賴水準95%的策略損益VaR,代表策略的風險

(3)(4)式與(1)(2)式不同的地方在於此方法的風險測量採用策略本身的VaR而非市場風險,原因在於許多策略的風險並非來自於市場,而是過度交易(短沖或較頻繁的反手操作),譬如市場波動小時也有些策略績效大起大落(反手的原因),因此採用策略的VaR較適合此狀況。



(5) 槓桿%: 口數 = 槓桿%×可使用資金市價×每跳動一單位金額

利用此方法的目的在於無時無刻槓桿保持定值,因此若將槓桿%設的較高時則交易時計算出的槓桿也較高。



(6) 每單位資金: 口數 = 可使用資金一單位準備資金

此方法最容易理解,每一次交易時每一口都用計算好的固定金額,有多少資金就做多少口,雙周報第四回也有採用此方式當範例。



以上的ATR、STD皆是以日K為取樣標準,筆者曾看過一些人採用30Min的ATR去做風險計算,但風險的計算有個通則-樣本愈小、愈短,則愈敏感。很容易忽大忽小而且數字差異過大(尤其遇到大跳空後),這有可能造成每筆交易口數也是忽然變得超大、卻又突然變超小,當下單口數變動過大,這完全沒辦法達到控制槓桿的目的,因此筆者採用的是逐日的ATR而非日內ATR。

介紹完口數計算方法,都是利用簡單的除法去計算口數,然而口數最終必須是整數,當口數計算的結果是小數的話,只能用進入或捨去的方法,因此我們可以知道當可使用資金愈大時,計算的口數會愈逼近合理的值(就像買股票時,當金額愈大則買零股的比例愈少);在這裡強烈建議讀者深入了解公式中參數間的關係,才能了解怎麼樣利用這些方法將槓桿調整到合理的水位,這才是PS的精髓所在。


 

另外當口數計結果算是小數的狀況,策略經理人提供三種整數化的方法,四捨五入、無條件進入以及無條件捨去法,當您投入的資金夠大時整數化的問題影響較小,但較特殊的狀況在於資金較小,不同整數化方法的結果將會較為敏感,尤其在計算後口數不足1時,採用無條件捨去法則即使有訊號也將不會持有任何部位,但若使用無條件進入法則將在每次交易至少持有一口的部位。



  • 依風險調整部位

PS模組最主要控制的是交易的口數,而非方向,因此多空方向還是由策略原先的訊號決定,此模組負責重新計算轉換出口數並重新回測,計算口數的頻率是逐日,計算後會依造該日的狀況重新建議口數,但是策略是否依造建議成為了新的課題-如果太頻繁地跟著調整將會提高交易成本,若調整次數太少卻又顯得遲鈍

當策略訊號發生後,採用PS計算出交易口數並進場,但有時候一筆交易持倉時間相當久,中間的市場或是策略風險也會有所變化,這時候使用者可以選擇是否要重新調整,策略經理人提供四種調整時機
點-僅進場時調整、依風險放大部位、依風險縮小部位、依風險縮放部位。



 

(1) 僅進場時做調整﹕當進場時計算口數,則進場就是固定在此部位規模不做變化,直到下次進場點才重新計算,此方法的交易成本最低但調整的時機點最少。如下圖,右手邊的柱狀圖中代表在這一筆訊號共存在六天的時間,棒子雙雙成對成六對,左側的棒子是策略在場中的實際倉位,右側綠色的棒子則是隨著時間重新計算的建議口數。範例中在2012-06-22風險建議規模增加,這代表的意思是可能在當時風險降低(如果開啟再投資則亦有可能是策略前一日有賺錢並因此資金上升),重新計算後可以提高部位,但此方法進場後就不在調整了,因此下圖依然保持在空一口的狀態。

 

(2) 依風險放大部位﹕進場時會調整一次口數,進場以後如果重新計算風險並建議口數放大的話,則跟著調整部位,但如果重新計算後建議口數縮小,則不調整,此方法較(1)的交易成本高(進出次數增加),但調整的時機點變得更多。如下圖的柱狀圖在2012-06-22時建議增加部位,因此策略的倉位也跟著放大到空2口(多塞入一口空單加入回測),但2012-06-25時建議縮回一口,則此方法不會跟著縮小部位。

 

(3) 依風險縮小部位﹕進場時會調整一次口數,進場以後如果遇到建議口數縮小的狀況,則跟著調整部位,但如果重新計算後建議口數放大,則無視,此方法較(1)的交易成本高(進出次數增加),但調整的時機點也更靈活一點。如下圖的柱狀圖在2011-01-17時建議縮小部位,因此策略的倉位也從空3降到空2口(回測時這邊將出場一口空單),但隔天時建議調回3口,則此方法不會跟著放大部位。

 

(4) 依風險縮放部位﹕進場時會調整一次口數,進場以後如果遇到建議口數有所變動,跟著一同放大縮小,此方法的交易成本最高(進出次數增加),但調整的時機點也最靈活。如下圖的柱狀圖在策略的進場後口數完全依據建議做調整,只要建議口數一有變化就跟著動態調整至一致了。



結論

PS如果當作轉換工具是可以相當實用的,採用此工具後投資人可以將焦點放在權益金額而非口數,但要做為績效提升的方法並不顯著(非適用所有策略),下一回的雙周報會做PS示範說明,幫助讀者了解動態調整口數根槓桿的關係,以及其對績效的影響。

 

創作者介紹

程式交易≠Holy Grail

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