ボリンジャーバンドは効くのか
移動平均に標準偏差のバンドを重ねたボリンジャーバンド(BB)を、網羅的に検証しました。%B逆張り、%B順張りブレイク、ミドル線クロス、バンドウォーク、スクイーズブレイクの5家族を、期間、標準偏差倍率、モードで総当たりするグリッド検証から、クロスペア、週足、機械学習の特徴量としての検証まで行いました。対象は USD/JPY を中心に9通貨ペア、日足21年ぶんです。
検証の前提とデータ
「2,322 実験で棄却」という主張自体が、検証可能でなければ意味がありません。用いたデータと条件を明示します。
| 項目 | 内容 |
|---|---|
| 対象通貨ペア | USD/JPY(主)/メジャー: EUR/USD、GBP/USD、AUD/USD / JPYクロス: EUR/JPY、GBP/JPY、AUD/JPY、NZD/JPY、CAD/JPY |
| 時間足 | 日足(週足も併せて検証) |
| 期間 | 2005-01-03 〜 2026-07-10(USD/JPY 日足 5,582 本) |
| データソース | Yahoo Finance |
| IS/OOS 分割 | 時系列で前半50%=インサンプル、後半50%=アウトオブサンプル |
| コスト控除 | スプレッド 2 pips + スリッページ 1 pip(片側)。JPYクロスは相応スケール |
| 統計判定 | Bootstrap 2,000 回で OOS シャープの信頼区間と p 値、Benjamini-Hochberg 法で FDR 補正() |
| 乱数シード | 42(再現可能) |
探索したパラメータ空間(グリッド)は、期間 [10, 15, 20, 25, 30, 50]、標準偏差倍率 [1.5, 2.0, 2.5]、モード long_only / switch / short_only です。スクイーズ検出では、バンド幅(Bandwidth)が過去 120 本の下位分位(0.15 / 0.20 / 0.30)に入る収縮を条件にしました。
BB の定義:中心線を SMA(n)、上下のバンドを とし、価格のバンド内位置を で表します。 は下バンド外、 は上バンド外です。
検証した実験の一覧(累計 2,322)
「まだ試していない条件があるはず」という反論を潰すため、5つのルール家族を期間、倍率、モードで機械的に総当たりし、さらにクロスペア8種、週足、ML特徴量まで追撃しました。
| ラウンド | 家族 | 検証した「神話」 | 実験数 | FDR生存 |
|---|---|---|---|---|
| グリッド | R1 %B reversion | バンド外は行き過ぎ、逆張りで反発 | 54 | 0(灰色帯) |
| グリッド | R2 %B breakout | バンド外突破に順張りで乗る | 54 | 0 ※有意な“負” |
| グリッド | R3 middle cross | ミドル線(SMA)方向で順張り | 54 | 0 |
| グリッド | R4 band walk | バンドウォークで順張り継続 | 54 | 0 |
| グリッド | R5 squeeze break | スクイーズ後のブレイクに乗る | 162 | 0 |
| 追撃 | クロスペア(8ペア) | 他のペアなら効く(R1+R5) | 1,728 | 0 |
| 追撃 | 週足 USD/JPY | ノイズの少ない上位足なら効く | 216 | 0 |
| 追撃 | ML特徴量 | 機械学習の特徴量としてなら | 3変種 | 情報重複判定 |
| 累計 | 2,322 | 0 |
各ラウンドで具体的に何を、どのパラメータで、どう試したかは、ページ末尾の「検証詳細(ラウンド別)」に全て記載しています。
検証で得られた事実
グリッド、クロスペア、週足、ML特徴量で得た、累計 2,322 グリッド実験+ML検証のうち:
- FDR 補正後の positive-Sharpe 生存者は 0 件。、6期間、3倍率、5家族、9通貨ペア、日足と週足で網羅しても、支持する統計的証拠は一切得られなかった。
- R2 %B breakout(バンド外への順張り)は有意な負の edge。 で買い、 で売る「勢いに乗る」解釈は、、年率シャープ で系統的に負ける。
- R1 %B reversion(バンド外からの逆張り)は灰色帯。 の極端値からの mean reversion を狙う候補は、IS/OOS がともに正だが FDR を通過しない( short_only: IS +0.537 / OOS +0.562, )。RSI の逆張りと同型の弱いパターン。
- R3 middle cross は edge なし。ミドル線は SMA(n) なので、これは MA の方向フィルタ(G1)と本質的に同型で、 にも依存しない。
- R4 band walk の逆側(short_only)は有意にマイナス。円安期にバンド下張り付きを売る順張りは破産する。
- R5 squeeze breakout の raw 候補は IS で全滅。OOS だけ勝つ選抜バイアスの典型。
- クロスペア8種も棄却。CAD/JPY R1 で raw の候補が出たが、露出2%の単発で FDR を通過しない。
- 週足も棄却。R1 の最良(OOS +0.570)は週足ベースライン(+0.507)を +0.063 上回るのみで、誤差の範囲。
- ML特徴量としての BB は、点予測寄与がマイナス()。BB-only のシグナルシャープ(+0.432)は always-long(+0.388)に匹敵するが、その主要因は MA distance がドリフトを捕捉した結果。
BB が edge を持たない構造的な理由
以下は検証結果からの帰納的な解釈です(仮説であり、証明ではありません)。
- BB は SMA と σ の組み合わせで、両者とも公開情報。BB は であり、1980年代から40年以上公開されている。edge がある単純ルールは、市場が効率化する過程で消える。
- ミドル線は SMA(n)。MA と同じ理由で単純な方向フィルタに edge はない。SMA を BB のミドルと呼び変えても、そこに含まれる情報は同じ。
- 「バンド外への順張り」はモメンタムの符号と衝突する。 は分布の95%内で、突破は5%の稀な事象だが、突破後の平均リターンは逆側(mean reversion)に向かう。「抜けたら乗る」順張り解釈は、この統計的性質と数学的に食い違う。
- σ の推定は過去 n 本のバックワードルッキング。上下バンドは「過去 n 本の変動範囲の期待値」であり、未来の変動範囲の予測ではない。バンドが「反応する」のは自己言及的な現象。
BB に「灰色帯」がある理由
R1 %B reversion で観測される灰色帯は、露出1〜13%の稀なシグナルで、IS/OOS がともに正の候補が複数ペアで raw に集まる構造です。これは RSI の閾値逆張り(R1)と数学的にほぼ同義です。
- (BB)は「価格が過去 n 本の平均から σ 単位で大きく下」を意味する
- RSI < 30 は「過去 n 本の上昇/下落バランスで大きく下」を意味する
- どちらも「短期の行き過ぎからの mean reversion」を捉えている
この弱いアノマリー自体は、金融時系列で古くから文書化されています1。BB や RSI が発見したものではなく、「稀な統計的外れ値からの回帰」を別の視点で切り出しているだけです。ただし、RSI の灰色帯が独立情報なのに対し、BB の灰色帯は MA と同じ源から来ている可能性が高い、という違いがあります(ML特徴量検証で後述)。
BB は ML 特徴量として MA と重複する
「単純ルールが負けても、機械学習の特徴量としてなら情報を持つ」という反論に、GBM(200本、深さ3、学習率0.05)で翌日 log return を予測して答えました。
| 変種 | 特徴量数 | OOS R² | シグナル Ann Sharpe |
|---|---|---|---|
| baseline(returnsのみ) | 14 | −0.135 | −0.427 |
| baseline + BB | 29 | −0.145 | +0.062 |
| bb_only | 15 | −0.157 | +0.432 |
BB を加えると点予測は僅かに悪化し()、シグナルシャープは改善します。しかし bb_only の特徴量重要度は close_over_mid(、MA distance の連続版)に集中し、上位5特徴のうち3つがこれで、重要度の66%を占めます。BB 固有情報である と Bandwidth の合計寄与は30%程度にとどまります。
したがって、BB-only のシグナルシャープ +0.432 は、実質的に MA distance がドリフトを捕捉した結果です。BB を特徴量に加えることは、MA distance を加えることとほぼ同じ効果しか持ちません。
BB の“正しい”使い方と、危険な使い方
BB の役割を、edge の源として使うのか、edge の記述や執行の補助として使うのかを、必ず先に区別してください。両者の期待値は根本的に異なります。
否定されていない用途(補助)は、edge を主張せずに使う場合です。
- 記述: SMA と σ で価格範囲を視覚化し、相場の広がりを他人と共有する
- ボラティリティレジームのラベル: Bandwidth で「収縮/拡大」の状態を記述する(方向を決めるのは他の情報)
- 執行の補助: 「 が 0 に戻ったら手仕舞う」など、exit や部分利確の一貫した参照点
- 共通言語: の意識点として
edge の源として使うべきでない用途(棄却済み)は次のものです。
- バンド外への順張りブレイク( で買い、 で売り)。これは有意にマイナス
- ミドル線クロス単体(SMA 方向フィルタと同型)
- バンドウォークの逆側の順張り(円安期に有意にマイナス)
- スクイーズブレイク単独(IS 選抜バイアス)
- BB を独立した情報源として ML 特徴量に使う(MA と情報重複)
なお、R1 %B reversion(稀な逆張り)は「棄却」でも「edge 確認」でもなく灰色帯です。運用に持ち込むなら、別データでの focused replication が必要です。
メタ結論
累計 2,322 グリッド実験と ML 特徴量検証を踏まえて。
- 「BB は魔法の予測器」は決定的に棄却。 FDR 補正後の生存はゼロ。
- 「バンド外への順張りブレイク」は積極的に危険。 有意にマイナスの edge を確認( 複数)。
- 「BB は MA と別の情報を持つ」も棄却。 ML 特徴量の主要情報は MA distance と重複していた。
- 「バンド外からの逆張り」は灰色帯。 RSI と同型で、棄却も採用もできず、独立の追跡が要る。
- 「BB は完全に無価値」も棄却。 記述、ボラレジームのラベル、執行、共通言語としての機能は否定できない。
- 正しい位置: BB は「SMA と σ の記述統計」であり、それ以上でもそれ以下でもない。
MA との比較でいえば、BB は MA に σ の正規化を重ねた再表現に近く、独立の追加価値は限定的です。詳しくは 移動平均線のケース と併せて読むと、両者の情報が同じ源から来ていることが見えてきます。
この結論の適用範囲と限界
検証は万能ではありません。この結論の射程を明示します。
- 時間軸: 日足と週足のみ。分足は未検証。
- 通貨ペア: メジャー4+JPYクロス5の9ペアで確認。CHF系やマイナーは未検証。
- 期間: 2005–2026 の21年。他の相場制度や金融政策局面で挙動が異なる可能性。
- スクイーズ検出: 過去
120本の分位ベース。Keltner Channel 併用や BBWP 変種は未検証。 - 価格パターン: W ボトム / M トップなど、価格形状と BB 位置の複合検出は未実装。
- ML: 単純な GBM + 1 シードのみ。
検証詳細(ラウンド別)
各ラウンドで「どの神話を、どう試し、どうなったか」の詳細です。すべて日足終値ベース、IS/OOS は時系列 50:50、統計判定は Bootstrap 2,000 + Benjamini-Hochberg FDR()です。ベースライン(always-long)の OOS 年率シャープは +0.388 です。
R1 %B reversion(バンド外からの逆張り、54実験)
神話: 「(下バンド外)で買い、(上バンド外)で売り」。Bollinger 原著の「バンド外は行き過ぎ」の直接検証です。
上位5候補:
| n | k | mode | 露出 | IS | OOS | p |
|---|---|---|---|---|---|---|
| 10 | 2.0 | short_only | 4% | +0.537 | +0.562 | 0.067 |
| 20 | 2.5 | switch | 3% | +0.539 | +0.558 | 0.075 |
| 15 | 2.5 | short_only | 1% | +0.456 | +0.462 | 0.125 |
| 20 | 1.5 | long_only | 13% | +0.576 | +0.439 | 0.140 |
| 30 | 1.5 | long_only | 13% | +0.510 | +0.399 | 0.178 |
IS と OOS がともに正の候補が複数あり、露出は1〜13%と低い稀なシグナルです。 値は 0.067〜0.178 で単発なら「有意でない」に分類されますが、複数候補の IS/OOS 一貫性は単なる偶然では説明しにくく、灰色帯として残ります。→ FDR は通過せず。
R2 %B breakout(バンド外への順張り、54実験)
神話: 「 で買い(ブレイク継続を狙う)、 で売り」。「バンドを抜けたら勢いに乗る」パターンです。
下位5候補(すべて有意にマイナス):
| n | k | mode | 露出 | IS | OOS | p |
|---|---|---|---|---|---|---|
| 10 | 2.0 | long_only | 4% | −0.638 | −0.833 | 0.008 |
| 20 | 2.5 | switch | 3% | −0.624 | −0.793 | 0.009 |
| 10 | 2.0 | switch | 9% | −0.741 | −0.690 | 0.030 |
| 20 | 1.5 | short_only | 13% | −0.710 | −0.638 | 0.039 |
| 15 | 2.5 | long_only | 1% | −0.487 | −0.589 | 0.048 |
「バンド外に飛び出したら順張り」は年率シャープ で有意に負けます。とくに の long_only は で破産級。教科書の「 タッチを行き過ぎ(=逆張り)と読む」立場から見れば、その反対の順張り解釈が統計的に破綻していることを意味します。→ 強く棄却、かつ有意な負の edge。
R3 middle cross(ミドル線方向、54実験)
神話: 「close > ミドル線で買い、下で売り」。ミドル線は SMA(n) なので、これは MA の方向フィルタ(G1)と本質的に同型で、 にも依存しません。
| n | mode | 露出 | IS | OOS | p |
|---|---|---|---|---|---|
| 20 | long_only | 54% | −0.336 | +0.398 | 0.192 |
| 30 | long_only | 54% | −0.302 | +0.381 | 0.213 |
IS ≈ 0、OOS 弱正の選抜バイアスパターンで、edge はありません。→ MA のケースで棄却済みの再確認。
R4 band walk(バンドウォーク継続、54実験)
神話: 「 が3バー継続で買い(バンドウォーク継続)、 継続で売り」。上位(long側)は long_only で OOS +0.424()と弱く正、下位(short_only)は有意にマイナスでした。
| n | k | mode | OOS | p |
|---|---|---|---|---|
| 10 | 2.0 | short_only | −0.731 | 0.015 |
| 15 | 2.5 | short_only | −0.714 | 0.020 |
| 15 | 1.5 | short_only | −0.600 | 0.045 |
「バンド上張り付き=トレンド継続で買い」は弱い正、逆側の「バンド下張り付き=下落継続で売り」は円安期に有意に負けます。→ 順張り継続は弱く、逆側は棄却。
R5 squeeze breakout(スクイーズ後のブレイク、162実験)
神話: 「Bandwidth が過去120本の下位分位(低ボラ収縮)に入った次のバーで、close がバンド外に出たら順張りエントリー、10バー保持」。Bollinger の「squeeze → expansion」パターンです。
| n | k | quantile | mode | 露出 | IS | OOS | p |
|---|---|---|---|---|---|---|---|
| 20 | 2.5 | 0.20 | long_only | 5% | −0.366 | +0.666 | 0.031 |
| 20 | 2.5 | 0.15 | long_only | 4% | −0.237 | +0.586 | 0.050 |
| 25 | 2.5 | 0.20 | switch | 10% | +0.367 | +0.572 | 0.061 |
最良候補(OOS +0.666, )は IS では で、選抜バイアスの疑いが強く残ります。「スクイーズから順張りブレイク」は教科書の代表的パターンですが、日足では IS/OOS 一貫の勝ちを示せません。→ 棄却。
クロスペア(R1+R5、8ペア、1,728実験)
R1 reversion と R5 squeeze を、メジャー3ペアと JPYクロス5ペアで再実行しました。全ペアで FDR 生存 0。目立つ候補は CAD/JPY R1 の一件だけです。
| Pair | 家族 | 上位 rule | 露出 | IS | OOS | p |
|---|---|---|---|---|---|---|
| CAD/JPY | R1 | n=25, k=2.5, long_only | 2% | +0.439 | +0.676 | 0.028 |
| CAD/JPY | R1 | n=30, k=1.5, long_only | 14% | −0.126 | +0.532 | 0.081 |
CAD/JPY R1 は IS/OOS がともに正で raw ですが、露出は2%(OOS 約55本)と極めて低く、2,106実験(グリッド378+クロスペア1,728)のうちの1つとして FDR で棄却されます。他ペアは R1/R5 いずれも弱い正止まりでした。
週足 USD/JPY(R1+R5、216実験)
週足ベースライン(always-long)の OOS 年率シャープは +0.507 です。R1 の最良は long_only の OOS +0.570()で、ベースラインを +0.063 上回るだけの誤差レベルでした。R5 も +0.431 止まりで、FDR は通過しません。→ 棄却。「ノイズの少ない上位足なら効く」の逃げ道も塞がれました。
ML特徴量(3変種)
本文「BB は ML 特徴量として MA と重複する」の節を参照してください。点予測寄与は で、BB-only の特徴量重要度の66%が close_over_mid(MA distance)に集中し、BB 固有情報の寄与は30%程度にとどまりました。
参考
- 検証の方法:本ケースで用いた検証手続き
- 仮説カタログ:H-01〜H-20 の仮説一覧
- ボリンジャーバンド(BB):教科書としての BB(本結論を反映して読み直す価値があります)
- 移動平均線のケース:情報が重複する MA の検証結果との比較
- Bollinger, J. (2001); Poterba & Summers (1988); De Bondt & Thaler (1985)
Footnotes
-
Poterba & Summers (1988); De Bondt & Thaler (1985)。短期の価格の行き過ぎがその後で部分的に戻る傾向。 ↩