AIでFX分析!!Neural Network ConsoleでFX予想をしてみた

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
※※ 本記事の執筆後にもっと精度の高いFX予測を実現しました ※※
以下の記事で本記事よりもより良いという方法も掲載していますので、良ければこちらも御覧ください。↓↓↓
AIによるFX予測キット。正解率は人以上!!
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

こんにちは。管理人のピヨ猫でーす。

前回の記事でSONY neural network consoleにFX為替予想の教師データを取り込む方法を紹介しました。今回は、ようやく機械学習をしてみたいと思います。
長かったー

長かった

 

piyonekochannel.com

 

1.画像認識ニューラルネットワークLeNetについて

SONY neural network consoleには、画像認識のためのモデルがデフォルトで備わっています。HOMEメニューのPROJECTにある「LeNet.sdcproj」です。

SONY neural network consoleのLeNet.sdcproj

SONY neural network consoleのLeNet.sdcproj

LeNetが何かというと正直私は理解できていません。
CNNという画期的な画像認識技法を作成したYann LeCun先生が発表された論文をベースにした画像認識ネットワークの様です。

論文はこちら

http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf

こちらの記事も参考になります。

http://torch.classcat.com/category/lenet/

https://arakan-pgm-ai.hatenablog.com/entry/2017/10/01/080000

2.neural network consoleを動かしてみよう

しょーじき私にはこのディープラーニングのネットワークを見ても理解できません。
何時かは理解できるようになりたいものですが、まずは動かしてみて機械学習を体感してみました。

【手順】

  1. テンプレートのLeNetをコピーしてFX予想用のLeNetを作成する
    ①テンプレート用のLeNetを開き右上の名前を付けて保存ボタンを押下する

     SONY neural network consoleのLeNet.sdcproj

    ②名前を付けて保存ダイアログで別名を付けてファイルを保存する。
     SONY neural network consoleのLeNet.sdcproj名前を付けて保存

  2. 入力層(INPUTノード)のサイズ設定を変更する
    入力層(INPUTノード)のサイズに教師データの画像ファイルのサイズを設定します。

    入力層(INPUTノード)のサイズ設定
    先頭の1→3はモノクロ→RGB色への変更を意味します。
    他の層(ノード)のサイズはINPUT層に指定したサイズに合わせて自動で変わります。

    追記:Affine_2のサイズを10→7に分類しないとだめです。
               今回の為替予想は結果を7クラスに分類するので。

  3. 学習用のDataSetを設定する
    メニューバーよりDATASETを選択 → サイドバーよりTrainingを選択 → Opendatasetを選択 してTrainingデータにtrain.csvを設定する。

    学習用のDataSetの設定

  4. テスト用のDataSetを設定する
    メニューバーよりDATASETを選択 → サイドバーよりValidationを選択 → Opendatasetを選択 してValidationデータにtest.csvを設定する。

    テスト用のDataSetを設定

  5. 学習試行回数の設定
    CONFIGボタンを押下し、設定画面よりMax Epoch(学習試行回数)を設定します。少ない回数だと学習が十分に行われないので100以上に設定するのが良いです。あまり長く設定すると時間がすごくかかりますし、やりすぎても効果が無いのでここは経験で見極めましょう。
    合わせてBatch Sizeを設定します。Batch Sizeは並列実行数です。ここも経験です。今回は30に設定しました。

    学習回数の設定

  6. 学習開始
    Trainingボタンを押して学習を開始します

    トレーニング開始

後は待つだけです。
割と簡単ですね。
 

3.FXの為替予想を学習した結果
  1. 為替予想の学習曲線

    FX為替予想の学習結果

    為替予想の学習曲線
    何回も学習するにつれcost, training errorが減っています。でもvalidation errorが減ってません。
    お試しなのでこのまま続けますが、この結果はあまり良くないです。
    教師データ通りの答えを出すネットワークが構築出来ているけど、新しいデータが来たらいまいち良い精度で当たらないということです。

    本来はこういう曲線になるのが良いです。

    機械学習の学習曲線

    costやtraining error、validation errorの意味はおいおい記事にします。

  2. 出来上がったAIで為替データ予想を実行(テストデータで検証)
    Evaluationボタンを押すと出来上がったネットワークをテストデータで検証できます。

    為替予想結果

    為替予想結果

 

4.AIのFX為替予想の精度はどれくらいか?

さて出来上がったAIの精度は如何程か。テスト結果を詳しく見てみました。
結果をGUIから見るのは逆に大変なので生データを見てみましょう。
テスト実行結果はoutput_result.csv に出力されています。

SONY neural network consoleの学習結果ファイル

ドン!

為替予想結果

f:id:shibayu2002:20190124232437p:plain えっ?マジ

AIが如何なる場合も平均の値動きになるのが一番確率高いと予想しやがった。
合っているよ。ある意味あっているよ。
でも、この答えはずるいだろー。
0~6の前々日比クラスに該当する確率が各基準日で違うから、ちゃんと計算しているのかもしれないが・・・。

2019/03/30追記 
原因は恐らくこれと同じです。
初めてのNeuralNetworkConsole!!DataSetの自動グラフ化機能
各画像が特徴認識できるほど差がないので、同じデータとみなされていると思われます。為替の変動を前月比で表したりスケールを1円単位ではなくて0.1円単位にする等して値の変動を大きく見える様にしてやれば結果は変わってくると思います。

 

5.やり方は分かったが工夫が必要

機械学習のやり方の流れはわかったが、FX為替予想をするにはまだまだ工夫が必要ですね。そんなに簡単ではないか~~~。こういう時系列の予想はCNNではなくRNN使ったりする様ですので、これから色々試してみます。
人間でもFXの世界は勝ち組1割と言われるので、そもそも予想が難しいのかもしれません。チェスで人に勝ったAIなら勝ち組1割に入れるはず。
もうちょっとAIに頑張ってもらいましょー。
 

◆ 推薦図書

詳解 ディープラーニング TensorFlow・Kerasによる時系列データ処理 [ 巣籠 悠輔 ]

価格:3,672円
(2018/11/25 22:43時点)
感想(0件)

【送料無料】 機械学習 データを読み解くアルゴリズムの技法 / 竹村彰通 【本】

価格:6,696円
(2019/3/23 23:16時点)
感想(0件)

広告




スポンサーリンク
広告




広告




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
広告