相場の過熱感を測る似たようなインジータにRSIとRCIがあります。「名前も似ているし、どちらを使うべきなのかよくわからない」と悩んでおられる方、多いのではないでしょうか。
RSIとRCIそれぞれの計算式や意味の違いに着目し、どちらがどういう場合に優れているかを考察するのも一つの手ですが、相場の値動きはそう簡単に理屈が当てはまるものではなく、場合によっては定性的な議論が何の意味もなさなくなります。
常にうまくいくとは限らないと頭ではわかっているものの、せめて統計的期待値がプラスなのかそうでないのか、また仮にプラスだった場合、RSIとRCIどちらが大きいのかは事前に把握しておきたいのが心情ではないでしょうか。仮に期待値がプラスであっても、ドローダウンが大きいようであれば対処しきれないという懸念もあります。
そこで本記事では、RSIとRCIそれぞれで基本的な使い方をした場合のバックテストを行うことで、どちらが優秀なのかを検証してみたいと思います。
定量的な検証結果を欲している方はぜひ参考にしてみてください。
- RSIを使ったトレードの勝率
- RCIを使ったトレードの勝率
- RSIとRCIどちらを使うべきか
Youtubeでも配信中です。
RSIとRCIの基本情報とその課題
あまり詳しくは触れませんが、RSIとRCIの基本情報に関しておさらいをしたいと思います。
まずイメージで確認すると、下図において中段青線がRSI、下段緑線がRCIです。どちらも相場の上下動と連動して同じ方向に動いていることがわかります。RSIは0から100までの範囲で値が動き、RCIは-100%から100%までの範囲で値が動きます(※下図は-1から1)。そしてこれらの範囲の中でも、比較的小さい水準で推移していれば売られ過ぎを表し、比較的大きい水準で推移していれば買われ過ぎを表します。このようにして相場の過熱感を推し量るのに利用されます。

見た感じRCIの方が上下動が激しく、相場の動きに敏感に反応していることがわかります。上図の場合だけでなく、これは一般的に知られている話です。そのため、閾値をどう設定するかにもよりますが、RCIの方がエントリーの回数や頻度は多くなる傾向があります。
このような性質により、よく言われるのが、RCIはチャンスを逃す可能性が低い一方で、ダマしにあう可能性が高くなるということです。勿論これはこれでいいのですが、問題はチャンスとダマし込々でトータルどちらが勝るのかを統計的に分析しないことにはその使い勝手が判断できないということです。この課題意識を基に、次章で検証条件を定義していきたいと思います。
検証条件
ここではRSIとRCIそれぞれに関して、どういう使い方をした場合の比較を行うかを定義したいと思います。デフォルトというか、極力多くの方が使われている方法に倣ったものを採用していく方針です。
ちなみにバックテストは15分足、1時間足、4時間足でそれぞれ行います。15分足がスキャルピング、1時間足がデイトレード、4時間足がスイングトレードを意識したものになります。
RSIをどう使うか?
RSIの使い方はこちらを参考にさせていただきました。
RSIはパラメータとして期間を指定する必要がありますが、概ね14が用いられるようですので、検証においても14を用いることにします。
またRSIが70~80以上ならば買われ過ぎと判断し逆張り売りを、20~30以下であれば売られ過ぎと判断し逆張り買いを行うとあります。上記以外のサイトも複数見ましたが、閾値は大体同じような設定の仕方だった印象です。今回は緩い閾値(70、30の組み合わせ)と厳しい閾値(80、20の組み合わせ)両方を検証対象にしたいと思います。
後はエントリーと手仕舞いのタイミングです。今回、エントリーは閾値超えが解消されたタイミングとし、手仕舞いは閾値を超えたタイミングとします。買いの場合を例とすると下図のイメージです。

おそらく、閾値を超えたタイミングでエントリーと手仕舞いを同時に行ったり、閾値超えが解消されたタイミングでエントリーと手仕舞いを同時に行ったりなど、個人によってそのやり方にバラつきはあるかと思います。ここではより多くの方の参考になるように、その中間となるやり方を採用しました。
RCIをどう使うか?
RCIの使い方はこちらを参考にさせていただきました。
こちらもRSI同様にパラメータとして期間を指定する必要があります。大体9が用いられるようですので、これをそのまま用いることにします。
また閾値ですが、買われ過ぎ閾値として80%が、売られ過ぎ閾値として-80%がよく用いられるようです。RSIと違い、こちらは他のサイトを見ても大体±80%を閾値として設定しているようです。場合によっては±90%を用いることもあるとのことですので、緩い閾値として±80%、厳しい閾値として±90%をそれぞれ検証対象にしたいと思います。
その他のエントリーや手仕舞いの仕様はRSIと同様とします。
実装に関して少し補足
エントリーにおける「閾値超えが解消されたタイミング」をプログラムがどう判断するかに関して、買いの場合を例に少し補足します。
単純に「売られ過ぎ閾値以上なら買いエントリー」と条件を指定してしまえば、例えばRSIが90のように大きい値であっても買いでエントリーしてしまうことになります。これを避けるために、「前時刻は閾値以下だったが、現在時刻は閾値以上」という条件で考える必要があります。
しかしここで時刻の前後を素朴にtickの更新で考慮してしまうと、閾値周辺での摂動を理由に、閾値を超えたタイミングでエントリーと手仕舞いの両方が起こってしまうことになります(正確に言うと、その確率がものすごく高い)。
そのためある程度時間に幅を持たせる必要があり、ここではそれをローソク足単位で捉えることにします。つまり「前ローソク足の終わりの時刻では閾値以下だったが、現在時刻は閾値以上」を条件にします。こうすることで、閾値周辺でのチャタリングを避けることができ、前説の定義とかなり近い動きを実現できます。
検証結果
それでは実際に結果を見てみたいと思います。既に説明したものも含め、バックテストは以下の条件にて行いました。
通貨ペア | USD/JPY |
スプレッド | 0.3pips(0.3銭) |
検証期間 | 2013/1/1 ~ 2021/12/31 |
ポジション | 0.1Lot(10000通貨) |
資産 | 100万円 |
RSI期間 | 14 |
RSI緩い閾値 | 買われ過ぎ70、売られ過ぎ30 |
RSI厳しい閾値 | 買われ過ぎ80、売られ過ぎ20 |
RCI期間 | 9 |
RCI緩い閾値 | 買われ過ぎ80%、売られ過ぎ-80% |
RCI厳しい閾値 | 買われ過ぎ90%、売られ過ぎ-90% |
緩い閾値
以下は緩い閾値の結果です。括弧の左の数字はプロフィットファクタです。そのため1より大きければ期待値はプラスで、1未満であれば期待値はマイナスです。括弧の中の数字は取引回数です。
RSI | RCI | |
15分足 | 0.86(1908) | 0.96(13153) |
1時間足 | 0.86(534) | 0.90(2975) |
4時間足 | 1.05(147) | 0.98(721) |
プロフィットファクタが1より大きければ期待値はプラスであるため、取引を重ねれば重ねるほど統計的には収益が大きくなる計算です。これを見ると、RSI、RCI共に概ねプロフィットファクタが1より小さいため、基本はどちらも使うべきでないと読めるかと思います。強いて使うとすれば、RSIよりRCIの方が良い結果を生むことになります。
ちなみに唯一プロフィットファクタが1を超えているRSIの4時間足ですが、以下にバックテストの詳細を載せておきます。取引回数が147と少なく、統計的信憑性に欠けるのはではないかと見ています。

厳しい閾値
以下は厳しい閾値の結果です。テーブルの見方は緩い閾値同様です。
RSI | RCI | |
15分足 | 0.76(380) | 0.97(7926) |
1時間足 | 0.69(115) | 0.92(1745) |
4時間足 | 0.49(24) | 1.01(468) |
こちらも概ねプロフィットファクタが1より小さいため、強いて使うならRSIよりRCIだが、基本はどちらも使うべきでないという結果かと思います。
仮にRCIを使うとなれば、緩い閾値より厳しい閾値の方が結果は良くなるようです。
参考程度に、唯一プロフィットファクタが1を超えたRCIの4時間足でのバックテストの結果を載せておきます。勝ったり負けたりで安定しないようで、使うには注意が必要かと思います。

まとめ
本記事では、RSIとRCIどちらが優れているかをバックテストを用いて検証しました。以下に結論となる重要なポイントを示します。
- RSIとRCI共に、概ねどの時間足・閾値設定でも期待値はマイナスであり、基本は使うべきでない
- 概ねどの時間足でもRCIの方がプロフィットファクタが高く、取引回数も多いため、強いて使うならRCIの方が良い
- またRCIを使う場合、買われ過ぎや売られ過ぎを表す閾値は±80%よりも±90%がよい
以上、最後まで読んでいただきありがとうございました。