確率的ニューラルネットワーク

NNの1種に確率的ニューラルネットワークというものがある。
今話題のAI。人工知能とよばれるプログラムの1つ。

画像認識に利用されている技術だが、これをトレードに利用するアイデアについて。

「金融時系列プライスの予測」の訳を始める前に気になっているEA(MetaTraderプログラム)があると言ったのが
次に紹介するものだ。

訳を終えた今では、「これは自分でNNのEAを作成する参考にはなる」程度という感想だが、それでも「金融時系列プライスの予測」よりは簡単に理解できるので読んでみる価値はある。

Paco Hernández Gómez
Using a PNN (Probabilistic Neural Network) and MetaTrader 4 (MQL4) to trade Forex

http://www.hernandezgomez.com/index.php/using-a-pnn-probabilistic-neural-network-and-metatrader-4-mql4-to-trade-forex/

Probabilistic Neural Network、これは確率的ニューラルネットワークと訳されますが略してPNNとも言う。
ただし並列型NN(Pararell NN)やパルスNNも同じ略語を使用している。

主に顔認識、画像認識などに使われているらしく、上記のページではチャートの形をパターンとして認識するために使用している。
このEAの仕組みは、その認識の最終判断のための計算がよく理解できないことを除いて簡単に説明すると、

学習モードではMetaTraderに表示されたヒストリカルチャートを使って

まずあらかじめ指定した本数のバー(Open,High,Low,Close)=チャートの形 のデータをメモリ上に記録する。

そしてあらかじめ指定した目標利益(リミットストップ)とストップロスのどちらかにヒットした時点でこのメモリ上のデータを勝ちと負けのどちからに区別(Class)する。

そして勝ちとなったものを外部ファイルに記録。

テストモードはMetaTraderのバックテスト機能を使う。
外部ファイル内に保存されているチャートの形と似ていると判断したときにエントリーを行う。
エントリーのときにリミットストップとストップロスの注文も出す。(学習モードでも同じ)

考え方はいたってシンプルで、テクニカル指標を使わず単にチャートパターンからエントリーする時を決めているわけだ。

ただしこのEAはシンプルすぎるため、次のような問題がある。
あるパターンが一度でも”勝ち”となるとファイルに記録される。
つまり、各パターンの勝率は考慮されていない。

また、パターンの認識判定が各バーに一律に判断される。
例えばバー50本によるチャートの形をパターンとした場合、1本前と50本前のバーは平等に認識判定される。

もし50本前から5本前までがかなり”勝ち”のパターンに形が近いが4本前から1本前までは”負け”のパターン(外部ファイルには負けパターンは記録されていないが)だとしても、これは勝ちパターンとして認識される場合があるということである。

このことが原因だからなのかはわかないが、なぜかLongでは認識率は高くShortでは低い結果が出ている。

だが、こういった問題点を自分なりに工夫できる見込みがありそうなのがこのEAのいい点だと思う。
専門的なNNから前に戻って、基本的なデータマイニングも利用できそうだ。