카테고리 없음

주가의 움직임 #4 - 기하 브라운 운동

horust 2025. 2. 15. 22:16

산술 브라운 운동으로는 주가의 움직임을 설명할 수 없습니다. 산술 브라운 운동을 한다면 주가가 - 평균적으로 - 일정한 양만큼 증가(또는 감소)하기 때문에 주가가 음수가 될 수 있기 때문입니다. 또 다른 문제는 수익율에 대한 가정이 현실적이지 않다는 겁니다. 예를 들어 현재 주가가 50원일 때에도, 80원일 때에도, 100원일 때에도 주가가 10원만큼 오른다면 수익율은 20%, 12.5%, 10%로 낮아지게 됩니다. 주가가 높으니 수익율이 낮아도 된다고 생각하는 사람은 아무도 없습니다. 따라서 주가는 - 평균적으로 - 일정한 비율만큼 움직인다고 가정하는 것이 합리적입니다. 다만, 그 비율이 무작위 보행을 하는 것입니다.

주가와 기하 브라운 운동

주가가 움직인 비율이 곧 수익율입니다. 주가가 100원에서 1년 후에 110원이 되었다면 수익은 10원이고 수익율은 10%입니다. 그런데 주가가 일정한 수익율만큼 증가한다면 수익은 계속 커집니다. 주가가 110원에서 다시 10% 오르면 수익은 10원 보다 1원이 많은 11원이 되는거죠. 첫 1년 동안에 거둔 수익 10원에서 다시 10% 수익이 났기 때문입니다. 이를 두고 수익이 재투자되었다고 말합니다. 주가가 자주 움직일수록 수익이 재투자되는 회수가 늘어나서 수익은 계속 커집니다.

그런데 첫 6개월 후의 주가는 얼마라고 말할 수 있을까요? 당연히 5%가 오른 105원일 것 같습니다. 그런데 다음 6개월 동안 다시 5% 오르면 주가는 110.25원이 되어 1년 수익율이 10.25%가 됩니다. 거꾸로 말하면 1년 수익율이 - 10%가 아니라 - 10.25%가 되어야 첫 6개월 후의 주가가 105원이 되는 겁니다. 주가가 1년에 두 번 움직이면 한 번일 때보다 1년 수익율이 높아집니다.

마찬가지 이유로 첫 3개월 후의 주가도 2.5%가 오른 102.5원이 아닐 겁니다. 주가가 2.5%씩 4번 오르면 110.38원 정도가 됩니다. 따라서 1년 수익율이 10.38% 정도일 때 첫 3개월 후의 주가가 102.5원이 됩니다. 이런 식으로 주가가 1년 동안 움직이는 회수($n$)을 늘려 가는 대신에 수익률($r$)을 회수에 반비례하여$\left(r\over{n}\right)$ 줄여 나가 보겠습니다. 이렇게 되면 1년 후의 주가 $P_1$은 이렇게 됩니다.

$$\begin{aligned}
&100 \cdot \left(1+\frac{0.1}{1}\right)^1=110\\
&100 \cdot \left(1+\frac{0.1}{2}\right)^2=110.25\\
&100 \cdot \left(1+\frac{0.1}{4}\right)^4=110.38\\
&...\\
&P_0 \cdot \left(1+\frac{r}{n}\right)^{n}=P_1\\
\end{aligned}$$

주가가 1년에 $n$번 움직인다면 한 번 움직일 때마다 시간은 $1 \over n$년씩 흘러 갑니다. 시간의 증분을 $\Delta t=\frac{1}{n}$이라고 하면 주가가 한 번 움직일 때 수익율은 $r\cdot\Delta t$입니다.

$$
\frac{\Delta P_t}{P_t}=\frac{P_{t+\Delta t}-P_t}{P_t}=\frac{r}{n}=r\cdot\Delta t
$$

하지만 현실 세계에서 주가가 늘 일정한 비율 $r \cdot \Delta t$만큼 움직이지 않습니다. 평균적으로 주가가 일정한 비율만큼 움직이더라도 그때마다 수익율은 평균에서 위 또는 아래로 변동하게 될 겁니다. 그래서 주식 수익율이 산술 브라운 운동을 한다고 생각할 수도 있을 것 같습니다. 쉽게 말하자면 수익율이 동전을 던져서 결정된다고 생각해 보는 겁니다.

$$
\frac{\Delta P_t}{P_t}=\mu\cdot\Delta t+\sigma \cdot \Delta W_n(t)\quad\because \mu := r
$$

그리고 $n$을 무한대로 보내 버리면 무작위 보행 $W_n(t)$는 위너 과정 $W_t$가 되므로 다음과 같은 식을 얻을 수 있습니다. 이것을 기하 브라운 운동(Geometric Brownian Motion)이라고 합니다.

$$
\frac{dP_t}{P_t}=\mu\cdot dt+\sigma \cdot dW_t
$$

$$
\therefore dP_t=\mu \cdot P_t \cdot dt+\sigma \cdot P_t \cdot dW_t
$$

주식 수익율이 산술 브라운 운동을 한다면 주가는 기하 브라운 운동을 합니다. 달리 말하면 수익율이 일정한 양만큼 움직인다면 주가는 일정한 비율만큼 움직인다는 겁니다.

그런데 주식의 수익율이 산술 브라운 운동을 한다면 이렇게 결정된 수익율 $n$개를 모두 더했을 때 1년 수익율이 되어야 합니다. 하지만 이미 살펴 보았듯이 수익의 재투자 효과 때문에 모두 더한다고 1년 수익율이 되지는 않습니다. 5%씩 두 번 움직인다고 10%가 되는 것은 아닙니다. 그렇다면 수익율이 산술 브라운 운동을 한다는 가정이 맞지 않은 걸까요?

로그 수익율

1년에 주가가 $n$번 움직인다면 $t$년 동안 움직인 회수는 $nt$번일테니 $t$년 후의 주가는 이렇게 됩니다.

$$P_0 \cdot \left(1+\frac{r}{n}\right)^{nt}=P_t$$

그런데 주가는 언제나 움직이고 있습니다. 장이 열리지 않는 밤이나 주말에도 주가는 움직이고 있을 겁니다. 우리가 어떤 순간을 떠 올리든 그 순간 주가는 움직이고 있습니다. 달리 말하자면 주가가 움직이는 회수 $n$이 무한대라는 겁니다. 주가가 움직이는 회수가 무한대라면 t년 후의 주가는 어떻게 될까요? $n$은 무한히 커지지만 수익율은 반대로 무한히 줄어 들기 때문에 주가는 어떤 값으로 수렴하게 됩니다.

$$\begin{aligned}
P_t&=\displaystyle\lim_{n\rightarrow\infty}P_0\cdot\left(1+\frac{r}{n}\right)^{nt}\\
&=\displaystyle\lim_{n\rightarrow\infty}P_0\cdot\left(1+\frac{r}{n}\right)^{\frac{n}{r} \cdot {rt}}\\
&=P_0\cdot e^{rt}\quad\because \displaystyle\lim_{n\rightarrow\infty}\left(1+\frac{r}{n}\right)^{\frac{n}{r}}=e\\
\therefore \frac{P_t}{P_0}&=e^{rt}
\end{aligned}$$

그리고 양변에 자연 로그를 걸어 주면 이렇게 됩니다.

$$\ln\left(\frac{P_t}{P_0}\right)=\ln(e^{rt})={rt}
$$

이런 식으로 현재 시점의 주가를 시작 시점의 주가로 나눈 다음 자연 로그를 걸어서 구한 수익율을 로그 수익율이라고 합니다. 로그 수익율은 연속 복리 수익율이라고도 합니다. 복리는 이자에 이자가 붙는다 즉, 수익이 재투자된다는 의미입니다. 이런 식으로 복리 계산의 주기를 매년, 매달, 매주, 매일, ... 이런식으로 계속 줄여 나가서 끊임없이 연속적으로 복리를 적용하는 것을 연속 복리라고 합니다.

수익이 끊임없이 재투자되기 때문에 같은 수익율이라면 로그 수익율이 실제 수익율보다 더 큰 수익을 가져다 줍니다. 반대로 같은 수익이라면 로그 수익율이 실제 수익율 보다 작아도 됩니다. 동일한 수익을 보장하는 로그 수익율과 실제 수익율을 관계는 다음과 같습니다.

$$P_0 \cdot e^{rt}=P_0 \cdot (1+r')^t
$$

$$\therefore r=\ln(1+r')
$$

로그 수익율과 산술 브라운 운동

주가가 한 번 움직일 때의 수익율을 $r_i$라고 합시다. 주가가 $n$번 움직이고 나서 주가는 이렇게 됩니다.

$$\begin{aligned}
S_1&=S_0(1+r_1)\\
S_2&=S_1(1+r_2)=S_0(1+r_1)(1+r_2)\\
...\\
S_n&=S_0(1+r_1)(1+r_2)...(1+r_n)\\
\\
\therefore \frac{S_n}{S_0}&=(1+r_1)(1+r_2)...(1+r_n)
\end{aligned}$$

양변에 자연 로그를 걸어 놓고 보니 1년 로그 수익율은 $n$개로 쪼개진 각 기간의 로그 수익율 모두를 더한 값이라는 것을 알 수 있습니다.

$$\begin{aligned}
\ln\left(\frac{S_n}{S_0}\right)&=\ln\left((1+r_1)(1+r_2)...(1+r_n)\right)\\
&=\ln\left(1+r_1\right)+\ln\left(1+r_2\right)+...+\ln\left(1+r_n\right)\\
&=\displaystyle\sum_{i=1}^n\ln\left(1+r_i\right)
\end{aligned}$$

매번 동전을 던져서 로그 수익율을 결정하고 그에 따라 주가가 움직였다고 생각해 봅시다. 로그 수익율이 무작위 보행을 한다고 생각해보는 거죠. 그러면 1년 로그 수익율이 매번 동전을 던져서 결정된 로그 수익율의 합이므로 로그 수익율이 산술 브라운 운동을 하게 됩니다. 따라서 1년 로그 수익율을 $\mu$, 그 표준 편차를 $\sigma$라고 하면 동전을 한 번 던졌을 때 로그 수익율의 변화량은 이렇게 됩니다.

$$y_i=\ln(1+r_i)=\mu\cdot\Delta t+\sigma\cdot x_i\cdot\sqrt{\Delta t}
$$

$$
\therefore e^{y_i}=e^{\mu\cdot\Delta t+\sigma\cdot x_i\cdot\sqrt{\Delta t}}=1+r_i
$$

그리고 1년에 동전을 $n$번 던진다면 $t$년 동안 동전을 $nt$번 던지게 됩니다 따라서 $t$년 후의 주가 $P_n(t)$는 이렇게 됩니다.

$$\begin{aligned}
P_n(t)&=P_n(0)\cdot(1+r_1)(1+r_2)...(1+r_{nt})\\
&=P_n(0) \cdot e^{y_1} \cdot e^{y_2}... \cdot e^{y_{nt}}\\
&=P_n(0) \cdot e^{\sum{y_i}}\\
&=P_n(0) \cdot e^{\mu t+\sigma W_n(t)}
\end{aligned}$$

주가의 기대값

동전을 한 번 던졌을 때 즉, 시간이 $\Delta t$ 만큼 지났을 때의 주가는 이렇게 됩니다.

$$\begin{aligned}
P_n(t+\Delta t)&=P_n(t) \cdot e^{\mu\cdot\Delta t+\sigma\cdot x\cdot\sqrt{\Delta t}}\\
&=P_n(t) \cdot e^{\mu\cdot\Delta t}\cdot e^{\sigma\cdot x\cdot\sqrt{\Delta t}}
\end{aligned}$$

그리고 $x$는 동전 던지기 확률 변수이므로 $1 \over 2$의 확률로 1이거나 -1입니다. 따라서 주가의 기대값은 이렇게 됩니다.

$$\begin{aligned}
E(P_n(t+\Delta t))&=\frac{P_n(t) \cdot e^{\mu\cdot\Delta t}\cdot e^{\sigma\cdot 1\cdot\sqrt{\Delta t}}}{2}+\frac{P_n(t) \cdot e^{\mu\cdot\Delta t}\cdot e^{\sigma\cdot (-1)\cdot\sqrt{\Delta t}}}{2}\\
\\
&=P_n(t) \cdot e^{\mu\cdot\Delta t}\cdot \left(\frac{e^{\sigma\cdot\sqrt{\Delta t}}+e^{-\sigma\cdot\sqrt{\Delta t}}}{2}\right)
\end{aligned}$$

그런데 확률적으로 결정되는 괄호 안의 값은 $\Delta t$가 0으로 근접하면 근사적으로 이렇게 된다고 합니다(#).

$$\frac{e^{\sigma\cdot 1\cdot\sqrt{\Delta t}}+e^{\sigma\cdot (-1)\cdot\sqrt{\Delta t}}}{2} \approx e^{\frac{\sigma^2 \cdot \Delta t}{2}}
$$

괄호 안의 저 값을 근사치로 대체하고 깔끔하게 정리하면 동전을 한 번 던졌을 때 주가의 기대값과 기대 (로그) 수익율은 이렇게 됩니다.

$$\begin{aligned}
E(P_n(t+\Delta t))&=P_n(t) \cdot e^{\mu\cdot\Delta t}\cdot e^{\frac{\sigma^2 \cdot \Delta t}{2}}\\
&=P_n(t) \cdot e^{(\mu+\frac{\sigma^2}{2}) \cdot \Delta t}\\
\end{aligned}$$

$$\begin{aligned}
\therefore \ln\left(E\left(\frac{P_n(t+\Delta t)}{P_n(t)}\right)\right)&=\ln\left(\frac{E(P_n(t+\Delta t))}{P_n(t)}\right)\\
&=\left(\mu+\frac{\sigma^2}{2}\right)\cdot \Delta t
\end{aligned}$$

로그 수익율은 동전을 던져서 결정되는 것이므로 (로그) 수익율의 기대값은 이렇게 됩니다. 수익율의 기대값은 바로 위의 기대 수익율보다 작습니다(주석(1)).

$$\begin{aligned}
\therefore E\left(\ln\left(\frac{P_n(t+\Delta t)}{P_n(t)}\right)\right)&=\frac{\mu \cdot \Delta t+\sigma\cdot 1\cdot\sqrt{\Delta t}}{2} + \frac{\mu \cdot \Delta t+\sigma\cdot (-1)\cdot\sqrt{\Delta t}}{2}\\
&=\mu \cdot \Delta t
\end{aligned}$$

수익율의 기대값을 기대 수익율에 일치시키려면 아래와 같이 산술 브라운 운동의 표류항을 조정하여야 합니다. 기대 수익율이 커지는 만큼 미리 줄여 놓는 겁니다.

$$y_i=\left(\mu-\frac{\sigma^2}{2}\right)\cdot\Delta t+\sigma\cdot x_i\cdot\sqrt{\Delta t}
$$

그러면 $t$년 후의 주가 $P_n(t)$도 이렇게 조정됩니다.
$$
P_n(t)=P_n(0) \cdot e^{\left(\mu-\frac{\sigma^2}{2}\right)t+\sigma W_n(t)}
$$

동전 던지기 확률 변수 $x$ 대신에 표준 정규 확률 변수 $\epsilon$으로 대체하고 $n$을 무한대로 보내 버리면 $y_i$와 $P_n(t)$는 이렇게 될 것 같습니다. $n$이 무한대로 가면 무작위 보행 $W_n(t)$가 위너 과정 $W_t$가 되기 때문입니다.

$$\begin{aligned}
y_i&=\left(\mu-\frac{\sigma^2}{2}\right)\cdot dt+\sigma\cdot \epsilon_i \cdot \sqrt{dt}\\
&=\left(\mu-\frac{\sigma^2}{2}\right)\cdot dt+\sigma\cdot dW_t
\end{aligned}$$

$$
P_t=\displaystyle\lim_{n \rightarrow \infty}P_n(t)=P_0\cdot e^{\left(\mu-\frac{\sigma^2}{2}\right)t+\sigma W_t}
$$

기하 브라운 운동은 확률 미분 방정식(stochastic differential equation)이라고 합니다. 이 방정식의 해가 바로 방금 구한 $P_t$입니다.

한 가지 의문은 실제로 산술 브라운 운동을 하는 것은 로그 수익율인데 기하 브라운 운동에서는 그냥 수익율이 산술 브라운 운동을 한다는 가정을 깔고 있다는 겁니다. 잘은 모르겠지만 아주 짧은 거의 0에 가까운 시간 동안에는 주가가 한 번 움직이든, 무한히 움직이든 별 차이가 없어서 그렇지 않을까 합니다. $\Delta t$가 0에 근접하면 그냥 수익율이나 로그 수익율이 거의 차이가 없기 때문입니다.

$$P_{t+\Delta t}=P_t \cdot e^{r\Delta t} \approx P_t \cdot (1+r\Delta t)
$$

$$
\frac{\Delta P_t}{P_t} \approx \ln\left(\frac{P_{t+\Delta t}}{P_t}\right)
$$

주석

(1) 기대 수익율과 수익율의 기대값

산술 평균은 기하 평균 보다 크거나 같기 때문에 아래 괄호 안의 값이 1보다 크거나 같습니다. 이 때문에 기대 수익율이 수익율의 기대값보다 커지게 됩니다.

$$\left(\frac{e^{\sigma\cdot\sqrt{\Delta t}}+e^{-\sigma\cdot\sqrt{\Delta t}}}{2}\right) \geq \sqrt{e^{\sigma\cdot\sqrt{\Delta t}}\cdot e^{-\sigma\cdot\sqrt{\Delta t}}}=\sqrt{e^0}=1
$$

간단한 예를 들어 설명해 보겠습니다. 현재 주가는 100원이고 1년 로그 수익율이 10% 또는 -10%일 확률이 $1\over{2}$로 같다고 합시다. 그렇다면 수익율의 기대값은 당연히 0%입니다.

$$
\frac{0.1}{2}+\frac{-0.1}{2}=0
$$

하지만 1년 후 주가의 기대값은 100 보다 크기 때문에 기대 수익율이 수익율의 기대값 보다 큽니다.

$$
\frac{100 \cdot e^{0.1}+100 \cdot e^{-0.1}}{2}=\frac{110.5171+90.4837}{2}=100.5004 \geq 100
$$

$$
\frac{e^{0.1}+e^{-0.1}}{2} \geq 1=\sqrt{e^{0.1}\cdot e^{-0.1}}
$$

$$
\therefore \ln\left(\frac{e^{0.1}+e^{-0.1}}{2}\right) \geq \ln(1)=0
$$

이렇게 되는 이유는 주가가 일정 비율로 증가하거나 감소하는 경우에는 주가 수준에 따라 증가량과 감소량이 달라지고 따라서 주가가 여러 번 움직인다면 증가량과 감소량이 비대칭이 되기 때문입니다. 예를 들어 주가가 100원에서 딱 한 번 10% 오르거나 내리면 10원 오르거나 10원 내립니다. 그러나 10% 씩 두 번 오르거나 내리면 증가량은 21원, 감소량은 19원이 되어 평균이 0이 되지 않습니다.

주가가 100원일 때 10% 내렸다가 10% 오른다고 해서 다시 주가가 100원이 되지 않는 것도 바로 이 때문입니다. 반대로 100원에서 10% 올랐다가 10% 내려도 원래 주가로 돌아 오지 않습니다. 연속 복리 수익율은 주가가 무한히 자주 움직인다는 가정을 깔고 있습니다. 따라서 주가의 증가량과 감소량이 비대칭적이므로 기대 수익율이 수익율의 기대값 보다 커지게 됩니다.