AI為替予測システムの紹介
ドル円の「次の5分」をAIで予測するツールを作りました
「できるだけ手間をかけずに、効率よく資金を運用したい。」
そんな、かなり正直な願望から作り始めたのが、今回紹介するドル円専用の予測ツールです。
相場データを機械学習で分析し、次の5分足の予測値を表示します。使う側がすることは、通知音が鳴ったら、ルールに沿って手動で売買すること。仕組みを作るのは大変でしたが、使い方はできるだけシンプルにしました。
まずは、どんな考えで作ったのか、何ができるのか、どう使うのかを紹介します。
きっかけは「EAで放置できたら楽なのに」でした
最初に考えたのは、やっぱりEAによる自動売買でした。売買まで全部任せられるのは魅力的ですよね。
ただ、私が検討していたMT5対応口座では、普段使っている国内口座と比べてスプレッドが気になりました。小さな値幅を繰り返し取るスタイルでは、この差を無視できません。
もうひとつ気になっていたのが、決まったルールと設定を、相場が変わってもそのまま使い続けていいのか、ということです。もちろんEAにもいろいろな設計がありますが、自分の運用では最近の相場を定期的に学び直す仕組みを取り入れてみたいと思いました。
そこで考えたのが、MT5から相場データを取り出し、外部のPythonで学習させる方法です。学習にはLightGBMという機械学習の仕組みを使っています。
最初からうまくいったわけではありません。「何を学習させればいいんだろう?」というところから試行錯誤して、現在は68個の特徴量を使う構成に落ち着きました。特徴量というのは、ざっくり言えば、値動きの特徴を数値にしたものです。
作り始めたときは完全放置が理想でしたが、最終的には、複雑な予測の計算はツールに任せて、注文は低コストの口座で自分で出す形になりました。通知音が鳴った時のみ確認が必要ですが、この形が自分のやりたい運用に合っていました。
このツールの特徴
- ドル円専用。USDJPYの5分足を対象にしています。
- 5分足の切替時に、今始まった足の値動きを予測。予測値は約10秒ごとに更新されます。
- 買い・売り・継続・決済をログに表示。閾値を超えると色が変わり、通知音が鳴ります。
- 学習済みモデルを毎週更新。最近の相場データを反映した最新モデルを毎週配布します。
- 本体はHTMLファイル。利用者側でPythonを準備したり、自分でモデルを学習させたりする必要はありません。
- 1日の取引数は平均10回くらい。取引が0の日も稀にありますが、30回以上の日もあります。
必要なのは、Windows PC、MT5、Chromeなどの対応ブラウザと、配布ファイルです。
モデルを毎週更新するのは最近の値動きを学習に反映するためです。
これまでの検証結果
実際にモデルを毎週アップデートし、運用した検証した結果がこちらです。ある程度ドローダウンもありますが、概ね右肩上がりです。
2023年と2024年はバックテスト、2025年と2026年はフォワードテストです。
最初に良い結果が出たときは、うれしさよりも「本当に大丈夫?」という気持ちもありました。私自身も運用していますが、長期ではかなり安定感があります。
このグラフはドル円のスプレッドが0.2pipsで取引できる国内業者で取引した場合の成績です。スプレッドがそれより大きい場合は多少成績が落ちます。
使い方
※詳しい使い方は付属するマニュアルをご覧ください
1. 配布されたEX5を設置する
「ファイル」→「データフォルダを開く」から、MQL5 → Expertsと進み、current_5m_browser.ex5を置きます。
2. ブラウザでモデルとCSVを選ぶ
current_5m_browser.ex5をUSDJPY 5分足チャートに設置すると、デスクトップにUSDJPY_Liveフォルダが自動で作られ、その中のCSVが更新されます。このフォルダに、配布されたUSDJPY_M5.htmlを置き、ChromeまたはEdgeで開きます。
「モデルZIPを選択」で配布されたUSDJPY_ensemble50.zipを選び、「CSVファイルを選択」でUSDJPY_Live内のCSVを選択。「予測を開始」を押せば準備完了です。USDJPY_ensemble50.zipは解凍せずに使います。
証券会社によってCSV名はUSDJPY.csv、USDJPY-.csvなどになります。ご自身のMT5が更新しているファイルを選んでください。MT5は起動したままにしておきます。
売買ルール
ポジションがないときのルールは、この3つです。
- 予測値が+1.0より大きい → 買いエントリー
- 予測値が-1.0より小さい → 売りエントリー
- それ以外 → 待機
この画像では-0.3814なので、ポジションがなければ待機です。
そして、ここが一番大切です。エントリーも決済も、5分足が切り替わるタイミングだけで行います。
こちらは予測値が-1.4005で、売り方向の通知が出ています。でも、時刻は01:34:18。次の足まで42秒あるので、まだエントリーしません。
10秒ごとの更新や通知音は、あくまでも売買を準備するためのもの。01:35:00に足が切り替わったとき、改めて出た予測値が-1.0を下回っていれば売りエントリーです。切替時に閾値内へ戻っていたら、見送ります。
ログにその切替時刻の「新規売り」が記録されたら、証券会社の取引画面から手動で売ります。画像は01:35の切替後の状態です。残り時間は切替時にすぐ5:00へ戻るので、現在時刻とログを合わせて確認してください。
決済ルール
- 買い保有中:予測値がプラスなら継続、0以下になったら決済。
- 売り保有中:予測値がマイナスなら継続、0以上になったら決済。
この判断も5分足の切替時だけです。売りで入った後に予測値が-0.4になっても、まだマイナスなら保有を続けます。エントリーの閾値と、決済の条件は違うので、ここは覚えておいてください。
ログは下から読むと流れがわかります。01:00に新規売り、その後は継続売り。そして01:30に予測値がプラスになって全決済、という例です。
ポジションを持った後、反対側のエントリー閾値まで超えていた場合は、いったん決済して反対方向へ入り直す「ドテン売買」もあります。その場合、ログは「新規買い」または「新規売り」と表示されますが、既存ポジションを残して両建てにする意味ではありません。また「継続買い・継続売り」は買い増し・売り増しではありません。ポジションを引き続き持ち続けるという意味です。
こだわりポイント
最近の相場を常に再学習して毎週アップデート
一度作ったモデルをずっと使い続けるのではなく、週末に学習し直したモデルを配布します。相場の変化を無視せず、最近のデータを取り込むことを大切にしています。
あえて手動で注文するのはコスト削減のため
MT5はデータを取得するために使い、実際の注文は別の証券会社で出せます。つまり、MT5非対応の国内口座でも、注文先として利用できるということです。
私は、USDJPYの基本スプレッドが0.2pipsの口座での運用を前提にしています。それ以外では成績が落ちるので非推奨です。ドル円限定なのもスプレッドが安いことが理由です。
スプレッドは、地味ですが短期売買においてはかなり大切です。たとえば同じ数量で1,000回取引するなら、1回あたり0.1pipsのコスト差が、単純計算で合計100pipsの差になります。小さな違いも、回数を重ねると無視できません。
なお、0.2pipsよりもスプレッドが広がっている時は、ファンダ要因で相場が動いている時が多いため、見送ったほうが賢明です。
判断材料をできるだけ減らす
どんなに良さそうな考え方でも、実際に続けられなければ意味がないと思っています。このツールでは、チャートの形を毎回解釈して売買を決める必要はありません。見るものは、AIが自動で出力してくれる予測値だけです。
もちろん注文の約定や実際の保有状況は確認が必要ですが、「なんとなく上がりそう」「負けたから取り返したい」といった判断を挟まず、同じ手順を繰り返しやすくすることを目指しました。
使うときに気をつけてほしいこと
- 完全放置のツールではありません。ポジションを持っている間は、5分ごとの確認と手動注文が必要です。
- 忘れ防止には30秒前アラーム。初期設定はオフです。保有したらオンにしておくと、次の判断時刻を意識しやすくなります。
- ブラウザは最小化せず、画面に表示。非表示やPCスリープなどで、通知・予測・ログが遅れたり止まる場合があります。
- 取引時間はPC時計で08:00〜翌04:00。04:00に保有を決済し、その後08:00までは新規取引をしません。
- 負けたからといって数量を増やさない。連敗も想定し、余剰資金と無理のない数量で運用してください。
実際に続けていると、調子の良いときもあれば、「どうしてこんなに勝てないんだろう」と感じるときもあります。毎日・毎週の利益を約束できるものではありません。納得できないまま無理に続けず、必要なら停止することも大事だと思っています。
AI為替予測システムの配布について
毎週末に最新モデルが配布されるので、最新のUSDJPY_ensemble50.zipと、その週に使うcurrent_5m_browser.ex5を配布します。月曜日に市場が開く前に、最新版へ差し替えて使っていただく形です。
EX5を交換し、ブラウザから新しいモデルZIPを読み直せばOKです。モデルZIPをパソコン上で上書きするだけでは、起動中の画面には反映されないので、必ず「モデルZIPを選択」から読み直してください。
画面本体のUSDJPY_M5.htmlも配布セットに含まれますが、こちらは原則として毎週の差し替えは不要です。機能更新があるときは別途お知らせします。
購入方法は、週ごとの有料記事と月ごとの連載購読の2パターンで購入できます。月払いのほうが少しお得です。現在の価格や配布内容については、投資ナビ+の私のページ(https://www.gogojungle.co.jp/finance/navi/authors/112840)をご確認ください。
「複雑なチャート判断より、シンプルなルールでコツコツ取り組みたい」という方に、興味を持っていただけたらうれしいです。
※当ツールは利益を保証するものではございません。投資は余剰資金で行い、自己責任でお願いします。