弊社の研究

人工知能学会の発表について Ai Trader

トレードについて1

2009年 私はトレーダーになるべく、FXトレーディングスクールに通っていた。そこでのトレードは緻密にチャートを分析して、勝率の高いエントリを探し、値動きを注視するようなものだった。手法を覚え2~3か月のころ、私の勝率は95%に到達。20連勝を修めた。
チャートに注目したトレードであることは間違いなく、その中でもチャートの形にこだわって行っていた。少し詳しい方なら、トレンドライン、三尊、ダブルトップ、フラッグなどの話題は目にされた事はあるでしょう。 右の画像が典型的なチャートパターンです。



2.動機・・・チャート画像を機械学習したらどうなるの?

・2012年にGoogle猫の話題を見て、チャート画像を機械学習したらどうなるのかという疑問を持ちました。

・チャート画像を右図のようなニューラルネットに入力することにより、自然と中間層に勝つときのパターンが表れてくるはずだと考えました。
deep learningの特徴は人間が気が付かないような特徴を抽出する事。ここから世間で語られていない全く新しい取引方法が見いだせる可能性があると考えた。その抽象的な勝ちパターンを覚えたニューラルネットは知性を持ったトレーダーの入り口になるのではと信じ、今回の検証に至りました。

3.準備・構成

・右構成図のような仕組みを複数マシン間で 連携して構築した。

1.チャート画像取得プログラム MQL4 C++
2.Chainer CNN 学習プログラム Python
3.結果検証DBプログラム Python Postgres Excel

・チャートデータは2005~2016 USD/JPY 30万枚
・一年あたり約24000
・画像サイズは654×418 ピクセル

取得したチャートのスクリーンコピーの次(15分後)の画像で、5PIPS以上上がっていれば1(BUY) 5PIPS以上下がっていれば  -1(SELL) 5PIP以内であれば0(何もしない)をラベリングしています。
例 -12008#01#22#21#00.png 12008#01#22#21#30.png (チャートの左端時間)

チャートデータの割合は、0が70% 1(BUY) 15% -1(SELL) 15% の割合になっています。

4.学習方法

2006年データを後述するCNNで学習した。以下チャート画像を入力として、学習ファイルを生成した。それをモデルの損失関数の入力としてMomentumSGDによりデータごとに繰り返しパラメータ更新をします。その結果として学習済みデータセットが生成できます。


5.検証方法

・2006年のデータを学習させたモデルに、学習時のテストで利用した、2007年データを除き2008年~2016 年までのデータを学習済みモデルに渡し結果を取得する。データベースに問い合わせ価格差を取得した。
・15分毎に「買う・売る・何もしない」を選択し、買うor売る場合は15分後に自動決済する想定
・スプレッドは考慮しない

6.使用したモデル

今回、AlexNetと呼ばれるCNN(畳み込みニューラルネットワーク)モデルを基にモデル構築を行った。 用意したデータのサイズに合わせ、MaxPooling層の追加などを行った。

7.実施結果1

2006年の画像(件)を学習し、学習時のTestデータを2007年のデータにした。Chainer imageNet プログラムのArexモデルを流用し実行した。

・検証結果 各年度の検証結果は下表のように、各年での勝率は50%を超えているが、損益としては大幅なマイナスになってしまった。

7.モデル分析 1



7.改善策


8.実施結果2

次のチャートの終値差が10PIPS以上あった物についてラベリングした。
テストデータでの正答率が前回よりも良好。

・10PIPSの値幅画像での検証は勝率50.1%で損益合計の推移も順調に増えている。もう少し勝率が上がれば もしかしたら実用化も視野に入ると考えた。

8.学習モデル分析2


出力の偏りはある程度改善されたが、理想の出力の割合は1:1のため、まだ改善の余地が見込まれる。 より性能の高いGPUを用意し、学習データ数と中間層のフィルタ枚数を増やす必要がある。

9.全体での課題

ここまでの課題

・新たな勝ちパターンが出てくるかもしれないという事でこの研究をスタートしたが、中間層の画像をアウトプットして確認したところ、特に有効な画像は見られなかった。

・人間の目に映った大量の情報は脳の中で解釈される時には数パーセントになっている。今回の検証ではすべての目に映る情報を取り込み学習させたが、本来人間が持っている、重要な物を自然とフィルターをかけ見るという行為を模倣した仕組みを取り入れることで、さらに精度の高い取引ツールにバージョンアップをしたい。

・過去の研究会では学者をツールとして使ってくださいというお話もあり、お言葉に甘えて本研究会に出席されている、諸先生方のお知恵をお借り出来れば、もっと素晴らしいものになると確信している。

・技術としてはさらなる飛躍をしていく分野なので、積極的にその他分野に応用していきたい。(医者が治療方針を相談できるAIなど)