레짐 스위칭 —
시장의 날씨
시장에는 조용히 오르는 맑은 날과 급락이 급락을 부르는 폭풍이 있다. 문제는 오늘이 어느 쪽인지 알려 주는 일기예보가 없다는 것. 매일의 수익률이라는 증상만으로 숨은 국면을 실시간 추론하는 은닉 마르코프 모형(HMM)을 만들고, 베이즈 갱신을 직접 조작해 본다. 그리고 이 장에서 단 하나만 기억한다면 — 운용에는 필터링만 쓴다.
침체 판정은 침체가 시작되고 1년 뒤에 왔다
공식 판정을 기다릴 수 없는 투자자는, 매일 도착하는 수익률이라는 간접 증거만으로 보이지 않는 국면을 스스로 추론해야 한다.
"경기 침체는 작년 12월에 시작되었습니다"
2008년 12월 1일, 미국의 경기순환 판정 기구인 NBER(전미경제연구소)가 발표했다. 침체의 시작점은 2007년 12월 — 발표 시점에서 이미 1년 전이다. 판정이 나온 그 순간, 시장은 금융위기의 한복판을 지나고 있었다.
공식 기구가 게을렀던 것이 아니다. 경기의 국면은 직접 관측할 수 없어서, 지표가 충분히 쌓인 뒤에야 확정할 수 있다. 뉴스의 "약세장 진입" 선언도 폭락이 한참 진행된 뒤에 나온다. 그런데 투자자는 그렇게 기다릴 수 없다. 폭풍이 공식 확인되는 시점이면 계좌는 이미 젖어 있다. 필요한 것은 확정 판정이 아니라, 매일 도착하는 수익률이라는 증상만으로 오늘의 날씨를 확률로 추정하는 도구다. 감기인지 독감인지 직접 볼 수 없고 열과 기침으로 추론하는 의사의 상황과 같다.
이 모듈은 그 추론기를 만든다. 이름은 은닉 마르코프 모형(HMM) — "직접 볼 수 없는 상태가 확률적으로 오가고, 우리가 보는 관측은 상태에 따라 다른 분포에서 나온다"는 모형이다. 그리고 K-means 모듈에서 데이터를 정적인 무리로 나눴다면, 이번에는 시간 축 위에서 국면이 전환되는 구조를 다룬다.
"판정의 지연"은 예외가 아니라 구조다. NBER은 2020년 2월에 시작된 코로나 침체도 그해 6월에야 공식화했고, 이번에는 이례적으로 빨랐다는 평가를 받았다. 국면이란 원래 사후에야 또렷해지는 것이다. 역사가는 기다릴 수 있지만 트레이더는 기다릴 수 없다 — 이 비대칭이 이 장 후반의 필터링 vs 스무딩 구분으로 그대로 이어진다.
생각해 볼 질문
"지금이 약세장인가"라는 질문에 예/아니오가 아니라 확률로 답해야 하는 이유는 무엇인가. 이 모듈이 끝나면 "증거가 쌓이는 속도" 관점에서 답할 수 있어야 한다.
출처 NBER 경기순환 판정(2007.12 침체 시작, 2008.12.1 발표): nber.org/research/business-cycle-dating
레짐과 은닉 마르코프 모형
"평균과 변동성이 일정하다"는 가정은 실제 시장에서 깨진다. 성질이 다른 두 분포가 번갈아 나타난다고 보는 순간 데이터가 훨씬 자연스럽게 설명된다.
시장의 날씨 — 통계적 성질이 다른 숨은 국면
레짐(regime)은 시장의 숨은 국면이다. 강세(평균 수익 +, 변동성 낮음)와 약세(평균 −, 변동성 높음)처럼, 수익률의 통계적 성질이 확연히 다른 기간들이 번갈아 나타난다.
지금까지 다룬 많은 도구는 수익률의 평균과 변동성이 시간에 걸쳐 대체로 일정하다고 은근히 가정해 왔다. 실제 데이터를 길게 펼치면 이 가정은 명백히 깨진다. 조용히 오르는 몇 년이 이어지다가, 어느 순간 변동성이 서너 배로 치솟으며 급락이 급락을 부르는 몇 달이 온다 — 2008년 금융위기, 2020년 3월의 코스피와 S&P 500이 모두 그랬다. "하나의 분포"로 뭉뚱그리는 대신 "성질이 다른 두 개의 분포가 번갈아 나타난다"고 보는 것이 레짐이라는 발상의 출발점이다.
| 국면 | 일 평균 수익 | 일 변동성 | 성격 |
|---|---|---|---|
| 강세 (맑음) | 0보다 살짝 + | 낮음 | 조용한 상승. 며칠·몇 달이 아니라 몇 년 단위로 지속되기도 한다 |
| 약세 (폭풍) | − | 높음 (3~4배) | 요동치는 하락. 짧지만 깊다. 낙폭의 대부분이 여기서 발생한다 |
레짐의 핵심은 "지금이 어느 국면인지 아무도 공식적으로 알려 주지 않는다"는 데 있다. 도입에서 본 대로 공식 판정은 구조적으로 늦다. 매일 도착하는 수익률이라는 간접 증거만으로 실시간 추론해야 하고, 이 문제를 정확히 풀기 위해 고안된 도구가 은닉 마르코프 모형이다.
레짐 발상은 두꺼운 꼬리(fat tails) 문제에 대한 부분적인 해답이기도 하다. 실제 수익률 분포는 정규분포보다 극단값이 훨씬 자주 나온다 — 일간 변동성 1%인 시장에서 −5%는 정규분포 기준 대략 1만 년에 한 번꼴이어야 하지만, 실제 시장은 수십 년마다 몇 번씩 겪는다. 그런데 각 레짐 안에서는 얌전한 정규분포를 쓰더라도, 폭이 좁은 분포와 폭이 넓은 분포가 섞인 전체 그림은 단일 정규분포보다 꼬리가 훨씬 두꺼워진다. 극단값의 상당 부분은 "정규분포로 설명 안 되는 괴물"이 아니라 "약세 레짐에서 온 평범한 값"이었던 셈이다.
다만 이 설명도 완전하지는 않다. 약세 레짐의 정규분포조차 실제 폭락의 꼬리를 다 담지는 못한다 — §5에서 이 한계로 되돌아온다. 표준편차·샤프지수처럼 정규분포에 기댄 척도가 위험을 과소평가할 수 있다는 점, 그래서 최대낙폭(MDD)을 반드시 함께 봐야 한다는 기준선 모듈의 원칙이 여기서 근거 하나를 더 얻는다.
숨은 상태 · 전이확률 · 상태별 관측 분포
은닉 마르코프 모형(HMM)의 구성요소는 셋이다. ① 상태별 관측 분포(강세일 때의 수익률 분포 / 약세일 때의 분포) ② 전이확률(오늘 강세면 내일도 강세일 확률) ③ 초기확률.
세 부품을 날씨 비유로 읽으면 이렇다. ① 상태별 관측 분포는 "맑은 날에는 어떤 증상이 나오는가"다 — 맑은 날(강세)의 수익률은 0보다 살짝 큰 값 주변에서 조용히 움직이고, 폭풍(약세)의 수익률은 마이너스 쪽에서 크게 요동친다. ② 전이확률은 "날씨의 관성"이다. ③ 초기확률은 관측 첫날의 날씨에 대한 사전 믿음인데, 데이터가 쌓이면 영향이 금방 씻겨 나간다.
이름의 나머지 절반, 마르코프 성질은 "내일은 오늘 상태에만 의존한다"는 단순화 가정이다. 그저께가 어땠는지는 오늘 상태에 이미 요약되어 있다고 본다.
마르코프 성질은 언뜻 지나친 단순화처럼 보이지만 꽤 합리적인 타협이다. "폭풍이 사흘째 계속되고 있다"는 정보는 대부분 "오늘이 폭풍이다"라는 사실 안에 이미 들어 있다 — 폭풍은 유지확률이 높으므로 내일도 폭풍일 가능성이 크다는 결론은 오늘 상태만 알아도 나온다. 물론 실제 시장에는 "폭풍이 오래될수록 끝날 때가 가까워진다" 같은 기억 효과가 있을 수 있고, 마르코프 가정은 이를 포기하는 대신 계산 가능성을 얻는다. 모형이란 늘 이런 교환이다.
HMM 자체는 금융에서 태어난 도구가 아니다. 1960~70년대에 수학적 기초(바움–웰치)가 놓였고 음성 인식에서 표준 도구로 자리 잡은 뒤, 1989년 해밀턴이 미국 GNP 성장률에 적용해 확장·침체 두 레짐 모형이 실제 경기순환 판정과 잘 일치함을 보이면서 거시경제와 금융으로 건너왔다. 참고문헌에 원문을 달았다.
출처 Hamilton, "A New Approach to the Economic Analysis of Nonstationary Time Series and the Business Cycle", Econometrica 57(2), 1989. doi.org/10.2307/1912559 · Rabiner, "A Tutorial on Hidden Markov Models", Proceedings of the IEEE 77(2), 1989. doi.org/10.1109/5.18626
증거의 세기 — 두 장의 지도와 베이즈 갱신
오늘의 수익률이 강세 지도에서 더 흔한 값인가, 약세 지도에서 더 흔한 값인가. 그 "흔함"의 비율이 믿음을 움직이는 힘의 크기다.
+0.3%는 힘없는 증거, −4%는 결정적 증거
확률 분포는 어떤 값이 나올 가능성을 값마다 적어 둔 지도다. 강세의 지도는 봉우리가 살짝 +쪽이고 폭이 좁으며(조용한 상승), 약세의 지도는 봉우리가 −쪽이고 폭이 넓다(요동치는 하락). 오늘 관측이 어느 지도에서 더 흔한 값인지가 추론의 재료다.
| 오늘의 수익률 | 강세 지도에서 | 약세 지도에서 | 증거로서의 세기 |
|---|---|---|---|
| +0.3% | 흔한 값 | 그럭저럭 흔한 값 | 약함 — 믿음이 거의 안 움직인다 |
| −4% | 봉우리에서 약 5σ, 사실상 불가능 | 약 1.8σ, 가끔 보는 값 | 결정적 — 믿음이 크게 꺾인다 |
이 문장이 이 장 전체의 추론 엔진이다. 오늘 +0.3%가 나왔다면 두 지도 모두에서 그럭저럭 흔한 값이라 증거로서 힘이 약하다. 반면 −4%가 나왔다면 이야기가 다르다. 폭이 좁은 강세 지도(μ=+0.07%, σ=0.8%)에서 −4%는 봉우리에서 표준편차의 다섯 배나 떨어진 극단이라 사실상 나올 수 없는 값인데, 폭이 넓은 약세 지도(μ=−0.1%, σ=2.2%)에서는 두 배 남짓 떨어진, 가끔 보는 값이다. 같은 하나의 숫자가 두 지도에서 갖는 "흔함"(확률밀도)의 비율이 곧 증거의 세기이고, 베이즈 갱신에서 믿음을 얼마나 움직일지를 결정한다.
표의 σ 계산을 직접 해 보면: 강세에서 (−4 − 0.07) ÷ 0.8 ≈ −5.1σ, 약세에서 (−4 + 0.1) ÷ 2.2 ≈ −1.8σ. 정규분포에서 5σ 바깥은 사실상 확률 0이고 1.8σ는 수십 일에 한 번 나올 수 있는 값이라, 두 밀도의 비율은 수만 배까지 벌어진다 — 실습에서 정확한 숫자를 확인한다.
일간 파라미터(+0.07%/0.8%, −0.1%/2.2%)를 거래일 기준으로 연 환산하면 대략 강세 +18%/변동성 12%, 약세 −25%/변동성 35%가 된다. §5의 합성 시장 실험이 심어 둔 값과 같은 세계다 — 실습에서 만지는 분포와 검증 실험의 분포가 하나로 이어진다.
믿음 80%가 급락 하루에 36%로 — 계산의 전부
베이즈 정리는 새 증거를 보고 믿음(확률)을 갱신하는 규칙이다. 갱신된 믿음(사후확률)은 원래 믿음(사전확률)에 "그 증거가 나올 가능성"(우도)을 곱한 것에 비례한다: \( P(\text{강세}\mid r)\;\propto\;P(\text{강세})\times f_{\text{강세}}(r) \).
어제까지 강세 믿음이 80%였는데 오늘 −2%가 나왔다고 하자. 위의 두 분포에서 −2%의 확률밀도는 강세 1.754, 약세 12.489 — 약세 쪽이 7.1배 흔하다. 계산은 두 줄이다.
- 가설마다 사전 × 우도 — 강세: 0.80 × 1.754 = 1.403. 약세: 0.20 × 12.489 = 2.498
- 합이 1이 되도록 정규화 — 사후 P(강세) = 1.403 ÷ (1.403 + 2.498) = 1.403 ÷ 3.901 ≈ 36.0%
사전 믿음이 4배나 우세했는데도(80 vs 20) 증거의 흔함이 7.1배 차이 나자 믿음이 뒤집히기 직전까지 깎였다. 사전확률과 증거가 줄다리기하는 모습 — 이것이 베이즈 정리의 전부다. 이 갱신을 매일 반복하는 것이 필터링이다.
실제 필터링은 우도를 곱하기 전에 한 단계가 더 있다. 어제의 믿음에 전이확률을 곱해 "하루가 지나며 날씨가 바뀌었을 가능성"을 먼저 반영한 뒤(어제 강세 80%였다면 오늘 아침의 사전 믿음은 0.80×0.98 + 0.20×0.05 = 79.4%), 그 값에 오늘 관측의 우도를 곱하고 정규화한다. "이월 → 곱하기 → 정규화" 세 단계를 매일 반복하는 것이 전방(forward) 알고리즘이고, 뼈대는 위의 두 줄 계산 그대로다.
우도로 쓰는 값이 확률이 아니라 확률밀도(1.754처럼 1을 넘을 수 있는 값)라는 점이 헷갈릴 수 있는데, 베이즈 갱신에서는 두 가설 사이의 비율만 중요하므로 밀도를 그대로 써도 정규화 과정에서 단위가 소거된다.
학습은 EM이, 운용은 필터가
파라미터는 EM 알고리즘이 데이터에서 배우고, 운용은 매일 갱신한 강세 확률을 그대로 투자 비중으로 쓴다. 두 단계는 별개다.
레짐을 알면 파라미터는 쉽고, 파라미터를 알면 레짐은 쉽다
EM(Expectation–Maximization)은 숨은 상태가 있는 모형을 학습하는 표준 반복법이다. "현재 파라미터로 각 날의 상태 확률을 추정(E단계) → 그 추정을 정답 삼아 파라미터를 다시 맞춤(M단계)"을 수렴할 때까지 반복한다.
닭과 달걀 문제가 왜 생기는지 짚어 두자. 각 날의 레짐을 안다면 파라미터 추정은 쉽다 — 강세로 표시된 날들의 수익률만 모아 평균·표준편차를 내면 된다. 반대로 파라미터를 안다면 각 날의 레짐 확률 계산도 쉽다 — §2의 베이즈 갱신이다. 문제는 둘 다 모른다는 것. EM은 아무 값에서나 시작해 둘을 번갈아 개선해 가며, 매 반복마다 데이터의 그럴듯함(가능도)이 좋아지거나 최소한 나빠지지 않음이 보장된다.
이 구조, 어디서 본 적이 있다. K-means 모듈의 "중심이 맞다 치고 배정 → 배정이 맞다 치고 중심 갱신" 반복과 정확히 같은 뼈대다. 실제로 K-means는 EM의 사촌이고, 같은 이유로 약점도 물려받는다 — 시작점에 따라 다른 답에 수렴할 수 있어, 실무에서는 여러 시작점에서 돌려 가장 그럴듯한 결과를 고른다.
출처 Baum, Petrie, Soules & Weiss, "A Maximization Technique Occurring in the Statistical Analysis of Probabilistic Functions of Markov Chains", Annals of Mathematical Statistics 41(1), 1970. doi.org/10.1214/aoms/1177697196 · Dempster, Laird & Rubin, "Maximum Likelihood from Incomplete Data via the EM Algorithm", JRSS-B 39(1), 1977.
강세 확신 90% = 자본의 90% 투자
운용 규칙은 놀랄 만큼 간단하다. 매일 "오늘까지의 수익률로 본 강세 확률"을 갱신하고, 그 확률을 그대로 투자 비율로 쓴다. 강세 확신 90%면 자본의 90% 투자, 폭풍 확신이 커지면 현금 피신.
이것은 모듈 1의 목표비중 언어로 정확히 번역된다 — 강세 확률이 곧 위험자산의 목표비중이고, 나머지는 자동으로 현금이다. "판단이 서지 않으면 현금"도 어엿한 전략적 결정이라던 그 아이디어를, HMM은 확률이라는 연속적인 손잡이로 정교화한 셈이다.
확률을 그대로 쓰는 방식에는 숨은 장점이 있다. 확신이 50% 근처에서 흔들릴 때 0/100 스위치 방식은 사고팔기를 반복하며 거래비용을 태우지만, 연속 비중은 그 사이 어딘가에 머물며 왕복 매매를 줄여 주는 완충이 된다. 급락 하루로 확률이 크게 깎이면 비중도 즉시 크게 줄어드는 자동 브레이크이기도 하다.
학습(EM)과 운용(필터링)을 별개의 단계로 분리해 두는 것이 중요하다. 학습은 과거 구간 전체를 보고 파라미터를 정하는 일이고, 운용은 정해진 파라미터로 매일의 확률을 앞으로만 굴리는 일이다. 학습 구간과 운용 구간이 겹치면 그 자체로 미래 정보의 누출이 되므로, 파라미터는 과거 데이터로 학습해 고정하고 운용 구간에서는 필터만 돌린다 — 전향 평가 모듈의 규율이 여기서도 그대로 적용된다.
생각해 볼 질문
강세 확률 55%일 때 55%를 투자하는 것과, "60% 넘으면 전액 투자, 아니면 전액 현금" 규칙 중 어느 쪽이 거래비용 관점에서 유리한가. 확률이 55~65% 사이를 오가는 한 달을 상상해 보라.
베이즈 갱신 실험실
사전 믿음과 오늘의 수익률을 직접 움직여, 급락 하루가 확률을 무너뜨리는 순간을 눈으로 본다.
급락 하루는 왜 이렇게 힘이 센가
사전 믿음 × 오늘의 증거 → 사후 확률
목표 — 같은 하나의 수익률이 강세 분포(μ=+0.07%, σ=0.8%)와 약세 분포(μ=−0.1%, σ=2.2%)에서 갖는 "흔함"의 비율이 사전 믿음을 얼마나 움직이는지 확인한다. (전이확률의 이월 단계는 생략한 한 번의 갱신이다.)
조작 안내 — 사전 80%·수익률 −2.0%에서 시작해, 수익률을 +0.1% → −2% → −4%로 옮겨 본다. 사전을 95%로 올린 뒤 −4%를 다시 시험해 본다. 관찰 포인트 — ① 평범한 날(+0.1%)에는 믿음이 거의 움직이지 않고 오히려 소폭 오른다(80→약 92%). 작은 수익률은 폭이 좁은 강세 분포에서 더 흔한 값이기 때문이다. ② −2%에서 80%가 36%로 반토막 이하 — 우도비 7배의 힘이다. ③ −4%에서는 사실상 0%로 붕괴한다. 강세 분포 기준 5σ 극단이라 우도비가 3만 배를 넘고, 사전을 95%로 올려도 소용없다. 급락 하루에 확률이 크게 깎이는 이유는, 수익률이 몇 σ 멀어질 때 밀도가 지수적으로 붕괴해 우도비가 폭발하기 때문이다. 사전(선형 배율)과 우도(지수 배율)의 줄다리기는 애초에 체급이 다르다.
손검산 — 사전 80%, 수익률 −2.0%일 때: 밀도는 강세 \( f(−2\%)=1.754 \), 약세 \( 12.489 \) (비 7.12). 사전×우도 = 강세 0.8×1.754=1.403, 약세 0.2×12.489=2.498. 정규화하면 1.403 ÷ 3.901 ≈ 36.0%. 슬라이더를 그 위치에 놓고 readout의 값과 일치하는지 확인하라.
필터링 vs 스무딩
같은 HMM에서 나오는 두 확률이지만 용도가 하늘과 땅 차이다. 트레이더는 그날의 일기(필터링)밖에 쓸 수 없다 — 회고록(스무딩)으로 백테스트하면 그것은 컨닝이다.
역사가는 스무딩을 쓰고, 트레이더는 필터링밖에 쓸 수 없다
필터링(filtering)은 "오늘까지의 관측"만으로 오늘의 상태 확률을 추정한다 — 실시간 가능, 운용에 쓸 수 있다. 스무딩(smoothing)은 전체 기간의 관측(미래 포함)을 다 보고 과거 각 날의 상태를 재추정한다 — 사후 분석용, 운용에 쓰면 룩어헤드다.
백테스트는 "과거의 매일에 서서 그날의 트레이더가 되어 보는 일"이므로, 당연히 그날의 일기를 써야지 회고록을 쓰면 안 된다. 스무딩은 미래를 이미 알고 과거를 색칠하므로 국면 전환점이 소름 돋게 깔끔하게 맞는다 — 그리고 바로 그 깔끔함이 위험 신호다.
필터링 확률은 전방(forward) 알고리즘으로 계산한다 — §2의 손계산에 "전이확률로 이월" 단계를 붙여 매일 반복하는 것이 전부다. 여기에 미래에서 거꾸로 오는 후방(backward) 계산을 결합하면 스무딩이 된다. 전방·후방(forward–backward) 알고리즘이라는 이름이 그래서 붙었고, EM의 E단계가 바로 이 계산을 쓴다. "가장 그럴듯한 상태의 경로 하나"를 뽑는 비터비(Viterbi) 알고리즘도 전체 관측을 다 보므로, 운용 관점에서는 스무딩과 같은 룩어헤드라는 점을 기억해 두자.
이 실수가 유독 흔한 데는 이유가 있다. 널리 쓰이는 HMM 라이브러리에서 상태 확률·상태 경로를 뽑는 기본 함수가 대개 스무딩 계열(또는 비터비)을 돌려준다. 코드는 한 줄이고 그림은 아름답다 — 급락 시작 전날 확률이 미리 꺾여 내려가는, 현실에서는 불가능한 그림이다.
"전환점이 딱딱 맞는 HMM 백테스트 = 좋은 모형"
블로그와 논문의 HMM 백테스트가 가장 흔히 저지르는 실수가 스무딩 확률로 백테스트하는 것이다. 전환점이 마법처럼 정확한 결과를 본다면 반드시 물어라 — "이 확률, 필터링인가 스무딩인가?"
"국면 전환 시점을 정확히 잡아내는 백테스트일수록 좋은 레짐 모형이다."
전환점이 소름 돋게 정확하다면 그것은 실력의 증거가 아니라 미래 정보가 새어 들었다는 증거일 가능성이 크다. 필터링은 구조적으로 며칠 늦을 수밖에 없다 — 새 국면의 증거가 쌓여야 확률이 옮겨 가기 때문이다. 부풀림의 크기도 미미하지 않다. 전환점을 정확히 아는 전략과 며칠 늦게 알아채는 전략의 차이는, 낙폭의 가장 아픈 첫 며칠을 맞느냐 피하느냐의 차이다.
숫자로 보면 이렇다. 폭풍이 시작된 첫날, 필터링은 어제까지의 강세 믿음 95%에서 오늘 하루의 급락만 반영해 예컨대 60%로 내려오는 데 그친다(하루의 증거로는 이만큼이 한계다). 스무딩은 이후 3주간 폭락이 이어졌음을 이미 알므로 같은 날을 5%로 색칠한다. 스무딩 백테스트는 이 5%를 보고 첫날부터 자본의 95%를 현금으로 뺀 셈이 되고, 필터링 백테스트는 40%만 뺀다. 성적 차이는 여기서 벌어진다.
이 플랫폼의 구현은 필터링만 쓰고, 자동 테스트가 이를 기계로 강제한다. prefix 불변 테스트의 아이디어는 간단하다 — "1월부터 6월까지 데이터로 계산한 3월 15일의 확률"과 "1월부터 12월까지 데이터로 계산한 3월 15일의 확률"이 같아야 한다. 뒤 데이터를 늘려도 앞 날짜의 값이 안 바뀌면 필터링이고, 바뀌면 스무딩이 섞인 것이다. 미래 정보가 새는지를 사람의 눈이 아니라 기계가 지키게 하는 것 — 모듈 1의 "다짐 대신 구조" 원칙이다.
검증 — 낙폭 방어가 존재 이유다
합성 시장에서 레짐 전략과 매수후보유는 같은 폭풍을 맞았다. 한쪽은 계좌의 절반을 잃었고, 한쪽은 4.3% 낙폭으로 막았다.
같은 폭풍, MDD −47.2% vs −4.3%
강세(연 +18%, 변동성 12%)와 약세(연 −25%, 변동성 35%)를 오가는 레짐을 심어 둔 가짜 시장에서 실험했다. 아래 수치는 모두 이 플랫폼의 합성데이터 실험 결과이며, 실전 기대치가 아니다.
| 전략 | 샤프지수 | MDD | 무슨 일이 있었나 |
|---|---|---|---|
| HMM 필터 전략 | 1.76 | −4.3% | 폭풍 확신이 커질 때 현금으로 피신 — 낙폭을 4.3%에서 끊었다 |
| 매수후보유 | −0.29 | −47.2% | 같은 폭풍을 정면으로 맞아 계좌의 절반을 잃었다 |
EM은 심어 둔 평균·변동성·지속확률을 정확히 복원했다 — 변동성 추정치가 이론값과 일치할 정도였다. 그리고 성과표에서 읽을 것은 수익률이 아니다. MDD −47.2%를 맞으면 본전까지 약 +89%를 벌어야 하지만(잃는 비율보다 회복에 필요한 비율이 항상 더 큰, 모듈 1의 비대칭 때문이다), −4.3%는 +4.5%면 회복된다. 수익의 원천이 종목 선택이 아니라 국면 판단 하나였다는 점, 그래서 레짐 전략의 존재 이유는 수익률이 아니라 낙폭 방어라는 점이 이 실험의 결론이다.
이 실험 설계에서 눈여겨볼 점이 둘 있다. 첫째, 왜 가짜 시장인가. 실제 데이터에는 "진짜 레짐"이라는 정답표가 없어서 모형이 맞게 배웠는지 확인할 길이 없다. 정답을 심어 둔 세계에서 EM이 그 정답을 복원하는지 먼저 확인하고, 도구가 원리대로 작동함을 검증한 뒤에야 실전 데이터 논의가 의미를 갖는다.
둘째, √6이라는 숫자. 실험의 변동성 이론값은 6종목 평균 기준이라, 서로 독립인 종목들의 잡음이 상쇄되어 개별 종목의 1/√6로 줄어든 값이다(여러 종목에 나눠 담을 때 포트폴리오 변동성이 줄어드는 분산투자 효과 그대로다). EM의 추정치가 이 이론값에 들어맞았다는 것은, 우연히 그럴듯한 숫자를 뱉은 게 아니라 구조를 제대로 찾았다는 정밀한 증거다. 매수후보유의 샤프가 −0.29일 만큼 약세를 길고 깊게 설계한 환경에서 전략의 샤프가 1.76이라는 것은, "폭풍을 피하는 것만으로" 위험 대비 수익이 얼마나 개선되는지를 보여 준다.
가짜 시장의 샤프 1.76을 실전 기대치로 옮겨 적지 말 것
실제 시장의 레짐은 두 개가 아니고, 분포 자체가 세월에 따라 변한다. 이 장의 검증은 "HMM이 사실인 세계"에서 이루어졌다는 점을 잊으면 안 된다.
- 굼뜬 전환 (양방향) — 필터 확신은 전환 직후 필연적으로 느리다. 폭풍 진입을 늦게 알아채면 낙폭의 첫 며칠을 맞고, 폭풍의 끝을 늦게 알아채면 회복 랠리의 첫 구간을 현금으로 구경만 한다. 2020년 3월처럼 급락과 V자 반등이 몇 주에 압축된 국면에서는 이 왕복 지연이 특히 아프다
- 거짓 경보 (이중 비용) — 잠깐의 급락을 폭풍으로 오인하면, 팔 때 거래비용을 내고 시장이 오르는 동안 현금에 앉아 기회비용을 낸다. 확률을 그대로 비중으로 쓰는 방식이 0/100 스위치보다 이 왕복 매매를 줄여 주는 완충이다
- 정규분포는 근사 — 실제 분포의 두꺼운 꼬리는 폭풍을 모형의 예상보다 자주, 세게 데려온다. 약세 레짐의 정규분포조차 실제 폭락의 꼬리를 다 담지 못한다
- 모형 ≠ 세계 — 가장 조용한 함정. 실제 시장은 HMM이 아니라 HMM으로 근사할 수 있을 뿐인 무엇이다. 가정과 같은 세계에서 잘 작동함과 실전에서 잘 작동함 사이에는 늘 간극이 있다
실무의 레짐 모형은 여러 방향으로 확장된다. 상태를 셋으로 늘려 "횡보"를 추가하기도 하고 — 다만 상태가 늘수록 파라미터가 많아져 과적합 위험이 커지므로, 몇 개가 최적인지는 정보 기준이나 검증 성과로 고른다. 상태별 분포를 꼬리가 두꺼운 t-분포로 바꿔 극단값에 덜 놀라는 필터를 만들기도 하고, 관측을 수익률 하나가 아니라 변동성 지수(VIX)·금리 스프레드 같은 변수와 함께 넣어 국면 판별의 증거를 늘리는 접근도 흔하다.
어떤 확장을 하든 이 장의 규율은 그대로다 — 운용에 쓰는 확률은 반드시 필터링이어야 하고, 평가의 초점은 MDD다. 다음 모듈(레짐 앙상블)은 이 국면 확률을 여러 전략의 스위치로 쓰는 확장을 다룬다.
출처 레짐 전환과 금융시장 개관: Ang & Timmermann, "Regime Changes and Financial Markets", Annual Review of Financial Economics 4, 2012. NBER Working Paper 17182: nber.org/papers/w17182
퀴즈와 정리
답을 보기 전에 먼저 스스로 답해 본다. 전부 이 모듈 안에서 다룬 내용이다.
스무딩 확률로 백테스트하면 성과가 부풀려지는 이유는?
필터 확신이 레짐 전환 직후에 느린 이유는?
급락 하루가 나왔을 때 강세 확률이 크게 내려가는 논리는?
어제 강세 믿음 60%, 오늘 관측의 밀도가 강세 0.01·약세 0.03이라면(전이 무시) 오늘의 강세 확률은?
"뒤쪽 데이터를 더 붙여 재계산해도 앞 날짜의 확률이 변하지 않아야 한다"는 prefix 불변 테스트가 잡아내는 오류는?
각 레짐 안에서는 정규분포를 쓰는데도 레짐 혼합이 두꺼운 꼬리를 일부 설명하는 이유는?
① HMM = 숨은 상태 + 상태별 관측 분포 + 전이확률. 증상(수익률)으로 병(레짐)을 추론한다.
② 매일의 갱신은 베이즈 정리 — 사전 믿음 × 관측의 흔함(우도) → 정규화. 학습(EM)과 운용(필터링)은 별개의 단계다.
③ 운용에는 필터링만 쓴다. 스무딩 백테스트는 미래를 컨닝한 성적표이며, prefix 불변 테스트가 이를 기계로 잡는다.
④ 평가의 초점은 MDD다 — 폭풍을 피했는가. 합성 실험에서 전략의 존재 이유는 수익률이 아니라 낙폭 방어였다.
⑤ 필터는 구조적으로 굼뜨다. 전환 지연과 거짓 경보는 실전 성과를 깎는 기본 비용이다.
참고문헌
수치와 일화는 아래 원문 기준으로 서술했다. 링크는 공개 원문·공식 등록처가 확실한 것만 달았다.
고전 · 원리
- Hamilton, J. D. (1989). "A New Approach to the Economic Analysis of Nonstationary Time Series and the Business Cycle." Econometrica 57(2), 357–384. doi.org/10.2307/1912559 — 레짐 스위칭을 거시경제·금융에 가져온 출발점. GNP 성장률의 확장·침체 2-레짐 모형.
- Rabiner, L. R. (1989). "A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition." Proceedings of the IEEE 77(2), 257–286. doi.org/10.1109/5.18626 — 전방·후방, 비터비, 바움–웰치를 정리한 표준 튜토리얼.
- Baum, L. E., Petrie, T., Soules, G. & Weiss, N. (1970). "A Maximization Technique Occurring in the Statistical Analysis of Probabilistic Functions of Markov Chains." Annals of Mathematical Statistics 41(1). doi.org/10.1214/aoms/1177697196 — HMM 학습(바움–웰치)의 수학적 기초.
- Dempster, A. P., Laird, N. M. & Rubin, D. B. (1977). "Maximum Likelihood from Incomplete Data via the EM Algorithm." Journal of the Royal Statistical Society, Series B 39(1). — EM 알고리즘의 일반형.
개관 · 판정 기록
- Ang, A. & Timmermann, A. (2012). "Regime Changes and Financial Markets." Annual Review of Financial Economics 4. NBER WP 17182: nber.org/papers/w17182 — 금융시장 레짐 전환 연구 개관.
- NBER Business Cycle Dating Committee. 미국 경기순환 판정 연표(2007.12 침체 시작의 2008.12.1 발표 포함). nber.org/research/business-cycle-dating
이 자료의 백테스트 수치(샤프 1.76 / −0.29, MDD −4.3% / −47.2%, 변동성 복원)는 강의용 실험 플랫폼의 합성데이터 실험 실측이며, 실제 투자 성과를 시사하지 않는다. 실습의 분포 파라미터(강세 μ=+0.07%·σ=0.8%, 약세 μ=−0.1%·σ=2.2%)는 그 합성 실험의 일간 환산값이고, 본문의 확률 계산은 모두 손검산으로 검증했다. 인용 원칙: 연도는 발표 기준, 확신이 없는 서술은 "~로 알려져 있다 / ~일 수 있다"로 구분했다.