機械学習で未来のレートを予測できるか(第五弾)

第四弾で検証した機械学習の改善版です。
元々相当勝てていましたが、コロナ相場で短期的に大きく負けるタイミングもあるため、
PF値にフォーカスして、さらに負けづらいEAを目指します。
細かい話はいいから、このEAが欲しいという方はこちらからEA申請してください。

前回からの改善点

学習の改善点

  • 機械学習の特徴量はレートから生成できる値は検証しきった感がありますので、外部の値を学習に追加します。今回は板情報を追加します。
  • 詳しいロジックは企業秘密ですが、板情報をもとに指値が壁になって逆方向に戻る可能性の高いレートと、逆指値が後押しになってそのままの順方向に進む可能性が高いレートを算出します。
  • 今のレートと逆方向に戻るレートと順方向に進むレートを比較し、BUY・SELLどちらの方向に進みやすいかを判断し、
    これを機械学習が算出したBUY・SELLの確率と組合せて売買判断をします。
  • 本来は逆方向に戻るレートと順方向に進むレートを機械学習の特徴量に追加したかったのですが、板情報が直近4年ほどしか取得できず、AIに学習させるにはデータ量が足りないため、今回はルールベースでロジック追加することにします。

本番運用の改善点 

  • 板情報をDukasではない別の外部サイトから取得する処理と
    上記の売買判定のルールベースの処理を追加しました。

システム構成と検証方法

下記のように、モデル構築とAPI運用にわけた構成です。
(構成は第四弾と大きく変わらないですが、板情報の取得が増えています)

検証方法

  • 第四弾で作成したEURUSDの60分後を予測するAIモデルに対して、下記にルールを追加します。
  • ・AIモデルがBUYを予測しているときに、今のレートから〇Pip以内下に戻るレートがあるか、もしくは〇Pip以内上に順方向に進むレートがあれば、エントリーします。
    (SELLの場合は逆方向のルール)
    主にこの〇Pipというところのパラメータをチューニングしてみます。
  • ・板情報のルールベースを足すと取引数が減りすぎるので、板情報の支えがなくとも、確率が非常に高いときはエントリーするようにします。

本番運用

  • 検証と同様のロジックで取引

学習と検証の結果

2018年1月~2019年12月の2年間でパラメータを最適化し、バックテストだけに最適化していないことを確認するために、2017年1月~2020年5月(コロナ相場含む)も追加で検証しています。
結果、取引数は1/3程度に減りますが、PF値が1.93→2.74まで向上、勝率が66.2%→69.6%という凄まじい結果となりました。
Frinxでは外部EAも色々稼働しておりますが、ここまで取引数があってPF値が高いEAは見たことがありません。

  • ①2018年1月~2019年12月
  • 獲得Pip: 2226.3
  • プロフィットファクター: 2.74
  • 取引回数: 446
  • 勝利数: 308
  • 敗北数: 138
  • 勝率 : 69.1
  • 平均勝ちPip:11.4
  • 平均負けPip:-9.3
  • 平均継続時間: 84分

 

  • ②2017年1月~2020年5月
  • 獲得Pip: 4201
  • プロフィットファクター: 2.42
  • 取引回数: 836
  • 勝利数: 582
  • 敗北数: 254
  • 勝率 : 69.6
  • 平均勝ちPip:12.3
  • 平均負けPip:-11.7
  • 平均継続時間: 84分

その他の考察と実際の取引

その他の考察 

15分モデルでも同じ検証をしましたが、若干改善した程度でした。
ある程度の取引時間がないと逆方向に戻るレートと順方向に進むレートがうまく作用してくれないと考えられます。ただし、板情報とは関係なく高確率のときだけ取引した場合は取引数は1/3まで減るものの、PF2.4まで改善したので、採用します。
今後EURUSDだけでなく、USDJPY、GBPUSD、AUDJPY、EURCHFなどの他の通貨ペアでも検証します。

実際の取引結果 
2020年8月14日より9月末まで1.5か月実施しました。

  • 獲得利益(Pip):50
  • 勝率 :51.4%
  • プロフィットファクター: 1.3

とあまり良い結果とはいえないですが、通常バージョンがマイナス100pipの中で、
プラスを獲得しているので、安定していると思われます。
もう少し取引結果が増えたところでまた更新します。

このEAを利用されたい方は、下記から申請をお願いします。

 

おすすめの記事