コンテンツにスキップ

エリオット波動(Elliott Wave Principle)

エリオット波動は、Ralph N. Elliott が1930年代に米ダウ工業株の観察から提唱した波動理論です。群衆心理は自己相似(fractal)な「5推進波 + 3修正波」の構造で動くと主張し、その入れ子構造、修正波の分類、フィボナッチとの関係を体系化します。波は degree(超大 grand supercycle から極小 subminuette まで)の階層を持ち、各 degree が同じ 5+3 構造で入れ子になります。判定は規則(rules)は絶対、ガイドライン(guidelines)は経験則という2段階でおこないます。

使いどころは、上位足の環境認識(現在何波目かの候補列挙)、フィボナッチ節目の予測、修正波終了の位置予想、リスクリワードのバイアス設計です。ただし波カウントは主観性が高く、独立の一次エッジ源としては扱いません。他の指標や構造分析と併用する前提です。

原典は R. N. Elliott The Wave Principle(1938)と Nature’s Law(1946)で、Frost & Prechter Elliott Wave Principle(1978)が現代の標準教科書です。

前提と注意

起源と現代化

出来事
1938R. N. Elliott The Wave Principle(Charles J. Collins との共著、Financial World 誌への寄稿の書籍化)
1946R. N. Elliott Nature’s Law: The Secret of the Universe。フィボナッチとの明示的接続
1948Elliott 死去。理論はほぼ忘却
1953Hamilton Bolton(Bank Credit Analyst)が Elliott 理論を再発掘、レポートで復活
1978A. J. Frost & Robert R. Prechter Elliott Wave Principle。現代標準教科書
1979-Prechter が Elliott Wave International を設立、レポート事業化
1990s-電子取引普及で波カウントソフト(Advanced GET 他)が登場
2000s-Glenn Neely の NEoWave(規則の厳格化)、Ian Copsey(Wave Traders)など派生流派

波カウントの主観性

規則は絶対、ガイドラインは経験則という原則が土台です。

  • 3つの絶対規則(後述)は破ってはならない。破ったら別カウントに変える
  • ガイドライン(波の等長性、alternation、フィボナッチ関係)は多くのケースで成立するが例外あり
  • 同じチャートに対して primary count と alternate count を複数持ち、規則違反が出た側を捨てる

実務上の注意も押さえておきます。

  • 波カウントは後付けで完璧に見えるが、リアルタイムでは3から5通りの可能性が残る
  • Prechter が1987年のブラック・マンデーを事前警告したエピソードは有名だが、その後の予測当外率は複数の独立検証で市場平均並みと報告されている
  • 波カウントを唯一の根拠として売買しない。他の指標・構造分析と併用する前提

基本構造

5+3 波の基本サイクル

推進波(motive / impulse wave)は次の性質を持ちます。

  • 5波構成(1, 2, 3, 4, 5)
  • 全体トレンドと同方向
  • 波1, 3, 5 は同方向の推進、波2, 4 は逆方向の小修正

修正波(corrective wave)は次のとおりです。

  • 3波構成(A, B, C)
  • 全体トレンドと逆方向
  • 波A, C は逆方向、波B は同方向の戻し

1サイクルは 5推進波 + 3修正波 = 計8波です。

エリオット波動の模式図。5つの推進波と3つの修正波(ABC)。

模式図(理想化した形状)。波3が最短にならない等の規則を満たす一例。

波の degree(階層)

Prechter の分類です。同じ 5+3 構造が異なる時間軸で入れ子になります。

Degree期間目安記号
Grand Supercycle数百年大きなローマ数字 [I]
Supercycle数十年(I)
Cycle数年I
Primary数か月から1年
Intermediate数週間から数か月(1)
Minor数週間1
Minute数日i
Minuette数時間(i)
Subminuette数分極小 i

FX スポットでは Cycle から Subminuette の5から6段階を実用範囲とします。1つ上の degree の波3(推進)の内部は、下位 degree の5波構造で分解されます。

3つの絶対規則(Rules)

推進波(impulse)には破ってはならない3規則があります。1つでも破ったらそのカウントは無効です。

規則1: 波2は波1の100%を超えて戻らない

  • 波2の終値が波1の起点を割り込んだ場合、その波1は波1ではない
  • 別のカウント(もっと下位 degree の修正波の一部など)に組み替える

規則2: 波3は最短ではない

  • 波1, 3, 5 の中で、波3が最短にはならない
  • 通常は波3が最長、または少なくとも波5・波1と同等以上
  • 波3が明らかに短い場合、そのカウントは無効

規則3: 波4は波1の価格域と重ならない

  • 波4の安値(上昇推進波の場合)が、波1の高値を下回らない
  • 波4が波1に重なった場合、推進波としては無効(斜行三角以外)
  • 例外は対角三角形(leading / ending diagonal)で、重なりが許容される

ガイドライン(Guidelines)

規則ほど厳密ではないが、多くのケースで成立する経験則です。

波3の伸長(Extended Third)

  • 波3は5つの推進波の中で最長になる傾向
  • 波3が波1の 1.618 倍または 2.618 倍まで伸びるケースが典型
  • 波3が伸長した場合、波5は波1と同等の長さ(equality)になる傾向

波1と波5の等長性(Equality)

  • 波3が典型的な伸長を見せた場合、波5は波1に等しくなりやすい
  • 波3が伸長しない場合、波5が伸長することがある

修正波の交替(Alternation)

  • 波2が sharp な修正(zigzag)なら、波4は sideways な修正(flat / triangle)になりやすい
  • 波2が sideways なら、波4は sharp
  • 交替原則を破るカウントは疑わしい

波4の重なり(Overlap の警告)

  • 波4の下限が波1の上限に近づくと危険域
  • 完全に重なると規則3違反となり、カウントを変更する

チャネル(Channel)

  • 推進波5波は平行チャネル内に収まる傾向
  • 波1の始点と波3の終点を結ぶ線、波2の終点から平行に引いた線が波4の目標
  • 波5完了後、チャネル下辺を割ると反転確定(バリカンサイン)

フィボナッチ関係

推進波と修正波の主要なフィボナッチ関係です。

修正波の retracement(戻し)は次のとおりです。

  • 波2: 波1の 50% / 61.8%(典型)/ 78.6%(深い)
  • 波4: 波3の 23.6% / 38.2%(浅い、alternation)
  • 波B: 波Aの 38.2% / 50% / 61.8%

推進波の extension(拡張)は次のとおりです。

  • 波3: 波1の 1.618(典型)/ 2.618(伸長)
  • 波5: 波1の 0.618(小さい)/ 1.0(equality)/ 1.618(伸長)
  • 波C: 波Aの 1.0(equality)/ 1.618(伸長)

修正波の分類

修正波(corrective wave)は推進波より複雑で、以下のカテゴリに細分化されます。

Zigzag(5-3-5)

構造は A(5波)- B(3波)- C(5波)です。

特徴は次のとおりです。

  • 波Aと波Cはそれ自体が5波構造の推進波
  • 波Bの戻しは Aの 61.8% 以下(浅い)が典型
  • 波Cは波Aの 1.0 倍(equality)または 1.618 倍

単純 zigzag の他、double zigzag(WXY)と triple zigzag(WXYXZ)があります。

Flat(3-3-5)

構造は A(3波)- B(3波)- C(5波)です。

特徴は次のとおりです。

  • 波Aと波Bはどちらも3波構造
  • 波Bの戻しが深い(Aの 90% 以上、時に 100% 超え)
  • 波Cは波Aの長さと同等または短い

変形は次のとおりです。

種類波Bの戻し波Cの伸び
Regular FlatAの 100% 未満Aと等長
Expanded FlatAの 100% 超えAより長い(1.272-1.618 倍)
Running FlatAの 100% 未満Aの 100% 未満(弱い C)

Expanded Flat は波Bが波Aの始点より深く戻すのが特徴で、FX で頻出します。

Triangle(3-3-3-3-3)

構造は A - B - C - D - E の5つで、すべて3波構造です。

特徴は次のとおりです。

  • 収束または拡大する5つの波
  • 出現位置は主に波4と修正波の波B
  • Triangle はエネルギー蓄積期。ブレイク後の推進が典型

種類は次のとおりです。

種類高値安値
Contracting triangle(収束)切り下げ切り上げ
Ascending triangle水平切り上げ
Descending triangle切り下げ水平
Expanding triangle切り上げ切り下げ

Triangle の後は thrust と呼ばれる強い方向性ブレイクです。thrust の長さは triangle の最大幅と同程度が典型です。

Combination(WXY / WXYXZ)

Double Three(WXY)は次の構造です。

  • 修正波が3つ連結(W + X + Y)
  • WとYはそれぞれ zigzag / flat / triangle のいずれか
  • Xは接続の介在修正

Triple Three(WXYXZ)は3連結の複雑修正です。

複雑修正は sideways な保ち合いとして認識されます。波4で頻出します。

特殊な波形

対角三角形(Diagonal Triangle)

Leading Diagonal(LD)は次の性質を持ちます。

  • 波1または修正波の波Aの位置に出現
  • 5波構造だが、波4と波1の重なりが許容される(規則3の例外)
  • ブレイクアウト初動の始まり

Ending Diagonal(ED)は次のとおりです。

  • 波5または修正波の波Cの位置に出現
  • 収束するくさび(wedge)形状
  • 上昇トレンドの最終局面での疲弊した推進
  • ED の後は急激な反転が典型

Truncation(5波未達)

  • 波5が波3の高値を超えずに終わる
  • 弱いトレンドの終わり
  • 出現頻度は低いが、警告として認識する必要がある

Extension(伸長波)

  • 5波の中で1つの波が異常に長く、それ自体が9波に見える
  • 通常は波3が extension、次に波5、稀に波1
  • Extension が確定した波は、その degree の主推進と認定する

USD/JPY での使いどころ

  • 日足から週足の大局判断: 直近の主要スイング(数か月単位)を primary degree としてカウント。波1, 3, 5 の推進を認識できると、現在は押し目か戻りかのバイアスが立つ
  • 中央銀行転換点との整合: Fed の利上げサイクル終了、BoJ の政策転換など、ファンダメンタルの構造変化と主要 degree の波のトップ・ボトムが重なることが多い
  • 修正波での押し目: 上昇トレンド中の波4が Flat / Triangle の場合、下位足でのブレイクエントリーが機能しやすい
  • フィボナッチ節目でのターゲット: 波3の目標を波1の 1.618 倍で置く、波5完了後のC波を波Aの 1.0 倍で狙う、など
  • 東京・ロンドン・NY の3セッションと波の分解: 1日の内でも5波構造が形成されることがある(下位 minute / minuette degree)。ただし主観的になるため、上位足の環境を優先する
  • 重要指標発表と波の変化: 米雇用統計、日銀会合などのイベントで、それまでの波構造が急激に組み替わる。イベント前後の波カウントは特に脆弱

落とし穴

  • カウントを固定しすぎない: 波カウントは常に primary + alternate の複数を持つ。市場が規則違反の動きを見せたら alternate に切り替える柔軟性が必要
  • 後付けの完璧なカウントに騙されない: チャートを遡って完璧に見えるカウントも、リアルタイムでは3から5通りの候補があった。過去チャートでの学習は、規則違反を検出する目を養う目的に留める
  • フィボナッチ節目を絶対視しない: 61.8%、1.618 などのフィボナッチ数値は到達しやすい水準であり、そこで反転する保証はない。他の水準(直近スイング、水平線、Pivot)と重ねる
  • 波4が波1に近づくと規則違反の候補: 波4が波1の高値付近まで戻したら、別カウント(三角保ち合い、複雑修正)を疑う
  • 波5の truncation を見逃さない: 弱いトレンドの終わりで波5が短くなる。波3の高値を波5が超えないことを疲弊として認識する
  • 同じ時間足内で degree を混ぜない: 日足のカウントに時間足の細波を混ぜると、規則の判定がぶれる。degree ごとに時間足を固定する
  • 統計的 edge を仮定しない: Elliott 理論の統計検証は複数存在するが、FDR 補正後の生存は限定的。予測精度が chance level を大きく超える証拠は薄い。検証は検証の方法論のフレームで別途扱う対象
  • Prechter の1987予測は生存者バイアス: Prechter の実際のニュースレター長期成績は市場を上回っていない(複数の学術検証あり)。1つの当たり予測を根拠に Elliott 理論を絶対視しない
  • 他の指標と組み合わせずに使わない: 波カウントは環境認識とバイアス設定のツール。売買トリガーは他の指標(RSI, MACD, ローソク足反転)と併用する
  • Neely(NEoWave)の厳密規則と Prechter の緩い規則を混ぜない: 流派で規則の厳しさが違う。1つの流派に統一して運用する

波カウントの手順(実務)

  1. 上位足で明確な高値・安値を特定

    • 日足・週足で誰の目にも明らかな swing を特定
    • この swing 全体を Cycle degree の1サイクル(5+3)と仮定する
  2. 主要な turning point で5波構造を試みる

    • Swing 全体を5波構造(推進)と仮定して 1 から 5 のラベルを試す
    • 規則違反が出たら破棄
  3. 規則1から3のチェック

    • 波2は波1を完全戻ししていないか
    • 波3は最短ではないか
    • 波4は波1に重なっていないか(対角三角以外)
  4. 修正波のタイプを判定

    • 波2, 4, および大きな修正 A-B-C の内部構造を数える
    • Zigzag / Flat / Triangle / Combination のいずれか
  5. 交替と equality の適合を確認

    • 波2と波4の交替
    • 波1と波5の equality
  6. フィボナッチ関係の整合

    • 波3が波1の 1.618 倍付近
    • 波5が波1と等長
  7. Alternate count を並行して持つ

    • Primary count が失敗した場合の代替を1から2個
    • 規則違反発生時点で switch

Python 実装スケッチ

波カウント自体は主観性が高く、完全な自動化は難しいです。以下は 5波候補の抽出 + 3規則のチェック の骨格です。

import pandas as pd
import numpy as np
from itertools import combinations
from scipy.signal import argrelextrema
def find_swings(df: pd.DataFrame, order: int = 10) -> pd.DataFrame:
highs = argrelextrema(df["high"].values, np.greater, order=order)[0]
lows = argrelextrema(df["low"].values, np.less, order=order)[0]
swings = []
for idx in highs:
swings.append((df.index[idx], df["high"].iloc[idx], "H"))
for idx in lows:
swings.append((df.index[idx], df["low"].iloc[idx], "L"))
return pd.DataFrame(swings, columns=["timestamp", "price", "type"]).sort_values("timestamp")
def check_impulse_rules(pivots: list[float], direction: str = "up") -> tuple[bool, str]:
if len(pivots) != 6:
return False, "Need 6 pivots (start + 5 wave ends)"
p0, p1, p2, p3, p4, p5 = pivots
if direction == "up":
wave1 = p1 - p0
wave2 = p1 - p2
wave3 = p3 - p2
wave4 = p3 - p4
wave5 = p5 - p4
if p2 <= p0:
return False, "Rule 1 violated: wave 2 retraces beyond wave 1 start"
waves = [wave1, wave3, wave5]
if wave3 < min(wave1, wave5):
return False, "Rule 2 violated: wave 3 is shortest"
if p4 <= p1:
return False, "Rule 3 violated: wave 4 overlaps wave 1"
return True, "All 3 rules satisfied"
def fib_targets(wave1_start: float, wave1_end: float, direction: str = "up") -> dict:
length = abs(wave1_end - wave1_start)
sign = 1 if direction == "up" else -1
return {
"wave2_50pct": wave1_end - sign * length * 0.500,
"wave2_618pct": wave1_end - sign * length * 0.618,
"wave3_1618x": wave1_end + sign * length * 1.618,
"wave3_2618x": wave1_end + sign * length * 2.618,
"wave5_1x": wave1_end + sign * length * 1.000,
}
  • find_swings は price の局所極値を検出する。order は左右何本より大きい・小さいかの窓幅
  • check_impulse_rules は5波の各 pivot 価格を受け取り、絶対規則3つを判定
  • fib_targets は波1の起点・終点から波2の戻し候補、波3・波5の目標を計算
  • 実運用では複数の swing 分解候補を並行に評価し、規則違反しないものを alternate count として保持する後段が必要
  • 完全自動カウントソフト(Elliott Wave Oscillator 系)は存在するが、精度は限定的。人間による判定を補助する用途

参考

  • Ralph N. Elliott, The Wave Principle, 1938
  • Ralph N. Elliott, Nature’s Law: The Secret of the Universe, 1946
  • A. J. Frost & Robert R. Prechter, Elliott Wave Principle: Key to Market Behavior, 11th ed., New Classics Library, 2005. https://www.elliottwave.com/store/product/Elliott-Wave-Principle-Key-to-Market-Behavior-11th-Ed
  • Robert Prechter, The Wave Principle of Human Social Behavior, New Classics Library, 1999
  • Glenn Neely, Mastering Elliott Wave, Windsor Books, 1990。NEoWave(規則の厳密化)
  • Ian Copsey, Wave Traders, 1993
  • Elliott Wave International サイトの継続レポート. https://www.elliottwave.com/
  • 独立検証: Elliott Wave 予測精度に関する複数の論文。予測は市場平均並みと報告