본문 바로가기

취준/FRM part1

FRM part1. Reading 24: Simulation and Bootstrapping

 

FRM Part I – Reading 24
시뮬레이션과 부트스트래핑 (Simulation and Bootstrapping)

EXAM FOCUS

핵심 학습 목표

이 Reading은 불확실성을 모델링하기 위한 시뮬레이션 방법론을 다룹니다. 적절한 확률분포를 가정하고 무작위 입력(Random Inputs)을 생성하여 관심량(기대값, 분산, 분위수, VaR 등)을 반복 계산해 근사하는 몬테카를로 시뮬레이션(Monte Carlo Simulation)의 기본 절차를 학습하고, 이를 부트스트래핑(Bootstrapping) 기법과 비교합니다. 두 방법 모두 금융 리스크 관리에서 핵심적인 역할을 하며, 시험에서는 각 방법의 장단점과 적용 조건에 대한 깊은 이해를 요구합니다.

시험에서 반드시 할 수 있어야 하는 것

  • 몬테카를로 시뮬레이션의 5단계 절차를 설명하고, 이 방법이 모집단 모멘트(Moments) 또는 기타 통계량을 근사하는 데 어떻게 사용되는지 서술
  • 샘플링 오차(Sampling Error)를 줄이는 방법을 설명하고, 표준오차와 반복횟수(N)의 관계를 수식으로 도출
  • 대칭변량(Antithetic Variates)통제변량(Control Variates)의 원리와 분산 감소 조건을 유도
  • 부트스트래핑 방법론(i.i.d. Bootstrap, CBB)의 장단점을 몬테카를로와 비교
  • 의사난수생성기(PRNG)의 작동 원리와 시드(Seed)의 역할을 설명
  • 부트스트래핑이 비효과적인 상황(레짐 전환, 구조 변화)을 식별
  • 시뮬레이션 접근법의 한계(DGP 오명세, 계산 비용)를 서술

이 Reading은 정량적 계산(표준오차, 분산 감소 조건)과 정성적 개념(방법론 비교, 한계점)이 혼합되어 있습니다. 특히 표준오차와 N의 관계, Antithetic/Control Variates의 분산 감소 원리, 부트스트래핑의 한계가 시험에 자주 출제됩니다.


MODULE 24.1: 몬테카를로 시뮬레이션과 샘플링 오차 감소

LO 24.a: 몬테카를로 시뮬레이션의 기본 절차와 모멘트 근사

1. 몬테카를로 시뮬레이션이란?

몬테카를로 시뮬레이션(Monte Carlo Simulation)은 복잡한 문제를 모델링하거나 표본 크기가 작을 때 변수를 추정하기 위해 사용되는 확률적 수치 기법입니다. 이 방법의 핵심 아이디어는 매우 직관적입니다. 대부분의 금융 문제는 결국 다음과 같은 기대값(확률적 적분) 형태로 귀결됩니다:

$$\theta = E[g(X)]$$

여기서 \(g(X)\)는 관심 함수이고, \(X\)는 확률 변수입니다.

몬테카를로 시뮬레이션은 가정된 데이터 생성 과정(DGP)에서 \(X^{(i)}\)를 반복적으로 추출하여 다음과 같이 근사합니다:

$$\hat{\theta}_N = \frac{1}{N}\sum_{i=1}^{N} g(X^{(i)})$$

대수의 법칙(Law of Large Numbers)에 의해, N이 커질수록 이 표본평균은 참 기대값 \(\theta\)로 수렴합니다.

즉, 몬테카를로 시뮬레이션은 "적분(기대값)을 평균으로 바꾸는 도구"라고 이해할 수 있습니다. 해석적으로 풀기 어려운 복잡한 기대값 계산을 컴퓨터가 수천~수만 번의 무작위 시행을 통해 수치적으로 근사하는 것입니다.

2. 금융에서의 주요 활용 사례

몬테카를로 시뮬레이션은 금융 분야에서 다양하게 활용됩니다. 특히 해석적 해(Closed-form Solution)가 존재하지 않거나 매우 복잡한 경우에 위력을 발휘합니다.

활용 분야 설명
이색 옵션 가격 결정
(Exotic Option Pricing)
경로 의존(Path-dependent) 옵션 등 Black-Scholes 공식으로 풀 수 없는 옵션의 가격을 수천 개의 주가 경로를 시뮬레이션하여 근사
거시경제 변수 충격 분석 금리, 환율, 인플레이션 등 거시 변수의 변화가 금융시장에 미치는 영향을 다양한 시나리오로 추정
스트레스 테스트
(Stress Testing)
극단적 시장 상황에서의 자본 요구량, 포트폴리오 손실 등을 시뮬레이션
VaR 및 분위수 추정 포트폴리오 수익률 분포의 하위 분위수(1%, 5%)를 시뮬레이션하여 리스크 측정

3. 데이터 생성 과정 (Data Generating Process, DGP)

몬테카를로 시뮬레이션의 첫 번째 전제이자 핵심 가정은 데이터 생성 과정(DGP)을 사용자가 완전히 명세(Specify)한다는 것입니다. DGP란 다음 요소들을 모두 포함하는 "완전한 모형 사양"을 의미합니다:

  • 입력 변수의 확률분포: 정규분포, Student's t-분포, 로그정규분포 등
  • 분포의 모수(Parameters): 평균(\(\mu\)), 표준편차(\(\sigma\)), 자유도(\(\nu\)) 등
  • 변수 간 상관구조: 상관계수 행렬, 코풀라(Copula) 등
  • 시간 의존성: 자기회귀 구조(AR), 변동성 군집(GARCH) 등
  • 관심 함수 또는 방정식: 페이오프(Payoff), 손익(P&L), 제약 조건 등
시험 핵심 포인트: 몬테카를로 시뮬레이션에서 DGP의 가정이 현실과 다르면(Model Misspecification), 반복횟수 N을 아무리 늘려도 편향(Bias)은 제거되지 않습니다. N을 늘리면 줄어드는 것은 분산(Variance, 즉 샘플링 오차)뿐입니다. 이것이 시뮬레이션 접근법의 가장 근본적인 한계입니다.

4. 몬테카를로 시뮬레이션의 5단계 절차

몬테카를로 시뮬레이션은 다음의 5단계로 수행됩니다. 각 단계를 상세히 살펴보겠습니다.

단계 영문 상세 설명
Step 1 Generate Random Draw Data 가정한 DGP(확률분포)에서 무작위 입력 데이터 \(x_i = [x_{1i}, x_{2i}, \ldots, x_{ni}]\)를 생성합니다. 가장 흔히 사용되는 분포는 표준정규분포이며, 데이터에 더 적합하다고 판단되면 Student's t-분포를 사용하기도 합니다.
Step 2 Calculate the Statistic of Interest 생성된 무작위 입력을 기반으로 관심 통계량 또는 함수 \(g_i = g(x_i)\)를 계산합니다. 예를 들어, 옵션 가격 결정 문제에서는 시뮬레이션된 주가 경로에 따른 옵션 페이오프를 계산합니다.
Step 3 Repeat N Times Step 1과 Step 2를 N번 반복하여 N개의 복제(Replication)를 생산합니다.
Step 4 Estimate the Quantity of Interest \(\{g_1, g_2, \ldots, g_N\}\)으로부터 관심량을 추정합니다. 단일 점 추정치가 아니라 확률분포 형태의 추정치가 생성되므로, 가능한 결과의 범위를 더 잘 이해할 수 있습니다.
Step 5 Evaluate Accuracy 표준오차(Standard Error)를 계산하여 정확도를 평가합니다. 필요한 정확도에 도달할 때까지 N을 증가시킵니다. 일반적으로 N은 1,000~10,000회이며, 복잡한 문제에서는 그 이상이 필요할 수 있습니다.

5. 모집단 모멘트 근사 (Approximating Population Moments)

몬테카를로 시뮬레이션은 모집단 모멘트(평균, 분산 등)를 근사하는 데 일반적으로 사용됩니다. 알려진 분포에서 시뮬레이션된 값을 추출하여 이러한 근사치를 생성합니다. 모집단 모멘트 외에도, 포트폴리오 수익률 분포의 분위수(Quantile) 등 중요한 측정값도 결정할 수 있습니다. 이는 리스크 관리에서 하위 분포 분위수(예: 1% 또는 5%)를 계산할 때 특히 중요합니다.

예시: 포트폴리오 종료 자본 추정

투자 포트폴리오를 관리하며 1년 후 종료 자본 \(C_1\)을 추정하고자 합니다. 초기 자본 투자금 \(C_0 = \$100\)을 S&P 500에 투자합니다.

수익률이 다음 기간의 확률 변수라면, 종료 자본은 다음과 같이 계산됩니다:

$$C_1 = C_0 \times (1 + r)$$

단일 점 추정(Point Estimate): 과거 평균 수익률을 사용하면 하나의 추정치만 얻을 수 있습니다.

시뮬레이션 접근법: 수익률 \(r\)에 대한 확률분포를 가정하고 수천 개의 시나리오를 생성하면, 종료 자본 \(C_1\) 자체가 확률 변수가 되어 확률분포 형태로 출력됩니다. 이를 통해 "최악의 경우(1% 분위수)"부터 "최선의 경우(99% 분위수)"까지 가능한 결과의 전체 범위를 분석할 수 있습니다.


LO 24.b: 몬테카를로 샘플링 오차 줄이기

1. 표준오차(Standard Error)의 정의와 의미

몬테카를로 시뮬레이션의 샘플링 오차표준오차 추정치로 정량화됩니다. 시뮬레이션 결과의 정확도를 평가하는 핵심 척도입니다. 참 기대값의 표준오차는 다음과 같이 계산됩니다:

표준오차 (Standard Error)

$$SE(\hat{\theta}_N) = \frac{s}{\sqrt{N}}$$

여기서:

  • \(s\): 출력 변수 \(g_i\)들의 표본 표준편차
  • \(N\): 시뮬레이션 시나리오(복제) 수

2. 표준오차와 반복횟수 N의 관계

이 공식에서 매우 중요한 관계가 도출됩니다. 표준오차는 \(\sqrt{N}\)에 반비례하므로:

핵심 스케일링 관계:

  • 표준오차를 10배 줄이려면 (즉 정확도를 10배 높이려면) → N을 100배 늘려야 합니다.
  • 표준오차를 절반으로 줄이려면 → N을 4배 늘려야 합니다.
  • 표준오차를 1/k배로 줄이려면 → N을 \(k^2\)배 늘려야 합니다.

이 관계의 근본적인 이유는 표본평균의 분산이 \(\text{Var}(\bar{g}) = \text{Var}(g) / N\)이므로, 표준편차(=표준오차)가 \(\sqrt{\text{Var}(g)/N} = s/\sqrt{N}\) 꼴이 되기 때문입니다.

예시: 표준오차 감소 계산

상황: 초기 포트폴리오 \$100에 대해 시뮬레이션을 실행합니다.

1차 시뮬레이션 (N = 100):

  • 평균 종료 자본: \$110
  • 표준편차: \$14.80
  • 표준오차: \(SE = \frac{14.80}{\sqrt{100}} = \frac{14.80}{10} = \$1.48\)

2차 시뮬레이션 (N = 400):

  • 평균 종료 자본: \$110 (동일)
  • 표준편차: \$14.80 (동일)
  • 표준오차: \(SE = \frac{14.80}{\sqrt{400}} = \frac{14.80}{20} = \$0.74\)

결론: 시나리오 수를 4배(100 → 400)로 늘리면 표준오차가 정확히 절반(\$1.48 → \$0.74)으로 줄어듭니다.

추가 예시: 시험 스타일 문제

문제: 초기 시뮬레이션에서 100회 반복으로 표준편차 12.64를 얻었습니다. 900회 반복으로 재실행했을 때(표준편차 동일) 각각의 표준오차는?

풀이:

$$SE_{100} = \frac{12.64}{\sqrt{100}} = \frac{12.64}{10} = 1.264$$ $$SE_{900} = \frac{12.64}{\sqrt{900}} = \frac{12.64}{30} \approx 0.4213$$

반복횟수를 9배(100 → 900)로 늘리면 표준오차는 \(1/\sqrt{9} = 1/3\)로 감소합니다.

3. 분산 감소 기법의 필요성

시뮬레이션의 정확도는 표준편차와 시나리오 수에 의존합니다. 표준편차는 통제할 수 없지만, 시나리오 수는 통제할 수 있습니다. 그러나 복잡한 다기간 시뮬레이션에서 시나리오 수를 단순히 늘리는 것은 계산 비용이 매우 높아질 수 있습니다. 따라서 N을 크게 늘리지 않으면서도 샘플링 오차를 효과적으로 줄이는 분산 감소 기법(Variance Reduction Techniques)이 필요합니다. 가장 널리 사용되는 두 가지 기법이 대칭변량(Antithetic Variates)통제변량(Control Variates)입니다.


LO 24.c: 대칭변량과 통제변량을 이용한 샘플링 오차 감소

1. 대칭변량 (Antithetic Variates)

샘플링 오차가 발생하는 한 가지 이유는 특정 실험이나 문제에 대해 가능한 결과의 범위가 넓기 때문입니다. 전체 가능한 결과 범위를 복제하려면 샘플링 집합을 수많은 횟수로 재생성해야 합니다. 그러나 표본 추출 횟수를 늘리는 것은 비용이 많이 들고 시간이 소요될 수 있습니다. 대안적 접근법으로, 대칭변량 기법은 원래 무작위 변수 집합의 보완 집합(Complement Set)을 사용하여 시뮬레이션을 재실행함으로써 몬테카를로 샘플링 오차를 줄입니다.

대칭변량의 핵심 아이디어:

원래 난수 집합이 각 복제에 대해 \(u_t\)로 표기된다면, 보완 집합 \(-u_t\)로 시뮬레이션을 재실행합니다. 두 집합은 완전한 음의 상관(Perfectly Negatively Correlated), 즉 \(\text{corr}(u_t, -u_t) = -1\)을 가집니다. 이로 인해 공분산이 음수가 되어 전체 분산이 감소합니다.

대칭변량 기법에서 두 시뮬레이션 집합의 평균 추정치는 다음과 같이 계산됩니다:

$$\hat{\theta}_{\text{anti}} = \frac{1}{2}\left(g(U) + g(-U)\right)$$

이것은 원래 난수 \(U\)로 계산한 결과와 보완 난수 \(-U\)로 계산한 결과의 단순 평균입니다.

분산 감소 원리 (수학적 유도)

이 평균 추정치의 분산을 계산해 보겠습니다:

$$\text{Var}\left(\hat{\theta}_{\text{anti}}\right) = \text{Var}\left(\frac{g(U) + g(-U)}{2}\right)$$ $$= \frac{1}{4}\left[\text{Var}(g(U)) + \text{Var}(g(-U)) + 2\text{Cov}(g(U), g(-U))\right]$$

대칭변량을 사용하지 않는 경우: 두 시뮬레이션 집합이 독립적(Independent)이므로 \(\text{Cov} = 0\)이 됩니다. 따라서 분산은 다음과 같이 단순화됩니다:

$$\text{Var}\left(\hat{\theta}_{\text{no anti}}\right) = \frac{1}{4}\left[\text{Var}(g(U)) + \text{Var}(g(-U))\right]$$

대칭변량을 사용하는 경우: \(g(U)\)와 \(g(-U)\) 사이에 음의 공분산(Negative Covariance)이 발생합니다. 마지막 항 \(2\text{Cov}(g(U), g(-U))\)가 음수가 되므로 전체 분산에서 차감됩니다. 따라서 대칭변량을 사용한 분산은 사용하지 않은 경우보다 항상 더 작습니다.

시험 함정 주의: 대칭변량 기법은 "N을 단순히 늘리는 것"이 아닙니다. 핵심은 보완 난수(Complement Set)를 사용하여 음의 상관(Negative Correlation)을 인위적으로 만들어 분산을 줄이는 것입니다. 시험에서 "대칭변량은 복제 수를 크게 늘려 오차를 줄인다"는 선지가 나오면 오답입니다.

2. 통제변량 (Control Variates)

통제변량 기법은 몬테카를로 시뮬레이션에서 샘플링 오차를 줄이기 위해 널리 사용되는 방법입니다. 이 기법은 시뮬레이션 중인 미지의 성질을 가진 변수 \(x\)알려진 성질을 가진 유사한 변수 \(y\)로 보정(Adjust)하는 것입니다.

통제변량의 핵심 아이디어:

동일한 난수 집합을 사용하여 미지 변수 \(x\)와 통제 변수 \(y\)에 대해 두 개의 별도 시뮬레이션을 수행합니다. 통제 변수 \(y\)는 기대값 \(E[y]\)가 이미 알려져 있는 변수입니다.

통제변량의 수학적 구조

원래 추정치 \(x\)를 통제변량을 이용하여 다음과 같이 재정의합니다:

$$x^* = x - c \cdot (y - E[y])$$

여기서:

  • \(x\): 시뮬레이션으로 추정하려는 미지의 변수
  • \(y\): 기대값 \(E[y]\)가 알려진 통제 변수
  • \(c\): 조정 계수

\(y - E[y]\)의 기대값은 0이므로, \(x^*\)의 기대값은 \(x\)의 기대값과 동일합니다. 즉, 편향(Bias)을 도입하지 않으면서 분산만 줄일 기회를 만드는 것입니다.

분산 감소 조건의 유도

\(x^*\)의 분산을 계산합니다. 통제 변수 \(y\)는 알려진 성질을 가지므로 \(\text{Var}(E[y]) = 0\)입니다:

$$\text{Var}(x^*) = \text{Var}(x) + c^2 \cdot \text{Var}(y) - 2c \cdot \text{Cov}(x, y)$$

이를 \(c\)에 대해 미분하고 0으로 놓으면 최적 조정 계수를 구할 수 있습니다:

$$\frac{d}{dc}\text{Var}(x^*) = 2c \cdot \text{Var}(y) - 2\text{Cov}(x, y) = 0$$ $$\therefore \quad c^* = \frac{\text{Cov}(x, y)}{\text{Var}(y)}$$

최적 \(c^*\)를 대입하면 최소 분산은 다음과 같습니다:

$$\text{Var}(x^*) = \text{Var}(x) \cdot (1 - \rho_{xy}^2)$$

여기서 \(\rho_{xy}\)는 \(x\)와 \(y\)의 상관계수입니다.

통제변량의 효과 조건:

  • 통제변량이 분산을 줄이려면 \(\text{Var}(x^*) < \text{Var}(x)\)이어야 합니다.
  • 이 조건은 \(\rho_{xy}^2 > 0\), 즉 \(|\rho_{xy}| > 0\)일 때 충족됩니다.
  • 실질적으로는 \(x\)와 \(y\)의 상관(Correlation)이 높을수록 분산 감소 효과가 큽니다.
  • \(|\rho_{xy}|\)가 1에 가까울수록 \((1 - \rho_{xy}^2)\)가 0에 가까워져 분산이 크게 감소합니다.

금융 적용 예시: 이색 옵션과 통제변량

아시안 옵션(Asian Option)의 가격을 몬테카를로로 추정한다고 가정합니다. 아시안 옵션은 해석적 해가 없지만, 유럽형 옵션(European Option)은 Black-Scholes 공식으로 정확한 가격을 계산할 수 있습니다.

통제변량 적용:

  • \(x\) = 아시안 옵션의 시뮬레이션 가격 (미지)
  • \(y\) = 유럽형 옵션의 시뮬레이션 가격 (알려진 해석적 가격 \(E[y]\) 존재)
  • 동일한 주가 경로(난수)로 두 옵션 가격을 동시에 시뮬레이션
  • 유럽형 옵션의 시뮬레이션 오차(\(y - E[y]\))를 아시안 옵션 추정치에서 보정

두 옵션 가격은 동일한 기초자산에 의존하므로 높은 상관을 가지며, 이로 인해 통제변량의 분산 감소 효과가 매우 큽니다.

3. 두 기법의 비교 요약

비교 항목 대칭변량 (Antithetic Variates) 통제변량 (Control Variates)
핵심 원리 보완 난수(\(-U\))로 음의 상관 유도 알려진 성질의 변수(\(y\))로 오차 보정
필요 조건 \(g(U)\)와 \(g(-U)\) 간 음의 공분산 \(x\)와 \(y\) 간 높은 상관
추가 정보 필요 없음 (난수만 반전) \(E[y]\)가 알려져 있어야 함
구현 복잡도 낮음 중간 (적절한 통제변수 선정 필요)
분산 감소 크기 함수의 단조성에 의존 \(|\rho_{xy}|\)가 클수록 효과적
동시 사용 두 기법은 동시에 사용 가능하여 근사 오차를 더 줄일 수 있음

MODULE 24.2: 부트스트래핑과 난수 생성

LO 24.d: 부트스트래핑 방법론과 몬테카를로 대비 장점

1. 부트스트래핑(Bootstrapping)이란?

부트스트래핑은 난수를 생성하는 또 다른 방법입니다. 몬테카를로 시뮬레이션과의 핵심적인 차이점은 데이터 원천(Source of Simulated Data)에 있습니다.

비교 항목 몬테카를로 시뮬레이션 부트스트래핑
데이터 원천 사용자가 가정한 확률분포(DGP)에서 난수 생성 과거 실제 데이터(Historical Data)에서 복원추출
분포 가정 특정 확률분포를 명시적으로 가정 분포에 대한 가정 불필요
모델링 방식 관측 데이터를 직접 모델링 미지의 분포에서 관측 데이터를 직접 표집
핵심 가정 "DGP가 현실을 잘 대표한다" "현재가 과거와 유사하다"

즉, 부트스트래핑은 "분포를 가정하지 않고, 데이터 자체가 분포라고 간주하는" 비모수적(Non-parametric) 접근법입니다. 과거 데이터 집합에서 무작위로 수익률 데이터를 추출하되, 복원추출(Sampling with Replacement)을 사용하여 추출된 데이터를 다시 추출할 수 있도록 합니다.

부트스트래핑의 핵심 장점:

  • 모수 추정치의 참 분포에 대한 가정이 불필요
  • 분포 가정의 부담이 없으므로 모형 오명세(Model Misspecification) 위험이 감소
  • 실제 데이터의 비대칭성, 꼬리 두께 등의 특성이 자연스럽게 반영

2. i.i.d. 부트스트랩 (Independent and Identically Distributed Bootstrap)

첫 번째 부트스트래핑 접근법은 i.i.d.(독립 동일 분포) 부트스트랩입니다. 이 방법론에서는 관측 데이터에서 하나씩(One-by-one) 표본을 추출하고, 복원(Replace)합니다.

예시: i.i.d. 부트스트랩

총 10개의 관측치 \(\{x_1, x_2, \ldots, x_{10}\}\)가 있는 데이터에서 크기 3의 표본을 시뮬레이션해야 한다고 가정합니다.

i.i.d. 부트스트랩은 값 \(\{1, 2, \ldots, 10\}\)에서 복원추출로 3번 무작위 표집하여 관측치 인덱스를 생성합니다.

시뮬레이션 번호 추출된 표본 특이사항
1차 \(\{x_2, x_7, x_9\}\) -
2차 \(\{x_2, x_5, x_{10}\}\) \(x_2\)가 1차와 중복 (복원추출이므로 가능)
3차 \(\{x_1, x_1, x_8\}\) 동일 관측치 \(x_1\)이 2번 추출 (복원추출의 결과)
i.i.d. 부트스트랩의 한계:
i.i.d. 부트스트랩 방법론은 관측치가 독립적(Independent)일 때만 유효합니다. 그러나 금융에서는 데이터가 시간에 걸쳐 종속적인 경우가 많습니다. 예를 들어, 변동성(Volatility)은 특정 기간에 높고 다른 기간에 낮은 변동성 군집(Volatility Clustering) 현상을 보입니다. i.i.d. 부트스트랩은 개별 "점"을 무작위로 섞어버리므로, 이러한 시간 의존 구조(Temporal Dependence)가 파괴됩니다.

3. 원형 블록 부트스트랩 (Circular Block Bootstrap, CBB)

관측치가 독립적이지 않을 때, i.i.d.보다 더 정교한 부트스트래핑 방법이 필요합니다. 그 중 하나가 원형 블록 부트스트랩(CBB) 방법입니다. CBB는 개별 관측치를 표집하는 대신, 관측치 블록(Blocks of Observations)을 표집한다는 점에서 i.i.d.와 다릅니다. 연속된 관측치를 블록 단위로 추출함으로써 시간 의존성을 보존합니다.

예시: CBB 방법

10개의 관측치가 있고 블록 크기가 3인 경우, 다음과 같이 10개의 블록이 구성됩니다:

블록 번호 구성 관측치 비고
1 \(\{x_1, x_2, x_3\}\) 연속 3개 관측치 사용
2 \(\{x_2, x_3, x_4\}\)
3 \(\{x_3, x_4, x_5\}\)
... ...
8 \(\{x_8, x_9, x_{10}\}\)
9 \(\{x_9, x_{10}, x_1\}\) "원형(Circular)" 으로 처음으로 되돌아감
10 \(\{x_{10}, x_1, x_2\}\) "원형" 으로 이어붙임

마지막 두 블록이 데이터의 끝에서 처음으로 "감싸는(Wrap Around)" 것을 볼 수 있습니다. 이것이 "원형(Circular)"이라는 이름이 붙은 이유이며, 이를 통해 경계 문제(Boundary Problem)를 완화합니다.

CBB의 블록 크기 선택:

  • 블록 크기는 데이터의 의존성을 반영할 만큼 충분히 커야 합니다.
  • 그러나 블록 크기가 너무 크면 블록 수가 작아져 다양성이 감소합니다.
  • 표본 크기가 \(n\)일 때, 블록 크기로 \(\sqrt{n}\)이 일반적으로 적합합니다.
$$\text{블록 크기} \approx \sqrt{n}$$

LO 24.e: 의사난수 생성 (Pseudo-Random Number Generation)

1. 의사난수생성기(PRNG)의 개념

난수 생성기(Random Number Generator)는 불규칙한 수치 값의 시퀀스를 생성하는 데 사용됩니다. 이러한 무작위 시퀀스를 생성하는 데 사용되는 알고리즘을 의사난수생성기(Pseudo-Random Number Generators, PRNGs)라고 합니다. "의사(Pseudo)"라는 용어가 의미하는 바는, 이 컴퓨터 생성 숫자들이 진정한 의미에서 무작위가 아니라 실제로는 수학적 공식(Deterministic Formula)에 의해 생성된다는 것입니다.

PRNG의 핵심 특성:

  • PRNG는 일반적으로 0과 1 사이에 균등하게 분포된(Uniformly Distributed between 0 and 1) 난수 시퀀스를 생성합니다.
  • 각 숫자는 균등 분포 \(U(0,1)\)에서 추출될 동일한 확률을 가져야 합니다.
  • 의사난수를 생성하려면 먼저 초기 시드 값(Initial Seed Value)을 선택해야 합니다.
  • 시드 값의 선택이 생성되는 난수 시퀀스를 결정합니다.
  • 특정 시드 값은 PRNG가 실행될 때마다 동일한 값 집합을 생성합니다.

2. PRNG 출력의 반복적 특성이 제공하는 이점

PRNG 출력의 재현 가능한 특성(Recurring Nature)은 두 가지 중요한 이점을 제공합니다:

이점 영문 상세 설명
재현성 Repeatability 특정 시드 값은 항상 동일한 난수 시리즈를 생성하므로, 여러 다른 실험에서 시퀀스를 복제할 수 있습니다. 이를 통해 동일한 시뮬레이션 데이터를 사용하여 여러 대안적 모형을 추정할 수 있습니다. 또한 특정 초기 시드를 사용하면 나중에 시뮬레이션 결과를 재현할 수 있으며, 이는 규제 준수(Regulatory Compliance) 목적으로 필요할 수 있습니다.
컴퓨팅 클러스터 Computing Clusters 동일한 기본 요인(Fundamental Factors)에 의해 영향을 받는 수천 개의 금융 상품을 포함하는 복잡한 포트폴리오를 모델링하기 위해 컴퓨터 그룹을 사용한다고 가정합니다. 공통 시드 값을 사용하면 여러 시뮬레이션에서 동일한 난수 집합을 사용할 수 있어, 포트폴리오 내 상품들의 결합 행동(Joint Behavior)을 연구할 때 일관성을 유지할 수 있습니다.
시험 함정 주의: "의사난수는 예측 불가능하다(Impossible to Predict)"는 진술은 오답입니다. 의사난수는 복잡한 결정적 함수(Deterministic Functions)에 의해 생성되어 예측하기 어려울(Difficult to Predict) 뿐, 불가능한 것은 아닙니다. 시드 값을 알면 전체 시퀀스를 완벽하게 재현할 수 있습니다.

LO 24.f: 부트스트래핑이 비효과적인 상황

부트스트래핑은 유용한 통계 기법이지만, 두 가지 특정 상황에서 그 효과가 크게 감소하거나 무력화됩니다. 이 두 한계점은 모두 부트스트래핑의 핵심 가정인 "현재가 과거와 유사하다"가 위반되는 경우에 발생합니다.

한계 영문 상세 설명 및 예시
1. 전체 데이터 사용의 비신뢰성 Unreliable Full Dataset 현재 시장 조건이 정상 상태(Normal State)라면 과거 전체 데이터를 사용하는 것이 유익합니다. 그러나 현재 금융시장의 상태가 통상적인 상태와 다를 경우, 부트스트래핑 방법은 비효과적일 수 있습니다.

예시: 2007-2009년 금융위기 동안 VaR를 추정하기 위해 부트스트랩을 사용하면, 과거 변동성이 역사적으로 훨씬 낮았기 때문에 비현실적으로 낮은 리스크 관점을 생산할 것입니다. 즉, 위기 시기의 극단적 변동을 과거 정상 기간의 데이터로는 충분히 재현하지 못합니다.
2. 구조적 변화 Structural Changes 시장에 최근 영구적인 근본적 변화(Permanent Fundamental Changes)가 발생했을 수 있습니다.

예시: 2008년부터 약 10년간 미국 T-bill 금리가 거의 0에 가까웠으며, 이는 과거에 장기간 발생한 적이 없는 조건이었습니다. 결과적으로 더 오래된 과거 데이터를 사용한 부트스트래핑은 이 기간을 복제하는 데 비효과적입니다.
핵심 요약: 부트스트래핑의 신뢰성은 "현재가 과거와 유사하다"는 가정에 전적으로 의존합니다. 레짐 전환(Regime Change)이나 구조적 변화가 있으면, 과거 표본을 재사용하는 부트스트래핑은 꼬리 위험(Tail Risk)을 과소추정하거나 현재 상황을 대표하지 못하는 결과를 생산할 위험이 있습니다.

LO 24.g: 시뮬레이션 접근법의 단점

시뮬레이션 접근법을 금융 문제 해결에 적용할 때의 주요 단점은 다음 두 가지입니다:

(1) DGP 명세의 문제 (Specification of the DGP)

많은 수의 시뮬레이션 반복을 수행하더라도, 모형 입력의 가정이나 데이터 생성 과정이 비현실적(Unrealistic)이면 부정확한 결과가 발생할 수 있습니다. DGP에서의 대안적 가정은 실질적으로 다른 결과를 초래할 수 있습니다.

모형 오명세의 대표적 사례

옵션 가격은 일반적으로 팻테일(Fat-tailed) 분포를 따르지만, 모형이 잘못하여 옵션 가격을 정규분포(Normal Distribution)에서 추출하면, 극단적 사건의 확률을 과소추정하게 됩니다. 이 경우 반복 횟수를 아무리 늘려도 부정확한 결과가 발생합니다.

이는 시뮬레이션 오차의 두 가지 원천을 구분하는 것이 중요한 이유입니다:

  • 샘플링 오차(분산): N을 늘리면 감소 가능
  • 모형 오차(편향): N을 늘려도 제거 불가능, DGP 자체를 수정해야 함

(2) 계산 비용 (Computational Cost)

시뮬레이션 결과의 변동을 줄이는 가장 좋은 방법은 많은 수의 반복을 사용하는 것입니다. 그러나 추정 모수가 복잡하면 계산에 매우 오랜 시간이 걸릴 수 있습니다. 일부 문제는 허용 가능한 결과를 얻기 위해 대규모 반복이 필요하며, 몬테카를로 시뮬레이션에서 최소 10,000회 반복을 사용하는 것이 일반적입니다. 컴퓨터 프로세서 속도는 기하급수적으로 향상되었지만, 동시에 시장과 분석 대상의 복잡성도 증가하여 높은 계산 비용으로 이어질 수 있습니다.

시험 함정 주의: "몬테카를로 시뮬레이션은 항상 정규분포에서 무작위 변수를 추출하므로 팻테일 입력 변수에는 관련이 없다"는 진술은 오답입니다. 입력 변수의 분포가 반드시 정규분포일 필요는 없습니다. 문제는 실제 변수가 팻테일인데 정규분포를 가정하는 모형 오명세에서 발생합니다. 올바른 분포(예: t-분포)를 가정하면 팻테일 데이터에도 몬테카를로를 적절히 사용할 수 있습니다.

MODULE QUIZ

Module Quiz 24.1

문제 1. 몬테카를로 시뮬레이션에 관한 다음 진술 중 가장 정확하지 않은 것은?

A. 시뮬레이션된 데이터를 사용하여 함수의 기대값을 수치적으로 근사한다.
B. 사용자가 시뮬레이션 데이터를 생성하는 데 사용할 완전한 데이터 생성 과정(DGP)을 지정한다.
C. 관측된 데이터를 직접 사용하여 시뮬레이션 데이터 집합을 생성한다.
D. 충격(Shocks)의 분포에 대한 가정을 포함하는 완전한 통계 모형을 사용한다.

문제 2. 분석가가 몬테카를로 샘플링 오차에 대해 우려하고 있습니다. 100회 반복의 초기 시뮬레이션 결과 표준편차가 12.64로 나타났습니다. 900회 반복으로 재실행했으며 표준편차는 12.64로 동일합니다. 100회 반복과 900회 반복 시뮬레이션의 표준오차 추정치는 각각 얼마입니까?

A. 1.264와 1.404
B. 12.64와 12.64
C. 1.264와 0.4213
D. 0.1264와 0.01404

문제 3. 몬테카를로 시뮬레이션의 샘플링 오차를 줄이는 방법 중 하나인 대칭변량 기법(Antithetic Variate Technique)에 대한 설명으로 가장 적절한 것은?

A. 원래 무작위 변수 집합의 보완 집합을 사용하여 시뮬레이션을 재실행한다.
B. 샘플링 오차를 줄이기 위해 반복 횟수를 크게 증가시킨다.
C. 표본 데이터가 재추출될 동일한 확률을 갖도록 매 반복 후 교체한다.
D. 미지의 변수를 알려진 성질을 가진 변수로 재정의하여 데이터 생성 과정을 근사한다.

문제 4. 몬테카를로 시뮬레이션에서 표준편차가 20이고 현재 반복횟수가 400회일 때 표준오차는 얼마이며, 표준오차를 현재의 1/3로 줄이려면 반복횟수를 몇 배로 늘려야 합니까?

A. SE = 1.0, 반복횟수 9배
B. SE = 2.0, 반복횟수 3배
C. SE = 1.0, 반복횟수 3배
D. SE = 0.5, 반복횟수 9배

Module Quiz 24.2

문제 1. 부트스트래핑 방법에 관한 다음 진술 중 가장 정확하지 않은 것은?

A. 과거 데이터 집합에서 데이터를 추출한다.
B. 추출된 데이터를 교체하여 다시 추출할 수 있도록 한다.
C. 모수 추정치의 참 분포에 대한 가정을 필요로 한다.
D. 현재가 과거와 유사하다는 핵심 가정에 의존한다.

문제 2. 의사난수 생성 방법에 관한 다음 진술 중 가장 정확하지 않은 것은?

A. 진정한 의미에서 무작위가 아니다.
B. 실제로 공식에서 생성된다.
C. 초기 시드 값의 선택에 의해 결정된다.
D. 예측이 불가능하다.

문제 3. 부트스트래핑 방법이 가장 효과적일 가능성이 높은 경우는?

A. 데이터에 이상치(Outliers)가 포함되어 있을 때
B. 현재가 과거와 다를 때
C. 데이터가 독립적일 때
D. 시장이 구조적 변화를 경험했을 때

문제 4. 몬테카를로 시뮬레이션의 한계에 관한 다음 진술 중 가장 정확하지 않은 것은?

A. 복잡한 문제에서 높은 계산 비용이 발생한다.
B. 시뮬레이션 결과는 특정 데이터 생성 과정(DGP)과 방정식 집합에 기반하므로 실험별로 특이적이다.
C. 대부분의 몬테카를로 실험 결과는 재현하기 어렵다.
D. 입력 변수가 팻테일을 가지면 몬테카를로 시뮬레이션은 항상 정규분포에서 무작위 변수를 추출하므로 관련이 없다.

정답 및 해설

문제 정답 해설
24.1-1 C 몬테카를로 시뮬레이션과 부트스트래핑 모두 컴퓨터 생성 값(시뮬레이션 데이터)을 통해 복잡한 함수의 기대값을 수치적으로 근사하는 것이 목표입니다. 핵심 차이는 시뮬레이션 데이터의 원천입니다. 몬테카를로에서는 사용자가 완전한 DGP를 지정하여 시뮬레이션 데이터를 생성하고, 부트스트래핑에서는 관측 데이터를 직접 사용합니다. 따라서 "관측 데이터를 직접 사용"하는 것은 부트스트래핑의 특성이지 몬테카를로의 특성이 아닙니다.
24.1-2 C 표준오차 = 표준편차 / \(\sqrt{N}\). 100회: \(12.64/\sqrt{100} = 12.64/10 = 1.264\). 900회: \(12.64/\sqrt{900} = 12.64/30 \approx 0.4213\).
24.1-3 A 대칭변량 기법은 원래 무작위 변수 집합의 보완 집합을 사용하여 시뮬레이션을 재실행합니다. B는 단순 N 증가(대칭변량 아님), C는 부트스트래핑의 복원추출, D는 통제변량의 설명입니다.
24.1-4 A \(SE = 20/\sqrt{400} = 20/20 = 1.0\). SE를 1/3로 줄이려면 \(\sqrt{N}\)을 3배로 늘려야 하므로 N은 \(3^2 = 9\)배 필요합니다.
24.2-1 C 부트스트래핑 기법은 모수 추정치의 참 분포에 대한 어떠한 가정도 필요로 하지 않습니다. 이것이 몬테카를로 대비 주요 장점입니다.
24.2-2 D 의사난수는 복잡한 결정적 함수에 의해 생성되어 예측하기 어려울(Difficult) 뿐, 불가능(Impossible)하지는 않습니다. 시드를 알면 완전히 재현 가능합니다.
24.2-3 C 부트스트래핑은 데이터가 독립적이고 이상치가 없을 때 가장 효과적입니다. 전체 데이터를 사용하여 시뮬레이션 표본을 생성하므로, 현재 시장 상태가 정상이고 구조적 변화가 없어야 신뢰할 수 있습니다.
24.2-4 D 입력 변수의 분포가 반드시 정규분포일 필요는 없습니다. 문제는 실제 변수가 팻테일인데 정규분포를 잘못 가정하는 모형 오명세에서 발생합니다. 또한 C(재현 어려움)도 부정확합니다. PRNG의 시드를 통해 재현이 가능하므로, D가 가장 부정확한 진술입니다.

KEY CONCEPTS (핵심 개념 정리)

LO 24.a 핵심

몬테카를로 시뮬레이션은 관측값을 사용하여 평균, 표준편차 등 핵심 모형 모수를 추정합니다. 이러한 모수를 표준화된 수익률의 분포에 대한 가정과 결합하여 완전한 데이터 생성 과정(DGP)을 생성합니다. 기본 5단계는 난수 생성, 관심 함수 계산, N번 반복, 관심량 추정, 표준오차 계산 및 정확도 평가입니다.

LO 24.b 핵심

몬테카를로 시뮬레이션의 표준오차 추정치는 \(s/\sqrt{N}\)이며, N을 100배 늘리면 SE가 10배 감소합니다. 반복횟수 N은 일반적으로 1,000~10,000회이며, 복잡한 시뮬레이션에서는 더 높을 수 있습니다.

LO 24.c 핵심

대칭변량(Antithetic Variates)통제변량(Control Variates)은 동시에 사용하여 근사 오차를 줄일 수 있습니다. 대칭변량은 보완 난수(\(-U\))로 음의 상관을 유도하여 분산을 줄이고, 통제변량은 기대값이 알려진 변수(\(y\))를 사용하여 평균이 0인 보정항을 추가해 분산을 줄입니다. 통제변량의 효과는 \(x\)와 \(y\)의 상관이 높을수록 큽니다.

LO 24.d 핵심

부트스트래핑은 과거 데이터 집합에서 반복적으로 데이터를 추출하며, 매번 데이터를 교체하여 재추출할 수 있도록 합니다. 모수 추정치의 참 분포에 대한 가정이 불필요한 것이 몬테카를로 대비 주요 장점입니다. i.i.d. 부트스트랩은 독립 데이터에 적합하고, CBB는 시간 의존적 데이터에 블록 단위로 표집합니다.

LO 24.e 핵심

의사난수는 진정한 의미에서 무작위가 아니며, 수학적 공식에 의해 생성됩니다. 초기 시드 값의 선택이 생성되는 난수를 결정합니다. PRNG 출력의 재현 가능성은 여러 실험에서 결과를 복제하거나, 여러 컴퓨터에서 생성할 수 있게 합니다.

LO 24.f 핵심

부트스트래핑의 두 가지 주요 한계: (1) 현재 금융시장 상태가 정상 상태와 다르면 신뢰할 수 없음 (2) 시장에 구조적 변화가 발생하여 현재 조건이 과거와 근본적으로 다를 수 있음.

LO 24.g 핵심

시뮬레이션의 두 가지 단점: (1) DGP 명세 문제: 모형 입력이나 DGP 가정이 비현실적이면 부정확한 결과 발생 (2) 계산 비용: 컴퓨터 처리 시간은 감소했지만 시장 복잡성도 증가하여 높은 비용 가능.


시험 대비 한 줄 암기 체크리스트

주제 암기 포인트
MC 5단계 난수생성 → 함수계산 → N회반복 → 관심량추정 → SE평가
표준오차 공식 \(SE = s / \sqrt{N}\)
SE 스케일링 SE를 k배 줄이려면 N을 \(k^2\)배 증가
Antithetic Variates 보완 난수(\(-U\))로 음의 공분산 유도 → 분산 감소
Control Variates \(E[y]\) 알려진 통제변수 사용, \(x\)와 \(y\)의 상관 높을수록 효과적
CV 최적 계수 \(c^* = \text{Cov}(x,y) / \text{Var}(y)\)
CV 최소 분산 \(\text{Var}(x^*) = \text{Var}(x)(1 - \rho_{xy}^2)\)
MC vs Bootstrap 차이 MC: 가정된 DGP에서 난수 / Bootstrap: 과거 데이터에서 복원추출
Bootstrap 핵심 가정 "현재가 과거와 유사하다"
Bootstrap 분포 가정 참 분포 가정 불필요 (비모수적)
i.i.d. vs CBB i.i.d.: 독립 데이터, 개별 추출 / CBB: 의존 데이터, 블록 단위 추출
CBB 블록 크기 \(\sqrt{n}\) (n = 표본 크기)
PRNG 결정적 공식으로 생성, 시드가 시퀀스 결정, 재현 가능
Bootstrap 한계 2가지 (1) 현재와 과거 시장 상태가 다를 때 / (2) 구조적 변화 발생 시
시뮬레이션 단점 2가지 (1) DGP 오명세 → N 늘려도 편향 잔존 / (2) 높은 계산 비용
MC 분포 함정 정규분포만 사용하는 것 아님! 팻테일이면 t-분포 등 적합한 분포 가정 가능