FXにおけるスイング定義のルールとは?
スイング定義が意味するもの
スイング定義とは、プライスアクションにおける「スイング」移動を説明するための、自己完結型で検証可能な方法です。この文脈でのスイングは、保証されたパターンではありません。あなたが反復できるルールを使って、過去または観測された価格行動を分類するためのものです。
「ルール」を考える便利な方法は次の通りです。まず、使う入力(価格系列と任意のフィルター)を定義し、次に「スイング」とみなす条件(エントリー/転換行動と最小の値動き)を定義し、そして最後に「スイングが無効になる条件」(失敗または重複ルール)を定義します。これらの要素のどれかを変えれば、スイング定義も変わります。
市場はさまざまなので、ルールは次のように分けるべきです:
- 安定したメカニクス:スイングを測定し分類する方法。
- 変動する条件:ボラティリティのレジーム、流動性、コスト、そしてデータがどのように処理されるか。
以下の「ルール」は、選んだ前提と過去の価格データだけを使って、独立に検証できるように書かれています。
直接の答え:検証可能なスイング定義のルールセット
以下は、他の人に説明して一貫して適用できるルールセットです。意図的に汎用的に書いています。テストする前に、具体的な閾値をあなたが選ぶ必要があります。
1) 時間的地平とサンプリングルールを選ぶ
- 分析するタイムフレームを選びます(例:時間足、4時間足、日足)。
- データのサンプリング方法を固定します:各バーの終値を使う、または高値/安値を使う、ただし同じテスト内で方法を混ぜないでください。
ルール要件:タイムフレームとサンプリング方法は定義の一部です。
2) スイングの転換点を定義する
「転換点」とは、方向が変わる場所(ピボット)です。検証可能なアプローチの一つは次の通りです:
- 上昇スイングでは、価格が局所的な安値を作り、その後に先行する参照を上抜ける動きが出る。
- 下落スイングでは、価格が局所的な高値を作り、その後に先行する参照を下抜ける動きが出る。
測定可能にするために、参照は次のように一貫した方法で定義します。例えば:
- ルックバック窓ルール:ピボットとは、固定された数の直前および直後のバーにおける極値であるバー(上転換では安値、下転換では高値)とする。
3) 最小スイングサイズ(値動きの閾値)を設定する
小さなノイズをスイングとしてラベル付けしないために、最小サイズを定義します:
- レンジルール:スイングの高値から安値までの距離は、少なくとも X(価格の単位)または Y(パーセント)でなければならない。
前提の注記:X または Y は、テストの前に明示する必要があります。
4) スイングのレッグ境界をどう特定するかを定義する
スイングのレッグは次のように測定できます:
- ピボットA(転換点)からピボットB(次の転換点)まで、または
- ピボットAから、次の反対方向の条件を満たすピボットが現れるまでの最も極端な点まで。
境界ルールを1つ選び、常に同じものを使い続けてください。
5) 無効化:スイング定義が適用されなくなるタイミングを決める
転換点が存在しても、それがきれいなスイングレッグを表していない可能性があります。次のような無効化ルールを追加します:
- 重複ルール:その後、価格が元のレッグの構造を、閾値を超えて再び侵害する場合、先のレッグを有効なスイングとして扱うのをやめる。
- 時間制限ルール:スイングが N 本のバーの中で進展しない場合、スイング基準を満たしていないと分類する。
これは重要な制限です。無効化がないと、同じチャートから2人が異なる「スイング」をラベル付けしてしまうことがあります。
6) コストとスプレッドの扱いを決める(任意だが比較には必要)
後で実現結果を評価するためにスイング定義を使う場合、測定はコストに依存します。純粋に定義としてのテストならコストを無視してよいですが、プロバイダー間や執行方法間の比較では敏感になります。
使える検証可能な記述は次の通りです:
- 「分類は価格バーのみを使用し、収益性やリターンは推測しない。」
分類をパフォーマンスから切り離すことで、定義が予測的な主張に変わるのを防げます。
実際にスイング定義がどう機能するか(具体例)
この例はトレード計画としてではなく、分類の演習として書かれています。
例の前提
- タイムフレーム:4時間足。
- ピボットルール:ピボットロー(上昇の特定のため)は、直前3本のバーと直後3本のバーにおける最安値。ピボットハイは同じ窓における最高値。
- 最小スイングサイズ:ピボットハイとピボットローの差は少なくとも 1% である必要がある。
- レッグ境界ルール:上レッグでは、ピボットローから次のピボットハイまでを測定する。
- 無効化:ピボットローの後、価格が最初にピボットローを小さな許容差(例:0.1%)以上下回る新しい安値を作った場合、それ以前のレッグラベルは却下する。
手順(分類ステップ)
- ピボットルールに従って、系列をスキャンしピボットローとピボットハイを特定する。
- ピボットローAの後にピボットハイBが来ることで、上レッグを特定する。
- 最小スイングサイズを確認: (B - A) / A を計算する。これが 1% 未満なら、そのレッグについて「スイングではない」とラベル付けする。
- 無効化を適用:Aが現れた後に、ピボットローAの下側の許容差を超えて再訪した場合、その上レッグのラベルを却下する。
- 完了した上レッグについて、レッグサイズと期間(AからBまでのバー数)を記録する。
あなたが検証できること
- 同じ前提をまったく同じように使う別の人は、バーのインデックスと「次の3本のバー」の重なりに関する判断が影響するエッジケースを除き、同じスイングにラベル付けするはずです。
だからこそ前提を明示する必要があります。ルールが完全に指定されたときにのみ、定義は検証可能になります。
予測なしで実行できる証拠と比較ロジック
「正しい」スイング定義は1つ存在しないため、制御された変更のもとで、それ自身に対して比較することでルールセットを検証します。
1つの基準で候補定義を比較する
簡単な比較ステップとして、テスト用データセットを選び、ルールが1つだけ異なる2つの定義を実行します。
例の比較基準:
- スイング数:月あたりに何本のスイングがラベル付けされるか?
- 平均スイングサイズ:測定されたレッグレンジの分布はどうなるか?
- 失敗/無効化の頻度:無効化ルールがレッグを却下する頻度はどれくらいか?
- 時間をまたいだ安定性:ボラティリティが変わると結果は急激に変化するか?
各基準で両方の選択肢を比較する
例えば次のように比較できます:
- ピボットルールの窓: (各側3本) vs (各側5本)。
- 最小サイズ閾値:1% vs 0.5%。
そのうえで差分を記録します:
- もしスイング数が低い閾値で急増するなら、あなたの定義はより多くのノイズを捉えている可能性があります。
- もし長いルックバック窓がスイングラベルを減らすなら、あなたの定義は転換点に遅れが出るかもしれません。
DOCUMENT END