이 글은 그린블라트의 마법공식 이야기가 아닙니다.
0. 서론
월가의 퀀트였던 David X. Li는 2000년 발표한 저서 "On Default Correlation: A Copula Function Approach"에서 복잡한 복합금융상품의 가치평가를 가능케 하는 경이로운 방법을 제시했습니다. 금융가에서는 앞다투어 그 방법론을 많은 금융상품에 적용하였고, 서브프라임모기지를 기반으로 한 CDO 상품에도 같은 방법을 적용하여 많은 이익을 남겼죠. 그리고 2008년 금융위기가 터졌습니다. 어떻게 수학적 방법론 하나가 금융위기를 촉발하였을까요?
우선 CDO가 무엇인지부터 한번 알아봅시다. CDO는 3가지 고유한 특성을 보유하고 있는데, 1) Diversification, 2) Subordination, 3) Overcollateralization이 그것입니다.
10명의 사람에게 100원씩을 빌려주고, 그 10명에게 빌려준 채권 1000원을 모두 모아서 CDO라는 박스에 담아보겠습니다. 이 CDO 안에는 총 10명의 사람이 빌린 돈이 들어있으니, 그 중 1~2명이 돈을 못 갚을지 몰라도 10명 모두가 돈을 못 갚을 확률은 매우 낮겠죠. 사람들은 다양한 곳에서 일하고, 다양한 수입원이 있으니 각자의 부도확률 간 상관관계가 낮을 겁니다. 우리 집 개똥이가 학교 숙제를 안해가서 혼날 확률과, 저 쪽 제주도에 사는 소똥이가 학교 숙제를 안해가서 혼날 확률은 서로 아무런 관계가 없겠죠. 하지만 소똥이가 우리 옆집에 살고, 개똥이와 소똥이가 친한 친구라면? 두 확률 사이에는 어느 정도 연관성이 있긴 할 겁니다. 어쨌건 여러 종류의 상품을 한 상자에 담아서 전체적인 위험을 감소시키는 것이 Diversification 입니다.
위 CDO 안에 들어있는 10명 중 2명이 돈을 못갚았습니다. 200원이 비었네요. 이 CDO를 사간 사람은 김네이버 씨와 박카카오 씨인데, 김네이버 씨가 800원, 박카카오 씨가 200원을 사갔습니다. 이 경우 김네이버 씨가 700원, 박카카오 씨가 100원을 돌려받을까요? 아닙니다. CDO에는 순위구조란 게 있어서, 후순위인 사람이 모든 손해를 떠맡게 됩니다. 이 경우 박카카오 씨가 후순위이므로, 김네이버 씨가 800원, 박카카오씨가 0원을 돌려받겠네요. 이 손실을 떠맡는 순서를 정하는 것이 Subordination이며, 각 순위별로 나뉘어진 구간을 Tranche라고 합니다. 물론, 아무도 부도나지 않았을 경우에는 박카카오 씨가 김네이버 씨보다 훨씬 높은 수익률을 얻게 될 겁니다.
왜일까요? 답은 3번째 특성에 있습니다. 사실, 1000원의 CDO를 모아서 투자자에게 1000원에 팔지는 않습니다. 1000원의 CDO를 모아서 투자자에게 900원에 파는 것이 Overcollateralization입니다. 이 경우 박카카오씨는 100원만 내고, 200원어치 채권을 받게 되죠. 1명이 파산하더라도 여전히 돈을 돌려받을 수 있으며, 아무도 부도나지 않으면 무려 100원을 내고 200원을 돌려받을 수 있습니다.
이제 금융기관은 신용위험을 이전시킬 수 있으며, 투자자는 다양한 스펙트럼의 상품을 자기 입맛에 맞게 위험수준과 수익률을 조절해가며 투자할 수 있습니다. 모두가 행복합니다. 단 한가지 문제만 빼면요.
CDO는 통상적으로 3개 이상(Senior-Mezzanine-Equity)의 Tranche로 구성되고, 투자자가 자기 입맛에 맞게 위험수준과 수익률을 비교하는 방법은 각 Tranche별로 매겨진 신용등급을 보고 "이 Senior Tranche는 AAA 등급이니, 내가 원금을 잃을 확률은 거의 없군. 수익률은 낮지만 난 잃지 않는 것이 더 중요하니까 난 여기 투자하겠어." 혹은 "이 Mezzanine Tranche는 BBB 등급이니, 원금의 일부를 잃을 확률이 꽤 있군. 하지만 수익률이 비교적 높고, Equity보다는 안전하니 난 여기 투자하겠어."라고 고려해서 선택하게 됩니다만, 이 신용등급을 부여하는 것이 굉장히 힘들었다는 겁니다.
통상적으로 한 개의 서브프라임모기지 CDO에는 125개의 모기지가 들어가게 되는데, 신용등급을 부여하고자 한다면 125개의 모기지 각각의 부도확률과 서로의 상관관계를 모두 알아야하겠죠. 그런데 부도확률은 어떻게 알 수 있으며, 상관관계는 어떻게 모형화해야할까요? 일일이 계산한다면 추정해야 할 상관계수만 7750개입니다. 부도확률은요? 실제 부도가 날 때까지 수십년 간 지켜보고 나서 부도확률을 계산할 수 있지 않을까요? 그것에 답을 준 것이 처음 언급한 Li였습니다.
1. Copula란?
저는 통계학 학부생조차도 아니므로, 수학적인 내용을 모두 빼고 최대한 인터넷에 적힌 내용을 그대로 옮겨와 보겠습니다.
X와 Y를 결합한 결합확률분포 XY가 있을 때, 이를 각각의 한계확률분포 X와 Y로 나눌 수 있을 겁니다. 하지만 X와 Y 사이 어떠한 상관성이 있다면 결합확률분포 XY는 한계확률분포 X, Y만으로는 설명되지 않겠죠. 이 때 Copula 함수 C가 있어서, X와 Y 사이 존재하는 상관관계를 담고 있다면 결합확률분포 XY는 X, Y, C로 표현될 수 있다는 겁니다.
[그림 1] X와 Y의 분포(좌상, 좌하)와 실제 결합분포(우상), 단순히 X와 Y를 결합했을 때의 분포(우하)
위 그림에서 보이듯, 실제로 X와 Y 사이에 존재하는 상관성을 무시하고 X와 Y의 분포만을 활용할 경우 실제 분포를 우하단처럼 오추정하게 됩니다. 이 때 Copula 함수 C를 활용해서 상관관계에 대한 정보를 담아주면 우상단의 실제 분포를 추정 가능하게 됩니다.
[그림 2] 일반적으로 표현되는 Copula 함수. 정규분포 X1을 균일분포 U1로 변환하여, Copula 함수에 삽입한 뒤 Copula 함수에서 튀어나오는 U2값을 정규분포 X2로 변환 후 결합확률분포 X에 매핑한다.
즉, X1, X2의 값과 상관관계가 포함된 C를 알면 X1, X2가 결합된 X의 분포 또한 알 수 있다는 내용입니다.
2. Li의 묘수
Li가 두둥등장하기 이전까지는 각 자산이 혼합된 포트폴리오 P의 수익률 분포를 알 경우, 그 수익률 분포를 각 자산별 수익률 분포와 그 사이의 상관관계로 나눌 수 있었습니다만, 그 반대는 어려웠습니다. [ABC → A, B, C, 상관관계]는 가능했지만, [A, B, C, 상관관계 → ABC]는 까다로웠단 얘기죠. Li는 바로 위에서 언급한 Copula 함수의 특성을 활용해 이 문제를 해결했습니다.
이제 가치평가모형은 세워졌는데, 이 모형에 집어넣어야할 변수는 어떨까요? 부도확률을 알기 위해 수십년 간 가만히 모기지를 째려보고 있을 수는 없습니다. 지금 당장 팔아먹어야 하잖아요. 그래서 Li는 시장에 거래되고 있는 신용부도스왑(CDS)의 가격을 보고 부도확률과 상관관계의 근사치를 구했습니다.
자, 이제 신용평가기관은 125개의 자산을 째려보고, 각 자산 간의 상관관계를 계산하고, 한 가지 자산이 추가될 때마다 요동치는 상관관계, 가치, 부도확률 등에 대해 고민할 필요가 없어졌습니다. 그냥 거래소 앱을 열어서 가격 좀 보고, 적당한 숫자를 집어넣기만 하면 "아 이 친구는 AAA, 여기서부턴 BBB가 되겠군."이라고 보고서를 찍어낼 수가 있게 되었습니다.
어느 순간부터 금융가에서는 CDO안에 정작 무엇이 들어있는지 신경조차 쓰지 않게 되었죠. 모형이 있고, 거래소에서 가격을 보면 신용등급이 나오는데 굳이 CDO 안에 어떤 상품이 들어있는지 확인할 필요조차 있었을까요? 그건 인력낭비, 시간낭비라고 생각하게 되었습니다.
그런데 Li의 Copula 접근방식에는 한 가지 큰 문제가 있었습니다. Li의 방식에 따르면 최초 정해진 상관관계는 변동하지 않는 상수였지요. 그렇지만 다른 월가의 퀀트 Paul Wilmott가 말했듯이 "금융에서 나오는 숫자들 간의 상관관계는 어처구니없을 정도로 불안정"합니다.
3. 금융시장의 상관관계
간단한 예시를 통해 확인해봅시다.
현재 KOSPI 시장에 상장되어있는 시가총액 상위 20개 회사의 2018년 ~ 2021년 6월까지 일일종가를 가져온 뒤, 상관관계를 한번 구해보겠습니다.
[그림 3] 코스피 상위 20사 간 상관관계
네모가 크고 진할 수록 상관관계가 높으며, 계산된 상관계수의 평균은 0.35입니다.
그렇다면 이 자료를 세 부분으로 나누어서 다시 한번 보겠습니다. 횡보장(2018~2019), 하락장(2020.01~2020.04), 상승장(2020.05~)으로 구분해보겠습니다.
[그림 4] 횡보장(왼쪽), 하락장(가운데), 상승장(오른쪽) 상관관계
얼핏 봐도 하락장의 그림이 꽉차보이지 않나요? 숫자로는 0.23, 0.59, 0.31입니다.
불황 때는 자산가격 간 동조가 높아져서 내릴 때는 같이 내리고 오를 때는 따로 오른다는 것은 그 시절에도 다들 알고 있는 사실이었습니다. 주택가격이 하락할 경우 CDO에 담긴 모기지들의 부도확률과 서로 간의 상관관계가 급격히 상승할 것이라는 점은 다들 알고 있는 상황이었습니다. 그렇지만 당장 CDO를 찍어내야했기 때문에 금융기관은 이 점을 알면서도 무시했죠.
향후 10년 간 각 자산의 부도확률(대부분 애초에 부도난 적도 없어서 과거 자료도 없는)을 추정하고 매번 125x125 상관행렬을 추정하고, 심지어 그 부도상관행렬의 변동경로까지 고려하는 대신 모형을 단순화하여 일괄적이며 변동하지 않는 단일 고정상관계수를 때려박고 신용등급을 부여한 후 팔아치운 것이지요.
4. CDO 시뮬레이션
간단한 몬테카를로 시뮬레이션을 통해 상관관계의 위력을 확인해봅시다.
가정은 다음과 같습니다.
자산 = 100개, 각 자산의 금액은 1원
각 자산의 부도확률 = 5%
부도 시 회수율 = 0%
Equity 트렌치가 5%,
Mezzanine 트렌치가 25%,
Senior 트렌치가 70%를 구성하고 있는 경우를 생각해보겠습니다.
R의 copula 패키지 내의 normalCopula 함수를 통해 상관관계가 0.10으로 동일한 100개의 자산에 대한 몬테카를로 시뮬레이션을 돌린 결과는 다음과 같습니다.
[그림 5] 시뮬레이션 결과
V1 ~ V100의 자산에 대해 1만 회의 시뮬레이션을 진행했으며, 각 시뮬레이션 회차별로 부도가 몇 개나 일어났는지 확인해보겠습니다.
예를 들어 좌상단 V1 - 1셀의 값이 0.09077인데, 10%의 부도확률 기준이라면 1회차 시뮬레이션에서 V1 자산은 부도가 난 것이지요. 만약 0.1보다 낮은 자산이 5개라면, 1회차 시뮬레이션에서는 100개 자산 중 5개 자산이 부도가 났으니 손실율은 5%인 셈입니다.
[그림 6] 손실율 분포(자산 간 상관계수 = 0.10)
0.01 | 0.02 | 0.03 | 0.04 | 0.05 | 0.06 | 0.07 | 0.08 | 0.09 | 0.1 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 0.17 | 0.18 | 0.19 | 0.2 | 0.21 | 0.22 | 0.23 | 0.24 | 0.25 | 0.26 | 0.27 | 0.28 | 0.29 | 0.3 | 0.33 | 0.34 |
1157 | 1285 | 1324 | 1127 | 941 | 709 | 627 | 482 | 395 | 315 | 238 | 189 | 156 | 95 | 75 | 63 | 40 | 36 | 22 | 17 | 16 | 11 | 9 | 6 | 4 | 3 | 3 | 2 | 1 | 2 | 1 | 1 |
[표 1] 손해율 분포(자산 간 상관계수 = 0.10)
총 1만 번의 시뮬레이션 중 30%를 넘기는 손실율이 발생한 경우는 2건으로, 0.02%의 확률로 Senior 트렌치는 원금을 잃게 되며, 이 경우에도 원금 70원 중 3원, 혹은 4원의 손해를 보게 됩니다. 이 정도면 사실상 원금이 보장되는 경우라고 볼 수 있으니 AAA 신용등급을 땅땅땅 하고 붙여줘서 시장에 내다팔아도 되겠군요.
한번 상관계수를 조금 올려볼까요?
[그림 7] 손실율 분포(상관계수 = 0.55)
상관관계를 높이자 우측으로 꼬리가 길게 늘어진 모양새가 되었습니다. 실제 결과값을 보면, 손실율이 30%을 넘긴 횟수는 491번이며, 심지어 그래프 제일 오른쪽에 보이듯 전액 손실(1)이 난 경우도 1회 존재했습니다. 똑같은 5% 부도율을 가정했는데 말입니다.
이렇게 상관계수를 올릴 경우, 전체 부도횟수는 다소 줄어듭니다만(0.1의 경우 1만번의 시행 중 9352회, 0.55의 경우 1만번의 시행 중 4212회) 한번 부도가 날 경우 다 같이 부도가 나므로 손실폭은 굉장히 커지(손해율 30%을 긴 횟수가 0.1의 경우 2회, 0.55의 경우 491회)게 됩니다.
약 5%의 확률로 원금 손실이 있으며, 손실이 날 경우 평균 원금의 47%가 날아가는 투자상품에 원금을 보전하려고 투자하는 사람이 있을까요? 이 때문에 CDO 신용등급의 신뢰성이 사라지게 되었습니다.
5. 결론
가우시안 코퓰라 함수는 문제점(낮은 꼬리 의존성 등)을 고려하더라도, 어려운 계산을 쉽게 도와주는 굉장히 훌륭한 가치평가 방법 중 하나였습니다만 그것을 활용한 결과는 처참했습니다. "(금융위기 때) 가우시안 코퓰라 함수를 활용한 CDO 가치평가의 문제점은 잘못된 인수 입력에 있었다."라는 이야기가 지배적이죠. 금융가는 당시 CDO를 평가하며 순진하게(고의적으로 위험을 무시하며 순진하려고 했겠습니다만) 위기 시점이 아닌, 평범한 나날들로부터 계산된 인수를 모형 안에다 집어넣었고, 평범한 날들의 숫자와 금융위기 시점의 숫자는 달랐기에 금융위기 때 해당 모형은 아무런 신뢰성을 주지 못했습니다.
보통날 기준으로 상관계수는 낮은 것으로 추정되었으나, 돈을 갚지 못한 채무자가 파산하자 은행이 집을 뺏어다 팔자 시장에 주택 공급이 많아지니 주택가격이 내려가고 주택가격이 내려가자 채무자는 파산하고 은행이 집을 뺏어다 팔자 주택가격이 더욱 내려가고 주택가격이 내려가자 채무자는 파산하고... 일련의 과정을 통해 모기지 채무자 A의 부도와 모기지 채무자 B의 부도가 위기 시에는 평소보다 훨씬 높은 상관성을 띠게 되었습니다.
2008년 금융위기를 겪은 이후 이제 모든 금융기관은 극단적인 위기 상황 하 시나리오를 검증하도록 되어있으니, 이제는 예전처럼 고의적으로 위험을 무시하면서 상품을 찍어내는 짓은 못하게 되었습니다.
현실과 맞지 않는 모형, 그 모형의 한계를 알면서도 무시한 금융가, 그 모형을 맹신한 투자자가 합쳐진 시너지는 어마어마했습니다. PGR21에 계신 분들이라면 다들 금융위기를 겪으셨을 나이라고 생각합니다. 물론 저는 그 때 아직 학생이었지만요. 하하.
혹여나 서브프라임모기지 사태 이후로 이어질 금융위기에 대해 쉽게 알고싶으시다면 벤 버냉키의 "벤 버냉키, 연방준비제도와 금융위기를 말하다" 책을 추천드립니다.
지난 번 글과 동일하게 오류지적은 감사드립니다.
참고문헌
"Recipe for Disaster: The Formula That Killed Wall Street", Felix Salmon
"Correlation Risk Modeling and Management", Gunter Meissner
"On Default Correlation: A Copula Function Approach", David X. Li
"A Short, Comprehensive, Practical Guide to Copulas", Attilio Meucci
"The Gaussian Copula and the Financial Crisis: A Recipe for Disaster or Cooking the Books?", Samuel Watts
"다차원 Copula 함수를 이용한 VaR 추정", 홍종선