Q

PRIVATE NAVIGATION MODE

ML4T 탭 잠금 해제

패스워드를 확인하면 이 브라우저에서 ML4T 탭과 검색 결과를 표시합니다.

STUDY SEARCH

학습 자료 검색

제목과 설명, 키워드, 학습 본문에서 찾습니다.

검색 범위

검색어를 입력해 주세요.

SEARCH THE NOTEBOOK

찾고 싶은 금융·통계·전략 개념을 입력해 보세요.

CHAPTER 04.11 / MONTE CARLO SIMULATION

4.11 무작위 반복으로 분포를 근사하기

시드 기반 가상 복리 경로로 최종값 분포와 분위수를 근사하고 모형 위험을 구분합니다.

4장. 확률분포·조건부확률·베이즈와 중심극한정리초급 학습 노트

4.11 무작위 반복으로 분포를 근사하기

이 페이지는 4장의 선택 실습이다. 명시한 입력 모형에서 시드 고정 난수로 여러 경로를 만들고 결과 분포와 모형 한계를 함께 읽는 것이 목표다.

Monte Carlo simulation(몬테카를로 시뮬레이션)은 컴퓨터로 같은 가상 실험을 여러 번 실행하는 방법이다. 공식으로 답을 바로 구하기 어려울 때, 반복해서 나온 값을 모아 어떤 결과가 자주 나오고 어디까지 퍼지는지 대략 살펴본다. 이렇게 결과가 모이고 퍼진 전체 모습을 Distribution(분포)라고 한다.

시뮬레이션은 정한 규칙으로 여러 가상 결과를 만든다

Model(모형)은 현실을 그대로 복사한 것이 아니라 실험을 위해 정한 간단한 규칙이다. 이 페이지에서는 자산가치 100으로 시작해 20번의 변화를 겪는 가상 실험을 한다. 매 기간에는 다음 두 결과 가운데 하나가 일어난다.

  • 55% 확률로 2% 상승
  • 45% 확률로 1.5% 하락

각 기간의 결과는 Independent(독립적)라고 가정한다. 이는 앞 기간의 결과가 다음 기간의 확률을 바꾸지 않는다는 뜻이다. 이번 기간에 올랐더라도 다음 기간의 상승확률은 여전히 55%다.

20번의 결과를 처음부터 끝까지 이어 붙인 한 번의 가상 기록을 Path(경로)라고 한다. 예를 들어 상승 → 하락 → 상승 → …처럼 상승과 하락이 이어진 모습이 경로 하나다. 이 실습에서는 이러한 가상 기록 2,000개, 즉 총 2,000경로를 만든다. 경로마다 상승과 하락의 순서가 다를 수 있으므로 마지막 자산가치도 달라진다.

이 수치는 학습용이며 실제 자산을 묘사하지 않는다. 각 기간의 수익률은 직전까지 변한 자산가치에 적용한다. 예를 들어 자산가치 100이 2% 올라 102가 된 뒤 1.5% 내리면 100.47이 된다(100102100.47100 \rightarrow 102 \rightarrow 100.47). 이처럼 앞선 결과를 다음 계산의 시작값으로 사용하는 방식이 Compounding(복리 계산)이다. 따라서 2%와 -1.5%를 단순히 더하지 않고 매 기간의 자산가치를 이어서 계산한다.

Vt=Vt1(1+rt)V_t = V_{t-1}(1+r_t)
VtV_t
tt기간 말의 가상 자산가치
단위: 자산가치 지수
Vt1V_{t-1}
직전 기간 말의 가상 자산가치
단위: 자산가치 지수
rtr_t
tt기간의 가상 Simple return(단순수익률)
단위: 0~1 비율 또는 퍼센트

시드는 결과를 다시 만들기 위한 시작 상태다

Seed(시드)는 의사난수 생성기의 시작 상태다. 같은 알고리즘, 입력과 시드를 사용하면 같은 난수열과 결과를 재현할 수 있다. 시드를 고정한다고 모형의 무작위성이 사라지는 것은 아니다. 한 가능한 반복을 정확히 다시 볼 수 있게 한다.

결과를 비교할 때는 시드, 경로 수와 알고리즘을 함께 기록한다. 결과가 마음에 들 때까지 시드만 바꾸고 좋은 결과를 고르면 선택편향이다.

INTERACTIVE STUDY TOOL시드 고정 Monte Carlo 실습단순한 상승·하락 입력 모형에서 여러 복리 경로를 생성해 최종 자산가치 분포를 근사합니다.
55%
2%
-1.5%

가상 자산가치 경로 예시

전체 2,000경로 중 10개만 표시합니다.

시작20기간

최종 자산가치 분포

전체 2,000경로의 마지막 값을 모두 반영합니다.

최종 자산가치 요약
10번째 백분위수
97.7319
중앙값
108.5245
90번째 백분위수
120.5091
초기값 100 미만 비율
13.30%

20기간, 2,000경로, 시드 20260812. 입력 모형 밖의 위험은 포함하지 않습니다.

평균 하나보다 분포 요약을 함께 읽는다

최종 자산가치 2,000개를 작은 값부터 큰 값까지 줄 세우면 다음 수치의 뜻을 이해하기 쉽다.

  • Median(중앙값): 줄의 가운데를 나타내는 값이다. 약 1,000개는 이 값보다 작고, 나머지 약 1,000개는 이 값보다 크다.
  • 10th percentile(10번째 백분위수): 작은 쪽에서 약 200번째에 있는 값이다. 전체 2,000개 중 약 200개가 이 값보다 작거나 같다.
  • 90th percentile(90번째 백분위수): 작은 쪽에서 약 1,800번째에 있는 값이다. 전체 2,000개 중 약 1,800개가 이 값보다 작거나 같고, 약 200개는 더 크다.
  • Loss probability(손실확률): 2,000개 경로 중 마지막 자산가치가 시작값 100보다 낮아진 경로의 비율이다. 예를 들어 300개가 100보다 낮다면 손실확률은 15%다.

분위수와 손실비율은 유한한 시뮬레이션에서 얻은 근삿값이다. 시드나 경로 수를 바꾸면 조금 달라진다.

반복 수는 Monte Carlo 오차를 줄인다

경로 수가 적으면 추정한 분위수와 손실확률이 시드에 따라 크게 흔들릴 수 있다. 각 경로를 다른 경로의 결과에 영향을 받지 않도록 따로 만들고 그 수를 늘리면 Monte Carlo error(몬테카를로 오차)는 대체로 줄어든다. 그러나 계산시간과 메모리 사용도 증가한다.

경로 수를 늘리는 일과 기간 수를 늘리는 일은 다르다. 경로 수는 같은 질문의 근사 정밀도를 바꾸고, 기간 수는 질문 자체의 시간 범위를 바꾼다.

반복 횟수를 늘려도 잘못 세운 규칙은 고쳐지지 않는다

컴퓨터가 반복하는 것은 현실이 아니라 우리가 정한 규칙이다. Model risk(모형 위험)는 이 규칙이 현실과 달라서 결과가 빗나갈 수 있는 위험을 뜻한다. 이 실습의 규칙은 이해하기 쉽도록 현실을 다음과 같이 단순화했다.

  • 상승확률 55%와 상승·하락 수익률이 매 기간 똑같다고 가정한다. 실제로는 시장 상황에 따라 모두 달라질 수 있다.
  • 앞 기간의 결과가 다음 기간에 영향을 주지 않는다고 가정한다. 실제로는 큰 상승이나 하락 뒤에 큰 움직임이 다시 이어질 수 있다.
  • 오르면 2%, 내리면 1.5%라는 두 가지 크기만 사용한다. 실제 수익률의 크기는 훨씬 다양하며 매우 큰 하락도 생길 수 있다.
  • 거래비용, 주문이 원하는 가격에 체결되지 않는 상황, 빌린 돈을 사용했을 때의 위험을 포함하지 않는다.
  • 자산 하나만 계산한다. 실제로는 여러 자산과 여러 기간의 움직임이 서로 영향을 줄 수 있다.

규칙이 현실과 다르면 경로를 1억 개 만들어도 그 규칙이 현실에 맞게 바뀌지는 않는다. 단지 잘못 세운 규칙에서 나오는 결과를 더 촘촘하게 확인하게 될 뿐이다. 따라서 이 결과만 보고 실제 전략이 과거에도 통했거나 미래에 수익을 낼 것이라고 판단하면 안 된다.

자주 생기는 오해

  • Monte Carlo는 미래를 여러 번 실제로 관측하는 방법이 아니다.
  • 같은 시드는 같은 가상 결과를 재현할 뿐 정확성을 보장하지 않는다.
  • 경로 수 증가가 입력 모형의 편향과 누락 위험을 고치지 않는다.
  • 기간 수와 경로 수는 서로 다른 질문을 바꾼다.
  • 최종값 평균 하나만 보면 비대칭과 손실 꼬리를 놓칠 수 있다.
  • 독립 시행 가정은 실제 금융시장에서 자동으로 성립하지 않는다.

이해 점검

시드를 기록하는 이유는 무엇인가?

같은 알고리즘과 입력에서 동일한 난수열과 결과를 다시 만들어 계산과 버그를 검증하기 위해서다.

경로 수를 늘리면 무엇이 줄고 무엇은 남는가?

유한 반복 때문에 생기는 Monte Carlo 오차는 줄지만 잘못된 입력 분포와 의존성 같은 모형 위험은 남는다.

20기간 수익률을 단순히 더하면 안 되는 이유는 무엇인가?

각 기간 수익률은 직전 자산가치에 적용되므로 (1+rt)(1+r_t)를 차례로 곱해 복리 경로를 만들어야 한다.

시뮬레이션의 손실확률을 실제 미래 손실확률로 바로 읽을 수 없는 이유는 무엇인가?

그 비율은 입력한 상승확률, 수익률, 독립성과 기간 가정 안에서만 성립하는 근삿값이기 때문이다.

완료 기준

명시적 시드와 입력으로 가상 복리 경로를 반복 생성하고, 최종값의 중앙값·10번째·90번째 백분위수·초기값 미만 비율을 해석하며, 반복 수 증가가 모형 위험을 없애지 못한다고 설명할 수 있으면 4장을 마친다. 다음 장에서는 분포의 기대값과 변수 사이의 공분산을 계산한다.

이 자료의 모든 경로와 수익률은 시뮬레이션 원리를 설명하기 위한 가상값이며 투자 권유, 백테스트 증거 또는 미래 성과 예측이 아니다.