「ダイバージェンスってぶっちゃけどうなの?」と思われたことはないでしょうか。
FXの入門書などでは、MACDやストキャスティクスの基本の使い方とは別の用途として、ダイバージェンスが紹介されていることが多いと思います。ダイバージェンスは相場転換のシグナルとして有効だとされており、上級者こそ使いこなしているかのような記載も見受けられます。
しかし相場の上級者とは長期的に安定して勝てている人のこと(と当サイトでは定義しています)。統計的にその優位性が認められてから使う必要があります。
そこで本記事では、3つのインジケータ(MACD・ストキャスティクス・RSI)に対して、ダイバージェンスを使ったトレード手法のバックテストを行い、その勝率を検証してみたいと思います。
ダイバージェンスをこれから使おうか迷われている方は、ぜひ参考にしてみてください。
ダイバージェンスの基本とその課題
ダイバージェンスとは下図のようにチャートとインジケータの増減が逆行する現象のことで、相場の転換シグナル等に利用されます。チャートが上昇中にインジケータが下落すれば、今後チャートが下がることを意味し、逆にチャートが下落中にインジケータが上昇すれば、今後チャートが上がることを意味します。
インジケータとしては、MACDやストキャスティクスの他、RSI等が使われるそうです。
勿論、ダイバージェンスを示したからといっていつも相場が転換するとは限りません。騙しに合うこともあるかと思います。結局トータルで見た時に、期待値の意味でプラスになるのかマイナスになるのか、この辺りをバックテストで確認するのが本記事の主旨となります。
さて、早速このダイバージェンスの優位性をバックテストにより検証したいところですが、一つ大きな課題がありまして、それは実装上ダイバージェンスの発生をどうやって判断すればよいのかという点です。
目視でも人によって判断にバラつきが出て来ます。プログラムで実装するとなると尚のことです。少なくとも、インジケータおよびチャートの上昇・下落は適当な時間間隔をもって判断する必要がありそうです。
また手仕舞いをどうすべきかなのか等、いろいろ考えないといけないことがありそうです。この辺を次章で定義していきたいと思います。
検証条件
どうやってバックテストを行うのかを定義していきます。
ダイバージェンス判断の時間間隔に関して
「チャートが上昇中にインジケータが下落すれば、今後チャートが下がる」などがダイバージェンスの基本となるわけですが、ここでの上昇や下落をどれぐらいの時間間隔(時間軸に因らないローソク足の数のこと)で判断すべきなのかを定義します。
なるべく目視による裁量トレードに近づける必要があると思われます。また客観性も必要です。そこでここでは「Googleでダイバージェンスと調べ、図で解説されている例ではどれぐらいの時間間隔をもって判断しているか」から適切な水準を割り出したいと思います。
まずは以下のサイト。こちらはローソク足約15本で説明されています。
次にこちらのサイト。こちらはローソク足約26本で説明されています。
続いてこちらのサイト。こちらはローソク足約14本で説明されています。
ちなみに前章の図は約16本で説明しています。他にもざっと見ましたが、大体15本~25本でしょうか。
ですので今回検証では15本、20本、25本の3パターンを用意したいと思います。例えば15本で検証を行っている場合、現在時刻のインジケータとチャートがローソク足15本前の時刻におけるそれらと比較して大きいか小さいかを判断することになります。
手仕舞いに関して
極力、時間足や通貨ペアなどその時々の相場状況に依存し過ぎない検証結果を得たいものです。これは再現性を確保するためです。
このような考えを反映してくれる指標がATRです。特にATRを何倍かした値をストップ・リミットやトレーリングの幅として設定することが多いです。
そのため今回はこれを採用し、エントリーと同時に1×ATRあるいは3×ATRをトレール幅とするトレーリングで手仕舞いを設定することにしたいと思います。
おそらく1×ATRは裁量トレーダーにとって幅が狭く感じられるもので、3×ATRが現実的な設定値かと思います。
閾値に関して
例えばRSIの場合、RSIが70以上で買われ過ぎ、30以下で売られ過ぎを意味すると言われています。
これまでの議論で、インジケータやローソク足の増減からダイバージェンスを判断すると説明しました。しかし、さすがにRSIが30以下の水準で下がっており、チャートが上がっていたとしても、それから売りに走ることはないと思われます(30以下は売られ過ぎなので買いがセオリーです)。
このような事態を避けるため、各インジケータに「上閾値」と「下閾値」を設け、これらの閾値を超えていることもエントリーの条件に加えることとします。例えばローソク足15本をダイバージェンス判断の時間間隔としている場合、現在時刻とローソク足15本前時刻のRSIが共に上閾値以上でなければ売りとならず、共に下閾値以下でなければ買いとなりません。
- MACD:上閾値=0、下閾値=0
- ストキャスティクス:上閾値=80、下閾値20
- RSI:上閾値=70、下閾値=30
検証結果
それでは実際に結果を見てみたいと思います。バックテストは以下の条件にて行いました。また、今回検証では時間足として15分足、1時間足、4時間足を対象とします。それぞれ前から、スキャルピング、デイトレード、スイングトレードを意識したものになります。
通貨ペア | USD/JPY |
スプレッド | 0.3pips(0.3銭) |
検証期間 | 2013/1/1 ~ 2021/12/31 |
ポジション | 0.1Lot(10000通貨) |
資産 | 100万円 |
RSI期間 | 14 |
MACD短期EMA | 12 |
MACD長期EMA | 26 |
MACDシグナル | 9 |
ストキャスティクス%K期間 | 5 |
ストキャスティクス%D期間 | 3 |
ストキャスティクススローイング | 3 |
ATR期間 | 14 |
15分足
括弧の左の数字はプロフィットファクタです。そのため1より大きければ期待値はプラスで、1未満であれば期待値はマイナスです。括弧の中の数字は取引回数です。文字色が灰色の箇所がありますが、これは取引回数が1000回に満たない場合です。個人的には1000回に満たない結果は信用しない方がいいと考えてます。
ダイバージェンス判断 | MACD | ストキャスティクス | RSI |
15 | 0.92(6441) | 0.86(1904) | 0.86(685) |
20 | 0.90(6564) | 0.90(1841) | 0.93(537) |
25 | 0.90(6439) | 0.90(1812) | 0.82(471) |
プロフィットファクタはどれも1未満であり、15分足でダイバージェンスを使っても勝てないということがわかります。最大でも0.93なのでかなり筋が悪いと思われます。
1時間足
表の見方は15分足同様です。
ダイバージェンス判断 | MACD | ストキャスティクス | RSI |
15 | 0.98(1558) | 1.03(476) | 0.93(270) |
20 | 0.96(1594) | 1.09(468) | 0.90(198) |
25 | 1.02(1544) | 0.99(446) | 0.96(135) |
まともに結果が得られたのはMACDのみです。それでも概ねプロフィットファクタは1未満であり、ダイバージェンス判断が25を超えた場合のみ1を超えます。
以下にその時にバックテストの詳細を載せておきます。安定的に勝っている訳ではないようです。
4時間足
表の見方は15分足同様です。
ダイバージェンス判断 | MACD | ストキャスティクス | RSI |
15 | 1.26(392) | 1.21(146) | 0.70(49) |
20 | 1.23(402) | 1.10(132) | 1.80(42) |
25 | 1.04(391) | 0.76(143) | 1.37(36) |
全て文字色灰色のため、統計的に信頼可能な結果は1つも得られませんでした。
まとめ
本記事では、MACD・ストキャスティクス・RSIのダイバージェンスで勝てるのかをバックテストを用いて検証しました。以下に結論となる重要なポイントを示します。
以上、最後まで読んでいただきありがとうございました。