記事の目次
根拠と適用範囲
ジョン・ボリンジャーの公式資料は、バンド方式とスクイーズという用語を支持しています。ここで示されているパーセンタイル・トリガー、固定境界、執行ルールは、書籍や新たに実施したバックテストに基づく利益主張ではなく、研究提案です。
実践の流れ
- 過去のバンドを計算するルックバック期間と母標準偏差の計算規則を事前に固定します。
- 収縮を測定する幅を、厳密に前のパーセンタイル値と比較してください。
- 候補の条件を固定するU、L、ATRと締め切りを保存してください。
- 方向の確定を待つ固定境界をバッファ分だけ超えた終値を要求します。
- 増分値をテストするスクイーズを必要としないブレイクアウトと比較してください。
スクイーズは方向ではなく分散を特定する
John Bollinger は、移動平均と母標準偏差に基づくバンドを説明し、一般的な既定値として期間20と標準偏差の2倍を用いています [1]。公式の手法概要では、Squeeze と呼ぶボラティリティ・ブレイクアウト手法を紹介しています [2]。これらは用語の出典であり、本記事の設定について監査済みの勝率を示すものではありません。
低いバンド幅は、価格が上昇するか下降するか、あるいは横ばい状態を維持するかを特定しません。幅が小さいときにすぐに買うことと、その後のブレイクアウト後にのみ買うことは、異なる仮説です。提案されたベースラインは、固定された境界の外側で終値を付けるのを待ちます。
相対的な縮小は、小さな絶対的な変動とは異なります。変動の激しい銘柄は、過去のバンド幅パーセンタイル値が最も低い場合でも、変動の少ない銘柄よりもはるかに大きく変動する可能性があります。ポートフォリオが異常な状態を低い執行リスクと混同しないように、パーセンタイル順位と絶対値またはATR正規化された幅の両方を記録してください。
トリガーを使用せずに参照を計算する
t−1 までの終値20個を使い、mu=mean(C)、sigma=sqrt(mean((C−mu)²))、U=mu+2sigma、L=mu−2sigma、BW=(U−L)/mu を計算します。提案するスクイーズ条件は、BW[t−1]≤過去100個の幅(t−101 から t−2)の第20パーセンタイルです。パーセンタイルを最近順位法で求めるか補間するかは、検証前に固定します。
最初に条件を満たすスクイーズで U、L、ATR_ref を固定し、候補の有効期間を評価する5本のバーとします。連続してスクイーズが観測されても期限を延長しません。ロングは U+buffer より上の終値、ショートはその対称条件として L−buffer より下の終値を必要とします。第20パーセンタイル、100観測値との比較、5本の有効期間はいずれも研究用の設定です。
ベースラインでは、トリガーとなる終値は固定バンドの計算から除外されます。終値を含む継続的に更新されるバンドは、ブレイクアウト自体が平均値と分散を変化させるため、異なる疑問に答えます。イベントレベルで2つの実装を比較できるように、band_usedと参照ウィンドウを各シグナルとともに保存してください。
ウォームアップには、パーセンタイル参照で使用されるすべての幅を計算するために十分な完全な観測値が必要であり、20価格だけでは不十分です。欠損データによって履歴が暗黙のうちに短縮されてはなりません。最小正平均値を定義し、非経済的なゼロ幅候補を生成する前に、ゼロ分散ウィンドウを除外するか、個別に処理してください。
if no_candidate and BW[t-1] <= quantile(BW[t-101:t-1], 0.20):
candidate = freeze(U[t-1], L[t-1], ATR[t-1], expires=t+4)
if candidate:
b = max(2*tick, 0.1*candidate.ATR)
if t > candidate.expires: expire()
elif C[t] > candidate.upper+b: emit_long(t)
elif C[t] < candidate.lower-b: emit_short(t)
# At most one signal per candidate; orders follow the close.
数値的圧縮、成功経路、ヘッドフェイク
合成mu=100とsigma=0.5は、U=101、L=99、BW=2%を生成します。以前に設定されたパーセンタイルしきい値が2.4%の場合、収縮が適格となります。バッファ0.1を使用すると、後続のクローズ101.3がロングをトリガーします。エントリー101.4とストップ98.9は、2.5ポイントの価格リスクを意味し、提案されたターゲット2Rは106.4です。
ストップ前に106.4に到達する合成経路は、そのルールの下では成功とみなされます。ブレイクアウト失敗経路では、価格は100に戻り、その後98.8まで下落します。スクイーズとブレイクアウトはどちらも有効な観測でしたが、トレードは損失となりました。まさにこれが、検出器の正しい分類を戦略の結果とは切り離しておく必要がある理由です。
高値が101.5に達しても終値が100.9なら、終値確認型の基準モデルにはロング信号がありません。後に有利な値動きが起きたからといって、その過去のイベントを逆指値エントリーとして解釈し直してはいけません。あらかじめ逆指値注文を置く方式は、独自の約定と失敗を含めて別途検証できます。
分母に母集団シグマ20ではなく19を用いた標本シグマを使用すると、同一の入力から異なるバンドが生成されます。この選択は統計モデルとして本質的に無効ではありませんが、異なる指標の慣例であり、境界信号が変化する可能性があります。意図した分母を確認するために、手計算による簡単なフィクスチャを含めてください。
バンド拡大には完全な手仕舞いと注文のルールが必要
提案する基準モデルは、信号後の約定可能な始値で入り、反対側の固定境界を越えた位置にストップを置き、20本のバーで時間決済します。A=2R の目標をトレーリングストップへ変更する場合は、別の実験として登録します。注文送信前の提示価格によってリスクが許容範囲を超える場合は、事前に固定した拒否ルールを適用できます。すでに成立した約定は削除できません。
ボリンジャーのルールでは、バンドタッチと取引シグナルを区別し、トレンドはバンドに沿って継続する可能性があることを指摘しています [3]。したがって、ブレイクアウトシステムは、価格が上限バンドに達したという理由だけで、反対方向の平均回帰取引を突然開始すべきではありません。戦略の状態と反転ポリシーを明確に定義してください。
凍結された候補は元の形状を維持し、より広範なインジケーターは後続の候補のために更新を続けます。約定後、ターゲット、ストップ、および時間終了の有効化時刻を保存します。ストップとターゲットの両方が一本の OHLC バー内に発生した場合は、より詳細なデータを使用するか、宣言された不利なシーケンス仮定を使用します。
候補の有効期限は有益な情報です。このバージョンでは、5本のバーが静止したままのスクイーズは、忘れられた観測ではなく、期限切れの機会とみなされます。大きな動きが起こるまで静止している候補をすべて延長すると、待ち時間、リスクへの露出、そして見かけ上の成功率が変わってしまいます。
出来高を検証可能な特徴量として追加する
ある実験では、日中データなら同じ時間帯の基準出来高、日足なら過去20セッションの出来高の中央値を使い、ブレイクアウト時に RVOL≥1.5 を要求します。別の実験ではスクイーズ中の取引活動の低下を調べます。いずれも提案段階の特徴量であり、組み合わせによる改善を主張する前に個別に検証します。
著者のルールは重複した情報を持つ指標を避けるよう勧めています [3]。実際の検証では出来高と価格レンジが強く相関する可能性があります。同程度のボラティリティの群で比較し、単に値幅の大きいブレイクアウト・バーを選ぶ以上の情報が加わるかを調べます。
取引が乏しい銘柄のスクイーズは、意味のある収縮ではなく更新されていない価格を反映する場合があります。スクイーズ判定とは別に、ドル建て売買代金とスプレッドを記録します。バンド幅がビッド・アスク・スプレッド程度しかない狭いチャネルは、その後の総値幅が大きく見えても採算が悪い可能性があります。
ブレイクアウトバーの完全な出来高は、バーが確定した後にのみ利用可能になります。確定前に注文が保留されている戦略では、部分的な情報または事前出来高フィルターを使用する必要があります。機能の利用可能性を注文のタイミングに合わせることで、説得力のある出来高確認が先読みバイアスを引き起こすことを防ぎます。
スクイーズの値とブレイクアウトの値を分離する
価格のみのブレイクアウト、スクイーズ後のブレイクアウト、および出来高を伴う同じ構成を比較してください。対象範囲、リスク、コスト、テスト期間を一定に保ってください。最大の拡大だけでなく、トリガーなしのスクイーズ、保有期間、ウィップソー、純期待値、ポートフォリオエクスポージャーについても報告してください。
フィクスチャは、ゼロシグマ、ほぼゼロ平均、不完全なウォームアップ、パーセンタイルタイ、連続スクイーズ、および両方の固定境界を越えるバーをカバーする必要があります。現在の終値を摂動させ、以前のスナップショットが変更されないことを確認します。バッチ計算とストリーミング再生を比較します。
公式ルールは、±2sigma を次の価格が入る確率95%を保証する範囲として解釈する根拠にはなりません [3]。金融リターンの依存関係と分布の形は、単純な正規分布の区間を前提とする仮定とは異なります。このチャネルは指標の計算上の規則であり、次の取引についての確信を示すものではありません。
近傍のパーセンタイル、ウィンドウ、TTLの選択を研究試行として登録します。単一の最適値よりも、堅牢な動作領域の方がより多くの情報が得られます。スクイーズフィルターが、定義済みの正味指標に意味のある改善をもたらすことなく、単に機会数を減らすだけの場合、より単純なブレイクアウトベースラインが有効な研究結論として残ります。
よくある落とし穴
狭帯域から方向を推測する
収縮とは過去の分散状態を表すものであり、次のブレイクアウトの方向を示すものではありません。
tとt−1のバンドを混合
これらは異なる信号群を生成するため、使用した正確なスナップショットを記録してください。
非アクティブな価格を取引可能なスクイーズとして扱う
観測された価格レンジが狭くても、提案する戦略にとってスプレッドが広すぎる場合があります。
この手法を使う前のチェックリスト
ご自身のデータで確認した項目にチェックを入れてください。進捗はこのブラウザに保存されますが、戦略の収益性を認定するものではありません。
よくある質問
これは、ケルトナーチャネル内のボリンジャーバンドと同じものですか?
いいえ。それは過去の帯域幅パーセンタイルとは異なるスクイーズの定義であり、別個のバージョン管理と評価が必要です。
上昇ブレイクが反転した場合、すぐにショートすべきでしょうか?
別途指定された失敗ブレーク戦略の下でのみ有効です。元のロングポジションは、独自の出口ルールに従って管理および記録されなければなりません。
研究資料
各資料は、その横に記載された定義や根拠を支えています。擬似コード、架空の例、提案パラメータは別途検証が必要です。
- A complete explanation of Bollinger BandsJohn Bollinger. 公式の数式解説を参照済み。有料書籍の全文は未読です。 確認日: .
- Methods ExplanationBollinger Bands. 手法 I–IV の概要を参照済み。そこからバックテスト結果を推定していません。 確認日: .
- Bollinger Bands RulesJohn Bollinger. バンド接触、指標の組み合わせ、統計上の制約についてのルールを参照済みです。 確認日: .
関連する手法
リスクについて
この内容は学習と研究設計を目的とし、金融上の助言ではありません。Backtestは過去データのシミュレーションであり、将来の成果を保証せず、実際の売買注文も行いません。このライブラリの手法が、そのままアプリで利用できる機能とは限りません。関連情報: 検証方法 および 学習センター.
実際の資金を使う前にルールを検証する
アプリの対応範囲、データ、個々の模擬取引を確認してください。高度な検出手法は別途実装が必要な場合があります。
App StoreでBacktestをダウンロード