Finance/Financial Mathematics

해밀턴-자코비-벨만 방정식 2 (Stochastic case) (feat. Ito's lemma)

Viator 2022. 4. 12. 14:45

지난 포스팅에서는 deterministic system에서의 해밀턴 자코비 벨만 방정식(Hamilton-Jacobi-Bellman equation)에 대해 다루었다. Deterministic system에서는 시간에 대한 함수로서 상태 방정식(state equation)을 고려하지만, Stochastic system에서는 정의할 수 없는 외생변수의 영향력이 불확실성으로써 시간과 함께 모델링 된다. 여기서 이 불확실성은 랜덤 프로세스(Stochastic process)로 정의되어 시간과 함께 dynamics에 반영된다. 즉 물리적으로 정의하기 힘든 시계열 현상들에 대한 dynamical system을 정의할 때, 랜덤 프로세스가 함께 활용되어 모델링되고 이를 Stochastic system이라 정의한다.

예상하고 있겠지만 이 Stochastic system의 대표적인 사례로는 주가(Stock price)가 있다. 주식의 가격이 움직이는 이유들에 대해 일일히 정의할 수 없을 정도로 다양한 변수들이 있기 때문에 자잘한 가격 움직임은 랜덤한 움직임으로 놓되, 일정 부분 추세를 갖는 형태로 dynamics가 표현된다.

HJB 방정식은 이러한 Stochastic system에 대해서도 최적 제어에 대한 필요충분조건이 되어주기 때문에 그만큼 제어 이론에서 중요한 위치를 차지하고 있고 금융 논문에서도 많이 활용된다. 아래에서 사전 지식으로 Ito's lemma에 대해 먼저 살펴보고 이 Ito's lemma를 이용하여 Stochastic system에서의 HJB 방정식에 대해 유도해보도록 한다. 그리고 마지막으로 그렇게 유도된 HJB 방정식을 이용하여 마켓메이커의 최적 bid-ask 산정 문제, 옵션의 공정 가격 계산, 포트폴리오 최적화, 은퇴 계획 등과 같이 다양한 금융 문제에서의 활용을 함께 살펴보도록 한다.

본 포스팅까지 따라가면 앞으로 진행할 금융 논문 리뷰에서 HJB 방정식이 나올 때마다 참조하여 그 유도와 적용을 이해할 수 있게 될 것이다.

1. Ito's lemma

Ito's lemma는 상세히 설명할 수도, 직관적으로 설명할 수도 있는데, 여기선 HJB 방정식의 유도를 이해하기 위한 목적으로 이를 언급하고 있기 때문에 최대한 직관적으로 설명하고자 한다.

dynamical system으로 아래와 같은 확률미분방정식(Stochastic Differential Equation)을 상정해보자.

$$
dx = \mu(x,t) dt + \sigma(x,t) dW \label{eq1} \tag{1}
$$

여기서 $W$를 브라운 운동(Brownian Motion)으로 놓자. 여기서 경향성을 담당하는 $\mu$ term을 drift term이라 부르고, 불확실성을 담당하는 $\sigma$ term을 diffusion term이라 칭한다. 

이때 이러한 시스템을 입력으로 받는 어떤 2번 미분 가능 연속 함수 $f(x,t)$의 존재를 생각해보자. 그러면 그 함수는 아래와 같은 dynamics를 갖는다.

$$
df = \left ( f_t + f_{x} \mu(x, t) + \frac{1}{2} f_{xx} \sigma^{2}(x,t) \right ) dt + f_{x} \sigma(x,t) dW \label{eq2} \tag{2}
$$

결론부터 말하자면 이 식 (2)를 바로 Ito's lemma라고 한다. 이 함수 $f$의 dynamics가 어떻게 유도되는지 살펴보면서 Ito's lemma가 의미하는 바를 알아보자.

먼저 일반적인 calculus에서 $\frac{dx}{dt}=\mu(x,t)$와 같이 주어졌을 때 $f(x,t)$의 전미분(Total derivative)은 아래와 같다.

$$
df = \frac{\partial f}{\partial t} dt+ \frac{\partial f}{\partial x} dx \label{eq3} \tag{3}
$$

양변을 $dt$로 나눠주면

$$
\begin{align}
\frac{df}{dt} 
&= \frac{\partial f}{\partial t} + \frac{\partial f}{\partial x} \frac{dx}{dt} \\ \\
&= f_t + f_x \mu(x, t) \label{eq4} \tag{4}
\end{align}
$$

$f$의 dynamics는 이렇게 식 (4)와 같은 형태로 정리된다.

그러나 식 (1)처럼 dynamics에 랜덤 프로세스를 포함하고 있는 Ito calculus의 경우는 식 (3)의 전미분 공식을 그대로 사용하면 오차가 생긴다. 그 이유를 알기 위해서 좀 더 들어가보면 식 (3)의 전미분이 사실 앞선 포스팅에서 살펴봤던 테일러 전개로부터 유도되었다는 사실을 알아야 한다. 아래는 이전 포스팅의 테일러 전개 노트에 있는 식 (9)와 식 (11)이다.

$$
\begin{align}
    f(a,b) 
    &= \sum_{n_1=0}^{\infty}\sum_{n_2=0}^{\infty}\frac{(a-x)^{n_1}(b-y)^{n_2}}{n_1! n_2!} \frac{\partial^{n_1+n_2} f}{\partial x^{n_1} \partial y^{n_2}} (x,y) \\
    &= f(x,y)+ \frac{1}{1!} \left ( (a-x) f_{x}(x,y) +(b-y) f_{y}(x,y) \right ) \\ &+ \frac{1}{2!} \left ( (a-x)^2 f_{xx}(x,y) + (b-y)^2 f_{yy}(x,y) + 2(a-x)(b-y) f_{xy}(x,y) \right ) \\ & + H.O.T \quad (9)\\
\end{align}
$$

$$f(x+\Delta x, y+\Delta y) = f(x,y) + f_x(x,y)\Delta x + f_y(x,y)\Delta y + H.O.T \quad (11)$$ 

이전 포스팅의 식 (9)에서 $a$와 $b$를 $x+\Delta x$, $y+\Delta y$로 놓고 1계 도함수까지만 기술하면 이전 포스팅의 식 (11)이 된다. 이때 $f(x,y)$를 좌변으로 넘기고 $\Delta$를 무한소만큼 줄여버리면 식 (3)의 전미분이 유도된다.

즉 시스템 input이 dynamics가 상미분방정식(ODE)을 따를 때, 전미분은 해당 input들을 받는 함수의 dynamics를 1계 도함수까지의 테일러 전개로 근사한 결과임을 알 수 있다.

그러나 Ito's lemma의 함의는 시스템 input의 dynamics가 확률미분방정식(SDE)을 따를 때, 전미분은 해당 input을 받는 함수의 dynamics를 2계 도함수까지의 테일러 전개로 근사되어야 한다는 것을 의미한다. 즉 아래와 같다.

$$
df = f_t dt+ f_x dx + \frac{1}{2} \left ( f_{tt}(dt)^2  + 2f_{tx} dt dx + f_{xx}(dx)^2 \right ) \label{eq5} \tag{5}
$$

그러면 왜 지금까지 상미분방정식 시스템에서는 전미분 근사에 1계까지만 활용했다가 갑자기 확률미분방정식 시스템에서 2계까지 늘려 근사해야하는지 의문이 들 수 있다. 결론부터 말하자면 일반 상미분방정식 시스템은 2계 도함수 term이 매우 작은 수로 무시가능할 만큼 작은 수치이지만 확률미분방정식에서는 브라운 운동의 특수한 성질 때문에 2계 도함수 term이 무시할 수 없는 수치가 되기 때문이다. 아래에서 이를 직관적인 방법으로 살펴보자.

먼저 $dx=\mu(x,t)dt$ 형태의 상미분방정식 시스템을 식 (5)에 대입하면 아래와 같다.

$$
df = f_t dt+ f_x \mu(x,t)dt + \frac{1}{2} \left ( f_{tt}(dt)^2  + 2f_{tx} \mu(x,t)(dt)^2 + f_{xx}\mu^2(x,t)(dt)^2 \right )
$$

위 식을 보면 2계 도함수 term이 $(dt)^2$로 묶이는 걸 볼 수 있는데, dt는 이미 무한소이기 때문에 제곱하여 나온 더 작은 값들은 고려할 수 없을 정도(by definition)로 작아 0으로 수렴한다. 그러므로 일반적인 상미분방정식 시스템에서는 2계 도함수까지 근사를 늘릴 효용이 없어 식 (3)처럼 아예 일반적인 calculus 하에서의 전미분 공식이 되어버리는 것이다.

한편 $dx = \mu(x,t) dt + \sigma(x,t) dW$의 확률미분방정식을 식 (5)에 대입하면 아래와 같다.

확률미분방정식 시스템의 경우는 위와 같이 2계 도함수 근사 파트에서 $(dt)^2$ term, $dtdW$ term, $(dW)^2$ term 으로 나뉜다. $(dt)^2$ term의 경우는 위에서 처럼 그냥 0에 근사하므로 제거되는데 $dtdW$ term, $(dW)^2$ term의 경우 과연 0으로 간주하여 제거할 수 있는지 따져보아야 한다. 아래에서 하나하나 살펴보도록 하자.

$dW$를 포함하는 항 분석

$dW$는 확률변수(random variable)이기 때문에 평균과 분산을 함께 살펴보는 좀 더 세심한 분석이 필요하다. 앞선 "Brownian motion(Wiener process)과 quadratic variation" 포스팅의 결론으로 $E[dW]=0 , (dW)^2=dt$가 됨을 살펴보았다. 이를 염두에 두고 진행해보자

위의 식 (6)에서 $dW$를 포함하는 항은 아래의 세 항이다.

$$
f_x \sigma(x,t) dW  + (f_{tx} \sigma(x,t) + f_{xx} \mu(x,t)\sigma(x,t)) dtdW + \frac{1}{2} f_{xx} \sigma^2(x,t)(dW)^2
$$

먼저 첫 번째 항의 평균, 분산부터 살펴보자. 먼저 첫 항의 평균이 $E[f_x \sigma(x,t) dW] = 0$가 됨은 자명하다. 분산은 아래와 같다.
$$
\begin{align}
Var[f_x \sigma(x,t) dW] 
&= E[(f_x \sigma(x,t) dW)^2]-(E[f_x \sigma(x,t) dW])^2 \\
&= E[(f_x \sigma(x,t))^2 (dW)^2] \\
&= E[(f_x \sigma(x,t))^2] dt
\end{align}
$$

위와 같이 첫 항의 분산이 0이 아닌 값이 나오므로 첫 항은 제거할 수 없고 남겨두어야 한다.

두 번째 항도 마찬가지로 $E[(f_{tx} \sigma(x,t) + f_{xx} \mu(x,t)\sigma(x,t)) dtdW] =0$ 으로 평균이 0이다. 분산은 다음과 같다.

$$
\begin{align}
Var[(f_{tx} \sigma(x,t) + f_{xx} \mu(x,t)\sigma(x,t)) dtdW] 
&= E[(f_{tx} \sigma(x,t) + f_{xx} \mu(x,t)\sigma(x,t)) dtdW)^2] \\
&= E[(f_{tx} \sigma(x,t) + f_{xx} \mu(x,t)\sigma(x,t))^2 (dt)^2(dW)^2]  \\
&= E[(f_{tx} \sigma(x,t) + f_{xx} \mu(x,t)\sigma(x,t))^2 ](dt)^3 \\
&= 0
\end{align}
$$

위의 전개와 같이 $(dt)^3$도 0에 수렴하므로 분산도 0에 수렴함을 알 수 있다. 즉 $dtdW$ 항은 평균과 분산이 모두 0에 수렴하므로 제거가 가능하다.

마지막으로 세 번째 항은 $\frac{1}{2} f_{xx} \sigma^2(x,t)(dW)^2 = \frac{1}{2} f_{xx} \sigma^2(x,t)dt$가 된다.

정리하면 첫 번째 항은 남겨놓아야 하고, 두 번째은 0이 되어 제거할 수 있고, 세 번째 항은 $\frac{1}{2} f_{xx} \sigma^2(x,t)dt$ 가 된다. 이것들을 식 (6)에 적용하면 결국 식 (2)가 됨을 살펴볼 수 있다.

$$
df = \left ( f_t + f_{x} \mu(x, t) + \frac{1}{2} f_{xx} \sigma^{2}(x,t) \right ) dt + f_{x} \sigma(x,t) dW \label{2} \tag{2}
$$

2. HJB equation derivation

이제 위의 Ito lemma를 이용해서 stochastic dynamical system의 HJB 방정식을 유도할 수 있다. 먼저 어디에 적용해야할지 찾기 위해 지난 시간에 보았던 deterministic dynamical system의 HJB 방정식 유도를 리뷰해보자.

2.1. HJB Equation in deterministic system review

일반적인 시스템은 물리법칙에 따라 아래와 같은 상미분방정식의 dynamics를 갖는다. 이 때 임의의 cost function $J$와 value function $V$를 상정해보자.

$$
\begin{align}
    d\mathbf{x}&=f(\mathbf{x}(t), \mathbf{u}(t), t) dt \label{eq7} \tag{7} \\
    J(\mathbf{x}(t), \mathbf{u}(t), t_0)&=Q(\mathbf{x}(t_f), t_f)+\int_{t_0}^{t_f} \mathcal{L}(\mathbf{x}(\tau), \mathbf{u}(\tau)) d\tau \label{eq8} \tag{8} \\
\end{align}
$$

$$V(\mathbf{x}(t), t) = \min_{\mathbf{u}(t)} J(\mathbf{x}(t), \mathbf{u}(t), t) \label{eq9} \tag{9}$$

여기서 $Q$는 말기 상태에 도달했을 때에 Terminal cost이고 $\mathcal{L}$은 도달하면서 받을 일시적 cost이다. 사용되는 시간은 $t_0<t<t_f$이다. 그러면 HJB 방정식은 아래와 같이 유도된다.

$$
\begin{align}
V(\mathbf{x}(t),t)
&= \min_{\mathbf{u}[t, t_f]} \left ( \int_{t}^{t_f} \mathcal{L}(\mathbf{x}(\tau), \mathbf{u}(\tau)) d\tau + Q(\mathbf{x}(t_f), t_f)\right ) \label{eq10} \tag{10} \\
&= \min_{\mathbf{u}[t, t_f]} \left ( \int_{t}^{t+dt} \mathcal{L}(\mathbf{x}(\tau), \mathbf{u}(\tau)) d\tau + \min_{\mathbf{u}[t+dt, t_f]} \left ( \int_{t+dt}^{t_f} \mathcal{L}(\mathbf{x}(\tau), \mathbf{u}(\tau)) d\tau \right ) + Q(\mathbf{x}(t_f), t_f) \right ) \label{eq11} \tag{11}\\
&= \min_{\mathbf{u}[t, t+dt]} \left ( \int_{t}^{t+dt} \mathcal{L}(\mathbf{x}(\tau), \mathbf{u}(\tau)) d\tau + V(\mathbf{x}(t+dt),t+dt) \right ) \label{eq12} \tag{12} \\
&= \min_{\mathbf{u}[t, t+dt]} \left (\mathcal{L}(\mathbf{x}(t), \mathbf{u}(t))dt + V(\mathbf{x}(t), t)+dV(\mathbf{x}(t), t) \right ) \label{eq13} \tag{13} \\
&= \min_{\mathbf{u}[t, t+dt]} (\mathcal{L}(\mathbf{x}(t), \mathbf{u}(t)) dt + V(\mathbf{x}(t),t)+ V_x (\mathbf{x}(t), t)^T d\mathbf{x} + V_t (\mathbf{x}(t),t) dt) \label{eq14} \tag{14} \\
\therefore -V_t (\mathbf{x}(t),t)&= \min_{\mathbf{u}[t, t+dt]} (\mathcal{L}(\mathbf{x}(t), \mathbf{u}(t)) + V_x (\mathbf{x}(t), t)^T f(\mathbf{x},\mathbf{u})) \label{eq15} \tag{15}
\end{align}
$$

전개에 대한 설명은 이전 포스팅을 참조하면 된다. 여기서 중요한 부분은 식 (13)에서 식 (14)로 넘어가는 부분의 $dV$에 대한 테일러 전개 근사이다. 여기선 식 (3)처럼 1계 도함수까지의 테일러 전개로 수식을 전개했으나 본 포스팅에서는 stochastic system을 다루므로 위 Ito lemma의 결과를 따라 2계 도함수까지의 근사로 대체해줘야한다는 점을 체크하고 넘어가자.

2.2. HJB Equation in stochastic system

다음과 같이 stochastic dynamics를 갖는 system을 구성해보자.

$$
\begin{align}
    dx &= \mu(x,u,t) dt + \sigma(x,u,t) dW \label{eq16} \tag{16} \\
    J(x(t), u(t), t_0)&=Q(x(t_f), t_f)+\int_{t_0}^{t_f} \mathcal{L}(x(\tau), u(\tau)) d\tau \label{eq17} \tag{17} \\
    V(x(t), t) &= \min_{u(t)} E \left [ J(x(t), u(t), t) \right ] \label{eq18} \tag{18}
\end{align}
$$


위의 deterministic system과 다른 점은 system dynamics에 랜덤 프로세스 term $\sigma(x,u,t) dW$이 포함되어 있다. 이로 인해 고려해야 할 사항은 이 stochastic dynamics는 동일한 input일지라도 다른 output 값을 낼 것이기에 식 (18)의 value function에서처럼 value function을 loss function에 기댓값을 붙여서 관리해야한다는 점이다.

이제 여기서 HJB 방정식을 유도해보자.

$$
\begin{align}
V(x(t),t)
&= \min_{u[t, t_f]} E\left [ \int_{t}^{t_f} \mathcal{L}(x(\tau), u(\tau)) d\tau + Q(x(t_f), t_f)\right ] \label{eq19} \tag{19} \\
&= \min_{u[t, t_f]} E\left [ \int_{t}^{t+dt} \mathcal{L}(x(\tau), u(\tau)) d\tau + \min_{u[t+dt, t_f]} \left ( \int_{t+dt}^{t_f} \mathcal{L}(x(\tau), u(\tau)) d\tau \right ) + Q(x(t_f), t_f) \right ] \label{eq20} \tag{20}\\
&= \min_{u[t, t+dt]} E\left [ \int_{t}^{t+dt} \mathcal{L}(x(\tau), u(\tau)) d\tau + V(x(t+dt),t+dt) \right ] \label{eq21} \tag{21} \\
&= \min_{u[t, t+dt]} E\left [\mathcal{L}(x(t), u(t))dt + V(x(t), t)+dV(x(t), t) \right ] \label{eq22} \tag{22} \\
&= \min_{u[t, t+dt]} E\left[ \mathcal{L}(x(t), u(t)) dt + V(x(t),t)+ V_t dt + V_x \mu(x,u,t) dt + \frac{1}{2}V_{xx} \sigma^2(x,u,t) dt + V_x \sigma(x,u,t) dW\right ] \label{eq23} \tag{23} \\
&= \min_{u[t, t+dt]} \left[ \mathcal{L}(x(t), u(t)) dt + V(x(t),t)+ V_t dt + V_x \mu(x,u,t) dt + \frac{1}{2}V_{xx} \sigma^2(x,u,t) dt\right ] \label{eq24} \tag{24} \\
\therefore -V_t (x(t),t)&= \min_{u[t, t+dt]} \left[ \mathcal{L}(x(t), u(t)) +  V_x \mu(x,u,t) + \frac{1}{2}V_{xx} \sigma^2(x,u,t)\right ] \label{eq25} \tag{25}
\end{align}
$$

전개를 하나하나 살펴보면 식 (22)까지는 앞에 기댓값을 붙인 상태로 위의 deterministic case와 동일하다. 식 (23)에서는 Ito lemma의 결과인 식 (2)의 $f$자리에 $V$로 대체하여 대입하였다. 여기서 $dW$의 기댓값은 0이기 때문에 식 (24)에서 기댓값을 제거해주면서 $dW$ term은 0처리가 된다. 여기서 마지막으로 식 (16)에서와 동일하게 양변에 $V$ 상계시켜주고 dt로 나눠주면 식 (25)에 해당하는 최종적인 HJB 방정식이 완성된다.

3. 마치며

본 포스팅에서는 Stochastic dynamical system에서의 HJB 방정식에 대해 유도해보았다. 금융 도메인과 같은 불확실성이 많은 dynamics에서는 랜덤프로세스로 그 불확실성이 정의되고, 그로 인해 해당 시스템을 input으로 받는 어떠한 함수 $f$의 dynamics는 2계 도함수까지 확장하여 테일러 전개로 근사해야한다는 Ito's lemma가 필요하다. 그리고 이 Ito's lemma에 따라 최종적인 HJB 방정식도 $V_{xx}$ term이 새로 생기는 형태가 된다.

여기까지 작성됨으로써 제어 입력이 필요한 시계열 도메인에서 system dynamics가 모델링된다면 거의 모든 문제에 대한 HJB 방정식을 정의할 수 있게 되었다. 물론 HJB 방정식이 최적제어를 위한 필요충분조건임에도 불구하고 방정식을 정의하고 나서도 최종적인 최적 제어 도출까진 제약 사항들이 많기 때문에 범용적인 솔루션이 될 수는 없는 접근 방식이지만, 조건만 맞는다면 해석적으로 closed-form solution이 나온다는 점에서 어떤 problem 앞에 가장 먼저 점검해볼 수 있는 수학적 접근법이라고 할 수 있겠다.

HJB 방정식을 정의해 최적 제어를 도출하는 구체적인 활용 사례는 앞으로 진행할 금융 모델 논문들 분석 포스팅에서 대체하고 이 포스팅은 여기서 맺기로 한다. 

 

Reference

1. Primbs, J. A. (2009). A control systems based look at financial engineering.Tutorial from the presentation, The Control of Financial Portfolios.