CCI(商品チャネル指数)の基本と読み方|過熱感・転換点の判定材料
はじめに
CCI(Commodity Channel Index / 商品チャネル指数)は、1980年に Donald Lambert 氏が考案したオシレーター系のテクニカル指標です。当初は商品先物の周期分析を目的として設計されましたが、現在では FX・株価指数・個別株など、幅広い市場で過熱感や勢いの変化を読み取る材料として利用されています。
この記事では、CCI の計算式と読み方の基本、そして単独使用時の限界を、初心者の方にも整理しやすい形でまとめます。cTrader 上で自作インジケーターや cBot を組む際の参考としてもご活用ください。
CCI の計算式
CCI はシンプルな構造で、以下の3ステップで算出されます。式自体は短いですが、各要素の意味を押さえておくと読み方が安定します。
Step 1: 典型的価格(Typical Price)
TP = (高値 + 安値 + 終値) / 3
その足の代表値として、高値・安値・終値の平均である「典型的価格」を求めます。1本のローソク足の代表点として扱うイメージです。
Step 2: TP の単純移動平均と平均偏差
SMA_TP = TP の N 期間単純移動平均
平均偏差(MD) = Σ|TP - SMA_TP| / N
過去 N 本(一般的に N=20)分の TP の単純移動平均、およびその平均からの平均偏差(Mean Deviation)を計算します。平均偏差は、TP が平均からどの程度ばらついているかの目安です。
Step 3: CCI 本体
CCI = (TP - SMA_TP) / (0.015 × MD)
ここに登場する「0.015」は Lambert 氏が経験則として設定した係数で、値の概ね 70〜80% が ±100 の範囲に収まるよう調整されたものとされています。CCI は ±100 を超えた範囲にも自由に振れる、上下に制限のないオシレーターです。
基本的な読み方
CCI は中心の 0 を基準として、上下に振れるオシレーターです。一般的に以下の3ゾーンに分けて観察されます。
±100 を超えるゾーン
- +100 を上抜け: 価格が平均から強くかい離して上方向に動いている状態
- -100 を下抜け: 価格が平均から強くかい離して下方向に動いている状態
この領域はしばしば「過熱感のあるゾーン」と表現されます。ただし「過熱しているから必ず反転する」と短絡的に読むのは危険で、強いトレンドの継続シグナルとして観察される場合もある点に注意が必要です。
±100 以内のゾーン
中立、もしくは弱いトレンド状態と読まれる領域です。レンジ相場ではこの中で CCI が往復することが多いと考えられます。
ゼロライン
CCI が 0 を上回るか下回るかは、典型的価格が直近の平均より上にあるか下にあるかを示します。トレンドフィルターとして「ゼロラインを上抜けたら上方向の勢いが強まりつつある」といった補助的な読み方ができます。
ダイバージェンスの捉え方
CCI を含むオシレーター系指標は、価格との「方向のズレ」を観察できる点が特長の一つです。
- 強気ダイバージェンス: 価格は安値を更新しているのに、CCI は安値を切り上げている状態。下落の勢いが弱まりつつある可能性として読まれる場合があります
- 弱気ダイバージェンス: 価格は高値を更新しているのに、CCI は高値を切り下げている状態。上昇の勢いが弱まりつつある可能性として読まれる場合があります
ダイバージェンスは、必ずしも反転を保証するシグナルではありません。「現在のトレンドの勢いが弱まりつつある」可能性を示す注意喚起として捉えるのが一般的です。後述するトレンドフィルターや他指標と組み合わせ、過信しない設計が現実的と考えられます。
期間(N)設定の考え方
CCI の代表的なデフォルト値は N=20 ですが、用途に応じて調整されることが多い指標です。
| 期間 | 用途の例 |
|---|---|
| 14〜20 | 標準的な使い方。多くの教科書がこの範囲を例示 |
| 30〜40 | 中長期のうねりを捉えたい場合 |
| 5〜10 | 短期売買・スキャルピングの参考 |
期間を短くするほど反応は速くなりますが、ノイズも増える傾向があります。実装時は複数期間を切り替えてバックテストを行い、対象の市場・戦略との相性を確認することをおすすめします。
CCI 単独使用の限界
オシレーター系指標全般に言えることですが、CCI も単独使用には以下の限界があります。
強いトレンド中に「過熱ゾーン」へ張り付く
強いトレンドが発生している局面では、CCI が +100 や -100 を超えたまま長時間滞在することがあります。これを「反転シグナル」と短絡的に読むと、トレンドへの逆張りで損失を抱える状況になりやすいと考えられます。
レンジ相場とトレンド相場で意味が変わる
レンジ相場では ±100 突破が反転の目安として機能しやすい一方、トレンド相場では継続シグナルとして機能する場合があります。市場環境(レンジか/トレンドか)を先に判定する仕組みを併用することが現実的です。
他指標との組み合わせを前提に
CCI の弱点を補うために、トレンドの強さを測る ADX や、方向性を見る 移動平均線 との併用が考えられます。具体的な組み合わせのパターンは、ロジックの組み合わせカテゴリで別途取り上げる予定です。
cTrader での実装メモ
cTrader 環境では、標準で CCI が用意されています。自作インジケーター・cBot に組み込む場合の流れの一例は以下の通りです。
Indicators.CommodityChannelIndex(Bars, periods)で組み込みの CCI を取得cci.Result.Last(1)で直近の確定足の値を参照- ±100 突破やゼロラインクロスをロジックに組み込み
自社では cTrader 向けに、こうしたオシレーター系指標を活用したインジケーターや cBot の開発・販売も行っています。詳細は ai-programming.xyz をご覧ください。
まとめ
CCI(商品チャネル指数)は、価格が平均からどの程度かい離しているかを ±100 を基準に可視化する、シンプルなオシレーターです。過熱感の判定やダイバージェンスによる勢いの変化の読み取りに活用されますが、単独で使うとトレンド相場に逆らう判断材料になりやすい弱点もあります。
実装時はトレンドフィルターや他のインジケーターと組み合わせ、「CCI だけで判断しない」設計が現実的と考えられます。インジケーターは絶対の答えを与えるものではなく、相場を読むための一つの観点を提供する道具として捉えるのが健全です。
本記事は一般的な情報提供を目的としています。投資助言ではありません。 取引判断はご自身の責任で行ってください。