Monte Carlo 시뮬레이션이란
Monte Carlo 시뮬레이션은 무작위로 추출한 수많은 시나리오를 통해 미래 결과의 확률 분포를 추정하는 통계 기법이다. 1940년대 맨해튼 프로젝트에서 핵분열 계산을 위해 개발됐고, 모나코의 카지노 도시 이름을 따 명명됐다. 현재는 금융, 공학, 기상, 신약 개발 등 불확실성이 큰 분야에서 표준 도구로 쓰인다.
투자 분야에서 Monte Carlo가 쓰이는 핵심 이유는 한 가지다. 미래는 단일하지 않다는 것. “30년 뒤 자산이 얼마가 될까”라는 질문에 단일한 답(“3억 원”)이 아니라 “1억 원에서 10억 원 사이, 평균 4억 원, 90% 확률로 2-7억 원” 같은 확률 분포로 답한다.
핵심 작동 원리는 세 단계다.
1. 입력 분포 정의 각 자산의 수익률을 단일 값이 아닌 확률 분포로 표현한다. 평균 7%, 표준편차 15% 같은 식이다.
2. 무작위 추출 반복 분포에서 무작위로 수익률을 뽑아 30년치 시나리오를 만든다. 이를 1,000번 또는 10,000번 반복한다.
3. 결과 집계 모든 시나리오의 최종 자산을 모아 분포를 그린다. 평균, 중앙값, 5%·95% 분위수 등을 산출한다.
단순 평균 수익률 계산의 함정
Monte Carlo가 필요한 이유는 단순 평균 계산이 위험하기 때문이다.
연 평균 수익률 7%로 1억 원을 30년 투자한다고 단순 계산하면 7.6억 원이 된다. 그러나 실제로는 그렇게 되지 않을 가능성이 매우 높다.
기하평균과 산술평균의 차이 한 해 +20%, 다음 해 -20% 수익률이면 산술평균은 0%지만 실제 자산은 -4%다 (1 × 1.2 × 0.8 = 0.96). 변동성이 클수록 기하평균이 산술평균보다 작아진다.
경로 의존성 같은 평균 수익률이라도 손실이 초기에 발생하면 자산 회복이 어렵다. 특히 은퇴 후 정기 인출이 있는 경우 초반 손실은 치명적이다. 이를 “수익률 시퀀스 위험(Sequence of Returns Risk)“이라 부른다.
꼬리 위험 평균 주변에 결과가 몰리지 않고 극단값이 자주 발생한다. 단순 평균 계산은 이를 무시한다.
Monte Carlo는 이런 요인을 모두 시뮬레이션에 반영한다. 그래서 “평균 결과”가 아니라 “결과의 분포”를 보여준다.
시뮬레이션 결과 읽기
Monte Carlo 결과는 보통 다음 지표로 표현된다.
중앙값(Median, 50% 분위수) 1,000번 시뮬레이션 중 정확히 가운데 결과. 단순 평균보다 신뢰할 만한 “전형적 결과”다.
5% 분위수 1,000번 중 하위 50번째 결과. 최악 시나리오 부근으로, “이보다 나쁠 확률은 5%“라는 의미다.
95% 분위수 1,000번 중 상위 50번째 결과. 가장 운이 좋았을 때의 결과다.
목표 달성 확률 “30년 뒤 자산이 10억 원 이상일 확률”을 계산한다. 시뮬레이션 결과 중 목표를 달성한 시나리오 비율이다.
파산 확률(Depletion Risk) 은퇴 시뮬레이션에서 자금이 0이 되는 시점이 30년 이내인 시나리오 비율. 4% 룰의 안전성을 검증할 때 사용한다.
실무 적용: 은퇴 자금 계획
Monte Carlo가 가장 강력하게 쓰이는 영역이 은퇴 자금 계획이다.
전통적 4% 룰은 “은퇴 자산의 4%를 매년 인출하면 30년간 자금이 고갈되지 않는다”고 말한다. 이는 1994년 윌리엄 벵겐이 과거 데이터로 백테스트한 결과다. 하지만 미래는 과거와 다를 수 있다.
Monte Carlo로 검증하면 4% 룰의 한계가 보인다.
미국 주식 50% + 채권 50% 포트폴리오 30년 보유 시 자금 고갈 확률 약 5-10%.
주식 비중을 80%로 늘리면 평균 자산은 더 커지지만 초반 5년에 -30% 같은 큰 하락이 오는 시나리오에서 자금 고갈 확률이 오히려 증가한다.
인출률을 3.5%로 낮추면 자금 고갈 확률이 1-3%로 떨어진다.
물가상승률을 반영하면 실질 구매력 기준 안전 인출률은 더 낮아진다.
Monte Carlo는 이런 시나리오별 차이를 정량적으로 보여준다. 결정의 근거가 “감”에서 “확률”로 바뀐다.
시뮬레이션 설계의 핵심 변수
Monte Carlo 결과의 신뢰성은 입력값 품질에 좌우된다.
기대수익률 평균 수익률 추정치. 과거 데이터, 현재 밸류에이션, 경제 전망을 종합해 결정한다.
변동성 수익률 분산 정도. 과거 표준편차를 사용하지만 위기 시 변동성이 급등하는 점도 고려해야 한다.
상관관계 자산 간 동조 정도. 정상 시기와 위기 시기에 다른 상관계수를 적용하는 “체제 전환 모델”이 더 현실적이다.
확률 분포 가정 일반적으로 정규분포를 가정하지만, 실제 시장은 꼬리가 두꺼운 분포다. t-분포나 점프-디퓨전 모델이 더 정확하지만 복잡하다.
시뮬레이션 횟수 1,000번 이상이 권장된다. 10,000번 이상이면 더 안정적이지만 계산 시간이 길어진다.
시뮬레이션 기간 누적 효과가 중요하므로 보통 10년, 20년, 30년 단위로 본다.
한계와 비판
Monte Carlo도 만능은 아니다.
입력값 오류 “쓰레기를 넣으면 쓰레기가 나온다(Garbage In, Garbage Out)“는 원칙이 강하게 적용된다. 부정확한 기대수익률은 부정확한 결과를 낳는다.
정규분포 가정의 한계 2008년 금융위기, 2020년 코로나 폭락 같은 사건은 정규분포에서 거의 일어날 수 없는 “10시그마” 이벤트로 분류된다. 실제로는 수십 년에 한 번씩 일어난다. 정규분포 기반 Monte Carlo는 이런 극단 위험을 과소평가한다.
상관관계의 불안정성 위기 시 자산 간 상관관계가 급변한다. 일정한 상관계수를 가정한 시뮬레이션은 위기 시 실제 손실을 과소평가하는 경향이 있다.
미래의 새로운 위험 시뮬레이션은 과거에 관측된 위험만 다룬다. 처음 발생하는 위기는 모델 밖에 있다.
가짜 정밀성 “성공 확률 87.3%” 같은 결과는 정밀해 보이지만 입력값의 작은 변화로 크게 달라진다. 점추정보다는 범위로 해석해야 한다.
백테스트와의 차이
Monte Carlo와 백테스트는 자주 비교되는 두 방법이다.
백테스트(Backtest) 과거에 실제 일어난 데이터로 전략을 평가한다. 실제 경험이라는 강점이 있지만, 그 한 번의 역사만 보여준다.
Monte Carlo 가상의 미래 시나리오를 수천 번 생성한다. 다양한 가능성을 보여주지만 모두 가정에 기반한다.
두 방법은 서로 보완적이다. 백테스트로 전략이 과거에 어떻게 작동했는지 확인하고, Monte Carlo로 다양한 미래 시나리오에서 어떻게 작동할지 점검하는 방식이 일반적이다.
실제 사용 시나리오
Monte Carlo가 유용한 구체적 상황은 다음과 같다.
은퇴 자금 충분성 점검 현재 자산과 인출 계획으로 30년 자금이 충분한지 확률로 답한다.
자녀 학자금 계획 15년 뒤 필요한 1억 원을 위해 매월 얼마를 어떤 자산에 투자해야 할지 시뮬레이션한다.
자산배분 비교 60/40 vs 80/20 같은 다른 배분의 장기 결과 분포를 비교한다.
조기 은퇴 가능성 FIRE 운동에서 “지금 그만둬도 평생 자금이 부족하지 않을 확률”을 계산한다.
보험·연금 가입 결정 종신연금이나 변액연금의 기대 가치를 시뮬레이션으로 평가한다.
PFSE 도구로 시뮬레이션하기
PFSE 도구에서는 Monte Carlo를 다음 방식으로 활용할 수 있다.
- 현재 자산과 자산배분 기반 10-30년 자산 분포 시뮬레이션
- 정기 추가 투자나 정기 인출을 반영한 시나리오 분석
- 목표 자산 도달 확률 계산
- 다양한 자산배분 비교 (60/40, 70/30, 80/20 등)
도구는 PFSE 웹 애플리케이션에서 이용할 수 있다.
본 글은 Monte Carlo 시뮬레이션 개념을 정리한 정보 제공용이다. 특정 투자 전략의 매수·매도를 권유하지 않으며, 실제 투자 결정은 본인의 판단과 책임 하에 이루어져야 한다. 시뮬레이션은 가정 기반 추정이며 미래 수익을 보장하지 않는다.