FXに環境認識を取り入れたら本当にパフォーマンスが向上するのか検証してみる

2018年12月27日

実験道具

FXに限らず「環境認識をしてからトレードに入った方が有利だ!」という話があります。

環境認識とは自分がトレードする時間足の上位足を見てマーケットの大波を捉えることで、例えば1時間足でトレードする場合は4時間足や日足の状況も確認するようなイメージです。

今回は様々なEA(自動売買ツール)に環境認識を取り入れて、パフォーマンスが実際に向上するか確認してみようと思います。

検証の経緯

FXの環境認識について調べると沢山の情報が出てきます。概ね「上位の時間足の状態を確認する。」ということで一致していますが、結果として環境認識をするとパフォーマンスが向上するのか?というBefore/Afterのデータを見つけることができませんでした。
(もしかしたらデータ付きもあるのかもしれませんが、少し探したくらいでは見つかりませんでした。)

また、有用性を検証するには自動売買のルールに組み込んでテストをするのが最も分かりやすいのですが、私が調べたものではプログラムに落とし込めるほど具体的な記載が無く、組み込むのは難しそうでした。

環境認識は細かい話をすればかなりのパターンがあると考えていますが、今回はその中の1つをプログラムに落とし込める形で表現しようと思います。そうすることで誰でも同じルールを使って優位性があるかを検証することができます。



環境認識

ルール決め

今回はシンプルに「上昇トレンド、下降トレンド」を判定します。

[共通ツール]

80本移動平均を使い、利用するタイムフレームの1つ上のタイムフレームで環境認識をします。

  • M5 でトレード→ M15で環境認識
  • M15でトレード → M30で環境認識
  • H1 でトレード→ H4で環境認識

以下条件を全て満たす場合に上昇トレンドと判定します。

  • 5本前より1本前の移動平均が大きい
  • 50本前より5本前の移動平均が大きい
  • 100本前より50本前の移動平均が大きい

以下条件を全て満たす場合に下降トレンドと判定します。

  • 5本前より1本前の移動平均が小さい
  • 50本前より5本前の移動平均が小さい
  • 100本前より50本前の移動平均が小さい

下降トレンドと判定される例を掲載します。黄色い丸~黄色い丸が全て下降していることが分かります。

MT5の環境認識


検証

9個のEAで検証しました。使ったEAや取引通貨は適当に選択していますので、トレード数に多少の差があります。

5分足EA-1本目

検証1(前)
ノーマル
検証1(後)
環境認識有り
項目名ノーマル環境認識有り
トレード数72
38
損益7984
PF1.552.70
DD3.61%1.89%


5分足EA-2本目

検証2(前)
ノーマル
検証2(後)
環境認識有り
項目名ノーマル環境認識有り
トレード数76
17
損益-16836
PF0.741.33
DD22.10%3.45%


5分足EA-3本目

検証3(前)
ノーマル
検証3(後)
環境認識有り
項目名ノーマル環境認識有り
トレード数67
17
損益-252-5
PF0.300.89
DD26.16%3.62%

15分足EA-3本まとめて

全て損益グラフを載せると画面が重くなってしまうので、ここから先は数値のみ記載します。

項目名ノーマル環境認識有り
トレード数233
77
損益-323-26
PF0.870.96
DD49.39%20.93%

項目名ノーマル環境認識有り
トレード数549
225
損益346-69
PF1.060.97
DD44.46%44.82%

項目名ノーマル環境認識有り
トレード数238
99
損益470348
PF1.161.36
DD47.38%13.14%

1時間足EA-3本まとめて

項目名ノーマル環境認識有り
トレード数497
96
損益2032253
PF1.151.09
DD47.16%41.83%

項目名ノーマル環境認識有り
トレード数439
104
損益-10122111
PF0.941.98
DD100.52%17.12%

項目名ノーマル環境認識有り
トレード数380
93
損益2493593
PF1.211.21
DD63.25%28.38%


まとめ

検証結果をまとめると以下になりました。

[環境認識有りの場合]

  • 損益・・・良化5個、悪化4個
  • PF・・・良化6個、悪化2個、変化無し1個
  • DD・・・良化8個、悪化1個

取引精度は上がったように感じますが、VIXを検証したときほどの優位性は感じませんでした。ただ、一部のトレード戦略とはとても相性が良いようなので使ってみる価値はあると思います。

今回の結論としては、「環境認識を取り入れることでパフォーマンスが上がる傾向にあったが、聖杯ではないので相性の良いトレード戦略にのみ利用する。」というところでした。

また、トレードにおいて言葉の定義が曖昧なモノは再現性が無く、誰にも検証することができないということも再確認しました。ある意味ではこれが聖杯ということなのかもしれません。


※環境認識の強度についてはかなり自由度が高く設定が難しいです。最初は一般的に考えられる環境認識のように複数の上位足を見てトレンドを判定しようとしましたが、フィルターがきつすぎて殆どトレードをする機会がありませんでした。そこで今回は1つ上のタイムフレームのみで判定したのですが、それでも少し強めだったようで、トレード数が通常時より大幅に減少してしまいました。

1本前>5本前>50本前>100本前という条件が厳しすぎたのかもしれません。


私がこれまで作成したEAにも環境認識を入れていますが、様々なパターンがあり一貫性がありませんでした。例えば、あるEAでは「自タイムフレームの100本移動平均より上か下か?」、別のEAでは「移動平均が上向いているか?」などです。

今回の検証を機に「環境認識」部分を共通化して全てのEAから呼べるようにしておこうと思います。

また、環境認識という分野には入らないかもしれませんが、東京市場・ロンドン
市場・NY市場とマーケットごとに特性がありますので、時間に関しても何かしらのパターンに分類していこうと思います。(ロンドン~NYのブレイクEAなどは作りますが、環境認識としてはまだ使ったことが無かったので。)

他にも何かしら面白いネタをご存知でしたら、ご連絡いただけると幸いです。