この記事は、いつもと逆の形になります。 ボリンジャーバンドについて世間で言われている3つのこと——「バンドの外に出たら平均に戻る」 「バンドウォークは起きる」「スクイーズの後は大きく動く」——を実測で検定したところ、 3つとも支持されました。通説が正しかったのです。 それでも、売買としては成立しませんでした。この記事は、その2つが両立する理由についてのものです。
1. 3つの通説は、いずれも実測で支持されました。 とくに「±2σの外は5%」については、実測が 12.94%——つまり通説の想定より2.6倍も頻繁に起きていました。
2. それでも売買にはなりませんでした。 逆張りの95%信頼区間は0をまたぎ、向きの取り分とコストの差は約500倍でした。 「現象が実在すること」と「そこから取り分を回収できること」は別の問題です。
3. バンド幅が将来の値幅を教えていたのも事実です。 ただしATRを揃えると、その説明力は 0.976(1.00=差なし)まで落ちました。 言っていたのはバンド幅ではなく、ATRでした。
まず、通説そのものを疑うところから始めました。実測がどうだったかを先に出します。
「±2σの外は約5%」は正規分布を前提にした話です。 実際の値動きは正規分布ではなく、外れが厚い形をしています。 10通貨ペア・6年分・497,535本で数えたところ、外に出るのは20回に1回ではなく、8回に1回でした。 「めったに起きないこと」を根拠に逆張りを組むと、想定の2.6倍の頻度で建てることになります。
通説が正しいなら、逆張りは機能するはずです。実際に回しました。 下のバンドを割ったら買い、上のバンドを超えたら売り、24本持って手仕舞う。 発生した取引は 31,082回、平均は +0.177 pip です。プラスです。
ならば機能したのでしょうか。答えは「言えない」です。
区間が0をまたぐというのは、「勝っている」とも「負けている」とも言えないという意味です。 そしてもう1つ、この検証には対称性があります。逆張りがダメなら逆をやればいい——順張りに変えて回すと、 平均は −0.177 pip、区間は [−0.925, +0.571]。符号がひっくり返っただけでした。
同じ売買を逆にして、両方ともコイン投げと区別がつかないなら、 そこに回収すべき向きは見当たりません。 「向きは存在するが、自分は逆を選んでいた」という前提そのものが、実測とは合っていないということです。
ここが、この検証でいちばん納得しにくいところでした。 バンドの外に出た後、価格は確かに中心線まで戻ってきます。それなのに取り分にならない。理由は3つあります。
| 理由 | 中身 |
|---|---|
| 戻る先も動いている | 中心線は20本移動平均です。価格が下がれば中心線も遅れて下がります。「中心線まで戻った」は、必ずしも「元の値段まで戻った」ではありません。下がった価格と、下がってきた中心線が途中で出会っているだけの場合があります |
| 戻らなかった側が重い | 戻らない場合、価格はそのまま下げ続けます(=バンドウォーク)。8割で小さく勝ち、2割で大きく負ける形は、平均するとゼロに近づきます。勝率が高いことと、収支がプラスであることは別のことです |
| 戻る距離が小さい | 戻ってくる幅そのものが、往復コスト 2.00 pip に対して十分に大きくありません |
3つ目が本質です。現象は実在し、方向も合っている。それでも取り分がコストより小さい。 この形は、指標の良し悪しでは動きません。
3つの通説のうち「バンド幅は将来の値幅を教える」は、はっきり当たっていました。 バンド幅で10段に分けると、その後24本の値幅は 1.78倍 違います。
ここで、もっと単純なものを隣に置いてみます。ATR——ただ値幅を測って平均しただけの指標です。 ATRを10段に分け、その各段の中でバンド幅の大小を比べます。
バンド幅は「平均 ± ばらつき」の、ばらつきの部分でできています。 そしてATRは、値幅を測って平均したものです。どちらも同じものを別の言い方で述べていた—— 実測は、そう読める結果になりました。
そしてこれは値幅(どれくらい動くか)の話であって、向き(どちらに動くか)の話ではありません。 値幅が読めても、向きが読めなければ売買にはなりません。
検証に使ったMT5のソースコードを全文公開しています。登録もメールアドレスも要りません。
InpReportBandWalk を有効にすれば、01のバンドウォーク検定もそのまま走ります。
ただし本記事と同じ数字は出ません。ここに載せたのは10通貨ペアをまとめた値で、キットは1ペアぶんを回すからです。 確かめてほしいのは数字の一致ではなく、手続きのほうです。
この記事には結果を載せました。書籍には手続きを書いています。 重複しないよう、記事に入れなかったものを挙げておきます。
記事だけで完結して構いません。コードは本を買わなくても使えます。
検証条件: 対象=10通貨ペア(AUDJPY/AUDUSD/EURJPY/EURUSD/GBPJPY/GBPUSD/NZDJPY/NZDUSD/USDCAD/USDJPY)/ 期間=2020.01.01–2025.12.31/逆張りの実測は1時間足・バンド20期間2σ・手仕舞い一律24本後・31,082取引/ 通説の検定は1時間足 497,535本/コスト=同期間の実測スプレッド+ECN往復手数料1.0 pip の中央値 2.00 pip。 信頼区間はブロック・ブートストラップおよびクラスター・ブートストラップ(seed固定・B=4000)で算出。 増分検定の被説明変数は次24本の実現レンジ(各通貨ペアの中央値=1.00に正規化)、バンド幅は 4σ÷中心線×10000、ATRはWilder平滑14期間。 掲載した数値はすべて過去データに対する集計であり、フォワードテスト・実口座運用の結果ではありません。
免責: 本ページは検証プロセスと棄却記録の開示を目的とした研究ノートです。投資助言ではありません。 特定の金融商品・取引業者の利用を推奨するものではありません。 バックテスト結果は過去データに基づくものであり、将来の利益を保証するものではありません。FX取引には元本割れのリスクがあります。 本記事の結論は検証した範囲に限られ、ボリンジャーバンドに予測能力が存在しないことを示すものではありません。 図表はすべて実測データからPythonで再描画したものであり、生成AIによる作画は含みません。