策略與資金管理流程—連載(二)

策略與資金管理流程—連載(二)

策略管理、風險管理與資金配置

回憶一下我們的上一篇,在上一篇我們提到了建模與資金標準化函數

所以我們現在有兩個東西,一個是策略一個是資金標準化函數。資金標準化函數的目的是用來定義我們資金如何轉換成口數的基本關係,也就是多少資金可以轉換成多少口數。我們先把資金標準化函數放一邊。先回頭聊一下建模,也就是我們的策略。

如果說我們的策略是我們所打造的武器或是我們所練的武功招式,那接下來這一篇就是我們用來描述我們該如何使用這把武器或這個招式的時機、方法與力道的控制。招式是死的,但人(行情)是活的,同樣是詠春拳、同樣是太極拳,所有的招式網路上都google得到,但卻不是人人都能變成葉問、張三豐,所有食譜網路上也都有,但卻不是人人都有食譜就能開餐館營生做食神,因為更重要的火侯的控制、時間的掌控、食材色澤的變化都沒寫在那上頭。量化交易也是一樣,網路那麼發達,什麼招式你學不到,所有的技術分析指標上千上萬種,就連去上課老師也會送你一堆策略,然後你會發現你燒出來的菜有時候可以吃,有時候就是好像淡了一點還是鹹了一點,學到的詠春走在路上打打屁孩還可以,一遇到流氓還是被巴的像豬頭。不是那些招式(策略)沒有用,而是因為我們鮮少去了解到底該怎麼用(管理)會更好。

武器不是拿在手上看到人射了就好了嗎?當然不是,你拿的槍是什麼槍,它的射程限制是什麼? 它的優勢是什麼? 目前的風向是什麼? 風的強度有多少? 視野範圍(霧、風沙)的能見度等等各種統計與即時數據的差異都可能影響到你當下的射擊結果,而我們要把這個武器用得精熟用得順手自然就得理解這些數據並且思考怎麼去改善我們的操作

所以很顯然我們必須要有一個地方可以讓我們來撰寫或描述上面所講的這些東西(火侯的控制、時機的掌控、力道的大小等等)。在上一篇裡我們已經定義了資金標準化函數,講的是資金與口數間的轉換關係,但相信大家都有注意到文裡有標註了一個括號(最大、滿艙),也就是在第一篇我們的策略與函數裡只定義了上限值,而如果要做到這一篇我們上面所講的目的(根據各種統計數據分析來控制火侯、力道)我們尚需要再定義一個"權重"用途的描述函數就可以對我們使用資金標準化函數所算出來的上限數值基礎上進行伸縮(控制火侯、力道)。

接下來這個做為"權重"用途的描述函數,相信大家多多少少都已經聽過很多次了,也就是我們平常討論了不下百次的評價函數。評價函數(目標函數)這個名字其實有點容易讓人誤解或不夠精準,因為評價兩個字比較容易讓我們先入為主以為它只有績效評鑑的功能,甚至跟Ranking綁在一起,但其實這只是它的部分用途。評價函數除了績效評鑑這個基本用途之外,也可以做到風險管理(比策略裡的濾鏡更為全面)與資金配置規劃的功能。為什麼有辦法做到這些功能,原因很簡單,因為它可以直接動態控制資金水管的縮放(即使是在訊號運行中也可以動態控制)。原本我們的策略權益曲線(平注策略,永遠一口單進出)是死的,透過動態的資金水管控制,即可以對運行中的權益曲線做出動態縮短與動態拉長的效果,動態提高風報比。並且不會干擾原始策略的運行(這一點很重要),也就是所謂的股票式或投顧式操作,我們僅參考原始策略的運作而不去介入它,但可以自由地決定部位的大小,甚至與它反向操作(負期望值)。

在我們的回測報告裡有很多的分析數據都可以作為資金部位規劃或是風險管理的參考

以我們第一篇的策略為例

像是PF值/MDD/sortino ratio/DD分布 等都是很不錯的策略管理資訊,但很可惜我們大部分都只是看看而已,就把策略上線了,而沒有透過這些有用的資訊去做更進一步的策略管理。所謂的策略管理並不是設個策略停止線把策略做下架(就像在策略裡加個莫名其妙的停損一樣廉價)就叫做策略管理。策略管理應該是去分析這隻策略的特性,並且讓它更好(提高風報比)。

例如上面 sotino ratio就是很不錯的performance指標,代表這隻策略的品質(0.88),品質越好,我們就給予比較高的資金權重,所以我們的評價函數就可以這樣寫

EVA=0.88  (註: 如果是這樣的靜態寫法,務必設定一個單期時間定期update,寫成動態計算的會更好)

代表我們將分配給這隻策略原本滿艙單位口數的 0.88倍口數

這是最基本的績效評鑑功能,當你策略很多的話,可以透過這樣的設定給予不同策略不同的可用資金

評價函數並非僅止於此,我們還可以幫它加入風險管理的功能

舉例來說,例如你現在已經有超過兩口的資金,你會怎麼做?

便宜行事的話當然是直接就把這個策略永遠下兩口。但如果我們想要讓你這多出的一口或兩口有達到風險管理的效果我們應該怎麼做?

一樣,我們可以參考過去的數據,像是我們可能會發現DD有一定的循環特性(指數類商品較為明顯)

所以我們就可以進行評價函數的擴充應用,將評價函數這樣擴充撰寫

filter=filter[1];

if 創高and marketposition<>marketposition[1] then filter=0;

If DD<-2500000 then filter=1;

EVA=0.44+filter*0.44

(註:上面是PowerLanguage的單根K棒式的執行寫法,如果是序列式語言不是這樣寫。大意是: 當DD發生到達-2500000時,擴大資金,在創高且交易結束後reset)

也就是根據循環特性進行策略 drawdown 風險的管理,讓第二口單在DD真實發生後才進場

已發生的風險不是風險,是優勢。

已發生的風險不是風險,是優勢。

已發生的風險不是風險,是優勢。

風報比較高的進場點或加碼點,我們很難在策略中撰寫(因為我們會需要用到原始策略的統計資訊,如果你寫在策略裡會改變它的機率分布,所以只能在管理層處理)

(註:要做這種循環部署也就是均值回歸特性,要確認動能方向,所以建議上面的0.88還是要撰寫成動態計算的)

如此撰寫我們就能夠根據不同的風險發生後給予不同的資金部位分配(條件機率)

為什麼會有一句話叫做本多終勝,因為當你能配置的口數超過1,透過部位部署或部位管理,我們可以把原本的那一道菜煮得更好,把風險轉為優勢,提高風報比。策略是死的,但你是活的,你可以這把劍耍得更好,這就是管理

透過評價函數你還可以實現很多種你曾經聽過但沒拿來用的作法,像是股票或基金我們常聽到的一些方法,像是定期定額法,或是你覺得符合你個性的各種創新資金配置演算法

其他的像是策略裡我們原本慣用的濾鏡,都可以像上面的例子移轉到評價函數裡,依據濾鏡的抗噪原理或風險機率分布配置部位,而不再是策略裡死板的二分法或是只能控制進場點當下的數值(MC的限制),把我們原本濾鏡的原理改到評價函數裡實作,可以更動態且更細緻的控制部位的大小,且不受限於MC死板的進出場點,所有位置都可以即時介入。

把時間花在了解部位部署/風險管理(風險機率分布)/資金配置管理,會比我們弄一堆無止盡最佳化出來的單口策略做疊加更能了解市場的運作模式,一堆單口策略疊加起來的雖然看起來有口數比例變化,但我不是很能認同那個叫做部位管理XD

所以..不要再以為評價函數=Ranking或只有Ranking……戰略部署才是評價函數的重頭戲

(註: To 評價大師與量化思維戰略交易平台的同學,資金標準化函數內預設的是2000萬跟5%,我們可以透過”帳戶金額”跟”動能轉換率”(原Xeus部位縮放欄位)兩個欄位的設定來進行部位重新縮放的動作,來計算出你真實符合風險的比例下單)

未完,待續~

粉絲專頁

進化特區