您的位置:首頁>財經>正文

優化的神奇——組合權重的改變是如何影響投資的?

之前我們的連載中, 一直在實驗不同的選股條件, 並經過回測來分析這些條件所組成的量化策略究竟表現如何。 但對於任何一個選股策略而言, 還有一個不可或缺的步驟, 就是確定組合中每檔股票的權重, 而這個確定權重的過程, 就是我們所謂的優化, 因為在此期間我們對組合的收益和風險進行了集中的權衡, 並在此基礎上得到經過風險調整的最優業績。

最基礎的優化思路依然來源於馬科維茨的均值-方差分析方法。 它的思路非常簡單:我們用均值來代表股票的預期收益, 標準差或者方差代表股票的預期風險,

此時我們的目標變數是個股的權重。

很顯然, 不同的權重設定結果肯定會導致組合收益的結果不同, 並且權重設定與組合收益是一一對應的。 而設定相應的優化條件, 我們就可以得到給定預期收益水準下風險最小的投資組合, 或者給定預期風險水準下收益最高的投資組合。 (後文會有一些簡單的數學公式, 以矩陣形式呈現, 我們會盡可能地解釋清楚, 如果對數學過程不感興趣也沒關係, 並不會影響對全文的理解)

我們先假設一個沒有任何外在約束條件的均值-方差模型。 我們已經通過策略設定, 選出了n檔股票進入股池, 此時我們假設每檔股票的權重矩陣如下, 在這裡它相當於各檔股票權重的列表:

括弧裡是n個股票構成的股票池裡, 每一隻的權重, 與此同時我們也可以得到這個股票組合的收益組合, 也就是每檔股票的收益狀況:

括弧裡就是之前得到的n檔股票的預期收益率(由均值得到)。 我們知道投資組合的預期收益由它們的預期收益率和權重設定決定, 那麼很顯然, 此時組合的的預期收益是用組合的權重矩陣乘以個股收益的矩陣:

而我們也可以同樣得到n檔股票的方差-協方差矩陣(對角線上是個股的方差, 其他位置則是任意兩隻不同股票收益率的協方差), 它表示為:

而由此我們也可以得到整個組合的預期方差, 即風險水準

而我們優化的一個重要目標就是讓組合的風險水準降低,

或者說, 就叫最小化方差(如果我們設定了最大化的預期收益水準, 那麼兩種不同的優化方法結果是一致的), 我們的均值-方差優化就可以表示成下面這個形式, 當然這裡我們要求所有股票權重之和最終等於1:

在這裡引入拉格朗日運算元(一種求最優解的方法), 我們接下來可以得到股票權重的表達形式:

其中

並且

這個計算結果就以組合的形式得到了風險最小化水準下的每檔股票的權重, 並通過這個權重設定, 計算出最終整個投資組合的收益情況。 好了數學部分就到這裡就差不多結束了, 給跳過前面部分的少年們總結一下, 我們這裡所做的事情, 就是當我們已經選好了股票之後, 計算每檔股票在我們組合中所占的比例,

以達到我們的一些目的, 比如組合風險的最小化之類的。

那麼這樣的優化究竟如何在倍發科技投資研究系統(Betalpha BAR 1.0)中實現呢?(大家也可以通過有金有險來試試~)

在這裡我們先建立一個選股策略, 這個策略在之前的連載中使用過, 即通過托賓Q來進行股票篩選, 這裡我們要求區分流通股和非流通股, 重置成本要支付總資產(有興趣的讀者可以點選連結:神機妙測(十一):托賓究竟有多Q?), 並且所選股票的托賓Q小於1。 回測對象是最近5年的滬深300指數成分股, 換倉頻率為每月一次。

一開始我們將股票權重設定為等權重, 當然這裡我們需要保證組合的行業中性, 因此所選股票的行業配置比重與滬深300的申萬一級行業分佈一致,

避免行業因素的干擾。 所謂等權重是指被選中的任意股票在組合中所占的比例是一樣的, 比如我們最終篩選出50檔股票進入組合, 那麼每檔股票所占的比例都是2%。

回測結果來看, 策略的年化預期收益率為16.05%, 而同期滬深300指數的年化收益率為15.10%, 策略跑贏了基準指數, 但這並不意味著我們的工作結束了, 正如之前所說的那樣, 我們還需要對組合中的股票權重進行分配, 畢竟在實際操作過程中, 沒有人會直接採取等權重的方式進行組合設定。

我們可以在BAR中的風險分析部分看到, 上述選股策略的總風險水準為41.79%(即組合預期年化收益率的波動率), 我們同時可以看到不同因數對總風險的貢獻情況, 我們實際上可以通過調整對不同因數的風險偏重程度,來調整股票的權重,但是在這裡我們暫時只考慮讓總風險水準降到最低。

基於前述公式的分析過程,我們可以在BAR中輕鬆對組合進行優化,並得到風險最小化水準下的組合設置情況。

從優化結果來看,我們的總風險水準從41.79%下降到39.03%,我們也可以看到個股權重的具體調整情況。

而在策略回測中直接使用最小化風險的權重設置,我們也能看到,投資組合的預期收益水準也上升到19.66% ,這表明我們的風險模型和對股票的優化是有效的。

另一方面,由於我們的組合是以滬深300為業績基準的,因此我們會更看重組合的相對收益情況,也更關心股票組合對業績基準的暴露程度。因此我們會對收益的波動率有更精確的要求,這就出現了跟蹤誤差(tracking error,TE)的概念,它表示為投資組合收益相對於基準收益的超額收益的方差(或者標準差),用公式表示為:

而上述公式也可以用之前所設定的矩陣進行表示,而從公式中我們可以看出,組合設定的權重和業績基準中個股權重的差異,會最終決定跟蹤誤差的大小。我們可以對跟蹤誤差設定不同的值,並基於不同的設定結果來反推出組合的權重設定。而在BAR中,我們也可以通過相對風險的優化來計算組合的權重。

最初的等權重情況下,我們發現組合相對於滬深300指數的跟蹤誤差(即此時的總風險水準)為12.22%。

我們此時以跟蹤誤差最小(即相對條件下總風險水準最低)為目標,對權重進行重新調整,發現優化之後我們的跟蹤誤差降低到了3.4%。

基於跟蹤誤差最小的目標進行權重設定,策略回測的結果顯示預期年化收益率為16.52%,儘管低於組合總體風險最小化時的年化收益情況,但是仍然較等權重情況下有了提高,這同樣也證明了我們優化結果的有效。此外,基於之前我們在回測中得到的組合,我們還可以通過不同的預期收益設定,或者使用多因數打分模型(即對不同的因數的權重進行先驗設定)來規定不同的跟蹤誤差水準,進而基於不同的目標對組合進行重新組合,這對我們的投資有什麼樣的影響呢?在之後的推送中我們會再來聊聊這個話題。

本文使用的BAR代碼:

(Circulated_Share*Close_Price(-1D)+(Total_Share-Circulated_Share)*(Total_Asset_Y/Total_Share))/Total_Asset_Y<1

風險管理工具 / 量化投資知識 / 金融大講堂——"有金有險"

(歡迎金融機構從業的朋友申請BAR系統的試用)

我們實際上可以通過調整對不同因數的風險偏重程度,來調整股票的權重,但是在這裡我們暫時只考慮讓總風險水準降到最低。

基於前述公式的分析過程,我們可以在BAR中輕鬆對組合進行優化,並得到風險最小化水準下的組合設置情況。

從優化結果來看,我們的總風險水準從41.79%下降到39.03%,我們也可以看到個股權重的具體調整情況。

而在策略回測中直接使用最小化風險的權重設置,我們也能看到,投資組合的預期收益水準也上升到19.66% ,這表明我們的風險模型和對股票的優化是有效的。

另一方面,由於我們的組合是以滬深300為業績基準的,因此我們會更看重組合的相對收益情況,也更關心股票組合對業績基準的暴露程度。因此我們會對收益的波動率有更精確的要求,這就出現了跟蹤誤差(tracking error,TE)的概念,它表示為投資組合收益相對於基準收益的超額收益的方差(或者標準差),用公式表示為:

而上述公式也可以用之前所設定的矩陣進行表示,而從公式中我們可以看出,組合設定的權重和業績基準中個股權重的差異,會最終決定跟蹤誤差的大小。我們可以對跟蹤誤差設定不同的值,並基於不同的設定結果來反推出組合的權重設定。而在BAR中,我們也可以通過相對風險的優化來計算組合的權重。

最初的等權重情況下,我們發現組合相對於滬深300指數的跟蹤誤差(即此時的總風險水準)為12.22%。

我們此時以跟蹤誤差最小(即相對條件下總風險水準最低)為目標,對權重進行重新調整,發現優化之後我們的跟蹤誤差降低到了3.4%。

基於跟蹤誤差最小的目標進行權重設定,策略回測的結果顯示預期年化收益率為16.52%,儘管低於組合總體風險最小化時的年化收益情況,但是仍然較等權重情況下有了提高,這同樣也證明了我們優化結果的有效。此外,基於之前我們在回測中得到的組合,我們還可以通過不同的預期收益設定,或者使用多因數打分模型(即對不同的因數的權重進行先驗設定)來規定不同的跟蹤誤差水準,進而基於不同的目標對組合進行重新組合,這對我們的投資有什麼樣的影響呢?在之後的推送中我們會再來聊聊這個話題。

本文使用的BAR代碼:

(Circulated_Share*Close_Price(-1D)+(Total_Share-Circulated_Share)*(Total_Asset_Y/Total_Share))/Total_Asset_Y<1

風險管理工具 / 量化投資知識 / 金融大講堂——"有金有險"

(歡迎金融機構從業的朋友申請BAR系統的試用)

Next Article
喜欢就按个赞吧!!!
点击关闭提示