🤮

High-frequency trading in a limit order bookの (2.3)式を導出してみる

2022/12/17に公開

https://people.orie.cornell.edu/sfs33/LimitOrderBook.pdf

botter界隈のツイートで、上記論文がmmbotに強く関係していることを知り、理解しようと試みています。理論的に理解したいので数式を導出してみることにしました。ところがいきなり序盤でつまづいてしまいました。(2.3)式がわからん、となったのです。

なんとか私なりに解いてみました。確定システムはそこそこ知見があるのですが、確率微分方程式はど素人なので間違っている可能性があります。ご指摘頂けましたら幸いです。

まず、株価の中値が次の式で表されています。

dS_u=\sigma dW_u \tag{2.1}

ここで S_uは株価の中値で、その初期値がsです。W_uは1次の標準ブラウン運動であり、\sigmaは定数です。ブラックショールズ過程の第1項である時間微分の項がないバージョンで、かつ、右辺にS_uが掛け算されていないバージョン、という理解です。つまり、ランダム要素しか考えてませんよ、という意味かと。

エージェントの目的は最終時刻Tの指数効用関数の最大化です。qの株を持つ最終時間Tの評価関数を次式で表現します。

v(x,s,q,t)=E_t[-\exp(-\gamma(x+qS_T))] \tag{2.2}

これは、効用関数を使って最大化を目的とするんだな。ふーん、という感じだったんですが、いきなり次で面食らいました。

v(x,s,q,t)=-\exp(-\gamma x)\exp(-\gamma qs)\exp \bigg(\frac{\gamma^2q^2\sigma^2 (T-t)}{2}\bigg) \tag{2.3}

これって、この領域では当たり前の話なのでしょうか。どうやったの?となり、これを導出してみたくなりました。

まず、E_t[\cdot]は平均値を表す、期待値演算子というものです。なので、確率分布を掛け算して積分して期待値を計算したのだと推察できます。

また、目的の効用関数にS_Tが入っているので、こちらはきっと時間で積分したのだろうとわかります。(2.1)式より、きっとこうだろうと。積分区間は任意の時間tから最終時間Tまでとして、

S_T = s + \sigma \int^T_t dW_u \tag{1}

積分区間は時間ですが、微小変化量はdW_uという変わった感じです。これは伊藤積分というやつのようですね。離散時間系で次のように書くことができます。tからTまでの時間をN分割したと考えると、Nを無限大に飛ばせば連続時間になるので、

\begin{aligned} S_T &=s + \sigma\lim_{N\rightarrow \infty} \sum^{N-1}_{i=0} \Delta W_{u}(t_i) \\ &=s + \sigma\lim_{N\rightarrow \infty} \sum^{N-1}_{i=0} \bigg(W_{u}(t_{i+1})-W_{u}(t_i)\bigg)\tag{2} \end{aligned}

のようになり、\sumを展開して考えると、

\begin{aligned} S_T =s &+ \sigma\lim_{N\rightarrow \infty} \bigg(W_{u}(t_{N})-W_{u}(t_{N-1}) \\ &+W_{u}(t_{N-1})-W_{u}(t_{N-2}) \\ &+\cdots \\ &+W_{u}(t_{2})-W_{u}(t_{1}) \\ &+W_{u}(t_{1})-W_{u}(t_{0})\bigg)\tag{3} \end{aligned}

差分が連続して出てくるので打ち消しあって、t_N=T, t_0=tなので、

\begin{aligned} S_T &=s + \sigma\lim_{N\rightarrow \infty} (W_{u}(t_{N})-W_{u}(t_{0})) \\ &=s + \sigma\{W_{u}(T)-W_{u}(t)\} \end{aligned}

とかけます。なので(2.2)式は次のようになります。

\begin{aligned} v(x,s,q,t)&=E_t\bigg[-\exp\bigg(-\gamma \bigg(x+q(s + \sigma \{W_{u}(T)-W_{u}(t)\} \bigg) \bigg)\bigg] \\ &=E_t\bigg[-\exp(-\gamma x)\exp(-\gamma q s) \exp\bigg(-\gamma q \sigma \{W_{u}(T)-W_{u}(t)\}\bigg)\bigg] \tag{4} \end{aligned}

ここで\exp(-\gamma x)\exp(-\gamma q s)は定数なので、一旦、おいておいて、W_{u}(T)-W_{u}(t)は標準ブラウン運動なので、確率分布を持っています。俗にいうウィーナー過程です。一般にウィーナー過程では次式が成り立ち、

\begin{aligned} E_t[W_{u}(T)-W_{u}(t)] &= 0 \\ E_t[\{W_{u}(T)-W_{u}(t)\}^2] &= T-t \tag{5} \end{aligned}

平均値0、分散(T-t)の確率分布に従うということになります。今、標準ブラウン運動に\sigmaが掛け算されているので、

\begin{aligned} E_t[\sigma\{W_{u}(T)-W_{u}(t)\}] &= 0 \\ E_t[\sigma^2\{W_{u}(T)-W_{u}(t)\}^2] &= \sigma^2(T-t) \tag{5'} \end{aligned}

となり、平均値0、分散\sigma^2(T-t)の確率分布に従うということになります。X=\sigma\{W_{u}(T)-W_{u}(t)\}とすれば、その確率分布p(t,X)は、

\begin{aligned} p(t, X) = \frac{1}{\sqrt{2\pi(T-t)}\sigma}\exp\bigg(-\frac{X^2}{2\sigma^2(T-t)} \bigg){}{}{} \tag{6} \end{aligned}

に従うであろうというのがなんとなくわかります。ここで-\infty < X < \inftyの範囲を変動します。確率分布が時間の関数になっているということですね。なので(4)式は期待値演算子を外してしまえば、

\begin{aligned} v(x,s,q,t)&=-\exp(-\gamma x)\exp(-\gamma q s) \\ &\cdot \int^{\infty}_{-\infty} p(t, X)\exp(-\gamma q X)dX \tag{7} \end{aligned}

書くのが面倒なので、a=-\exp(-\gamma x)\exp(-\gamma q s), b=\frac{1}{\sqrt{2\pi(T-t)}\sigma}とおいてしまえば、

\begin{aligned} v(x,s,q,t)=ab\int^{\infty}_{-\infty} \exp\bigg(-\gamma q X -\frac{X^2}{2\sigma^2(T-t)}\bigg)dX \tag{8} \end{aligned}

となります。次にこんな式変形をします。

\begin{aligned} v(x,s,q,t)&=ab\int^{\infty}_{-\infty} \exp\bigg(-\frac{(X+\gamma q \sigma^2(T-t))^2}{2\sigma^2(T-t)}+\frac{\gamma^2 q^2 \sigma^2(T-t)}{2}\bigg)dX \\ &=ab \exp(\frac{\gamma^2 q^2 \sigma^2(T-t)}{2}) \int^{\infty}_{-\infty} \exp\bigg(-\frac{(X+\gamma q \sigma^2(T-t))^2}{2\sigma^2(T-t)}\bigg)dX \tag{9} \end{aligned}

ここでの積分はX方向の積分なので、tは無関係なので、単にガウス積分と考えることができて、

\begin{aligned} b\int^{\infty}_{-\infty} \exp\bigg(-\frac{(X+\gamma q \sigma^2(T-t))^2}{2\sigma^2(T-t)}\bigg)dX = 1 \tag{10} \end{aligned}

となるので、(9)式は

\begin{aligned} v(x,s,q,t)&=a\exp(\frac{\gamma^2 q^2 \sigma^2(T-t)}{2})\\ &= -\exp(-\gamma x)\exp(-\gamma qs)\exp \bigg(\frac{\gamma^2q^2\sigma^2 (T-t)}{2}\bigg) \tag{11} \end{aligned}

という感じで、自分を納得させています。もっと簡単な導出方法などがあれば教えていただければ幸いです。

Discussion