AI VIDEO BRIEFING

TDA 포트폴리오 구성 리뷰: 케플러 매퍼와 UMAP, DBSCAN으로 상관 클러스터 나누기

위상수학 기반 클러스터링으로 S&P 500 상위 200종목을 묶어 분산투자하는 전략을 한 스터디에서 코드까지 직접 검증했습니다. 파이프라인 구조와 백테스트 결과, 원저자 코드의 허점까지 정리했습니다.

위상수학으로 종목을 묶어 분산한다, TDA 포트폴리오 전략을 코드까지 뜯어보니 영상 대표 이미지

핵심 메시지

  • 이 전략의 목표는 오를 종목을 맞히는 것이 아니라, 상관관계가 먼 종목군끼리 균등 분산해 변동성과 베타, 최대 낙폭을 낮추는 것이다.
  • 케플러 매퍼는 PCA와 UMAP으로 1차원 렌즈를 만든 뒤 겹치는 버킷마다 DBSCAN을 돌리고, 겹침 구간을 공유하는 클러스터끼리 연결해 그래프를 만든다.
  • 일반적인 클러스터링과 다른 점은 클러스터 자체가 아니라 클러스터 사이의 연결 관계를 얻는다는 데 있다.
  • 비중은 거대 클러스터, 작은 클러스터, 개별 종목 순으로 균등하게 쪼개므로 종목 수가 아니라 상관 구조가 배분 기준이 된다.
  • 발표자가 직접 돌린 백테스트에서는 벤치마크보다 변동성은 낮았지만 최종 수익도 낮았고, 원저자 코드의 비중 계산은 설명과 달리 균등하지 않았다.

쉽게 이해하기

이 발표는 위상수학을 이용해 클러스터링을 더 똑똑하게 해 보자는 연구를 스터디에서 리뷰한 기록입니다. 시가총액 비중대로 담으면 상관관계가 높은 종목에 쏠리는 위험이 있으니, 서로 상관이 먼 종목군을 찾아 고르게 나눠 담아 변동성을 줄이고 위험 대비 수익을 높이자는 접근입니다. 발표자는 이 시리즈에서 세 번째로 다루는 전략이라고 밝혔습니다.

위상수학적 데이터 분석은 좌표가 아니라 모양과 연결만 봅니다. 손잡이 달린 컵과 도넛이 구멍 하나짜리로 같은 모양이라는 식의 관점입니다. 발표자는 이런 분석을 데이터에 적용하는 파이썬 구현이 케플러 매퍼이며, 이 도구를 쓰려면 차원 축소 방법과 클러스터링 알고리즘을 각각 인자로 넣어 줘야 한다고 설명합니다.

실제 파이프라인은 이렇습니다. S&P 500을 추종하는 ETF의 구성 종목 중 시가총액 상위 200개를 고르고, 150일치 종가로 로그수익률을 계산해 200 곱하기 149 크기의 행렬을 만듭니다. 이 행렬을 PCA로 분산 80퍼센트를 유지하도록 줄인 뒤 UMAP으로 1차원까지 압축해 종목마다 숫자 하나를 얻습니다. 이 값이 공간을 자르는 렌즈 역할을 하고, 기본값 기준 열 개의 구간으로 나누되 구간끼리 일부러 겹치게 만듭니다.

그다음 각 구간에 속한 종목들의 원본 로그수익률을 다시 가져와 DBSCAN으로 클러스터를 만듭니다. 위상수학이 개입하는 지점은 마지막인데, 겹치도록 만든 구간에서 같은 종목을 공유하는 두 클러스터를 연결된 것으로 보고 간선을 잇습니다. 그 결과 작은 클러스터들이 이어진 커다란 덩어리, 즉 클러스터의 위상 구조가 나옵니다. 비중은 이 계층을 따라 큰 덩어리끼리, 그 안의 작은 클러스터끼리, 클러스터 안의 종목끼리 차례로 균등하게 쪼갭니다.

백테스트는 2020년 3월부터 2025년 3월까지 잡고 벤치마크는 S&P 500 ETF, 앞선 1년은 데이터를 채우는 워밍업 구간으로 씁니다. 원저자는 룩백 150과 재구성 주기 125일 조합이 가장 좋았고 단순 보유 대비 샤프가 높고 베타와 최대 낙폭이 낮다고 주장하지만, 파라미터 70개 조합 중 샤프가 앞선 경우는 11퍼센트 남짓이었고 최대 낙폭 우위는 발표자가 다시 계산하니 57퍼센트 정도였습니다. 발표자가 직접 돌린 결과도 변동성은 확실히 낮았지만 최종 수익 역시 벤치마크보다 낮았습니다. 그는 코드를 뜯어보니 비중 계산이 설명대로 균등하게 이뤄지지 않고 모든 종목을 일괄적으로 나누는 이상한 형태였다고 지적하며 직접 고친 버전을 공유하겠다고 덧붙였습니다.

주요 인사이트

  • TDA를 쓰는 이유는 클러스터를 잘 나누는 데 있는 것이 아니라 클러스터 사이의 관계를 얻는 데 있다. DBSCAN만 돌리면 묶음은 나오지만 묶음끼리 얼마나 가까운지는 알 수 없다.
  • 겹치는 구간 설계가 이 방법의 핵심 장치다. 겹침 구간에 동시에 속한 종목이 두 클러스터를 잇는 다리가 되고, 그 다리가 곧 위상 구조를 만든다.
  • 차원 축소는 목적이 아니라 재료다. 케플러 매퍼가 원본 데이터와 압축된 렌즈 데이터를 둘 다 요구하기 때문에 PCA와 UMAP을 이어 붙였을 뿐, 클러스터링 자체는 원본 수익률의 상관관계로 이뤄진다.
  • 공개된 코드의 주장과 실제 구현이 어긋날 수 있다. 발표자는 논문 요약의 수치 계산과 코드의 비중 배분 두 곳에서 모두 문제를 찾아냈고, 이는 백테스트 숫자를 그대로 믿기 전에 비중 계산부터 읽어야 하는 이유가 된다.

자주 묻는 질문

이 전략은 오를 종목을 고르는 것인가요?

아닙니다. 발표에서 분명히 짚듯 목표는 클러스터링을 잘하는 것이지 어떤 클러스터가 오를지 판단하는 것이 아닙니다. 상관이 먼 종목군끼리 고르게 나눠 담아 변동성과 최대 낙폭을 줄이는 것이 목적입니다.

PCA와 UMAP을 왜 둘 다 쓰나요?

케플러 매퍼가 원본 데이터와 크게 압축된 데이터 두 가지를 함께 요구하기 때문입니다. 먼저 PCA로 분산 80퍼센트를 유지하며 줄이고, 그것으로도 부족해 UMAP으로 1차원까지 압축해 공간을 자르는 기준값으로 씁니다.

백테스트 결과는 좋았나요?

발표자가 직접 실행한 결과는 벤치마크 대비 변동성은 낮았지만 최종 수익은 더 낮았습니다. 쏠림을 피하도록 설계된 전략이라 특정 테마가 주도하는 상승장에서는 덜 오를 수밖에 없다는 것이 발표자의 해석입니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식