これからの「お金」の話をしよう

(旧 システムトレードのススメ)

オートエンコーダはチャートから何を抽出するか

f:id:uki-profit:20171113145652j:plain

投資へのディープラーニング(多層ニューラルネットワーク)の応用について、論文や記事はよく見掛けるのですが、実際にニューラルネットがどのような特徴を掴んでいるのか記載のあるものは見掛けません。

 

実際にニューラルネットにチャートを分析させた場合、どのような概念が形成されるのでしょうか。

ここでは、オートエンコーダを使って検証してみます。

 

 

1.オートエンコーダとは

 

オートエンコーダとは、砂時計型にくびれたニューラルネットの入出力層に同じ情報を与え、中間層を介して入力データを圧縮・復元するものです。

このとき中間層には入力情報が圧縮されたもの、つまりそのデータの「特徴」が残ることになります。

これを繰り返し重ねることで、モデルの中に次第に「人」や「猫」などの概念(ラベル)が形成されます。

 

ここでは詳細な説明は割愛します。

以下の関連コラム、関連書籍をご覧下さい。

 

関連コラム:

we.love-profit.com

 

関連書籍:

人工知能は人間を超えるか (角川EPUB選書)

人工知能は人間を超えるか (角川EPUB選書)

 

 

 

2.検証要領

 

今回は、オートエンコーダに株価チャートを学習させます。

あまり規模が大きいものを作っても仕方がないため、ここでは5日間の株価の値動きを入力してどのような特徴の概念が形成されるか確認します。

 

(1)入力データ

5日間の株価のローソク足(始値、高値、安値、終値)の計20特徴量

市場変動分は予め控除しておきます。

また銘柄間や時系列間でデータを一律で扱うために、5日間の直前の終値を基準として騰落率に置き換え、正規化しておきます。

 

(2)サンプル

1ヶ月間のTOPIX500銘柄の値動きをサンプルとします。

計9036サンプルで検証を行いました。

 

(3)オートエンコーダモデル

ここでは3層のオートエンコーダを使い、入力の20特徴量を3特徴量まで次元圧縮します。

以下、モデルの概念図を示します。

 

図1.オートエンコーダモデル

f:id:uki-profit:20171114143741j:plain

 

3.検証結果

 

それでは、3層目の3つの特徴量C1、C2、C3のそれぞれの値を変化させ、これらの特徴量がどのような概念を獲得したのか確認していきます。

 

(1)C1特徴量

f:id:uki-profit:20171114143705j:plain

上図から分かるように、C1特徴量が小さい場合は5日間の前半で下落した株価が後半に大きく上昇しています。

逆にC1特徴量が大きい場合は5日間の前半で上昇した株価が後半に大きく下落しています。

 

以上から、C1特徴量は分析期間における「反発/反落を示すリバーサル」の概念を獲得していることが分かります。

 

(2)C2特徴量

f:id:uki-profit:20171114143718j:plain

上図から分かるように、C2特徴量が小さい場合は5日間を通して株価が上昇しています。

逆にC2特徴量が大きい場合は5日間を通して株価が下落しています。

 

以上から、C2特徴量は分析期間における「上昇/下落のトレンド」の概念を獲得していることが分かります。

 

(3)C3特徴量

f:id:uki-profit:20171114143729j:plain

上図から分かるように、C3特徴量が小さい場合は5日間で下落→上昇→下落を繰り返しています。

逆にC3特徴量が大きい場合は5日間で上昇→下落→上昇を繰り返しています。

 

以上から、C3特徴量は分析期間における「レンジ相場での日足の反転特性」の概念を獲得していることが分かります。

 

 

4.まとめ

 

いかがでしょうか。

格好良く言ってしまえば「AIがチャートを分析して概念を獲得した」と言えるかもしれませんが、結果を見てみると既存のテクニカル指標でも代替可能な特徴であると思います。

 

この特性がリターンに対して相関を持つかどうかが重要ですが、当然ながら銘柄や市況によって左右されます。

 

全てのアセット、全ての状況においても効果的な指標というものを見つけることは、なかなか難しい問題だと思います。