AI「scikit-learn」によるFXテクニカル分析をやってみた

目次

1.初めに
2.ドキュメント構成
3.ドキュメント内容(抜粋)
4.「PDF版ドキュメントと実行用データ一式」入手先

1.初めに

アメンボです。(もちろんペンネーム)
実は筆者は以前からMT4(MQL4)のEA開発を、半ば趣味で出来れば実益につなげたいと思いながら続けてきており、ここ1~2年は特にMT4とAIを連動させること(特に非テクニカル分析)を主眼にトライしていましたが、なかなか成果が上がらず行き詰まっていました。

そこで、チョット頭休めと言う訳では無いですが、MT4の機能・性能で充分と考えていた「テクニカル分析」にAIを適用してみたらどうなるかを試したのが、『AI「scikit-learn」によるFXテクニカル分析』です。

筆者はAIに関しては初心者なので、これまでにFXテクニカル分析にAIを活用しようとする記事や資料を沢山調べました。(ネットや本)
しかし公開されているものには、残念ながらまともに使えそうなものは見つかりませんでした。
たぶん、非公開の業務用のものには使えるものがあるのかもしれませんが、筆者の様な一般人には手に入りません。

そこで筆者独自方法(たぶん)として試してみたのが、AIで使用する「特徴量」の選定にMT4(MQL4)を活用する方法です、実は使えそうな他のツール(特にPythonベース)を見つけられなかったために取った方策なのですが、たぶん他の開発者の皆さんとの開発プロセス上の違いだと思っています。

現状はプロトタイプ版ではありますが『磨けば光りそうな結果』が得られましたので、皆様に公開することにした次第です。ドキュメント(レポート)はシリーズ化して2つに分けてあります。(現状は2つですが、今後も増やす予定)

2.ドキュメント構成

本シリーズは、FX(USDJPY;ドル/円)のテクニカル分析による予測にAI(scikit-learn)を使用した場合のテスト結果を報告するものです。(現状はプロトタイプ版)

(1)AI「scikit-learn」によるFXテクニカル分析の試み[第1部];無料版

(2)AI「scikit-learn」によるFXテクニカル分析の試み[第2部];有償版                            (1,600円)

※[第2部]を有償版(1,600円)としたのは筆者のやるき維持のため(インセンティブ)とお考え下さい。(シェアウエアと同じ)

◎無料版の[第1部]を先ず読んで頂き、[第2部]が読む価値がありそうだと判断したら、どうぞ、ご購入下さい。購入方法は[第1部]に記載してあります。

※note上での詳細解説や購入形式にできなかったのは、筆者の技量では内容をnoteのエディターでは表現し切れないからです。

3.ドキュメント内容(抜粋)

[今回の目標]・・ブロック図を参照
MT4(MQL4)側に渡す価値がある「テクニカル分析結果」をAI側で抽出することです。
正直、テクニカル分析機能はMT4(MQL4)のもので充分と思ってはいるのですが、試してみたところ、結構面白い結果が得られました、トライは無駄にはならなかったと思います。(AIプログラムはPythonで記述しています)

画像2

※売買情報(データ)をPythonコード側からMT4(MQL4)に渡すための「DLL」とその使い方については、筆者のWEBサイトを参照ください。 (DLLも置いてあります)

[第1部]と[第2部]での解説内容;
まず、今回筆者が採用した「FXのテクニカル分析にAIを適用する手順」は下記になります。

画像2

(1)[第1部]は、
 最後のステージの実例です
 ・為替(FX)チャートから生成済みのDataFrame(特徴量とラベル)と
  Pythonプログラムを使って機械学習・予測を実施した例を解説。

(2)[第2部]は、
 一番初めのステージからDataFrameを作成するまでを実例で解説します
 ・[第1部](別稿)で使用したDataFrame(特徴量とラベル)の生成方法を詳細に解説。

<使用インディケータ(例)>・・[第2部]掲載

画像3

特徴量の抽出に使用するインディケータは、筆者オリジナル(松葉型フィルター)とありふれたボリンジャー・バンドです。

<生成DataFrame>・・[第1部]掲載
 実例のDataFrameは、1049行まであります。

画像4

<予測結果>・・[第1部]掲載、「2例」あります
下図は記載内容から切り取った画像です

 例1;

画像5

例2;

画像6

[勝敗判定方法]
・profit(利確レベル)、loss(損失レベル)、spreadを指定して、「買い、あるいは売り」からマーケットに入ったときの勝敗判定結果を学習し、テスト・データに対して予測を行います。
なお、ランダム・フォレストによる「分類」で勝敗「学習と予測」を行っています。

※記載内容を実行するために必要な開発環境(全て無償で入手可能)は[第1部]に記載してあります。
但し初心者の方に必要なPython、scikit-learnやMT4の入手方法、技術的な解説はしていません。初心者の方に必要な知識の若干は、筆者のWEBサイト(下記)で参照可能です。
・・記載内容の理解に必要な知識は、全てWEB上から無償で入手可能なものばかりです。

4.「PDF版ドキュメントと実行用データ一式」入手先

◎[第1部]の入手先URL
①ドキュメント(PDF) ;http://mql4.s1002.xrea.com/ai_tec/ai_tec_01.pdf
②データ一式(.zip) ;http://mql4.s1002.xrea.com/ai_tec/ai_tec_01.zip
※データ一式には「Pythonコード、DataFrameなど」実行に必要な資料が入っています。

◎PythonとMT4の連携方法について
※更新中のサイトです、基礎的な内容もアップしてあります。
「 http://mql4.s1002.xrea.com/ai_mql4/index.html 」

◎MT4(MQL4)、EAについて
※若干古くなりましたが、未だ一読の価値があると思います。
MT4やMQL4の基礎をアップしています、だたし「Build_600」以前(と言うか未満)のMQL4コード(スクリプト)は、現在は動かすためには、かなり修正が必要なことに、ご注意ください。
「 http://www.green.dti.ne.jp/sdimension/mql/ 」

以 上

この記事が気に入ったらサポートをしてみませんか?