
AI「scikit-learn」によるFXテクニカル分析をやってみた
AI「scikit-learn」によるFXテクニカル分析をやってみた
筆者は以前から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)を使用した場合のテスト結果を報告するものです。(現状はプロトタイプ版)
AI「scikit-learn」によるFXテクニカル分析の試み;
[第1部]と[第2部]に分けてあります。
◎[第1部]を先ず読んで頂き、[第2部]も読む価値がありそうだと判断したら入手してください。
(入手方法は[第1部]に記載してあります。)
※[第1部][第2部]ともにPDF形式、またデータはZIP形式で準備しています。
Qiita上にMarkdown形式で全てを記載せず、またGitHubも使っていないのは、筆者の技量ではまだ使いこなせないからです。
3.ドキュメント内容(抜粋)
[今回の目標]・・ブロック図を参照
MT4(MQL4)側に渡す価値がある「テクニカル分析結果」をAI側で抽出することです。
正直、テクニカル分析機能はMT4(MQL4)のもので充分と思ってはいるのですが、
試してみたところ結構面白い結果が得られました、トライは無駄にはならなかったと思います。
(AIプログラムはPythonで記述しています)
※売買情報(データ)をPythonコード側からMT4(MQL4)に渡すための「DLL」とその
使い方については、筆者のWEBサイトを参照ください。(DLLも置いてあります)
[第1部]と[第2部]での解説内容;
まず、今回筆者が採用した「FXのテクニカル分析にAIを適用する手順」は下記になります。
※筆者はPython開発環境にSpyderを使っています。
(1)[第1部]は、
最後のステージの実例です
・為替(FX)チャートから生成済みのDataFrame(特徴量とラベル)と
Pythonプログラムを使って機械学習・予測を実施した例を解説。
(2)[第2部]では、
一番初めのステージからDataFrameを作成するまでを実例で解説します
・[第1部](別稿)で使用したDataFrame(特徴量とラベル)の生成方法を詳細に解説。
<使用インディケータ(例)>・・[第2部]掲載
特徴量の抽出に使用するインディケータは、筆者オリジナル(松葉型フィルター)とありふれた
ボリンジャー・バンドです。
<生成DataFrame>・・[第1部]掲載
実例のDataFrameは、1049行まであります。
・列要素が特徴量とラベル、・行要素がFXチャートから抽出した「データ」です
ref