はじめに:その判定は、いつ時点の情報で下せたか
チャートを後から眺めれば、どこがレンジでどこがトレンドだったかは誰でも指摘できます。問題は、その判定が「右端にローソク足が1本ずつ増えていく状況」で、同じように下せたかどうかです。検証記録を読み返したときに最も多い失敗は、戦略のロジックではなく相場分類のラベル付けそのものが未来の情報を使っていたというものです。
この記事では、レンジ/トレンドの区別を「予想」ではなく「仕様」として扱う方法を整理します。具体的には、観測窓・閾値・更新タイミングの3点を明文化し、判定の遅れを測定可能な形で受け入れる、という考え方です。なお、ここで扱うのは分析手法の検証方法であり、特定の売買行動を推奨するものではありません。
後講釈が生まれる3つの経路
ルックアヘッドバイアス(look-ahead bias、検証時点では入手できないはずの情報を使ってしまう偏り)は、次のような形で混入します。
- ラベル定義の未来参照:「この後100本で上昇したからトレンド」という定義は、判定時点に100本先の情報を要求します。説明用の分類としては有効でも、運用ロジックの入力には使えません。
- パラメータの事後選択:チャート全体を見た上で「このペアならADXの閾値は23が一番きれいに分かれる」と決めると、その23自体が全期間の情報を含みます。
- 未確定足での判定:形成中の足の高値・安値・終値は変動します。足の途中で成立した条件が、足の確定時には消えていることは珍しくありません。
この3つを潰すだけで、検証結果の見かけの良さはかなり落ちます。落ちた後の数字が、実際に手元で再現できる水準の出発点です。
判定を仕様化する:観測窓・閾値・更新タイミング
「レンジかトレンドか」を曖昧なまま使わず、次の3項目を先に紙に書き出します。
- 観測窓:直近何本のデータで判定するか。20本と100本では別物の判定になります。どちらが正しいかではなく、どちらを使うかを決める問題です。
- 閾値:どの値を境にラベルを切り替えるか。中間帯(どちらでもない)を設けるかどうかも含みます。
- 更新タイミング:確定足のみで更新するのか、ラベルが反転するまで何本の持続を要求するのか。
特に3点目は軽視されがちです。閾値をまたいだ瞬間にラベルが切り替わる設計だと、境界付近でラベルが振動します。「N本連続で条件を満たして初めて切り替える」というヒステリシス(履歴依存の切り替え)を入れると、振動は減る代わりに判定が遅れます。この遅れの本数を記録しておくことが、後の検証で効いてきます。
判定に使える代表的な指標とその性質
どれも「正解を当てる」ものではなく、データの性質を数値化するものです。主な候補を比較します。
| 手法 | 何を測るか | 性質と注意点 |
|---|---|---|
| ADX(平均方向性指数) ※ワイルダーが考案した方向性指標群の一つ |
価格変動の方向性の強さ(方向の上下は区別しない) | 平滑化が二重にかかるため反応が遅い。上昇局面と下落局面を区別しないので、別途DI系の情報が要る |
| 効率比(Efficiency Ratio) | 期間内の正味変化幅 ÷ 各足変化幅の合計 | 0〜1に収まり直感的。計算が単純で再現しやすい。窓長に敏感 |
| ハースト指数 | 時系列の持続性(トレンド性)か平均回帰性か | 推定方法が複数あり、同じ系列でも手法で値がずれる。短い窓では推定が不安定 |
| 分散比(Variance Ratio)検定 ※ロー=マッキンレーによる系列相関の検定 |
k期間の分散が1期間分散のk倍になるか | 統計的な検定の枠組みがある。ただしサンプル数を要し、リアルタイム更新には向きにくい |
| ATRとレンジ幅の比 | 一定期間の高安幅に対する平均的な足の振れ幅 | 実装が容易。価格水準で意味が変わるため、比率で扱う必要がある |
| 移動平均の傾きと乖離 | 方向と、価格の平均からの離れ具合 | 最も素朴だが、パラメータ依存が強く過剰最適化しやすい |
重要なのは、これらを併用すると判定が良くなるとは限らない点です。相関の高い指標を重ねても情報量は増えず、閾値の数だけ最適化の自由度が増えます。まずは1つを選び、その挙動を把握してから拡張する方が、検証記録としては読み返しやすくなります。
検証手順:遅れを測り、期間を分ける
分類ロジックを組んだら、次の順で確認します。
- ラベル系列を可視化する:価格チャートの下にラベル(トレンド/レンジ/中間)を帯で描きます。目視で「遅すぎる」「振動している」が一目でわかります。
- 遅れを数える:事後的に見て明らかな局面転換と、ラベル切り替えの間が何本空いたかを集計します。中央値と最悪値の両方を見ます。平均だけ見ると、まれな大外れが隠れます。
- ラベルの安定性を測る:一定期間あたりのラベル切り替え回数、各ラベルの継続本数の分布を出します。継続本数の中央値が極端に短ければ、そのラベルは判定として機能していません。
- 期間を分けて再確認する:パラメータを決めた期間(インサンプル)と、触っていない期間(アウトオブサンプル)で、上記の数字がどれだけ変わるかを見ます。
- 通貨ペア・銘柄をまたぐ:同じ閾値が他の対象でも似た挙動を示すか。示さない場合、その閾値はその対象の過去に固有である可能性が高いです。
たとえば次のような場面を想定してください。ある窓長で効率比を計算し、0.3を境にラベルを切り替える設計にしたところ、インサンプルではラベルの継続本数の中央値が十分あったのに、別期間では数本ごとに切り替わる――これは閾値がその期間のボラティリティ水準に合わせ込まれていたサインです。この数値例は説明のための仮のものであり、特定の市場で観測された値ではありません。自分のデータで同じ集計を取ってください。
この枠組みが機能しない条件
前提を書かずに「レンジ判定は有効」とは言えません。次のような条件では、ここまでの枠組みは崩れます。
- 構造的な転換点:政策変更や制度変更の直後など、過去データの統計的性質が断絶する局面。観測窓が過去を見ている以上、断絶は定義上検出が遅れます。
- 流動性が薄い時間帯:値が飛びやすく、効率比やATR系の指標が過大・過小に振れます。時間帯フィルタを別途持たないと、深夜帯のノイズで判定が汚れます。
- レンジのまま拡大する相場:方向は定まらないのに値幅だけ広がる局面では、ボラティリティ基準の指標がトレンドと誤判定しやすくなります。方向性を測る指標と、変動量を測る指標は役割が違う、という整理が必要です。
- 時間軸の不一致:上位足がトレンド、下位足がレンジという状態は日常的です。単一時間軸の判定は、別の時間軸から見れば常に誤っているように見えます。どの時間軸の話かを明記しないラベルは意味を持ちません。
- データ品質の問題:ヒゲの扱い、サマータイムによる足の区切りのずれ、配信業者ごとの価格差。判定ロジック以前の問題として、同じ検証が再現できなくなります。
記録に残す項目
後から読み返して使える記録にするために、最低限これだけは残します。
- 対象(銘柄・通貨ペア)、時間軸、検証期間の開始終了
- データの出所と、取得日時
- 観測窓・閾値・ヒステリシス本数の具体値と、それを決めた根拠
- インサンプル/アウトオブサンプルの区切り位置
- 判定の遅れ(中央値・最悪値)とラベル継続本数の分布
- うまくいかなかった設定と、その理由の推測
最後の項目が最も価値があります。成功した設定だけを残すと、半年後の自分が同じ失敗を繰り返します。
まとめ
レンジとトレンドの見分けは、未来を言い当てる作業ではありません。自分で定義を決め、その定義が過去データ上でどう振る舞ったかを測り、遅れとノイズの大きさを把握する作業です。定義を書き出した時点で「正解」は存在しなくなり、代わりに「この定義ではこう見える」という再現可能な記述が残ります。
実装上の要点は3つです。第一に、判定は確定足のみで行い、未来の情報を参照しないこと。第二に、閾値をまたいだ瞬間ではなく持続を条件にし、その遅れを数値で記録すること。第三に、パラメータを決めた期間と触っていない期間を分け、両方の数字を併記すること。
そのうえで、ここで示した手順は構造的な転換点、流動性の薄い時間帯、値幅だけが拡大する局面では機能しにくいという限界があります。分類が当たることと、そこから何らかの売買判断が有効になることの間にも、別の検証が必要です。相場取引には元本を失うリスクがあり、過去データ上で安定して見えた分類が将来も同様に機能する保証はありません。本記事は分析手法の整理であって、投資助言ではなく、個別の判断はご自身の責任でお願いします。
この記事は情報の提供を目的としたもので、特定の金融商品の売買をすすめるものではありません。売買の判断は、ご自身の責任で行ってください。(運営者情報)