カップウィズハンドルは株で使えるか|厳密な条件で10年検証してわかったこと

AI輪郭フィルターがカップウィズハンドル候補を形で絞るイメージ

※本記事はプロモーションを含みます。

※本記事は情報提供を目的としており、特定の金融商品への勧誘や投資助言を目的とするものではありません。投資判断はご自身の判断と責任で行ってください。

株式投資の判断材料を増やすために、これまで何冊か投資関連の本を読んできました。その中で「売買条件として使えるかもしれない」と感じたのが、カップウィズハンドル、エリオット波動、テクニカル指標の3つです。

ただ、本に書かれている内容をそのまま信じるだけでは、実際の相場でどのくらい機能するのかは分かりません。そこで、自分で作っているAI株式投資ツールに条件を実装し、過去データで確かめることにしました。

この記事で見たいのは、カップウィズハンドルの形そのものの解説よりも、「その形をAIツールで判定条件にしたとき、どこまで判断材料として使えるのか」です。あわせて、バックテスト結果を読むときに、件数やラベルの見方でどこを間違えやすいかも整理します。

先に訂正しておくと、以前この記事で「カップウィズハンドル単独の該当取引は、10年間で1件のみ」と書いていた結論は誤りでした。

最初のバックテストでは、カップウィズハンドルとエリオット波動を同時に動かしていました。その混合ログを見ると、記録上「cup_and_handle」に分類された取引が1件だけだったため、私はカップウィズハンドルに該当する取引自体が1件しかなかったと受け取ってしまいました。

しかし、ログとコードをあらためて確認すると、カップウィズハンドルとエリオット波動の両方を満たした取引は、エリオット波動側のラベルで記録されていました。つまり、1件という数字は、カップウィズハンドル起点の取引が少なかったことを示す数字ではありません。混合ログの中で「cup_and_handle」というラベルだけが付いていた取引数でした。

今回の訂正は、カップウィズハンドルの検出ロジック自体を変更したという話ではありません。複数のシグナルが混ざったログの読み方を誤っていたため、エリオット波動を完全にオフにして、カップウィズハンドルだけを切り分けて再検証したものです。

その結果、デフォルト設定では158件、判定期間の見方を直近重視にした短期ルックバック設定では166件の取引が確認できました。現在のAI株式投資ツールでは、この短期ルックバック設定を、カップウィズハンドルの買い候補を出す判定ルールとして採用しています。ただし、これは過去データでの検証結果であり、将来の成績や利益を保証するものではありません。

目次

カップウィズハンドルを最初に試した理由

3つの候補の中で最初にカップウィズハンドルを選んだ理由は、チャートの形を比較的イメージしやすかったからです。

自分で毎日多くのチャートを見ながら、似た形を探し続けるのは現実的ではありません。そのため、カップやハンドルの形を条件として整理し、AIと相談しながら判定ロジックとしてコードに落としていきました。

検証を始める前は、「チャートの形をうまく言葉にできれば、あとはツールが候補を拾ってくれるはず」と考えていました。しかし、実際に条件を実装してみると、それほど単純ではありませんでした。

投資本に載っている図は、特徴が分かりやすいように整えられた一例です。その形に、実際の相場の値動きがどの程度当てはまるのかは、図を見ただけでは分かりません。

また、チャートを見た人間が「カップウィズハンドルに見える」と判断することと、すべての条件をコードで満たすことも同じではありません。私自身も、実装してバックテストをするまでは、どのくらいの頻度で条件に該当するのかを想像できていませんでした。

判定条件をコードに落としたときの考え方

本で読んだ内容をそのままコードにするのではなく、AIに相談しながら判定条件を整理しました。

カップの形状、ハンドル部分の値動き、出来高の増え方など、複数の条件を確認し、すべてを満たした場合に候補として扱う仕組みです。

判定に使っている具体的なしきい値は、この記事では公開しません。下落率や期間などをそのまま公開すると、売買ルールとして再現できる内容になってしまうためです。

条件を厳しくすると、見た目としては教科書に載っているカップウィズハンドルに近づきます。一方で、条件のうち1つでも満たさなければ候補から外れるため、条件を増やすほど該当件数は減りやすくなります。

実装していた当時の私は、「条件を厳密にするほど、質の高い候補だけを残せるはず」と考えていました。ただ、形を厳密に判定できることと、投資成績が良くなることは同じではありません。この違いは、実際にバックテストをして数字を見るまで、十分に意識できていませんでした。

ツールにチャートパターンを判定させる場合は、形の再現度だけでなく、該当件数や損失の出方まで確認する必要があります。

「10年で1件」という結論を出してしまった理由

最初のバックテストでは、カップウィズハンドルだけでなく、エリオット波動の条件も同時に動かしていました。

対象はTOPIX500で、流動性などのフィルターを通過した462銘柄です。約10年間のデータを使い、条件に一致した取引と成績を集計しました。

その結果を確認したとき、取引ログの中で「cup_and_handle」と記録されていた取引が1件だけでした。当時の私は、この数字を見て「条件を厳密にしすぎたため、カップウィズハンドルは10年間で1件しか見つからなかった」と判断しました。

しかし、これはログの分類方法を確認しないまま、表示されたラベルをそのまま検出件数として読んだことによる誤りでした。カップウィズハンドル条件とエリオット波動条件を同時に満たした取引は、エリオット波動側のラベルで記録されていました。

正しくは、混合バックテストの記録上、カップウィズハンドルだけのラベルが付いた取引が1件だった、という意味です。これは、カップウィズハンドル条件を満たした全取引数ではありません。

カップウィズハンドルだけで再検証した結果

混合ログのままではカップウィズハンドル単独の件数や成績を確認できないため、エリオット波動を完全にオフにして再検証しました。検証期間と対象母集団は同じで、TOPIX500、フィルター後462銘柄、約10年間です。

確認した検証該当取引数数字の読み方
最初の混合バックテスト1件記録上、カップウィズハンドルだけのラベルが付いた件数。エリオット波動も満たす取引は、エリオット波動側で記録されていた。
カップ単独・デフォルト設定158件エリオット波動をオフにし、カップウィズハンドルだけを動かした結果。
カップ単独・短期ルックバック設定166件カップウィズハンドルを探す判定期間の見方を直近重視にした結果。

デフォルト設定のプロフィットファクターは1.375、最大ドローダウンは-25.85%でした。短期ルックバック設定では、勝率60.2%、プロフィットファクター2.377、最大ドローダウン-20.68%という結果になりました。

今回の過去データ上では、短期ルックバック設定のほうが、デフォルト設定よりもプロフィットファクターが高く、最大ドローダウンも小さい結果でした。ランダムエントリーとの比較では+5.9σという結果も記録されています。一方で、10年間のうち1年は負け年でした。

数字だけを見ると良い結果に見えますが、負ける期間がなくなったわけではありません。また、バックテストで良かった設定が、将来も同じように機能するとは限りません。

今回の訂正で重要なのは、「カップウィズハンドルは10年で1件しか出なかった」という結論を、「単独検証では158件から166件あった」という内容に置き換えることです。カップウィズハンドルの検出ロジックが変わって件数が増えたのではなく、混合ログから単独検証へ切り分けたことで、本来の件数を確認できました。

バックテスト結果を見るときに確認したいこと

今回の失敗で私が一番反省したのは、バックテスト結果のラベルを、そのまま結論として読んでしまったことです。

数字が表にまとまっていると、正しく整理された結果に見えます。しかし、どの条件で集計された数字なのかを確認しなければ、意味を取り違えることがあります。

確認すること確認する理由今回の学び
単独検証か、混合検証か複数のシグナルが入ると、どの条件による取引なのかが分かりにくくなるため。最初の1件は、カップウィズハンドル単独の検出数ではなかった。
ラベルの付け方複数条件を満たす取引が、どのラベルで記録されるかによって件数が変わって見えるため。エリオット波動も満たす取引は、エリオット波動側に記録されていた。
件数と損失の出方勝率だけでは、サンプル数や損失の深さが分からないため。短期ルックバックでは166件あったが、負け年も残っていた。
採用済みか、検証待ちか実装、テスト通過、ツールへの採用、効果確認はそれぞれ別だから。短期ルックバックは採用済み。出口条件の短期化は効果未確認。

AIにバックテスト結果を要約してもらうと、件数や成績をきれいな表に整理してくれます。ただ、その表の分類が、自分の知りたい単位になっているとは限りません。

AIが作った表を読むだけでなく、どの条件がオンになっているのか、重複したシグナルがどちらに分類されるのか、集計元のログまで人間側で確認する必要があると感じました。

短期ルックバックと出口条件の短期化は別の話

ここは混同しやすいため、分けて書いておきます。

短期ルックバックは、カップウィズハンドルを探す判定期間の見方です。どの範囲の値動きを重視して、買い候補となる形を探すのかという入口側の設定です。

一方、出口条件の短期化は、買ったあとの保有期間や決済条件をどうするかという話です。どちらにも「短期」という言葉が入っていますが、変更している場所が違います。

出口条件については、当時の複数シグナルを含む取引ログ全体もAIに分析してもらいました。ここで扱う数字は、カップウィズハンドル単独の成績ではありません。あくまで、当時の複数シグナルを含む取引ログから、出口条件の詰まり方を確認したものです。

決済理由ごとに件数を分けると、利益確定にもストップロスにも届かず、保有期間の上限まで持ち越された取引が多いことが分かりました。全体の約57%にあたる139件が、保有期間の上限による決済でした。当時の年率リターンは約1.9%、プロフィットファクターは約1.14という結果です。

この集計からは、買ったあとに大きく上がるわけでも、早い段階で損切りされるわけでもなく、あまり動かないまま保有期間の上限を迎える取引が多いことが見えてきました。動かない銘柄を保有している間は、その資金を別の候補に回せません。

そこで、保有期間の上限と、値動きに合わせて決済ラインを動かすトレーリングストップの幅を、どちらも短くする方向でAIに調整してもらいました。具体的な日数や値幅は、この記事では公開しません。

項目何を変える設定か現在の状態
短期ルックバックカップウィズハンドルを探す判定期間の見方。単独バックテストを実施し、現在の買い候補判定に採用。
出口条件の短期化買ったあとの保有期間や決済条件。実装とテストは完了しているが、変更前後のバックテスト比較は未実施。

出口条件を変更するコードはAIに書いてもらい、テストが通るところまでは確認しました。ただし、変更前と変更後のバックテストを比較し、「出口条件を短くしたことで成績が改善した」と確認できたわけではありません。

コードが動くことと、狙った効果が出ることは別です。現時点で出口条件の短期化は、「実装とテストまでは終わったが、効果はまだ確認できていない変更」です。

現在のツールで採用している買い候補判定

現在のAI株式投資ツールでは、カップウィズハンドル単独の短期ルックバック設定を、買い候補を出す判定ルールとして採用しています。

ここでいう採用は、条件に一致した銘柄をツール上で候補として表示するために使っている、という意味です。表示された銘柄を、そのまま買うという意味ではありません。

判断したこと現在の扱い理由
カップ判定の集計カップウィズハンドル単独で確認する。混合ログでは、エリオット波動側のラベルに分類される取引があり、件数を読み違えたため。
判定期間の見方短期ルックバック設定を使う。過去データ上で、デフォルト設定よりプロフィットファクターと最大ドローダウンの結果が良かったため。
エリオット波動との関係カップ判定には混ぜない。どの条件で候補になったのかを、あとから人間が確認しやすくするため。
最終的な投資判断人間側で確認する。バックテストやAIの判定だけでは、将来の値動きを確定できないため。

現在の設定ファイル上も、カップウィズハンドルの判定は有効、エリオット波動はオフの状態です。つまり、カップウィズハンドルの買い候補は、エリオット波動と混ぜずに確認する前提になっています。

今回の再検証により、少なくとも「件数不足で評価できない」という以前の結論は撤回します。カップウィズハンドル単独で切り分けると、約10年間でデフォルト設定は158件、短期ルックバック設定は166件の取引がありました。

短期ルックバック設定では、勝率60.2%、プロフィットファクター2.377、最大ドローダウン-20.68%という結果になりました。過去データ上では、デフォルト設定よりも良い結果です。

ただし、これらはTOPIX500、フィルター後462銘柄、約10年間の過去データに対し、売買コストや最大保有数などの前提を置いて検証した結果です。将来の成績や利益を保証するものではありません。

また、短期ルックバックの具体的な日数や、カップ形状を判定する細かいしきい値は公開しません。この記事では、売買ルールの中身を再現できる形で紹介することよりも、混合ログのラベルを単独シグナルの件数として読み違えたことと、その後にどう切り分けて再検証したかを記録しています。

エリオット波動の検証は、エリオット波動を日本株の買いシグナルとして検証した記事に分けてまとめています。現在のカップ判定では、エリオット波動を1つの自動売買シグナルとして混ぜるのではなく、独立した参考情報として扱う方針です。

今回の訂正で残った学びは、数字そのものよりも、数字が何を数えているのかを確認する大切さでした。バックテストを見るときは、どの条件をオンにしていたのか、単独検証なのか混合検証なのか、重複した取引がどのラベルで記録されるのか、実装した変更について効果まで検証できているのかを分けて確認する必要があります。

AIはログを集計したり、比較表を作ったりするところでは役立ちます。ただし、出てきた数字の意味や、集計条件が自分の確認したいものと合っているかは、人間側で確認しなければなりません。検証の全体像は、買いシグナル検証のまとめ記事に残していきます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

東証プライム上場企業で生成AIの開発に携わるAIエンジニアです。

仕事では最先端のAIを扱いながら、日常ではあまり活用できていないことに気づきました。

本当にAIは人生を変えるのか.

それを確かめるため、株式投資や副業、子どもとの遊びなどにAIを取り入れ、暮らしがどう変わるのかを実験・発信していきます。

目次