mcpField
Z
zigzag-pattern-classifier

zigzag-pattern-classifier

github.com/terrylicaデータ・データベース170 回インストール今日更新
リポジトリ

zigzag-pattern-classifier について

zigzag-pattern-classifierは、価格関係と市場レジームに基づいて、2ピボットおよび3ピボットのZigZagスイングを分類するリファレンススキルです。網羅的な分類体系、許容誤差の規則、FDによる細分化方法を示します。

主な機能

  1. 012・3ピボットのパターン分類
  2. 02高値・同値・安値の比較規則
  3. 03イプシロン許容誤差の指針
  4. 04Freedman-Diaconisによる細分化
  5. 05市場レジームのラベル付け
  6. 06qta Rustクレートの実装リファレンス

活用シーン

  1. 01確定したZigZagスイングの分類
  2. 02RustやPythonのパイプラインでのパターンラベル付け
  3. 03スイング構造に基づく市場レジームの解釈
  4. 04許容誤差とビニング規則の設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/terrylica/cc-skills --skill zigzag-pattern-classifier

インストール後、Claude Code で/zigzag-pattern-classifierを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
binning-methodology.md
data-pipeline.md
epsilon-tolerance-detail.md
eurusd-validation-scenarios.md
notation-definitions.md
three-pivot-variants.md
two-pivot-variants.md

詳細

ZigZagスイングパターン分類器

構造と市場レジームに基づいてZigZagスイングパターンを分類する完全な分類体系です。確認済みのZigZagシーケンスはすべて、ちょうど1つのバリアントに対応します。漏れも重複もありません。

自己進化型スキル:このスキルは使用を通じて改善されます。指示に誤りがある、パラメーターがずれている、または回避策が必要だった場合は、先延ばしにせず、このファイルをすぐに修正してください。実際に再現可能な問題がある場合にのみ更新してください。

使用する場面

  • 確認済みのL₀→H₁→L₂(2ピボット)またはL₀→H₁→L₂→H₃(3ピボット)のスイングを分類する場合
  • 特定のパターンが市場レジームに与える影響を調べる場合
  • 「異なるパターンはいくつあるか」という質問に答え、網羅性を証明する場合
  • コードでパターンのラベル付けを実装する場合(Rustのqtaクレート、Pythonパイプライン)
  • 「等しい」を定義するイプシロン許容帯を理解する場合
  • サブ分類の粒度にFreedman-Diaconisビニングを適用する場合

表記法(唯一の定義元)

記号定義例
L₀初期安値(最初に確認されたピボット)1.0800
H₁スイング高値(反転のピーク)1.0850
L₂2番目の安値(押し戻し)1.0810
H₃3ピボットの場合のみ、2番目の高値1.0870
Wスイング幅:H₁ − L₀0.0050
z正規化された押し戻し:(L₂ − L₀) / (H₁ − L₀)0.20
oボラティリティで正規化されたオーバーシュート:(L₀ − L₂) / ATR₁₄0.35
ε「等しい」分類の許容帯5ピップ
τZigZagの反転しきい値6.6ピップ
価格水準の比較
コード意味条件
HL高値切り上げL₂ > L₀ + ε
EL安値同値|L₂ − L₀| ≤ ε
LL安値切り下げL₂ < L₀ − ε
HH高値切り上げH₃ > H₁ + ε
EH高値同値|H₃ − H₁| ≤ ε
LH高値切り下げH₃ < H₁ − ε

パート1:2ピボットパターン(上昇-下降)

パターン:L₀ → H₁ → L₂(上昇レッグ1つ、下降レッグ1つ)

基本分類(3クラス)

上昇-下降の3点セットはすべて、次のいずれか1つに分類されます。

クラス条件意味頻度
EL|L₂ − L₀| ≤ ε安値同値(再試し)~20–30%
HLL₂ > L₀ + ε安値切り上げ(押し戻し)~50–60%
LLL₂ < L₀ − ε安値切り下げ(下抜け)~10–20%
詳細分類:FDビニングによる9つのバリアント

HLとLLは、それぞれ正規化座標にFreedman-Diaconisビニングを適用して4つのサブクラスに分解されます。

  • HLビンではz = (L₂ − L₀) / (H₁ − L₀)を使用し、範囲は0~1です
  • LLビンではo = (L₀ − L₂) / ATR₁₄を使用し、範囲は0~∞です
バリアントzまたはoの範囲市場レジーム確率
EL|z| ≤ ε_r再試し — サポートが再確立されます20–30%
HL-FD10.75 < z < 1.0浅い押し戻し — 買い手が優勢です20–25%
HL-FD20.50 < z ≤ 0.75中程度の押し戻し — フィボナッチ38~50%15–20%
HL-FD30.25 < z ≤ 0.50深い押し戻し — フィボナッチ61.8%10–15%
HL-FD40 < z ≤ 0.25ほぼ完全な押し戻し — かろうじて維持5–10%
LL-FD1o ≤ q₂₀微小な下抜け — 短時間のダマシブレイク8–12%
LL-FD2q₂₀ < o ≤ q₄₀浅い下抜け — 中程度のパニック4–8%
LL-FD3q₄₀ < o ≤ q₆₀深い下抜け — 構造的なブレイク2–5%
LL-FD4o > q₆₀極端な下抜け — テールイベント<2%
取引への影響
バリアントエントリーシグナル損切り目標
ELL₀+εからロングL₀−εH₁ + ΔH
HL-FD1L₂からロングL₂−εH₁ + ΔH
HL-FD2確認時にロングL₂−ε直近のH + ΔH
HL-FD3サイズを縮小して待機L₂−εサポート + ΔH
HL-FD4極端なリスク、回避L₂−ε重大水準
LL-FD1急騰時のショート取引L₂+急騰幅L₀
LL-FD2反転を待つブレイクアウトL₀
LL-FD3ショート継続反転新安値
LL-FD4危機モード、ヘッジ投げ売り未定
任意のサブ分類フラグ

より豊富なコンテキストを加えるため、任意のバリアントに付与します。

フラグ意味シグナル
+CH₁→L₂の間に終値がL₀未満になる弱気姿勢の強まり
+SL₂が単一のバーで発生(急騰)急反転、平均回帰
+XヒゲのみL₀を下回り、終値は下回らない流動性狩り、偽のブレイク

ラベルの例:HL-FD2+C、LL-FD4+S+C、EL+X


パート2:3つのピボットパターン(上昇-下降-上昇)

パターン:L₀ → H₁ → L₂ → H₃(上昇脚、下降脚、上昇脚)

網羅的な9つのバリアント

独立した2つの次元がそれぞれ3つの値を取るため、3×3 = 9個の相互に排他的で、全体として網羅的なバリアントがあります。

次元1 — L₂とL₀の比較:{HL, EL, LL} 次元2 — H₃とH₁の比較:{HH, EH, LH}

#L₂とL₀の比較H₃とH₁の比較名称市場レジーム
1HLHH継続インパルス強気トレンドの継続
2HLEHダブルトップの試しレンジ、強気バイアス
3HLLH三角保ち合いの収束中立的な持ち合い
4ELHHレンジ上抜け強気への転換
5ELEH長方形均衡レンジ
6ELLHフラットな底での切り下げ高値レンジ、弱気バイアス
7LLHHV字反転/スプリング強気反転
8LLEH下抜け後の停滞ボラティリティの高いレンジ
9LLLHラリーの失敗弱気トレンドの継続
網羅性の証明

すべてのバリアントは、以下の必須条件を満たします。

  • L₀ < H₁(最初の上昇トレンドが存在する)
  • L₂ < H₁(押し戻しがピークを超えない)
  • H₃ > L₂(2回目の上昇トレンドが存在する)

L₂とL₀の関係は、ちょうど3通り(上、同値、下)です。H₃とH₁の関係も、ちょうど3通り(上、同値、下)です。これらの次元は独立しており、どの組み合わせも除外する制約はありません。したがって、実現可能なバリアントは3 × 3 = 9通りで、欠けているものはありません。

自然な分類
  • 強気(4):HL+HH、EL+HH、HL+EH、LL+HH
  • 中立(3):HL+LH、EL+EH、LL+EH
  • 弱気(2):EL+LH、LL+LH
レジームの割り当て
レジームバリアント
トレンド継続HL+HH(強気)、LL+LH(弱気)
レンジ持ち合いHL+LH、EL+EH、LL+EH
強気への転換EL+HH、HL+EH
弱気への転換EL+LH
反転LL+HH

Part 3:27 通りへの拡張

独立した第 3 の次元として H₃ vs L₀ を追加します。

  • L₂ vs L₀:{HL, EL, LL}
  • H₃ vs H₁:{HH, EH, LH}
  • H₃ vs L₀:{Above, Equal, Below}

これにより、3×3×3=27 のサブバリアントが得られます。制約によって数学的に成立しないものもあります(例:HL+LH+H₃<L₀ は、H₃ < L₀ < L₂ < H₃ を要求するため矛盾します)。

アナリストは、この第 3 の次元を「L₀ を奪回する」対「L₀ の奪回に失敗する」という二値に単純化することがよくあります。


イプシロン許容帯

許容帯 ε によって、「等しい」の意味が決まります。これはボラティリティと市場のマイクロストラクチャーに応じて調整されます。

基本式
ε = min(ε_max, max(ε_min, √[(a·S)² + (b·ATR₁₄)²]))

ここで:

  • S = ローリング中央値スプレッド(ビッド・アスク)
  • ATR₁₄ = 14 バーの Average True Range
  • a = 2.0(スプレッドのスケーリング)
  • b = 0.05(M5-M30)または 0.07(H1-D1)
上限と下限(EURUSD のデフォルト)
ε_min = max(3 ticks, 1×S) = max(0.00003, S)
ε_max = min(5 pips, 0.20 × swing) = min(0.00050, 0.20 × W)
ε を使った分類
ε_r = ε / W  (relative tolerance)

EL if |z| ≤ ε_r
HL if z > ε_r
LL if z < −ε_r
実用的な代替策

ビッド・アスクスプレッドを利用できない場合:

  • ATR のみ:ε = 0.05 × ATR₁₄(M5-M30)、0.07 × ATR₁₄(H1-D1)
  • 固定帯:3 ピップス(日中)、5 ピップス(スイング)、10 ピップス(日足)

感度分析を含む詳細な計算例については、references/epsilon-tolerance-detail.md を参照してください。


Freedman-Diaconis ビニング

FD ルールは、データから統計的に最適なビン境界を計算します。

h = 2 × IQR(X) × n^(-1/3)    (bin width)
K = clip(⌈(max−min) / h⌉, 3, 6)  (number of bins)
edges = linspace(min, max, K+1)
HL パターンの手順
  1. 2~3 年分の UP-DOWN トリプレットを収集します
  2. HL(z > ε_r)に絞り込みます
  3. z を 0.5%-99.5% の範囲でウィンザー化します
  4. z ∈ (ε_r, 1) に対して FD ビン境界を計算します
  5. HL-FD1(最も浅い)から HL-FDK(最も深い)までラベル付けします
LL パターンの手順
  1. LL(z < −ε_r)に絞り込みます
  2. o = (L₀ − L₂) / ATR₁₄ を計算します
  3. o を 0.5%-99.5% の範囲でウィンザー化します
  4. o ∈ (ε_r, ∞) に対して FD ビン境界を計算します
  5. LL-FD1(微小)から LL-FDK(極端)までラベル付けします

レジームのドリフトを追跡するため、ビン境界は毎月または四半期ごとに再計算してください。サンプル数が 400 未満の場合は、分位点ビニングに切り替えてください。


実装リファレンス

Rust クレート qta(crates/qta/)は、この分類フレームワークで使用するピボットを生成するコア ZigZag ステートマシンを実装しています。

  • ZigZagConfig::new(reversal_depth, epsilon_multiplier, bar_threshold_dbps)
  • completed_segment に base_class(EL/HL/LL)と z スコアを含む ZigZagState::process_bar(&bar) → ZigZagOutput
  • このクレートは、bar_threshold_dbps からピボットごとに τ と ε を動的に計算します

このスキルの分類フレームワークは、FD ビニング、3 ピボット分析、市場レジームのラベル付けによって、クレートの出力を拡張します。


詳細リファレンスファイル

ASCII 図、計算例、実装の疑似コードについては、必要に応じて以下のリファレンスファイルを参照してください。

ファイル内容
references/notation-definitions.md唯一の信頼できる情報源:すべての記号、数式、略語、パターンクラス
references/two-pivot-variants.md9 通りすべての 2 ピボット ASCII 図、取引ルール、フラグの例
references/three-pivot-variants.md9 通りすべての 3 ピボット ASCII 図、27 通りへの拡張、HL+LH の詳細なサブバリアント
references/epsilon-tolerance-detail.mdε の完全な式、計算例、感度分析、疑似コード
references/binning-methodology.mdFreedman-Diaconis アルゴリズムの詳細、FD と分位点の比較、計算例
references/data-pipeline.md11 ステップのエンドツーエンドパイプライン:生クオート → OHLC → ATR → ピボット → 分類 → 出力
references/eurusd-validation-scenarios.mdε と τ を検証する 3 つの市場シナリオの計算例(通常、ボラティリティ大、暴落)

実行後の振り返り

このスキルの実行後、終了する前に次の点を確認してください。

  1. コマンドは成功しましたか? — 成功していない場合は、失敗の原因となった手順またはエラーテーブルを修正します。
  2. パラメーターや出力に変更はありましたか? — 基盤となるツールのインターフェースに変更があった場合は、使用例とパラメーターテーブルを更新して一致させます。
  3. 回避策が必要でしたか? — 別のフラグや追加手順など、その場で工夫する必要があった場合は、次回の実行で同じ回避策が不要になるよう、この SKILL.md を更新します。

問題が実際に発生し、再現可能な場合にのみ更新してください。推測で更新しないでください。

コメント