본문 바로가기
금융공학

주식의 수학적 모델 #3 : GBM모델

by hustler78 2022. 6. 7.
728x90
반응형

 

 

이 글은

2022.05.27 - [금융공학] - 주식의 수학적 모델 #1

 

주식의 수학적 모델 #1

이 글은 2022.05.25 - [금융공학] - KOSPI수익률의 분포는 어떤 모양일까? #2 KOSPI수익률의 분포는 어떤 모양일까? #2 이 글은 2022.05.24 - [금융공학] - KOSPI수익률의 분포는 어떤 모양일까? #1 KOSPI수익률의.

sine-qua-none.tistory.com

에서 이어집니다. 시점 $t$에서의 주식(또는지수)의 가격을 $S_t$라 하고, 이 주식의 연수익률을 $\mu$, 연간 수익률의 표준편차를 $\sigma$라 할 때,

$$ \frac{dS_t}{S_t} = \mu dt +\sigma dW_t \tag{1}$$

라 모델링할 수 있다고 했습니다.  $W_t$는 위너프로세스(Wiener process)입니다.

 

이 모델을 기하브라운운동(Geometric Brownian Motion) 모델이라고 부릅니다. 이 모델에는 항이 2개 있습니다. $dt$항, $dW_t$항이 그것인데요.

  • drift term : $dt$ 항
  • diffusion term : $dW_t$ 항

으로 정의합니다. drift term의 계수는 주식의 연수익률, diffustion term의 계수는 주식의 연간수익률의 표준편차인데요. 이 표준편차가 크면 변동이 심한 상태를 의미하고, 표준편차가 작으면 변동이 작은 상태를 의미하는 뜻에서 

변동성(Volatility)

라 부릅니다. 이 개념은 금융공학에서 주식이나 지수 같은 기초자산의 움직임을 예측하거나 모델링할 때 굉장히 중요한 개념으로서 나중에 다시 자세하게 다뤄보도록 하겠습니다. 일단 지금은

변동성 = 연간수익률의 표준편차

라고 이해하고 넘어가도록 하겠습니다.

 

이제 수식(1)을 Ito Lemma로 분석해 볼까요? 글

2022.06.01 - [금융공학] - 주식의 수학적 모델#2

 

주식의 수학적 모델#2

2022.06.02 - [수학의 재미/아름다운 공식] - dW^2 = dt ? 이 글은 2022.05.27 - [금융공학] - 주식의 수학적 모델 주식의 수학적 모델 이 글은 2022.05.25 - [금융공학] - KOSPI수익률의 분포는 어떤 모양일까? #..

sine-qua-none.tistory.com

에서 1 변수에 대한 확률 과정 테일러 전개, 즉 Ito Lemma라는 개념을 이야기했었습니다. 복습하자면

 

여러 번  미분 가능한 함수 $f: \mathbb{R} \rightarrow \mathbb{R}$ 가 있을 때,  
$$ df(S_t) = f(S_{t+dt}) -f(S_t) $$
라는 식은

$$ df(S) = \left(\mu S_t  \frac{\partial f}{\partial S} + \frac12 \frac{\partial^2 f}{\partial S^2}  \sigma^2 S_t^2 \right) dt + \left(\sigma S_t  \frac{\partial f}{\partial S} \right) dW_t \tag{1} $$

 

가 된다고 하였습니다. 

$$f(S) = \ln S$$

라는 함수라 정의해 보죠.

$$ f'(S) = \frac 1S , f''(S) = -\frac{1}{S^2} $$ 

이므로 Ito Lemma에 의하여

$$
\begin{align}
d\ln(S_t) &= \frac{1}{S_t} dS_t  - \frac{1}{2}\frac{1}{S_t^2} dS_t^2 \\
& = \frac{1}{S_t} (\mu S_t dt + \sigma S_t dW_t ) -\frac12 \frac{1}{S_t^2}(\sigma^2 S_t^2 dt) \\
& = \left(\mu -\frac12 \sigma^2 \right) dt + \sigma dW_t\tag{2}
\end{align}
$$

가 성립합니다. 이를 적분식으로 써볼 텐데,  두 가지 경우로 나눠서 보겠습니다.

경우1.  $t=0$과 미래 시점 $t=T$사이의 적분

수식(2)에 $\int_0^T$를 취하면,

$$\int_0^T d\ln(S_t) = \int_0^T \left(\mu -\frac12 \sigma^2 \right) dt + \sigma dW_t $$

이고, 좌변은 $\ln(S_T) -\ln(S_0)$이므로

$$\require{cancel}\ln(S_t/S_0) = \left(\mu -\frac12 \sigma^2 \right)T + \sigma (W_T -\cancelto{0}{W_0}) $$ 

이므로 양변에 $\exp$를 취해 정리하면,

 

$$S_t= S_0 \exp\left(\left(\mu -\frac12 \sigma^2 \right)T + \sigma W_T \right) \tag{3}$$

가 됩니다. 

 

경우2.  어떤 (짧은 인터벌) $t=t_1$과 미래 시점 $t=t_2$사이의 적분

수식(2)에 $\int_{t_1}^{t_2}$를 취하면 

$$\int_{t_1}^{t_2} d\ln(S_t) = \int_{t_1}^{t_2} \left(\mu -\frac12 \sigma^2 \right) dt + \sigma dW_t $$

이고, 좌변은 $\ln(S_{t_2}) -\ln(S_{t_1})$이므로

$$\ln(S_{t_2}/S_{t_1}) = \left(\mu -\frac12 \sigma^2 \right)(t_2- t_1) + \sigma (W_{t_2} -W_{t_1}) $$ 

이므로 양변에 $\exp$를 취해 정리하면,

 

$$S_{t_2}= S_{t_1} \exp\left(\left(\mu -\frac12 \sigma^2 \right)(t_2-t_1) + \sigma (W_{t_2}-W_{t_1}) \right) $$

가 됩니다. 특히 $t_2-t_1$이 1 day 하루인 경우에는 년 단위로 환산하여

$$t_2-t_1 =\frac1{365}$$

이므로

$$S_{t_2}= S_{t_1} \exp\left(\left(\mu -\frac12 \sigma^2 \right)\cdot\frac1{365} + \sigma (W_{1/365}) \right) \tag{4}$$

라고도 쓸 수 있겠죠.

($W_{t_2}-W_{t_1}$는 분포상 $W_{t_2-t_1} = W_{1/365}$와 같습니다.)

 


왜 적분을 수식(4)처럼도 해보고 수식(5) 처럼도 해봤을까요?  여러 금융상품의 가격을 계산하다 보면

  • 만기 때 주가의 가격에만 수익/손실이 정해지는 상품
  • 현재로부터 만기 때까지 주가의 움직임에 모두 의존하여 수익/손실이 정해지는 상품 

등 다양한 상품의 가격을 계산하게 됩니다.

전자의 경우는 수식(3)이 필요합니다. 현재 시점의 주가 $S_0$에서 만기시점 $T$의 주가 $S_T$를 예상할 때, 식(3)이 편하겠죠. 반면, 만기 때까지 모든 주가에 의존하는 상품의 경우, 최악의 경우 일일 주가가 모두 필요한 경우도 있습니다. 그때는 현재 $S_0$ 의 주가부터 $S_{1D}, S_{2D} ,\cdots, S_{T}$ 모두 만들어내야겠죠. 이때에는 식(4)의 점화식을 써서 만들어 내는 것입니다.


마지막으로, 수식(3)과 수식(4)은 서로 모순이 없는 식일까요? 현재 시점 $t=0$부터 미래 시점 $T$까지 $n$개의 단위 시점이 있다고 해봅시다. 

시간 간격은 균일하든 균일하지 않든 관계없습니다. 식(4)에 의하면

$$ 
\begin{align}
S_{t_1} &= S_{0} \exp\left(\left(\mu -\frac12 \sigma^2 \right)\cdot t_1 + \sigma (W_{t_1}) \right) \\
S_{t_2} &=  S_{t_1} \exp\left(\left(\mu -\frac12 \sigma^2 \right)\cdot (t_2-t_1) + \sigma (W_{t_2-t_1}) \right)\\
&\vdots\\
S_{t_n} &=  S_{t_{n-1}} \exp\left(\left(\mu -\frac12 \sigma^2 \right)\cdot (t_n-t_{n-}) + \sigma (W_{t_n-t_{n-1}}) \right)
\end{align}
$$

이고, 양변을 곱하고 지울거 지우고, 편의상 $t_0=0$이라 하면,

$$ S_{t_n} = S_{0} \exp \left( \left( \mu -\frac12 \sigma^2 \right) \cdot \sum_{i=1}^n (t_i-t_{i-1}) +  \sigma\sum_{i=1}^n (W_{t_i}-W_{t_{i-1}}) \right)$$ 

이고 

$$ \sum_{i=1}^n (W_{t_i}-W_{t_{i-1}}) =W_T$$

이므로 식(3)과 똑같아집니다. 만기시점 $T$의 주가를 한 번에 생성하든지, 잘게 쪼개어 day별로 생성하든지 $S_T$가 만들어지는 방법은 똑같음을 의미합니다.

 

다음글에서는 실제 VBA나 파이썬을 활용하여 주가를 만들어보도록 하겠습니다.

막 걸어다녀 보자/   https://prakhartechviz.blogspot.com/2019/09/random-walk-term-weighting-for-text.html

728x90
반응형

댓글