ML for ASSET MANAGERS

Machine Learning for Asset managers Ch 7. Portfolio Construction

LunaMooN 2021. 11. 20. 23:03

7.1 Motivation



7.2 Convex Portfolio Optimization


  • Objective function $$min_w \frac12 w'Vw \quad s.t.: w'a = 1 $$

  • Lagrangian forms $$L[w, \lambda]= \frac12 w'Vw - \lambda(w'a-1)$$

    • (F.O.C) $$ w^* = \frac{V^{-1}a}{a'V^{-1}a}$$
    • (S.O.C) $$ a'a \geq 0$$
  • $a$ characterizes the portfolio's constraints

    • Equal weights protfolio: $$a= 1_N ;\ and ;\ V=\sigma I_N ;\ where \sigma \in \mathbb{R}^{+} $$ then $$ w^* = 1_N \sigma^{-1}/(N \sigma^{-1}) = 1_N/N $$
    • Inverse-variance portfolio: $ a=1_N$ and $V$ is a diagonal matrix, then $$ w^* = {1 \over {\sum_{n=1}^{N} {\frac{1}{V_{n,n}}}}} \frac{1}{V_{n,n}}$$
    • Minimum variance portfolio: $a=1_N$
    • Maximum Sharpe ratio portfolio: $a=\mu$ and maximum SR is $$w' \mu / \sqrt{w'Vw}$$ and the market portfolio is $$V^{-1} \mu / (1_N' V^{-1} \mu)$$

7.3 The Condition Number


  • $\rho$(correlation) 가 0에서 멀어질수록 covariance matrix의 inverse 값은 exploded 됨

7.4 Markowitz's Curse


  • Portfolio를 구성하는 자산의 상관관계가 높으면 $V^{-1}$ 값이 불안정해지고, optimal한 weight를 찾기 어려움
  • Markowitz의 방법론은 $\rho \approx 0$ 에서 성립하는데 우리는 이 방법론을 $ \rho \nsim 0$인 경우를 다루기 위해 사용함. 따라서 Markowitz를 사용할수록 weight 추정량은 더욱 불안정해지는 모순이 발생

7.5 Signal as a Source of Covariance Instability


  • 하나의 cluster에 의해 높은 condition number가 생기기도 하는데, 이는 전체 correlation matrix까지 영향을 미치게 됨

  • Markowizt 방법의 불안정성은 상관관계 행렬 안의 몇 개의 dominant한 cluster들에 의해 생긱는데 이러한 cluster들을 따로 최적하하여 불안정성이 전체 포트폴리오에 퍼지지 않도록 하는 방법 고안



7.6 The Nested Clustered Optimization Algorithm(NCO)


7.6.1 Correlation Clustering


  • Find the optimal number of clusters
    • $T/N$ 이 아주 낮은 경우(large matrices) clustering 전에 ch2의 denoising 할 것
    • ch4의 clusterKMeans 방법으로 cluster된 correlation matrix 구함
    • corr / corr.abs() 중에 어떤 것으로 쓸 지 simulation을 통해 정함

7.6.2 Intracluster Weights


  • Compute optimal intracluster allocations using denoised covariance matrix
  • 한 cluster를 하나의 자산으로 보고 포트폴리오 최적화를 통해 각 클러스터들마다 속한 각 자산의 비중을 구함
  • $cov2 = w'Vw$ : $w$는 위에서 구한 클러스터별 자산 비중

7.6.3 Intercluster Weights


  • Compute optimal intercluster allocations, using the reduced covariance matrix(cov2)
  • cov2는 diagonal matrix에 가까움(즉 $\rho \approx 0$ 으로 만들 수 있음)
  • cov2를 7.6.2에서 최적화 했던 방법과 동일하게 최적화 하여 클러스터간 비중(intercluster weight)을 구함
  • 마지막으로 inter weight과 intra weight를 곱해서 각 자산의 비중을 구함





출처: Marcos López de Prado, 『Machine Learning for Asset Managers, Cambridge University Press(2020) (p.92-103)