【資產配置】第五代資產配置理論:階層式風險平價

修正傳統投資組合理論對於參數過於敏感的問題

Hayden海頓君
data-driven-investment
6 min readFeb 26, 2020

--

原創不易,若轉載請先告知,本人保有法律追訴權

警語:本文為學術目的探討,不表示任何實質投資建議,本部落格也不為投資損益負責,投資人須自負盈虧。

Abstract

Lopez de Prado(2016)結合了機器學習和圖論,想出了將相關係數矩陣降維後再放進MPT求解,如此一來就可以解決MPT對於參數太敏感的問題。其想法是將相關係數矩陣從compete graph 轉換為 binary tree ,原理是透過機器學習中的 clusteing 演算法,總共有3大步驟:

  1. Tree Clustering:對 correlation matrix 執行 clustering
  2. Quasi-Diagonalization:將correlation matrix 依照 step1 排序
  3. Recursive Bisection:依照step2的二叉樹迭代更新權重

Warm up: MPT, IVP

根據馬老師的理論,我們可以建立一個這樣的long-only投資組合

寫成矩陣的形式後

我們可以求得closed form解

Long-Only: Inverse variance portfolio

由於long-only是指作多不做空,所以數學上權重和要為一,即滿足

因此馬老師的解退化為inverse variance portfolio:

Hierarchical Risk Parity(HRP)

Lopez de Prado(2016)提出了3大步驟來執行HRP:

  1. Tree Clustering:對 correlation matrix 執行 clustering
  2. Quasi-Diagonalization:將correlation matrix 依照 step1 排序
  3. Recursive Bisection:依照step2的二叉樹迭代更新權重

由於步驟一和二其實都是針對 correlation matrix 去做降維,至於為何要降維呢?首先我們知道MPT對於參數值過於敏感導致解很難應用,但是為何呢?透過數值分析我們知道是因為相關係數矩陣的conditonal number過高,那要如何解決這個問題呢?

學界對於如何解決conditonal number過高的數值問題有許多方法,但是作者提出來對於相關係數矩陣來說,其根本問題為數學結構上相關係數矩陣等價於圖論上的compete graph,由於太多不必要的edges導致過多雜訊,我們其實只想要一個Hierarchical Structure即可。換言之,左下角的環狀圓形導致太多雜訊所以投資組合的穩定度很差,我們可以透過剪枝的方法將其降維成一個樹狀的結構,減少不必要的雜訊達到優化的目的。

step1 & step2:

可以透過networkx套件視覺化相關係數矩陣,這裡就不做展示。基本上python中只要一行就能完成step1&step2,不過具體上要怎麼選擇linkage method和distance matrix仍然有待實驗,以下為降維後的相關係數矩陣:

import seaborn as sns
sns.clustermap(corr_matrix)

step3

接著重新推導IVP於二叉樹結構下(N=2)的權重:

具體更新步驟如下:

Monte Carlo Simulation

我修改了作者在原論文中所提出的更新算法,改為透過遞歸法從二叉樹bottom-up的走訪迭代更新權重,修改的核心代碼為下:

在100萬次蒙地卡羅模擬中,表現證實優於原有的方法

表現具有robustness,即不論如何修改Linkage方法(Daniel Müllner, 2011),我所修改的bottom-up的方法都勝過原作者所提出的方法至少10%

Source: Daniel Müllner, Modern hierarchical, agglomerative clustering algorithms, 2011.

作者於於蒙地卡羅模擬中證實的確能夠比MPT有更穩定的表現,我自己的實驗實驗結果也是如此。但是在實際的應用中是否能夠有更穩定的表現呢?目前這點還有待證實,目前業界還是傾向於透過BarraRiskModel進行風控,透過平衡各風險因子來穩定投資組合的表現,不過隨著Lopez de Prado本人進入業界鼎鼎有名的量化資金AQR後短短一年不到就離職(AQR Head of Machine Learning Set to Leave After Seven Months),我們或許可以猜測其理論離應用上還有一段距離。

Conclusion

  • MPT對於參數敏感的問題是因為相關係數矩陣的conditional number過高
  • 可以夠過降維的方式將相關係數矩陣由compete graph 剪枝成二叉樹
  • 目前業界還是傾向於使用BarraRiskModel進行風控

--

--