はじめに
前回は、候補D(Relative Band Distance 0.60~1.00)の成績が時期によって大きく変わる理由を探るため、ATRやボリンジャーバンド幅を分析しました。

しかし、値動きの大きさだけでは、Dの成績の違いを十分に説明できませんでした。
そこで気になったのが、相場の「方向」と「トレンドの強さ」です。
例えば、同じ10pipsの値動きでも、上下に行ったり来たりする10pipsと、一方向に伸びる10pipsでは、売買システムにとって意味が違うはずです。
であれば、零号機の候補Dが勝ちやすい相場には、トレンドに関する何らかの共通点があるのではないか。
今回は、この仮説を調べるため、Pythonを使って3つの指標を分析しました。
- MA50の傾き
- DI差(方向性指標)
- ADX14(トレンドの強さ)
果たして、Dの勝敗を説明する手がかりは見つかるのでしょうか。
今回の分析対象
分析対象は、これまで研究してきた候補Dです。
Relative Band Distanceが0.60以上1.00以下に該当する取引を抽出しました。
トレンド特徴量を追加記録した取引ログは全1,731件。そのうち候補Dは344件でした。
| 区分 | 取引数 | 勝ち | 負け |
|---|---|---|---|
| 全体 | 344 | 184 | 160 |
| BUY | 96 | 20 | 76 |
| SELL | 248 | 164 | 84 |
ここで注目したいのは、BUYとSELLで勝敗の構成が大きく異なることです。
この偏りがあるため、全体の平均や中央値だけで判断すると、誤解を招く可能性があります。今回は全体に加えて、BUYとSELLを分けた分析も行います。
なお、今回の目的は、勝ち取引と負け取引の特徴量を比較することです。最適な売買条件を探したり、新しいフィルターをシステムに採用したりする段階ではありません。
今回調べた3つのトレンド指標
① MA50の傾き
MAはMoving Average、つまり移動平均線です。
今回は、M30(30分足)の50本単純移動平均線を使いました。
その傾きを、直近の利用可能な確定足と3本前の確定足のMA50の差で測定しています。
また、BUYとSELLでは有利な方向が逆なので、売買方向を考慮した値に変換しました。
仮説は、「エントリー方向に沿ったMA50の傾きが大きいほど勝ちやすいのではないか」というものです。
② DI差
DIはDirectional Indicatorの略で、相場の上方向と下方向の強さを表す指標です。
- +DI:上方向の値動きの強さ
- -DI:下方向の値動きの強さ
今回は、+DI14から-DI14を引いた値を、売買方向に合わせて調整しました。
こちらの仮説は、「エントリー方向とトレンド方向が整合しているほど勝ちやすいのではないか」です。
③ ADX14
ADXはAverage Directional Indexの略です。
MAやDIと少し違うのは、ADXが基本的にトレンドの方向ではなく、トレンドの強さを表すことです。
ADXが高いから上昇相場という意味ではありません。下落トレンドが強い場合にもADXは高くなります。
今回の仮説は、「トレンドが強い場面では、候補Dが勝ちやすいのではないか」です。
仮説①|MA50の傾きは勝敗に関係するのか?
まずはMA50です。
勝ち取引と負け取引に分け、それぞれの中央値を比較しました。中央値とは、データを小さい順に並べたとき、ちょうど中央に位置する値です。
| 区分 | 勝ち中央値 | 負け中央値 | 差 |
|---|---|---|---|
| 全体 | 0.5970 | 0.6430 | -0.0460 |
| BUY | 0.6710 | 1.0350 | -0.3640 |
| SELL | 0.5940 | 0.4130 | +0.1810 |
単位はpipsで、MA50の3本差を売買方向に合わせて調整した値です。
全体では、勝ち群と負け群の差がほとんどありません。
BUYとSELLで違う傾向にも見えますが、統計的な不確実性が大きく、今回のデータから明確な関係があるとは判断できませんでした。
今回の結果は、「MA50の傾きが大きいほど勝ちやすい」という仮説を明確には支持しないものです。
もちろん、MA50がまったく無関係だと証明されたわけではありません。
ただ、少なくとも今回の分析では、期待していたほど分かりやすい違いは見つかりませんでした。
仮説②|DI差には違いが見られるのか?
続いてDI差を見てみます。
| 区分 | 勝ち中央値 | 負け中央値 | 差 |
|---|---|---|---|
| 全体 | -15.4315 | -12.5795 | -2.8520 |
| BUY | -8.1115 | -8.5515 | +0.4400 |
| SELL | -16.0395 | -15.4090 | -0.6305 |
全体では、勝ち群のDI差が負け群より小さい結果になりました。
この差だけを見ると、何らかの関係がありそうです。
ところが、BUYとSELLを分けると、差はかなり小さくなります。
なぜでしょうか。
考えられる理由の一つが、先ほど確認した売買方向の偏りです。
候補Dでは、BUYは20勝76敗なのに対し、SELLは164勝84敗でした。
つまり勝ち群と負け群では、BUYとSELLの構成比率が大きく異なります。
そのため、全体で見えたDI差が、本当にトレンドと勝敗の関係を示しているのか、それとも売買方向の構成に影響されたものなのか、今回の分析だけでは切り分けられません。
このように、全体をまとめて見ると関係がありそうでも、グループごとに分けると印象が変わることがあります。
データ分析では、こういうところが面白くもあり、怖くもあります。
DI差については、現時点では判定保留とします。
仮説③|ADXに興味深い結果が現れた
そして、今回もっとも気になったのがADXです。
| 区分 | 勝ち中央値 | 負け中央値 | 差 |
|---|---|---|---|
| 全体 | 26.1940 | 24.1170 | +2.0770 |
| BUY | 23.5255 | 21.8400 | +1.6855 |
| SELL | 26.3210 | 24.6580 | +1.6630 |
全体でも、BUYでも、SELLでも、勝ち群の方がADX中央値は高くなりました。
これまでMA50やDI差を見てきましたが、今回の3指標の中では、ADXがもっとも気になる結果です。
これは、候補Dの勝敗には、トレンドの方向そのものだけでなく、トレンドの強さが関係している可能性を示しています。
ただし、ここで「ADXが高いときだけ売買すればよい」と考えるのは早計です。
今回の分析では、勝ち群と負け群の中央値差について、ブートストラップという方法も用いて不確実性を確認しました。
ブートストラップとは、手元のデータから繰り返しサンプルを作り、集計値がどれくらい変動するかを調べる方法です。
今回は2,000回の再標本化による探索的な区間を計算しています。
ADXの全体の中央値差はプラスでしたが、BUY・SELL別に計算した区間は、いずれも差がゼロという可能性を含んでいました。
さらに、今回のブートストラップは取引の時系列依存や複数仮説の検証を十分に考慮したものではありません。
つまり、ADXは追加検証の候補にはなりましたが、売買フィルターとして採用できる段階ではありません。
2025年と2026年ではどうだったのか?
ここまでで、ADXに少し手がかりが見えました。
しかし、本来知りたかったのは、候補Dの成績が時期によって変わる理由です。
そこで、2025年と2026年を探索的に比較しました。
| 項目 | 2025年 | 2026年 |
|---|---|---|
| 取引数 | 18件 | 18件 |
| 勝敗 | 11勝7敗 | 5勝13敗 |
| 勝率 | 61.1% | 27.8% |
| MA50傾き中央値 | 0.4470 | 0.3250 |
| DI差中央値 | -16.4960 | -13.1460 |
| ADX中央値 | 25.7685 | 25.4870 |
同じ18件ですが、勝率にはかなりの差があります。
ただし、2025年と2026年では収録期間が異なります。2025年は1月20日から12月19日まで、2026年は1月21日から7月28日までの観測です。したがって、年間成績を同条件で比較したものではありません。
興味深いのはADXです。
全体の中央値はそれほど大きく変わっていません。
さらにSELLだけを見ると、ADX中央値は次のとおりでした。
- 2025年のSELL:25.7685
- 2026年のSELL:27.4985
2026年の方が高い結果です。
一方、SELLの勝敗は次のようになっています。
- 2025年:10勝4敗
- 2026年:5勝9敗
つまり、2026年のSELLはADXが高いにもかかわらず、勝率は低下しています。
この結果は、「ADXが高い相場ならDが勝てる」という単純な説明を支持しません。
ただし、各年18件、SELLだけなら各14件しかありません。
少数の取引の勝ち負けによって結果が大きく変わるため、年別の安定性についてはまだ結論を出せません。
今回の検証から分かったこと
今回の4つの仮説について、結果を整理します。
| 仮説 | 確認結果 | 評価 |
|---|---|---|
| H1:MA50の傾き | 勝敗群の差は小さく、不確実性も大きい | 明確な支持なし |
| H2:DI差 | 全体の差には売買方向の構成が影響する可能性 | 判定保留 |
| H3:ADX14 | 勝ち群で高い傾向を観察 | 判定保留・追加検証 |
| H4:時間的安定性 | 2025年と2026年で勝率に差がある | 少標本のため保留 |
今回の研究で一番重要なのは、「差が見えたこと」と「将来の売買判断に使えること」は別だという点だと思います。
バックテストで良さそうな指標が見つかっても、すぐに売買条件を追加するのではなく、その差が再現するか調べる必要があります。
今回の研究の限界
最後に、今回の検証でまだ確認できていないことを整理しておきます。
未来情報と再現性の確認
エントリー時刻と特徴量の参照バーについて、分析コードによる時間差の検査は通過しています。
しかし、過去の価格データと全期間を独立に突き合わせた完全な検証は、まだ終わっていません。
過剰最適化と未知データ
今回は過去データでの探索的な分析です。
ADXの最適な閾値を探したわけではなく、アウトオブサンプル検証やウォークフォワード検証も実施していません。
これらは今後の重要な課題です。
まとめ|答えはまだ出ていない
今回、MA50、DI差、ADX14の3指標を使って候補Dの勝敗を調べました。
MA50には明確な支持がなく、DI差は売買方向の偏りを考慮すると単純には解釈できませんでした。
一方、ADXには勝ち群で高い傾向が観察されました。
これを見たときは、トレンドの強さがDの勝敗を説明する鍵になるのではないかと思いました。
しかし、2025年と2026年を比べると、ADXが高いのに勝率が低い場面もあります。
つまり、まだ単純な答えは出ていません。
ただ、これは研究が失敗したということではありません。
「ADXだけを見ればよい」という安易な結論に進まずに済んだこと自体が、今回の収穫だと思います。
ランダムウォークへの挑戦は続きます。
次回予告
次回、第28回では、今回気になったADXとDIをさらに検証する予定です。
特に、BUYとSELLの違いや、時期による偏りを考慮して、今回見えた関係がどこまで信頼できるものなのかを調べたいと思います。
また、損益データの整合性など、残された再現性の課題も整理していく必要があります。
第弐拾八話――トレンドの真価を問う。
コメント