ブレイクアウト戦略をバックテストする方法
ブレイクアウト戦略は、価格がドンチャンチャネルの20日最高値などのレジスタンス水準を上回って引けたら買い、10日最安値を下回って引けたら手仕舞います。トレンド相場で機能しやすい一方、レンジ相場ではダマシが多いため、出来高フィルターやATRベースのストップを検証しましょう。
ブレイクアウト取引は、市場で最も古いシステマティック戦略の一つです。考え方はシンプルで、価格が明確なサポートやレジスタンスの水準を超えると、モメンタムがその方向にさらに価格を運ぶというものです。難しいのは本物のブレイクアウトとダマシを見分けることで、その違いを定量化する唯一の方法がバックテストです。
ブレイクアウト取引とは?
ブレイクアウトとは、それまで天井(レジスタンス)や床(サポート)として機能していた水準を価格が超えることです。その背景にある理論は、こうした水準は需給が均衡しているゾーンを表しており、価格がそこを突破すると均衡が崩れ、ストップ注文が執行されて新たな参加者が入ってくることで、値動きが続くはずだというものです。
ブレイクアウトの水準をシステマティックに定義する方法はいくつかあります。過去のスイング高値・安値から引く水平なサポート/レジスタンス、ドンチャンチャネル(N期間の最高値と最安値)、ATRを使ったボラティリティベースの水準、ボリンジャーバンドの両端などです。バックテストにはドンチャンチャネルが最も扱いやすく、水準があいまいさなく機械的に計算できます。
ドンチャンチャネル・ブレイクアウト
1980年代の有名なタートルズ(Turtle Traders)の実験で広く知られるようになったドンチャンチャネルは、上限を直近N期間の最高値、下限を最安値として定義します。オリジナルのタートルシステムは、エントリーに20日ブレイクアウトを、エグジットに逆方向の10日ブレイクアウトを使っていました。
タートルシステムは、トレードの歴史上最も徹底的にバックテストされてきた戦略の一つです。その核心となる洞察は今も有効です。市場にはトレンドがあり、大きなトレンドを捉えつつ損失を早めに切る機械的なシステムは、勝率が40%を下回っていても長期的に利益を上げられます。この戦略は1980年代にタートルズに数億ドルをもたらしましたが、似たようなブレイクアウトシステムで取引する参加者が増えるにつれ、現代の市場ではパフォーマンスが低下しています。
ドンチャンブレイクアウトをバックテストする際は、10日、20日、55日の参照期間を試してください。20日チャネルは中期的な値動きを捉え、55日チャネルはより大きなトレンドを捉えますが、シグナルはごく少なくなります。エグジットのルールは非常に重要です。(固定ストップではなく)トレイリングの10日安値をストップとして使うと、勝ちトレードを伸ばしつつボラティリティにも適応できます。
出来高による確認
すべてのブレイクアウトが同じではありません。平均の2倍の出来高でレジスタンスを抜けた値動きは、平均の半分の出来高での同じ値動きよりもはるかに強い確信を伴います。バックテストでは、出来高フィルターを加えることがブレイクアウト戦略のパフォーマンスを改善する最も信頼できる方法の一つです。
よくある実装は、ブレイクアウトしたバーの出来高が20日平均出来高を少なくとも50%上回ることを条件にするものです。このフィルターは通常、ブレイクアウトシグナル全体の30-40%を除外しますが、残ったシグナルの成功率は測定可能なほど高くなります。その代わり取引回数は減り、低ボラティリティの時期に通常の出来高で起きる有効なブレイクアウトを逃す可能性もあります。
ダマシのブレイクアウトのフィルタリング
価格が水準を一時的に突き抜けた後に反転するダマシのブレイクアウト(false breakouts)は、ブレイクアウトシステムにおける損失の主な原因です。いくつかの機械的なフィルターが役立ちます。
- 終値フィルター:バーの途中で水準を超えただけではなく、バーがその水準を超えて引けた場合にのみブレイクアウトとみなします。このルール一つで、ヒゲによるダマシの多くを排除できます。
- ATRバッファー:価格がブレイクアウト水準を少なくとも0.5倍のATR(14)分超えて引けることを条件にします。境界をかろうじて超えただけのわずかなブレイクアウトを除外できます。
- 2本確認:エントリー前に、その水準を超えた終値が2本続くのを待ちます。ダマシは劇的に減りますが、遅れは大きくなります。
- ボラティリティ局面フィルター:ボリンジャーバンド幅が拡大しているとき(低ボラティリティから高ボラティリティへの移行を示す)にのみブレイクアウトを採用し、すでに高い水準にあるときは見送ります。
ATRベースの損切り
固定比率のストップは、銘柄の現在のボラティリティを考慮しないため、ブレイクアウトシステムではうまく機能しません。日次ボラティリティが0.5%の銘柄に2%のストップでは緩すぎ、日次ボラティリティが3%の銘柄に同じストップでは狭すぎて、通常のノイズで引っかかってしまいます。
ATR(Average True Range、平均真の値幅)は、ストップを直近のボラティリティに合わせて調整することでこの問題を解決します。一般的な方法は、ロングポジションの初期ストップをエントリー価格から2倍のATR(14)を引いた水準に置くことです(ショートなら2倍のATRを足します)。トレードが進むにつれて、シャンデリア・エグジット(chandelier exit)、つまりエントリー以降の最高値から3倍のATRを引いた水準でストップを追随させます。
バックテストでは、ATRベースのストップは変化する市場環境に適応するため、固定ストップを一貫して上回ります。低ボラティリティの時期にはストップが狭まってリスクを減らし、高ボラティリティの時期には広がってトレードに余裕を与えます。
バックテストでの注意点
ブレイクアウト戦略には、他のタイプの戦略には当てはまらない特有のバックテストの落とし穴があります。
- スリッページ(slippage)が平均より大きくなります。ブレイクアウトのエントリーは、まさにボラティリティが拡大し注文フローが一方向に偏っているときに起こります。実際の取引では、バックテストの想定より悪い約定になることがよくあります。1回の取引につき少なくとも0.1-0.2%のスリッページを織り込みましょう。
- サンプルサイズが極めて重要です。ブレイクアウト戦略の取引回数は比較的少なく、単一銘柄での20日ドンチャンシステムでは年間わずか15回しか取引が発生しないこともあります。統計的に意味のある結果を得るには、長い履歴か分散された銘柄ユニバースが必要です。
- 生存者バイアス(survivorship bias)が特に危険です。現在の銘柄ユニバースでブレイクアウトをバックテストすると、サポートを下抜けて最終的に上場廃止になった銘柄が抜け落ちます。生存者バイアスのないデータセットを使いましょう。
実際に試してみましょう
コードを書かずにブレイクアウト戦略を試すには、ルールを自然言語で記述します。QuantPromptなら、次のように入力できます:「AMZNの日足データで、価格が20日最高値を上回って引け、出来高が20日平均の1.5倍を超えたら買う。ストップはエントリー価格から2倍のATR(14)を引いた水準に置く。価格が10日最安値を下回って引けたら手仕舞う。」AIがこれを実行可能なロジックに変換してバックテストを実行し、パフォーマンス指標、資産曲線、取引ログを返します。
素早く反復しましょう。10日、20日、55日のチャネルを比べ、出来高フィルターの有無で比較し、ストップのATR倍率の違いがドローダウンとシャープレシオにどう影響するかを測定してください。
よくある質問
参考文献
- Donchian, R. D. (1960). Commodities: High Finance in Copper. Financial Analysts Journal.
- Wilder, J. W. (1978). New Concepts in Technical Trading Systems (introduces Average True Range). Trend Research.
- Hurst, B., Ooi, Y. H. & Pedersen, L. H. (2017). A Century of Evidence on Trend-Following Investing. The Journal of Portfolio Management.
- Moskowitz, T. J., Ooi, Y. H. & Pedersen, L. H. (2012). Time Series Momentum. Journal of Financial Economics.