- PredictionOneとは何か
- AIツールを使う優位性
- PredicitionOneによ為替分析のやり方
- 1.MT4用EA「LOG_TIME4H02_forSONYPredictionOne02」でログファイルを生成(1日)
- 2.1で作ったファイルをエクセルを使ってデータベース型に成形(半日~1日)
- 3.PredicitionOneを使って予測モデルを作成(30分)
- 4.EA「LOG_TIME4H02_forSONYPredictionOne02_02」で作ったデータでPredicitionOneを使って為替予測をする(3分)
- AIに渡しているデータ一覧
- ツールダウンロード
こんにちはGoldenFXの管理人 H.Sakです
普段私は自分の作ったEAの分析を元にFXトレードをしています
約1年が経過した「FX1万円でベンツを買う」チャレンジは現在約570万円まで到達してます
今回はEAとは少し違ったAIによる為替予測に挑戦してみたいと思います
PredictionOneとは何か
今回私が予測分析に使うのはソニーコミュニケーションネットワークのAIツール「PredicitionOne」です
年間使用料198,000円
という値段からはかなりの本気度を感じます
自分で1からAI環境を構築する労力と時間を考えた時の投資効率との比較での購入判断となるでしょう
それと実際の性能です
これを使って最低でも年間198,000円は稼がなければコスト負けという事に
但し
初月1か月はお試し無料なので その間に実際に為替予測をさせて 果たしてトレードにおいてどれ程実用性があるのかを見極めてみたいと思います
ご興味のある方はこちからダウンロードすることが出来ます
(アフィリではありません、無償宣伝です!)
AIツールを使う優位性
さて「PredicitionOne」ですが
簡単に言ってしまえばAIのプログラミングが出来なくても データさえ用意すれば誰でも 最適な分析モデルで未来予測ができるツールです
実はEAを作る傍ら 私自身もPythonを使った為替のAI分析の勉強をしていましたが
一言でAIといっても どのような学習モデルでどんな学習をさせるかで その性能は全く違ってきます そして過去に同じようにAIによる為替分析をした方々の記録を読むと
あまり上手くいかないようです
結果 為替予測をするために始めたAI開発のはずが
いつの間にかAIそのものの研究に多大な時間を割くことになる場合が多いように見受けます
また
あるFX証券会社のツールにもAI分析があり その予測性能は70%程だといいますが
単純に70%というのが何を表す数字なのか不明です
・予想した価格に到達することを100とした時の70なのか
・上がり下がりの方向予想の確率が70なのか
・EAのように勝率が70なのか
いずれにしても単に70%という数字だけでは実際のトレードに適用する事ができません
そこで今回は分析ツールはプロに任せて データを用意する事だけに専念することにしました 順に説明してまいります
後ほど述べますが データはいわゆるデータベース形式で用意する必要があり
MT4のヒストリカルデータから任意の形でデータを取り出すためには専用の
EAとエクセルマクロのようなデータ成形プログラムが必要になります
下のリンクから無料配布中です
PredicitionOneによ為替分析のやり方
ユーザー登録が必要になりますがそういったところは飛ばしますね
そしてPredicitionOneを使う前に
EAでデータを作りエクセルで学習用データに成形しておく必要があります
扱えるデータ形式はCSVファイルで中身はデータベース型と決まっています
おっと!
ここで何だか分からなくて諦めなくても大丈夫です
要はエクセルで作ってCSV形式で保存したファイルのことです
中身はこのようにします
よくある学校の時間割表のような物は「マトリックス表」といって
縦と横に項目がありますが(縦に時限、横に曜日)
それとは違って
すべての項目を1行目にまとめ1つのデータを1行にする「データベース型」にする必要があります
時間割表をデータベース型にするとすれば
1行目が
(曜日)(1限)(2限)(3限)(4限)・・・
2行目以降は
月曜日、国語、体育、理科、算数・・・
火曜日、音楽、図工、国語、社会・・・
・
・
・
というようになり 人間には非常に読みにくいのですが コンピューターが解析する場合はこれが都合の良い形なのです
こういったファイルをMT4のヒストリカルデータから取り出すのは大変なので
専用のEAでログファイルを吐き出すようにしました
ただしMT4のログファイルには制約がありエクセルで言うところの列数が非常に少ないため
いったん縦方向にデータを並べたものをエクセルでデータベースに作り直すひと手間がかかります
こちらは専用のマクロを作りましたが エクセルの並べ替えは非常にマシンパワーを食うので10年分データでクロック数3GHZ程度のマシンを使っても6時間から1日くらいかかると思います
全体の大まかな流れです
カッコ内の時間は約10年分データを使った時の目安です
パソコンの性能によっては速度に数倍の差が出ます
1.MT4用EA「LOG_TIME4H02_forSONYPredictionOne02」でログファイルを生成(1日)
2.1で作ったファイルをエクセルを使ってデータベース型に成形(半日~1日)
3.PredicitionOneを使って予測モデルを作成(30分)
*ここまででAIを使う前準備が完了します
非常に時間がかかる作業ですが一度だけやっておけば後は1日一回予測計算をするだけなので非常に簡単になります
もちろん通貨ペアごとに繰り返す必要があるので どれだけやるかはパソコンの性能とご自身の根気と相談の上お決めください
そして 日々の作業は
4.EA「LOG_TIME4H02_forSONYPredictionOne02_02」で作ったデータでPredicitionOneを使って為替予測をする(3分)
となります
1で使ったEAと名前が似ていますが末尾が「_02」です
通貨ペアごとに1~3の手順で前準備をしておく必要がありますが 一度行ってしまえば1年くらいは使えると思いますので 後は予測をしたいときにだけ4の作業をするという段取りになります
以下順を追って詳しく解説してまいります
結構大変かもしれませんが なるべく分かり易くやりますので 頑張って付いて来てください
1.MT4用EA「LOG_TIME4H02_forSONYPredictionOne02」でログファイルを生成(1日)
今回配布するツールセットでは4時間ごとの始まり値を過去1週間(5日間)に渡って遡るデータをワンセットとしたデータベースを作っていきます
作ったデータは任意の部分で切り取り予測モデリングのデータとして扱うことが出来るようになります
例として16時間後の価格予想を算出する方法を解説していきます
*図の中でチャートの時間足をH1(1時間)以下としていますが
今回は4時間にしてください
EAをダウンロード後
(zipファイルに必要なツールをまとめてあります)
上記図のようにセットして
スタートしてください。ビジュアルモードのチェックは外したほうがいいです
MT4自体の処理速度の問題だと思うんですが パソコンの性能に関係なく結構な時間がかかります
2.1で作ったファイルをエクセルを使ってデータベース型に成形(半日~1日)
EAが吐き出したログファイルをエクセルで開き必要な部分をコピーして
エクセルファイル「1SONYPredictionOne予測データ成形マクロ」(配布ファイルにあります)にかけます
*エクセルのバージョンは「エクセル2013」以上が必要です
まずデータフォルダを開きます
ファイルをエクセルで開いたら
必要なデータ部分をコピーしますがその前に
エクセルファイル「1SONYPredictionOne予測データ成形マクロ」を別窓で開いておきます
ログファイルで必要な部分は以下の図の通り 必ず6列になります
図中の説明のようにショートカットキーを使うと間違いもなく素早く選択できます
コピーしたものを 先ほど開いておいた
エクセルファイル「1SONYPredictionOne予測データ成形マクロ」に貼り付けます
その際エクセルの下のほうにある「+」ボタンで新しいシートを作ってください
ログファイルが複数に渡る場合には
それぞれデータをコピーして上図の最終行につなげて貼っていきます
次にマクロ「Fourhour_Fived」を実行してください
エクセル標準ではマクロが実行できない仕様になっているので、設定でマクロを使える環境にする必要があります その点はお手数ですがGoogleなどで検索願います
マクロ「Fourhour_Fived」を実行するとデータがデータベース型に書き換わりますが
ここで非常にマシンパワーと時間がかかります
この作業をしている間は パソコン自体のコピー&ペーストが使えなくなります
辛抱強くお待ちください
データ成形が終了したら必ず一度”ファイルの保存”(上書きでいいです)をしてください せっかく時間をかけたものがパーになったらやる気が失せてしまいますから
完成したらデータベース型ファイルをエクセル「2SONYPredictionOne予測データTMP」に貼り付けます
まずエクセルファイル「2SONYPredictionOne予測データTMP」を別窓でひらいておいてから
データベースファイルを以下の図のようにコピーします
そしてコピーしたものを 先ほど開いておいた「2SONYPredictionOne予測データTMP」に貼り付けます
張り付けた様子
正しく張り付けられたか確認します
確認したらファイルを上書き保存して(CSV形式のまま保存してください)
エクセルは全て閉じてしまって構いません
3.PredicitionOneを使って予測モデルを作成(30分)
データが出来ましたので いよいよモデリング をしていきます
「PredicitionOne」起動して”予測モデルの新規作成”を押します
ファイルの指定では2番目の工程で作ったエクセルファイル
「2SONYPredictionOne予測データTMP」を指定します
選択画面が出ます
今回は16時間後の予測をしますので次のようにしてください
・予測する項目(1つ選択)として”kakakusa4”を選択
・モデルに使用するのチェック欄は”Macd_4”~"RSI_20"まですべて外してください
(そこから下"kakakusa24"以下は全てチェックを入れたままです)
選択項目を確認したら 右下の”予測モデルを作成”ボタンを押します
作業残り時間は右上に表示されますが 最初表示された時間よりもかなり早まって終わるようです
モデリングが終了し”完了”ボタンを押すと モデルの評価が示されます
なるべく決定係数が1に近いほうが評価が高いモデルとなります
お疲れさまでした ここまで準備が出来ればあとは結構簡単です
4.EA「LOG_TIME4H02_forSONYPredictionOne02_02」で作ったデータでPredicitionOneを使って為替予測をする(3分)
3で作ったモデルを使って実際に為替予想をしてみましょう
まずEA
「LOG_TIME4H02_forSONYPredictionOne02_02」を目的の通貨ペアのチャートに適用します もちろんモデリングで使用した通貨ペアと同じものを使ってください
このEAはセットすると直近の為替データを1セットだけログに吐き出すという特殊なものです
チャート時間足を4時間にすることをお忘れなく
EAとMT4の設定で自動売買をオンにしないとデータを取り出しませんのでご確認ください
セットするとすぐにログデータが出来ているはずなので
”データフォルダ”を開きます
ここでMT4自体は閉じてください
MT4が稼働中はファイルが生成されない為です
ここで再びエクセルファイル「1SONYPredictionOne予測データ成形マクロ」を別窓で開いて 新しいシートを作成しておきます
ログファイルを開いたら以下図に従って必要なデータをコピーします
ログファイルは同じ日付のデータは同じファイルの中に加算されていきますので
データは最終行から探してください
EA名「LOG_TIME4H02_forSONYPredictionOne02_02」が入った次の行からが必要なデータとなっています
コピーしたデータを先ほど開いておいた「1SONYPredictionOne予測データ成形マクロ」の新しいシートのセル"A1"に貼り付けて
マクロ「fourhour_Fived」を実行します
成形されたデータは下図のように1行のみになるはずです
ここでエクセルファイル「2SONYPredictionOne予測データTMP」を別窓で開いておきます 2の工程で作ったデータが残っている筈なので 1行目の項目を残してすべて消しておいてください
マクロで成形したほうのデータを以下のようにコピーします
コピー出来たら「2SONYPredictionOne予測データTMP」に以下のように貼り付けます
貼り付ける位置に注意です
間違えると 予測データが全く違うものになってしまいます
「今回は16時間後の予測の筈では??」とお思いでしょうがこれで正しいのです
つまりEAでデータを取得するとき1本前の確定足からスタートしているので最大4時間は差し引かれる計算になる為 図のようにデータを入れると大体16~20時間後の予測値が得られるのです
ずらして張り付けた分データが項目をはみ出してしまいます
問題はないかと思うのですが一応切っておきましょう(下図参照)
ここでファイルを上書き保存して(CSV形式のまま保存してください)
エクセルは全て閉じて構いません
「PredicitionOne」を開き 左側のメニューで3の工程で作ったモデルを選択し
右上の”予測する”ボタンを押します
ファイルの指定では先ほど作成した「2SONYPredictionOne予測データTMP」を使います
予測が終わると”予測結果プレビュー”ボタンが現れます
実際の予測結果はファイル保存もできます
以上になります
いかがでしたでしょうか? データを用意する前準備が大変かもしれませんが
ご自身でAIを開発することを考えれば相当手軽です
日々の予測は4番の工程のみを行えばいいので それほど大変ではないと思います
ご興味がある方は是非使ってみてください
ツール類は以下のリンク内「AI_Sony」からすべてダウンロードできます
zipファイルにまとめてありますので解凍してお使いください
EAは2つともパスコードを使用しますが 今までの口座IDとパスコードの組み合わせと同じです
(いろいろパラメータがありますがパスコード以外は触らないでください)
AIに渡しているデータ一覧
今回のAIに渡しているデータは
・価格
・Macd
・Macdシグナル
・Macdstate(MacdとMacdシグナルの上下関係を数値化した値)
・Ma得点(3本の移動平均線の上下関係を点数化したもの)
・RSI
の6つです
これら全てが必要かわかりませんが 少なくとも価格データのみで作ったモデル(決定係数0.5前後)よりははるかに高い精度評価を得られています
最後にこのAIツールを使った為替予想が必ずしも当たる事は保証されていない事をご理解の上 ご使用願います
ツールダウンロード
無料ダウンロードはこちら
口座IDとパスコードの組み合わせは今までと同じです