以前、レンジブレイクの定量化方式を提案しバックテストで実際に勝てるのかを検証しました。
バックテストの結果を目視で確認していたところ、レンジブレイクとは考えにくい値動きをしている例が見つかりました。
もちろん自動売買をする予定ならレンジブレイクの動きを厳密に模擬できる必要性はないのですが、裁量トレードでの有効性を判断する目的であれば、これは非常に具合が悪いです。
そこで本記事では、レンジブレイクの定量化方式をより実態に近づくよう改良し、バックテストでその有効性を検証してみたいと思います。
尚、「改良」とはよりレンジブレイクに近い動きをするかどうかが基準であり、利益が出るかどうかは不問である点にはご留意ください。
定量化方式の提案と検証条件
前回投稿では、単に実体線からなるレジサポラインを抜けるだけでなく、移動平均線とローソク足の交差する回数にもある閾値以上となるよう条件を設けました。
これはレンジ内のもみくちゃ感を再現するためです。
ですが、この改良をもってしても未だレンジブレイク感のないエントリーが発生してしまいます。
下図がその例です。2019/1/16の1時間足で、白い線が移動平均線です。
白枠内に40本のローソク足があり、枠の右端で実体線からなるレジスタンスラインを上に抜け、さらに枠の右の方で移動平均線とローソク足が4回以上クロスしています。
つまり前回定義ではこれは買いエントリーのポイントなわけですが、これはレンジブレイクというより上昇トレンドの途中ではないでしょうか。仮にそうであればこれは求めていた動きではありません。
このようなエントリーを極力排除するため、今回はレンジブレイクの定量化方式に更に改良を加えたいと思います。
考え方
考え方を一言で言うと、レジサポラインに対して更に「レジスタンス感」や「サポート感」を出すため、レンジを前後半に分け、それぞれでレジサポ付近に終値を観測することを条件にしてみようというわけです。
順を追って説明すると、まずローソク足過去40本見るとした場合、従来通りこの40本の実体線でレジサポラインを算出します。
次にローソク足を前後半に分けます。ちょうど半分とすれば、40本前から20本前までが前半、20本前から直近までが後半です。
そして、前半後半ともに少なくとも1つレジスタンスラインの近くに終値があれば、買いエントリーを認め、逆にサポートラインの近くに終値があれば、売りエントリーを認めます。
この方式により、単なる最高値・最安値の更新でのエントリーではなく、過去に二度以上跳ね返されているラインを超えるタイミングでのエントリーになることが期待できます。
エントリーは実体抜け?ヒゲ抜け?
エントリーは勿論、レジサポラインを抜けた瞬間とします。
ここで、レジサポラインやトレンドラインを引く際の永遠の命題である「実体とヒゲのどちらを使うべきか」に関してですが、どちらが良いのか現状はわからないため、それぞれのパターンでバックテストを行いたいと思います。というかどっちがいいか確認するのがバックテストの主旨となります。
検証前の仮説ですが、ヒゲのレンジは実体のレンジを必ず中に含むため(下図のイメージ)、レンジブレイク発動の条件が厳しくなり、よって取引回数は少なくなると想定されます。
ですが、実体によるレンジブレイクはヒゲでレンジを捉えている方にとってはまだレンジ内であり、そういう見方が優勢であれば、ヒゲ抜けをする前にレンジ内に戻される可能性が高くなります。
一方、ヒゲでレンジを捉えていれば、少なくとも直近のチャートでレジサポのように上昇・下落を遮るものが無くなるため、プロフィットファクタなどのパフォーマンスが向上することが期待できます。
手仕舞いはトレーリング
また手仕舞いに関してですが、レンジブレイクは溜まったエネルギーが放出され、一気にボラが高まることを楽しむものであるため、トレーリングを採用したいと思います。おそらくこれが最も一般的です。
そしてトレール幅は、エントリー価格からレンジの中央値までの幅を使います。これは「レンジの中央値まで戻るとレンジが継続していると見なされる場合が多い」ことに起因します。
これまでの議論をまとめると以下になります。
定量化方式まとめ
- 過去40本のローソク足の実体を対象に、その最大値をレジスタンスライン、その最小値をサポートラインとする
- レジスタンスラインを上に抜けたときに買いで成り行きエントリー、サポートラインを下に抜けたときに売りで成り行きエントリー
- ただし、ローソク足を40本前から20本前の前半と、20本前から直近の後半に分け、前後半共に少なくとも1つの終値がレジスタンスライン±マージン内になければ買いエントリーを見送り、サポートライン±マージン内になければ売りエントリーを見送る
- マージンはレジスタンスラインとサポートラインの差分の5%、10%、20%でそれぞれ検証する。
- エントリーと同時に、レジサポラインの幅/2をトレール幅とするトレーリングを注文
- 既にポジションを保有している場合はエントリーを見送る
- ポジション保有期間がローソク足40本分続いた場合、その場で決済
検証結果
それでは実際に結果を見てみたいと思います。バックテストは以下の条件にて行いました。
通貨ペア | USD/JPY |
スプレッド | 0.3pips(0.3銭) |
検証期間 | 2013/1/1 ~ 2023/12/31 |
ポジション | 0.1Lot(10000通貨) |
資産 | 100万円 |
移動平均線期間 | 40 |
またバックテストは15分足、1時間足、4時間足でそれぞれ行います。15分足がスキャルピング、1時間足がデイトレード、4時間足がスイングトレードを意識したものになります。
15分足
括弧の左の数字はプロフィットファクタです。そのため1より大きければ期待値はプラスで、1未満であれば期待値はマイナスです。括弧の中の数字は取引回数です。
実体 | ヒゲ | |
マージン5% | 1.10(4218) | 1.12(3123) |
マージン10% | 1.14(6390) | 1.08(4833) |
マージン20% | 1.15(8844) | 1.14(6507) |
結果を見ると、いずれの条件でもプロフィットファクタは1以上であり、収支はプラスになりそうです。
一方、実体とヒゲどちらがいいのか、マージンは何%がいいのかに関して、あまり傾向らしい傾向は掴めません。後述するように1時間足の方が基本的にパフォーマンスはいいので、1時間足で使うのが基本となるのではないでしょうか。
1時間足
表の見方は15分足同様です。文字色が灰色の箇所がありますが、これは取引回数が1000回に満たない場合です。個人的には1000回に満たない結果は信用しない方がいいと考えてます。
実体 | ヒゲ | |
マージン5% | 1.27(1053) | 1.28(707) |
マージン10% | 1.30(1589) | 1.28(1139) |
マージン20% | 1.29(2175) | 1.25(1614) |
いずれの条件でも高いプロフィットファクタを示します(平均は約1.28)。そういう意味では、実体がいいのかヒゲがいいのか、このあたりはあまり気にする必要がないかも知れません。
下図は、最もプロフィットファクタの大きかった実体かつマージン10%のバックテストの詳細です。目立ったドローダウンもなく、非常に高いパフォーマンスが期待できるのではないでしょうか。
4時間足
表の見方は15分足と同様です。
実体 | ヒゲ | |
マージン5% | 1.52(276) | 1.30(193) |
マージン10% | 1.38(424) | 1.19(309) |
マージン20% | 1.30(548) | 1.17(424) |
プロフィットファクタこそプラスですが、取引回数が少なく、統計的に信頼できるデータとは言えないと思います。
やはり1時間足で使うのがいいのだろうと思います。
まとめ
本記事では、レンジブレイクの定量化方式を改良し、バックテストを用いてその有効性を検証しました。以下に結論となる重要なポイントを示します。
以上、最後まで読んでいただきありがとうございました。