버블을 수학으로 판정할 수 있을까 — 감지기를 만들어 40년치에 돌려봤어요
“이건 버블이다”라는 말은 늘 감상처럼 들려요. 근거를 물으면 대개 “너무 올랐잖아요”로 돌아오고요. 그런데 통계학에는 버블을 감상이 아니라 수식으로 정의하려는 시도가 있어요. 그리고 그 검정법은 지금 미국 댈러스 연준이 세계 주택시장을 분기마다 감시하는 데 쓸 만큼 자리를 잡았죠.
그래서 직접 만들어봤어요. 나스닥 40년치, 비트코인, 엔비디아, 코스피에 돌렸고요. 결론부터 말하면 — 감지기는 놀랍도록 잘 작동했어요. 다만 그게 도움이 되진 않았어요.

실험 전체를 한 장으로 정리했어요. 숫자와 표는 여기에 다 있고, 아래 글은 이야기로 풀어요.
버블의 수학적 정의
핵심 아이디어는 의외로 단순해요. 평범한 주가는 무작위 걸음을 해요. 오늘 값은 어제 값에 잡음이 더해진 것이고, 내일 방향은 알 수 없죠. 수식으로 쓰면 “오늘 = 1 × 어제 + 잡음”이에요. 여기서 계수가 정확히 1이라는 게 핵심이에요.
그런데 버블은 달라요. 사람들이 “오르니까 산다”로 움직이기 시작하면, 오늘은 어제보다 비율로 더 오르게 돼요. 계수가 1보다 커지는 거죠. 1.01만 돼도 시간이 지나면 곡선이 위로 휘어 올라가요. 통계학자들은 이걸 폭발적 경로(explosive root)라고 불러요.
그러니까 “버블인가”라는 질문은 “계수가 1을 넘었는가“라는 통계 검정으로 바뀌어요. 감상이 아니라 숫자로요.
문제는 버블이 전체 기간에 걸쳐 있지 않다는 거예요. 40년 중 3년만 폭발적이었다면, 40년을 통째로 검정하면 묻혀버려요. 그래서 필립스·우·유라는 학자들이 낸 답이 모든 시작점을 다 시도해보는 것이었어요. 이번 주를 끝점으로 두고, 1년 전부터 시작한 창, 2년 전부터 시작한 창, 5년 전부터 시작한 창을 전부 검정한 뒤 그중 가장 강한 증거를 이번 주의 점수로 삼아요. 이게 SADF 검정이고, 매주 갱신되니 실시간으로 쓸 수 있어요.
제가 만든 감지기가 이거예요. 로페즈 데 프라도의 금융 머신러닝 라이브러리에 구현이 들어 있어서, 계산을 빠르게 다시 짜고 원본과 대조해 소수점 열두 자리까지 같은 값이 나오는 걸 확인한 뒤 돌렸어요.
임계값은 어디서 오나
“계수가 1을 넘었다”는 판정에도 기준선이 필요해요. 그런데 이 검정의 임계값은 교과서에 실려 있지 않아요. 표본 길이마다 다르거든요.
그래서 가짜 데이터를 만들어 직접 구했어요. 버블이 절대 없는 순수한 무작위 걸음을 300개 만들어서 똑같은 감지기를 돌리고, 그 점수들의 상위 5% 지점을 임계값으로 삼았어요. “버블이 없는데도 우연히 이 점수가 나올 확률이 5%”라는 뜻이죠. 이렇게 하면 오경보율을 설계 단계에서 못 박을 수 있어요.
감지기는 정말 작동했어요
돌려보고 좀 놀랐어요. 닷컴 버블, 비트코인 2017년과 2021년, 엔비디아의 AI 랠리 — 우리가 버블이라 부르는 사건이 전부 붉게 칠해졌어요. 사후에 끼워맞춘 게 아니라, 각 시점에서 그때까지의 데이터만 보고 판정한 결과예요.

닷컴 버블에서는 감지기가 1995년 5월 말에 처음 울렸어요. 흥미로운 건, 이 검정법을 만든 원 논문이 지목한 시점도 1995년 7월이라는 거예요. 데이터도 주기도 다른데 두 달 차이로 같은 곳을 가리켰죠.
여기까지만 보면 대단한 도구예요. 그런데 그 다음이 문제였어요.
1995년에 팔았다면
감지기가 1995년 5월에 “버블”이라고 말했을 때 나스닥은 872였어요. 그 말을 믿고 팔았다면 어땠을까요?
나스닥은 거기서 4.8년을 더 올라 5,049까지 갔어요. 경보 이후에만 +479%예요.

이건 낯선 이야기가 아니에요. 그린스펀 연준 의장이 “비이성적 과열”을 입에 올린 게 1996년 12월 5일이고, 그날 나스닥은 1,300이었어요. 거기서도 시장은 +288%를 더 올라 5,049에서 꺾였죠. 그러니까 감지기는 그린스펀보다도 1년 반이나 더 일찍 옳았던 셈이에요. 원 논문도 이 점을 짚어요. 통계가 잡아낸 시점이 의장의 그 유명한 발언보다 1년 이상 빨랐다고요.
비트코인은 더 극적이에요. 감지기는 2016년 6월, 749달러일 때 처음 경보를 울렸어요. 그 뒤 비트코인은 1만 7,700달러까지, +2,264%를 더 갔어요.
54번의 경보가 말해준 것
다섯 자산에서 나온 경보 54건을 전부 모아 “경보 다음에 실제로 무슨 일이 있었나”를 세어봤어요.
- 경보가 울린 뒤 고점까지 주가는 중앙값 +99% 더 올랐어요. 절반의 경우 두 배가 됐다는 뜻이에요.
- 고점까지 걸린 시간은 중앙값 2년이었어요.
- 경보 후 1년 수익률은 중앙값 +22%였고, 83%의 경보가 1년 뒤 플러스였어요.
- 경보 후 1년 안에 20% 넘게 빠진 경우는 54건 중 10건뿐이었어요.
정리하면 이래요. “버블이다”라는 판정은 “곧 떨어진다”는 뜻이 전혀 아니었어요. 오히려 그 반대에 가까웠죠. 경보가 울린 시점은 대개 상승의 한가운데였어요.
생각해보면 당연해요. 감지기가 측정하는 건 “가격이 폭발적으로 오르고 있다”는 현재 상태예요. 폭발이 언제 끝나는지는 애초에 묻지 않아요. 우리가 멋대로 “버블 = 곧 붕괴”라고 읽었을 뿐이죠.
믿고 팔아봤어요
그래서 정직하게 검증했어요. 경보가 켜지면 전량 매도하고 꺼지면 다시 사는 규칙으로, 다섯 자산 전부 돌렸어요. 거래비용도 넣었고요.
| 그냥 보유 | 경보 시 이탈 | |
|---|---|---|
| 나스닥 | 107배 | 40배 |
| 엔비디아 | 5,831배 | 102배 |
| 비트코인 | 194배 | 20배 |
| 코스피 | 9배 | 4배 |
다섯 개 전부 손해였어요. 엔비디아는 5,831배가 102배로, 57분의 1이 됐어요.
그럼 낙폭이라도 줄었을까요? 그것도 아니었어요. 나스닥은 −77%가 −67%로 조금 나아졌지만, 엔비디아는 −88%에서 −91%로 오히려 나빠졌고 큐큐큐도 마찬가지였어요. 경보가 켜져 있는 동안 빠져 있다가, 경보가 꺼진 뒤 하락에 다시 들어가는 일이 반복됐거든요.
수익은 확실히 깎이고 위험은 안 줄어드는 가장 나쁜 조합이었어요.
왜 이렇게 되나
경보가 얼마나 자주 켜졌는지 세어보니 답이 나왔어요. 나스닥은 전체 기간의 18%, 큐큐큐는 24%, 엔비디아는 32%가 “버블” 상태였어요.
3분의 1이 버블이라면, 그건 경고가 아니라 거의 기본값이에요. 그리고 그럴 수밖에 없어요. 좋은 자산은 원래 오랫동안 빠르게 오르니까요. 폭발적 상승을 잡아내는 감지기가 훌륭한 성장주에서 계속 울리는 건 고장이 아니라 설계대로 작동한 결과예요.
여기에 검정법 자체의 약점도 겹쳐요. 이 검정은 변동성이 시기마다 크게 달라지는 데이터에서 실제보다 자주 경보를 울린다는 게 후속 연구로 밝혀졌어요. 쉽게 말해 변동성이 한 단계 올라선 것만으로도 “폭발적”이라고 오판할 수 있다는 거죠. 그래서 요즘 연구자들은 부트스트랩으로 보정한 버전을 써요. 제 실험은 보정 없는 원형이라, 경보 비중이 실제보다 부풀어 있을 가능성이 있어요.
참고로 지금(2026년 9월 기준) 감지기가 켜져 있는 자산은 이래요. 엔비디아는 187주째, 3년 반 동안 계속 “버블” 판정 중이에요. 그동안 주가는 8배가 넘게 올랐고요. 코스피도 2025년 10월부터 51주째 켜져 있어요.
그럼 이 도구는 뭐에 쓰나
버리라는 얘기는 아니에요. 용도가 다를 뿐이에요.
실제로 이 검정법을 가장 열심히 쓰는 곳은 트레이더가 아니라 중앙은행과 규제기관이에요. 미국 댈러스 연준은 랭커스터대·알리칸테대와 함께 국제주택관측소라는 걸 운영하면서, 바로 이 검정법으로 세계 주택시장의 과열 지표를 분기마다 발표해요. 판정 기준도 제가 쓴 것과 같은 95% 임계값이고요. 그들의 목적은 “언제 팔까”가 아니라 “지금 이 시장이 기초체력에서 얼마나 멀어졌는가”를 기록하고 경고하는 것이에요. 버블의 정확한 끝을 맞히려는 게 아니라, 정책 결정자에게 상태를 알려주는 계기판이죠.
개인 투자자에게도 그 정도가 적당한 쓰임이에요. “지금 내가 들고 있는 게 폭발적 구간에 있는가”를 아는 것과, “그러니 팔아야 한다”는 건 전혀 다른 문장이에요. 전자는 포지션 크기와 레버리지를 정할 때 쓰는 정보예요. 후자는 이번 실험이 보여주듯 값비싼 오해고요.
이 이야기의 교훈
“맞는 말”과 “쓸모 있는 말”은 다른 거예요. 감지기는 1995년에 옳았어요. 나스닥은 정말로 버블이었고 결국 −72%가 났으니까요. 하지만 그 옳음을 4.8년 일찍 알아버린 사람은, 시장이 다섯 배 오르는 걸 지켜봐야 했어요. 틀린 예측만큼이나 이른 정답도 사람을 망가뜨려요.
그리고 하나 더. 이번 실험은 HMM으로 시장 레짐을 읽으려던 지난 실험과 결론이 묘하게 같아요. 그때도 모형은 “지금 변동성이 크다”를 정확히 말했지만 미래는 말하지 못했죠. 좋은 모형은 현재를 묘사하고, 우리는 그걸 예측으로 착각해요. 두 번 연속 같은 자리에 도착했으면, 이건 우연이 아니라 패턴이에요.
혹시 지금 “이건 버블인데”라고 생각하는 자산이 있다면, 한 가지만 기억하세요. 그 판단이 맞을 가능성은 꽤 높아요. 다만 언제인지는 감지기도 모르고, 당신도 모른다는 것을요.
데이터: 나스닥 지수(1986~2026), QQQ, 엔비디아, 비트코인, 코스피 주봉 종가. SADF 검정은 최소 창 52주·시차 1, 임계값은 무작위 걸음 300경로 몬테카를로의 95% 분위수. 매매 검증은 전환당 10bp 비용 반영. 구현은 mlfinlab의 SADF와 대조해 소수점 12자리까지 일치를 확인했어요. 검정법 원전은 Phillips·Wu·Yu(2011)와 Phillips·Shi·Yu(2015), 변동성 관련 비판은 Harvey 외(2016)를 참고했어요. 이 글은 정보 제공 목적이며 특정 종목·전략의 투자 권유가 아니에요.
댓글 남기기