Post

Review: Large Dynamic Covariance Matrices(~ Methods)

Review: Large Dynamic Covariance Matrices(~ Methods)

해당 게시글은 Engle et al,(2019)의 “Large Dynamic Covariance Matrices” 논문을 리뷰한 글입니다. 본 게시물에서 인용한 논문 및 자료에 대한 상세 정보는 아래의 링크를 통해 확인하실 수 있습니다.
Engle et al,(2019)

관련 연구를 위해 DCC-NL의 흐름을 파악하는 용으로 해당 논문이 가장 적합한 것 같아 본 논문은 방법론까지(정확히는 Chapter 3까지) 리뷰를 해보려고 한다.

INTRODUCTION

기존의 포트폴리오 최적화에 있어 자산 공분산 행렬 추정은 Engle(1982)의 ARCH/GARCH 계열 모델이 대표적으로 사용된다.
하지만 포트폴리오 규모가 클 경우(대략 1000개) 이러한 모델에 문제가 생기는데, 본 논문에서는 Engle(2002)의 DCC 모델을 대규모 차원에서도 안정적으로 만드는 것을 목표로 한다.

이를 위해 두 가지 방법을 결합한다.

  • Pakel et al.,(2014) 의 composite likelihood → 대규모 차원에서 DCC 모델을 계산할 수 있게 해줌.
  • Ledoit and Wolf(2012) 의 Nonlinear Shrinkage → DCC 모델의 상관 목표 행렬 추정을 더 잘하게 해줌.

따라서 본 논문의 주요 기여점은 NL 추정기를 DCC에 어떻게 잘 적용시킬 수 있을지를 밝힌다는 점이다.
→ 추정된 조건부 공분산 행렬에 NL을 적용하는 것이 아닌, intercept matrix를 추정할 때 적용하는 것.

기존 연구로는 Hafner and Reznikova(2012) 가 존재하나, 그들이 제시한 접근법은 composite likelihood를 사용하지 않고 intercept matrix를 추정할 때도 Nonlinear Shrinkage가 아닌 Linear Shrinkage를 사용한다는 차이가 존재하며, 그들의 실증 연구에서는 최대 차원이 100까지였던 반면 본 논문의 실증 연구는 최소 1000차원까지를 처리할 수 있다.

2. THE DCC MODEL

2.1 Notation

image1.png

2.2 Model Definition

먼저 단변량 변동성(univariate volatilities)의 동학을 반영하기 위해서 GARCH(1,1) 모델을 사용한다.

\[d_{i,t}^2 = w_i + a_ir_{i,t-1}^2+b_id_{i,t-1}^2\]
  • $(w_i, a_i, b_i)$ : GARCH(1,1) 의 파라미터

※ 본 논문에서는 단순화를 위해 GARCH(1,1)을 사용했지만, 비대칭 효과를 포함하는 등의 더 정교한 GARCH 모델로 업그레이드 하는 것도 가능하다.

이렇게 구한 $d_{i,t}$ 는 대각행렬 $D_t$ 의 대각성분에 들어간다.
이 N개의 개별 변동성은 개별 수익률에서 나눠줌으로써 변동성이 제거된 잔차 벡터 $s_t$ 를 제공한다.

다음으로 상관행렬에 동학을 반영하기 위해 DCC 모델을 사용한다.

\[Q_t=(1-\alpha-\beta)C+\alpha s_{t-1}s_{t-1}^{\top}+\beta Q_{t-1}\]
  • $(\alpha, \beta)$: DCC 파라미터
  • $Q_t$: conditional pseudo-correlation matrix
    → 대각 원소들이 1에 가깝긴 하지만 정확히 1은 아니기 때문에 정규화 필요.
\[R_t:=\mathrm{Diag}(Q_t)^{-1/2}Q_t\mathrm{Diag}(Q_t)^{-1/2}\] \[H_t:=D_tR_tD_t\]

또한 DGP(data generating process)는 다변량 정규분포를 따른다.

\[r_t\mid\mathcal F_{t-1}\sim\mathcal N(0,H_t)\]

2.3 Estimation in Large Dimensions

DCC는 대규모 자산을 추정하는 것이 어렵다고 잘 알려져 있다.
이는 조건부 공분산 행렬 $H_t$ 를 역행렬로 만드는 것이 likelihood 계산에 필요한데, 이 역행렬을 계산할 때 계산량이 크게 증가하기 때문.

Pakel et al.,(2014)는 이러한 문제를 해결하고자 모든 자산을 한꺼번에 보는 것이 아닌 자산 쌍 단위로 보는 composite likelihood를 제안했다.
→ 저자들이 제안한 여러 변형 모델 중 가장 확장성이 좋은 방법은 2MSCLE로, 인접 자산 쌍을 기반으로 likelihood를 계산하는 방식.

3. LARGE UNCONDITIONAL CORRELATION MATRICES

본 절에서는 DCC 모델의 unconditional correlation matrix C를 추정하는 방법을 다룬다.

3.1 Sample Correlation Matrix

Sample Correlation Matrix가 고차원에서 잘 작동하지 않는다는 것은 이미 널리 알려져 있다.
→ Michaud(1989)는 포트폴리오 최적화를 “error maximization” 이라고 표현함.

이는 N이 T와 차원이 비슷할 때 추정 오차가 크게 증폭한다는 문제를 가지며, 따라서 이러한 N/T 비율(concentration ratio)가 중요하다.
(ex. concentration ration가 0.1보다 작다면 OOS 결과도 충분히 활용 가능할 수 있을 정도로 추정 성과가 우수하다.)

또한 concentration ratio가 1을 넘어가버리면 상관행렬이 singular해지는데, 이 경우 역행렬을 구하면 최적 포트폴리오 가중치가 발산해버리게 된다.

3.2 Shrinkage Estimator

이러한 샘플 상관행렬의 문제를 해결하는 것이 shrinkage estimator이다.
샘플 공분산의 경우 고유값이 작은 것은 너무 작고, 큰 것은 너무 큰 형태이기 때문에, 이를 조정함으로써 고유값의 횡단면 분포의 범위를 줄여준다.

본 논문에서는 Ledoit and Wolf(2012)의 방법을 이용한 Nonlinear Shrinkage에 대해 다룬다.

모집단 공분산 행렬을 $\Sigma$ , 샘플 공분산 행렬을 $S$ , 이 $S$ 의 고유벡터를 $u$ 라고 하면, 표본 고유값은 $u^{\top}Su$ 와 같다.
그리고 이 고유값은 고유벡터 $u$를 가중치로 가지는 포트폴리오의 표본 분산을 의미한다.
→ NLS(Nonlinear Shrinkage)는 이를 모집단 공분산 행렬을 활용한 $u^{\top}\Sigma u$ 로 대체한다.

문제는 모집단 공분산 행렬을 모른다는 것. 이를 모르면 oracle variance도 계산할 수 없다.
→ Ledoit and Peche(2011)는 true covariance를 모두 알 필요 없이, N개의 고유값만 알아도 충분하다고 언급한다.

N by T 차원의 데이터셋으로 N by N 전체 행렬을 정확히 추정하는 것은 불가능해도 N개의 고유값을 추정하는 것은 이론적으로 가능하기 때문.

그렇다면 샘플 고유값으로부터 모집단 고유값을 추정해야 하는데, 일반적으로 Marcenko and Pastur(1967)의 방정식을 역으로 풀어야 한다.
Ledoit and Wolf(2015)는 QuEST(quantized eigenvalues sampling transform) 함수를 통해 수치적 역연산을 효과적으로 할 수 있음을 보였는데, 이는 Marcenko and Pastur(1967)의 방정식을 이산화하여 N차원의 deterministic한 함수로 역연산이 가능하도록 한다.

결론적으로 본 논문에서는 표본 상관행렬 대신 NLS를 사용하여 DCC의 장기 상관 목표행렬 C를 추정하는 것이다.

3.3 Mathematical Formulation

devolatilized returns를 나타내는 N by T 행렬을 $S=[s_{i,t}]$ 라고 하면, 표본 공분산은

\[\widehat C:=\frac{1}{T}SS^{\top}\]

이때 행렬 C는 대칭행렬이므로 $u_i^{\top}u_j=\mathbf 1{i=j}$ 을 만족하고, 고유방정식 $Cu_i=\lambda_i u_i$ 를 따르므로 다음과 같이 나타낼 수 있다.

\[\widehat C=\sum_{i=1}^{N}\lambda_i u_i u_i^{\top}\]

$Q_{N,T}$ 를 QuEST 함수라고 하자. 이 함수는 모집단 고유값 집합 $t := (t_1,…,t_N)$ 을 입력으로 주면 표본 고유값 $Q_{N,T}(\mathbf t)=\bigl(q_{N,T}^1(\mathbf t),\ldots,q_{N,T}^N(\mathbf t)\bigr)$ 를 출력으로 반환한다.

그러나 우리는 표본 고유값을 알고 모집단 고유값을 얻어야 하므로 QuEST 함수를 수치적으로 역산하여 모집단 고유값을 추정한다.

\[\widetilde{\boldsymbol{\tau}}:=\underset{\mathbf t\in[0,\infty)^N}{\mathrm{arg\,min}}\frac{1}{N}\sum_{i=1}^{N}\left[q_{N,T}^i(\mathbf t)-\lambda_i\right]^2\]

이렇게 모집단 고유값이 추정되면 NLS를 통해 수축된 고유값 $\tilde \lambda$ 을 계산할 수 있다.
이후 공분산 행렬의 shrinkage estimator는 다음과 같이 구성된다.

\[\widetilde C:=\sum_{i=1}^{N}\widetilde{\lambda}_i(\widetilde{\boldsymbol{\tau}})u_i u_i^{\top}\]

이 접근법의 두 가지 중요한 장점은

  1. 정규분포를 가정할 필요가 없음.
  2. 자산 수 N이 표본 크기 T보다 많은 경우에도 다룰 수 있음.

3.4 Linear Shrinkage

간단한 대안으로는 Ledoit and Wolf(2004b)의 Linear Shrinkage를 사용하는 것이다.

샘플 고유값의 횡단면 평균을 다음과 같이 정의한다.

\[\overline{\lambda}:=\frac{1}{N}\sum_{i=1}^{N}\lambda_i\]

이 방법은 샘플 고유값이 횡단면 평균 $\overline{\lambda}$ 쪽으로 얼마나 끌릴지를 $\rho$ 를 사용하여 조절한다.

\[\overline C:=\sum_{i=1}^{N}\left[\rho\,\overline{\lambda}+(1-\rho)\lambda_i\right]u_i u_i^{\top}\]

이 추정기 또한 인기가 많지만, N이 커질수록 NLS에 비해 성능이 떨어진다.
NLS와 가장 큰 차이점으로는 축소 강도를 의미하는 ρ가 모든 고유값에 대해 동일하게 적용되는 반면, NLS에서는 각 고유값마다 다르게 적용된다는 점이다.

※ LW-CC 추정기를 C 행렬에 적용하는 방법도 존재하나, 이는 rotation-equivariant estimators가 아니기 때문에 반영하지 않았다고 본 논문에서는 언급한다.

3.5 Renormalization

마지막으로 C 행렬의 대각 성분들이 완전히 1이 되지 않을 수 있기 때문에, 올바른 상관행렬을 만들기 위해서는 각 열과 각 행을 해당 대각 성분의 제곱근으로 나눠야 한다.

\[\widehat C_{\mathrm{corr}}=\mathrm{Diag}(\widehat C)^{-1/2}\widehat C\mathrm{Diag}(\widehat C)^{-1/2},\] \[\widetilde C_{\mathrm{corr}}=\mathrm{Diag}(\widetilde C)^{-1/2}\widetilde C\mathrm{Diag}(\widetilde C)^{-1/2},\] \[\overline C_{\mathrm{corr}}=\mathrm{Diag}(\overline C)^{-1/2}\overline C\mathrm{Diag}(\overline C)^{-1/2}.\]
This post is licensed under CC BY 4.0 by the author.