長期的市場変化:リカレントニューラルネットワークを用いたLSTMとGRU
金融市場のデータは時系列データであり、過去の価格が将来の価格に影響を与える自己相関性が強く、社会情勢や経済指標からの複雑かつ非線形な影響を受け、数ヶ月から数年にわたる長期的トレンドやサイクルを持っている。
これらの特徴を捉えるためには、リカレントニューラルネットワーク(RNN)の一種であるLSTM(Long Short-Term Memory)やGRU(Gated Recurrent Unit)のように、長期依存関係を学習できるモデルが適している。LSTMとGRUは、誤差逆伝播BPTT時の勾配消失が起きにくいように、ゲートを設置し、活性化関数を用いることで複雑な非線形パターンの学習を可能にしている学習モデルである。
LSTMは、より長期の依存関係を保持するのに優れており、経済サイクルのような長期的なトレンド分析に適し、GRUは、構造がシンプルで計算効率が高く、高頻度取引データや短期予測に適している。
1. LSTM
LSTMネットワークは、忘却ゲート、入力ゲート、出力ゲートの3つのゲートを持つ。$${\phi(x)}$$をジグモイド関数とし、各ゲートでの重み行列をそれぞれ$${W_f, W_i, W_o}$$、バイアス項を$${b_f, b_i, b_o}$$とする。
忘却ゲート($${f_t}$$): 内部メモリから償却する情報を選択する
$${f_t = \phi(W_f \cdot [h_{t-1}, x_t] + b_f) }$$
入力ゲート ($${i_t}$$): 内部メモリに保存する情報を選択する
$${i_t = \phi(W_i \cdot [h_{t-1}, x_t] + b_i)}$$
出力ゲート ($${o_t}$$): 現在の内部メモリから隠れ状態として出力する情報を選択する
入力ゲートと忘却ゲートからの情報で、内部メモリは以下のように更新される。
$${C_t = f_t * C_{t-1} + i_t * \tilde{C}_t}$$
この内部メモリから、出力と隠れ状態は
$${o_t = \phi(W_o \cdot [h_{t-1}, x_t] + b_o)}$$
$${h_t = o_t * \tanh(C_t)}$$
と出力される。
BPTTによって各重み行列とバイアスが学習される。
LSTMは数年単位に及ぶ市場変化を分析するのに長けており、無意味なデータのブレを除去できるためノイズにも強い利点がある。
2. GRU (Gated Recurrent Unit)
GRUはLSTMよりもシンプルな構造で、二つの更新ゲートとリセットゲートから成る。上記と同様に、$${\phi(x)}$$をジグモイド関数とし、更新ゲート、リセットゲートでの重み行列をそれぞれ$${W_z, W_r}$$、バイアス項を$${b_z, b_r}$$とする。
更新ゲート:保持する過去情報を決定する
$${z_t = \phi(W_z \cdot [h_{t-1}, x_t] + b_z)}$$
リセットゲート:償却する過去情報を決定する。
$${r_t = \phi(W_r \cdot [h_{t-1}, x_t] + b_r)}$$
隠れ状態は、以下のように更新される。
$${h_t = (1 - z_t) * h_{t-1} + z_t * \tanh(W_h \cdot [r_t * h_{t-1}, x_t] + b_h)}$$
BPTTにより、各重み行列とバイアスが学習される。
GRUはLSTMに比べ学習が早く、動きの速い取引データの学習に向いている。また、短期記憶と長期記憶のバランスを効率よく摂る事ができる。
扱う市場変化が10年単位のデータに依存するならば、LSTMを使用し、単純で素早い学習と計算資源に制約がある場合はGRUを使用するのが相応しい。
RNNを用いて長期的市場変化を分析した論文には以下のものがある。
Deep State Space Recurrent Neural Networks for Time Series Forecasting Hugo Inzirillo(2024)
A Stock Selection Method Based on Earning Yield Forecast Using Sequence Prediction Models Jessie Sun(2010)