
주식 간 상관관계가 '소음'이라면? — 대형 공분산 행렬을 깨끗하게 만드는 수학의 힘
"100개 주식의 관계를 계산하는데, 200일치 데이터만 있다면? 그 숫자들은 과연 믿을 수 있을까?"
들어가며: 포트폴리오의 숨은 약점
투자자라면 한 번쯤 이런 경험이 있을 겁니다. "이 포트폴리오는 분산이 잘 되어 있다"고 믿었는데, 시장이 출렁이자 모든 주식이 동시에 떨어진 경험. 혹은 최적 포트폴리오를 계산했는데, 막상 실전에선 예상과 전혀 다른 결과가 나온 경험.
문제의 핵심에는 공분산 행렬이라는 숨은 입력이 있습니다. 마코비츠의 현대 포트폴리오 이론에서 시작한 모든 것 — 최소분산 포트폴리오, 리스크패리티, 팩터 모델 — 은 결국 "주식들끼리 얼마나 같이 움직이는가?"라는 질문에 답하는 공분산 행렬에 의존합니다.
그런데 이 공분산 행렬을 정확하게 추정하는 것이 생각보다 훨씬 어렵습니다. 특히 주식 수가 많고, 데이터가 적을 때 — 그리고 현실적으로 데이터끼리 상관관계가 있을 때 — 문제가 심각해집니다.
바로 이 문제에 정면으로 도전한 연구가 있습니다.
무엇이 문제였나: "데이터가 충분하다"는 착각
포트폴리오를 구성할 때, 우리는 보통 과거 수익률 데이터를 사용해 공분산 행렬을 추정합니다. 예를 들어 100개 주식의 최근 200일 수익률로 공분산을 계산하면, 100×100 = 10,000개의 서로 다른 관계를 추정해야 합니다.
문제는 데이터가 너무 적다는 것입니다. 100개 변수의 관계를 추정하려면 최소 수백에서 수천 개의 독립적인 표본이 필요합니다. 200일치 데이터로 10,000개 관계를 추정한다는 건, 시험 문제 10,000개를 풀어야 하는데 참고 자료가 200페이지밖에 없는 것과 같습니다.
이런 상황에서 기존 방법(Ledoit-Wolf 축소 등)은 "무작위행렬 이론"이라는 수학적 도구를 활용해 소음을 줄여왔습니다. 핵심 아이디어는 간단합니다: 데이터가 부족하면 공분산 행렬의 고유값(eigenvalue)에 과장된 값이 생기는데, 이걸 수학적으로 "축소(shrinkage)"해 원래 값에 가깝게 되돌리자는 것입니다.
하지만 여기에 한 가지 큰 가정이 숨어 있었습니다: 각 날짜의 수익률이 서로 독립이다.
현실에서는 어떨까요? 전혀 다릅니다. 어제의 수익률이 오늘의 수익률에 영향을 주고(자기상관), A 주식의 움직임이 B 주식에 영향을 주고(교차상관), 시장 전체의 모멘이텀이 하루이틀씩 이어집니다. 금융 시계열은 거의 항상 상관된 표본으로 이루어져 있습니다.
핵심 아이디어: 상관된 표본에서도 작동하는 수학
Zdzislaw Burda와 Andrzej Jarosz는 바로 이 "상관된 표본" 문제를 정면으로 다뤘습니다.
기존의 무작위행렬 이론은 이런 논리로 작동합니다:
- 공분산 행렬의 고유값 분포를 관찰한다
- "이 고유값들이 순수한 소음에서 나온 것이라면 어떤 모양이어야 하는가?"를 계산한다 (Marcenko-Pastur 분포)
- 실제 고유값과 이론적 분포를 비교해, 소음인 부분과 진짜 신호인 부분을 분리한다
이때 "순수한 소음"을 계산하려면 표본이 서로 독립이라는 가정이 필요합니다. 표본끼리 상관이 있으면, 소음의 모양 자체가 달라지기 때문입니다.
연구팀은 이 가정을 제거했습니다. Marcenko-Pastur 방정식을 상관된 표본으로 일반화한 것입니다. 자유확률(free probability)이라는 수학 분야의 도구를 활용해, 표본 간 상관 구조가 있을 때 고유값 분포가 어떻게 변하는지를 정확하게 계산했습니다.
이 과정에서 새로운 축소 추정량도 탄생했습니다. 기존의 Ledoit-Peche 축소량은 독립 표본 가정에서 최적이지만, 상관이 있으면 편향이 발생합니다. 연구팀은 일반화된 축소 공식을 유도해, 상관 구조에 맞는 최적의 축소 강도를 자동으로 찾게 했습니다.

결과 — 무엇을 알아냈나
이 연구의 결과는 놀랍도록 실용적입니다.
수치로 확인한 개선
연구팀은 세 가지 상관 구조에서 기존 방법과 새 방법을 비교했습니다:
- 지수 감쇠 자기상관 (τ=2.9): 기존 Ledoit-Peche의 Frobenius 오차 비율 53% → 새 방법 12%
- 더 강한 자기상관 (τ=1.1): 기존 33% → 새 방법 22%
- VARMA(1,1) 구조: 기존 60% → 새 방법 27%
Frobenius 오차 비율이란, 간단히 말하면 "추정한 공분산 행렬이 실제와 얼마나 다른가"를 측정하는 지표입니다. 숫자가 작을수록 정확하다는 뜻입니다. 기존 방법의 절반 이하로 줄어든 셈입니다.
자동으로 맞춰주는 '효과적 표본 수'
흥미로운 점은, 이 방법이 상관의 정도를 자동으로 감지한다는 것입니다. 상관이 강하면 "실질적으로 사용 가능한 표본 수"가 줄어드는데(효과적 표본 수 Teff), 이 값을 자동으로 추정해 축소 강도를 조절합니다. 사용자가 직접 상관 구조를 가정하거나 파라미터를 튜닝할 필요가 없습니다.
바로 쓸 수 있는 도구
연구팀은 이론만 제시한 것이 아닙니다. 오픈소스 Python 라이브러리 "shrinkage"를 만들어 공개했습니다. 사용법도 간단합니다:
from shrinkage import ShrinkageEstimator
estimator = ShrinkageEstimator()
cleaned_cov = estimator.fit_transform(returns_data)
일반인이 코드를 이해하려면: "수익률 데이터를 넣으면, 상관 구조를 고려해 깨끗하게 정제된 공분산 행렬이 나온다"는 뜻입니다.
한계와 주의점
물론 이 방법에도 한계가 있습니다.
첫째, 연구가 주로 검증한 상관 구조는 "지수 감쇠"나 "VARMA" 같은 특정 모수적 형태입니다. 현실의 금융 시계열은 이보다 훨씬 복잡하고, 비선형적이며, 시장 체제에 따라 구조가 바뀝니다. 이 방법이 모든 상황에서 기존 방법보다 나으리라는 보장은 없습니다.
둘째, 대형 포트폴리오(N≫T, 주식 수가 데이터 기간보다 훨씬 많은 상황)에 최적화되어 있습니다. 소형 포트폴리오에서는 기존 방법과 차이가 작을 수 있습니다.
셋째, 자기상관 외에 다른 형태의 의존성(예: 이분산성, 비정상성)은 별도로 처리해야 합니다.
그래서 투자/실무엔?
이 연구가 투자자에게 주는 시사점은 명확합니다.
공분산 행렬의 정확도가 포트폴리오 성과를 좌우합니다. 최소분산 포트폴리오, 리스크패리티, 블랙-리터만 모델 등 현대 포트폴리오 이론의 모든 기법은 공분산 행렬을 입력으로 사용합니다. 이 입력이 틀리면, 아무리 정교한 최적화를 해도 결과가 어긋납니다.
일간·주간 수익률 데이터는 거의 항상 자기상관이 있습니다. 모멘텀 효과, 시장 미시구조 잡음, 리밸런싱 주기 등 다양한 이유로 오늘의 수익률은 어제의 수익률과 관련이 있습니다. 이 상관을 무시하고 기존 축소 방법만 사용하면, 공분산 행렬에 미묘한 편향이 남게 됩니다.
이 연구가 제공하는 "shrinkage" 라이브러리는 바로 이 문제를 해결합니다. 상관 구조를 자동으로 감지하고, 그에 맞는 최적의 축소를 적용합니다. Python으로 설치해 바로 사용할 수 있으므로, 포트폴리오 최적화 파이프라인에 통합하기 어렵지 않습니다.
자기자본 운용 관점에서는, 특히 대형 유니버스(수백 개 이상 종목)를 다루거나, 고빈도 리밸런싱을 하는 전략에서 이 방법의 이점이 크게 나타날 수 있습니다.
함께하기
최신 금융 AI 연구를 매일 분석하고, 투자에 바로 적용할 수 있는 인사이트를 전달합니다.
- 🌐 ohselab.com — 연구 소개 및 상담
- 📧 뉴스레터 구독 — 매일 아침 최신 논문 요약
- 🐦 팔로우 — 실시간 연구 소식
더 알아보기
- 📄 원문 논문: arXiv:2107.01352 — Burda & Jarosz, "Cleaning large-dimensional covariance matrices for correlated samples"
- 📦 Python 라이브러리:
pip install shrinkage - 📊 5차원 점수: 혁신성 82 / 적용성 84 / 엄밀성 86 / 재현성 78 / 통찰력 80 (Composite: 82.5, S 티어)
- 🔗 함께 읽으면 좋은 논문:
- [2107.05201] Deep Risk Model — 딥러닝으로 잠재 위험요인 추출
- [2107.06839] Correlation scenarios and stress testing — 상관관계 스트레스 테스트
- [2107.00427] Feasible Implied Correlation Matrices — 옵션 내재상관행렬 타당성
관련 글
🤖 AI 연구포트폴리오에 숨어든 '변덕스러운 위험'을 찾아라 — 랜덤 행렬 이론으로 상관관계 붕괴를 조기 감지하는 방법
랜덤 행렬 이론을 활용해 포트폴리오의 표본 외 초과위험을 탐지하는 새로운 방법을 소개합니다. 상관구조가 바뀌는 순간을 포착하는 '플리팅 모드' 개념과 실전 적용 가능성을 쉽게 풀어봅니다.
🤖 AI 연구2024년 6월 AI 퀀트 리서치 요약 — 알파 자동화부터 꼬리 리스크까지
2024년 6월 arXiv에 공개된 AI·퀀트 금융 논문 293편을 분석했습니다. 딥러닝으로 알파를 자동 발굴하는 방법, 시장 레짐에 맞춰 포트폴리오를 바꾸는 전략, 전통 상관이 숨기는 꼬리 리스크의 비밀 등 4가지 테마로 정리합니다.
🤖 AI 연구2022년 6월 AI 투자 연구 요약 — 불확실성을 시스템 안에 넣는 방법
2022년 6월에 발표된 AI 투자 연구 중 주목할 만한 논문 5테마를 살펴봅니다. 분포강건 포트폴리오, 리스크 민감 강화학습, 변동성 보편성, 암호화폐 버블 탐지, DeFi 탈중앙화의 현실까지 — 불확실성을 회피하지 않고 시스템에 내장하는 최신 연구 동향을 쉽게 풀어 설명합니다.