작성자: admin 작성일시: 2016-08-03 20:54:10 조회수: 741 다운로드: 55
카테고리: 금융 공학 태그목록:

브라운 운동

브라운 운동(Browninan Motion)은 확율적 자산 가격 모형을 만들어내는 가장 기본적인 원소(atom)라고 할 수 있다.

브라운 운동의 정의

브라운 운동은 시간 $t$에 대해 자산 가격 등이 어떻게 변화하는지는 나타내는 함수로 보통 $W(t)$ 혹은 $Z(t)$와 같은 기호로 나타낸다.

  1. 브라운 운동 $W(t)$는 시간 $t$에 대해 연속적인 함수(continuous function)이다.
  2. 브라운 운동 $W(t)$는 확률 과정(stochastic process)이다. 따라서 표본 $\omega$에 의해 결정된다.
  3. 시간 $t=0$에서 브라운 운동의 값 $W(t=0)$는 0이다. $$ W(0) = 0 $$
  4. 임의의 두 시간 $t_1 \leq t_2$에 대해 브라운 운동의 값의 차이 $W(t_2) - W(t_1)$은 다음과 같은 가우시안 정규 분포를 따른다. $$ \text{E}[W(t_2) - W(t_1)] = 0 $$ $$ \text{Var}[W(t_2) - W(t_1)] = t_2 - t_1 $$
  5. 임의의 시간 구간 $t_0 = 0 \leq t_1 \leq t_2 \leq \cdots \leq t_m $에 대해 브라운 운동의 값의 차이 $W(t_1) - W(t_0)$, $W(t_2) - W(t_1)$, $\cdots$, $W(t_m) - W(t_{m-1})$는 모두 서로 독립(independent)이다.

브라운 운동은 시간에 따라서 변화하는 불확실한 자산 가격을 모형화하기 위한 것이므로 다음 그림처럼 시간에 대한 함수로 나타난다. 연속 함수는 특정 시간 $t$에 대해 $t$에서의 값, $t$보다 작지만 $t$에 무한히 가까운 시간 $t^{-} \rightarrow t$에서의 값, 그리고 $t$보다 크지만 $t$에 무한히 가까운 시간 $t^{+} \rightarrow t$에 대해 함수의 값 즉 $W$가 같다는 뜻이다. 즉 함수값의 갑작스러운 점프(jump)가 존재하지 않는다.

$$ W(t^{-1}) = W(t) = W(t^{+}) $$

브라운 운동은 표본 공간에서 선택된 하나의 표본 $\omega$에 대해 하나의 함수 경로 $W(t)$가 정해지는 확률 과정이다. 즉 선택된 표본 $\omega$가 달라지면 전체 경로가 달라진다.

그러나 이렇게 표본에 따라 달라지더라도 각각의 경로가 지켜야할 규칙이 있다. 우선 시간 $t=0$에서 값이 0부터 출발한다는 점이다.

또한 어떠한 두 시간을 선택해도 그 두 시간 사이에 변화한 값의 차이는 기댓값이 0인 정규 분포를 따르게 된다는 점이다. 다만 시간 간격이 증가하면 증가한 시간 간격에 따라 분산도 증가한다. 따라서 표준 편차는 시간 간격의 제곱근에 비례하여 증가한다.

마지막으로 겹치지 않은 두 개의 시간 구간을 선택하면 그 두 두간 사이에 변화한 값의 차이들은 서로 독립적이다. 즉, 미래의 어떤 시간 구간동안 변화한 값은 과거의 어떤 시간 구간 동안 변화한 값과도 관계가 없다.

In:
def generate_brownian_motion_path(time_grid, num_path=1, volatility=1):
    paths = np.zeros((len(time_grid), num_path))
    for i, t in enumerate(time_grid[1:]):
        dt = time_grid[i+1] - time_grid[i]
        paths[i+1] = paths[i] + volatility * np.sqrt(dt) * np.random.standard_normal(num_path) 
    return paths
In:
np.random.seed(0)
path0 = generate_brownian_motion_path(range(10), 1)
path0
Out:
array([[ 0.        ],
       [ 1.76405235],
       [ 2.16420955],
       [ 3.14294754],
       [ 5.38384074],
       [ 7.25139873],
       [ 6.27412085],
       [ 7.22420927],
       [ 7.07285206],
       [ 6.96963321]])
In:
plt.plot(path0)
Out:
[]
In:
paths = generate_brownian_motion_path(range(17), 10000)
plt.plot(paths);
In:
sns.distplot(paths[-1])
np.var(paths[-1], ddof=1)
Out:
15.831890153053463
In:
sns.distplot(paths[-1] - paths[-2]);
np.var(paths[-1] - paths[-2], ddof=1)
Out:
1.0039614773034948

미분 불가능

브라운 운동이 일반적인 연속 함수와 다른점은 미분 불가능(non-differentiable)하다는 점이다.

함수가 미분 가능하기 위해서는 작은 구간으로 분할하였을 때 해당 구간에서의 함수 값의 변화가 특정한 값(기울기)으로 수렴해야 한다. 그러나 브라운 운동의 경우에는 아무리 작은 구간으로 분할하여도 그 사이의 구간에 대해 $(-\infty, \infty)$ 값을 가지는 정규 분포가 발생하므로 미분 불가능하다.

Quadratic Variation

또한 브라운 운동이 일반적인 미분 가능 함수와 달리 Quadratic Variation 이 유한한 값을 가진다.

Quadratic Variation은 다음과 같이 정의되는 값으로 일반적인 미분 가능 함수의 경우 0으로 수렴한다.

$$ \lim_{\Delta t \rightarrow 0} \dfrac{\left(f(t + \Delta t) - f(t)\right)^2}{\Delta t} = 0 $$

그러나 브라운 운동의 경우에는 이 값이 1로 수렴한다.

$$ \lim_{\Delta t \rightarrow 0} \dfrac{\left(W(t + \Delta t) - W(t)\right)^2}{\Delta t} = 1 $$

이를 Ito 적분 형식으로는 다음과 같이 표현하기도 한다.

$$ dW \cdot dW = dW^2 = dt $$

질문/덧글

아직 질문이나 덧글이 없습니다. 첫번째 글을 남겨주세요!