Pythonで自作している株価分析ツールでは、候補銘柄を監視リストに登録し、スコアやテクニカル指標、チャートなどを確認しながら売買判断に活用しています。
ツールを少しずつ改良していくことで、『どの銘柄を監視するか』は以前より整理しやすくなりました。
しかし、実際に運用を続けていると、次の悩みが出てきます。
『監視銘柄の中で、今どの銘柄に注目すればいい?』
監視リストに入っているからといって、すぐに買うわけではありません。
チャートを確認しながら買いタイミングを探していましたが、監視銘柄が増えてくると、それぞれが今どのような状態なのかを毎回確認するのも大変です。
そこで今回、値動きの状態をStage1~Stage4の4段階で可視化する『Stage表示機能』を株価分析ツールに追加しました。
SMA5(5日移動平均線)との位置関係や、その後の上昇・押し目・反発といった値動きの流れをもとにStageを表示することで、買い候補に近づいている銘柄を見つけやすくするのが狙いです。
もちろん、Stage4になったからといって機械的に購入するわけではありません。Stageはあくまで判断材料のひとつで、最終的にはチャートなども確認して判断します。
この記事では、具体的な売買条件や細かな判定値ではなく、なぜStage表示機能を追加したのか、Stage1~4で何が分かるのか、実際の株価分析ツールでどのように使っているのかを紹介します。

買いタイミングを見やすくする『Stage表示機能』を追加
これまで自作してきた株価分析ツールでは、監視銘柄を登録し、スコアやテクニカル指標、チャートなどを確認できるようにしてきました。
銘柄を探して分析するところまでは少しずつ便利になってきましたが、実際に使い続けていると新たな課題が出てきます。
監視銘柄が増えると『今どれを見る?』が分かりにくい
監視リストに登録している銘柄は、すべてがすぐに買える状態というわけではありません。
『まだ様子を見たい銘柄』もあれば、『少し気になる値動きになってきた銘柄』もあります。
これまでは監視銘柄のチャートを確認しながら『まだ買うタイミングではなさそう』『少し動きが変わってきた』『そろそろ詳しく見ておきたい』といった判断をしていました。
ただ、監視銘柄が増えてくると、毎回それぞれのチャートを確認して現在の状態を把握するのは大変です。
そこで考えたのが、『買いタイミングそのものを表示するのではなく、買い候補に近づくまでの値動きを段階的に表示できないか?』という方法でした。
値動きの流れそのものを段階表示することにした
今回追加したのが、現在の値動きをStage1~Stage4の4段階で表示する『Stage表示機能』です。
私の株価分析ツールでは、SMA5(5日移動平均線)との位置関係や、その後の値動きを確認しながら、
『待機』→『SMA5上抜け後の値動きを確認』→『押し目を確認』→『反発を確認』
という流れを4つのStageに分けています。
これなら監視銘柄を見たときに、『この銘柄は今どの段階にいるのか』をひと目で確認できます。
また、SMA5を上抜けただけですぐに買い候補とするのではなく、その後の値動きまで段階的に確認できるのもStage表示機能を作った理由のひとつです。
ただし、Stage4は『買えば上がる』という意味ではありません。
あくまで自分で設定した条件に沿って、詳しく確認したい買い候補を見つけやすくするための表示です。
実際に売買するかどうかは、これまでと同じようにチャートなどの情報も確認しながら最終的に判断します。
次からは、Stage1~Stage4がそれぞれどのような状態を表しているのかを、もう少し詳しく紹介していきます。
Stage1~4で値動きの状態を可視化
Stage表示機能では、監視銘柄の値動きをStage1~Stage4の4段階に分けています。
今回Stageを4段階にしたのは、単純に『買い』『見送り』の2択で判定するのではなく、買い候補になるまでの値動きの流れを確認したかったからです。
私がStage判定で見ている大まかな流れは、次のとおりです。
Stage1:待機
▼
Stage2:SMA5上抜け後の値動きをチェック
▼
Stage3:上昇後の押し目をチェック
▼
Stage4:押し目から反発した買い候補

それぞれのStageがどのような状態なのか、順番に紹介します。
Stage1(監視中)|買い候補になるまで待機
Stage1は、買い候補として注目する値動きになるまで待っている状態です。
監視リストに登録しているからといって、すぐに買うわけではありません。
まずは株価とSMA5(5日移動平均線)の位置関係などを確認しながら、次のStageへ進むきっかけとなる値動きを待ちます。
監視中と表示されていれば、『監視は続けるけれど、今はまだ待つ段階』とひと目で判断できます。
Stage2(押し目待ち)|SMA5上抜け後の値動きをチェック
株価がSMA5を下から上へ抜ける動きを確認すると、Stage2へ進みます。
ただし、私のツールでは『SMA5を上抜けたからすぐ買う』という判定にはしていません。
一時的にSMA5を上抜けても、そのまま上昇するとは限らないためです。
Stage2では、上抜けをきっかけとして、その後にどのような値動きをするのかを引き続きチェックします。
つまりStage2は『少し気になる動きが出てきたので、その後の動きを見ていく段階』という位置付けです。
Stage3(押し目形成中)|上昇後の押し目をチェック
SMA5を上抜けたあとに上昇し、その後に一定の押しが入るとStage3へ進みます。
ただし、押し目の途中でも終値がSMA5を下回った場合はStage1へ戻し、再び次の機会を待つようにしています。
株価は一直線に上昇し続けるとは限りません。
上昇途中でも一度下げる場面があるため、今回のStage判定では、上抜け直後を追いかけるのではなく、その後の押し目にも注目するようにしています。
Stage3は『上昇後に押しが入ってきたので、ここから反発するか確認したい段階』です。
もちろん、押し目に見えてもそのまま下落することがあります。
そのため、Stage3になった時点でもまだ買い候補とはせず、次の値動きを待ちます。
Stage4(買い候補)|押し目からの反発をチェック
Stage3で押し目を確認したあと、そこから反発し、自分で設定した条件を満たすとStage4へ進みます。
今回Stage表示機能で確認したかった『SMA5上抜け』 →『 上昇』 →『 押し目』 →『 反発』という一連の流れが確認できた状態です。
そのため、私のツールではStage4を『詳しく確認したい買い候補』として扱っています。
ただし、Stage4になったからといって自動的に購入するわけではありません。
Stageはあくまで現在の値動きを整理するための判断材料のひとつです。
実際に購入するかどうかは、これまでと同じようにチャートやその他の情報も確認したうえで最終的に判断します。
また、値動きによってはStageが順調に1→2→3→4と進むとは限りません。
途中で想定していた値動きから外れた場合は待機状態に戻すなど、『買い候補に近づいているように見えたけれど、条件から外れた銘柄を追い続けない』こともStage判定の役割のひとつにしています。
こうして値動きを段階的に表示することで、監視銘柄の中から『今は待つ銘柄』と『そろそろ詳しく確認したい銘柄』を以前より整理しやすくなりました。
StageはSMA5と値動きの流れから判定
Stage1~4は、単純に株価が上がった・下がっただけで切り替えているわけではありません。
今回のStage表示機能では、SMA5(5日移動平均線)との位置関係と、上抜け後の値動きの流れを組み合わせて現在のStageを判定しています。
SMA5・上昇・押し目・反発を組み合わせて判定
Stage判定で見ている大まかな流れは、次のとおりです。
SMA5を上抜ける
▼
上抜け後の値動きを確認する
▼
上昇後に押し目が入る
▼
押し目からの反発を確認する
ポイントは、SMA5を上抜けたという一つの条件だけで買い候補にしていないことです。
SMA5を上抜けても、その後すぐに下落してしまうこともあります。
そこでStage2では上抜け後の値動きを確認し、Stage3では上昇後に押し目が入ったかを確認。そして、そこから反発する動きが確認できた場合にStage4へ進むようにしました。
また、Stageが一度進んだからといって、そのままStage4まで進み続けるわけではありません。
たとえばStage2やStage3の途中で終値がSMA5を下回るなど、想定していた値動きから外れた場合はStage1へ戻し、改めて次の機会を待つようにしています。
このように『条件を満たしたら次へ進む』だけでなく、『条件から外れたら待機状態へ戻る』という仕組みも入れることで、現在の値動きの状態をStageとして整理できるようにしています。
具体的な判定値を公開していない理由
実際のプログラムでは、SMA5との位置関係だけでなく、上昇後の押し目や反発などについても一定の判定条件を設定しています。
ただし、本記事では『何%下落したら押し目とする』『何%反発したらStage4にする』といった具体的な判定値は掲載していません。
これは、今回の記事の目的が特定の売買手法や『この条件なら勝てる』というルールを紹介することではないためです。
私自身、このStage判定は自作ツールを使いながら考えたルールのひとつであり、今後の検証結果によって条件を見直す可能性もあります。
そのためこの記事では、具体的な数値そのものではなく、『SMA5上抜け → 上昇 → 押し目 → 反発という値動きの流れをプログラムで判定し、Stageとして可視化した』というツール開発の考え方を中心に紹介しています。
Stage表示は、売買を自動的に決めるためのものではありません。
監視銘柄の現在地を整理し、『今は待つ段階なのか』『もう少し詳しく確認したい段階なのか』を判断しやすくするための補助機能として使っています。
実際の株価分析ツールにStageを表示
Stage1~4の判定処理を作っただけでは、毎日の銘柄チェックで使いやすいとはいえません。
そこで、現在のStageをすぐ確認できるように、普段使っている株価分析ツールの画面にもStageを表示するようにしました。
私の場合は、まず監視銘柄一覧で全体の状態を確認し、気になる銘柄があれば詳細画面を開いて確認する流れで使っています。
監視銘柄一覧で現在のStageを確認
まずStageを追加したのが、普段チェックしている監視銘柄一覧画面です。
監視している銘柄ごとに現在のStageを表示することで、一覧画面を開いただけで、
- まだ待機している銘柄
- SMA5を上抜けて動きを確認している銘柄
- 押し目を確認している銘柄
- 反発して買い候補になった銘柄
といった状態を把握しやすくしました。

これまでは監視銘柄を一つずつ確認しながら、『今どのような状態なのか』を判断する必要がありました。
Stageを一覧に表示したことで、まずStageを見て気になる銘柄を絞り、その後に詳しく確認するという使い方ができるようになりました。
特にStage4まで進んだ銘柄があれば、『買う銘柄』と決めるのではなく、チャートなどを詳しく確認したい銘柄として注目できます。
銘柄詳細画面で値動きとStageを確認
監視銘柄一覧で気になる銘柄を見つけたら、次に銘柄詳細画面を確認します。
詳細画面では現在のStageだけを見るのではなく、実際のチャートやテクニカル指標などとあわせて値動きを確認します。

たとえばStage4になっていたとしても、Stageの表示だけを見て購入するわけではありません。
実際のチャートを確認して、『本当に押し目から反発しているように見えるか』『ほかに気になる値動きはないか』などを確認したうえで、最終的に判断します。
この使い方は、これまで株価分析ツールで行ってきた判断方法をStageに置き換えたものではありません。
スコアやテクニカル指標、チャートなどを確認する従来の流れに、「現在どのStageにいるのか」という新しい判断材料を追加したという位置付けです。
Stage表示によって最初に確認する銘柄を絞り込み、その後はこれまでと同じように詳しく分析する。
この流れにしたことで、監視銘柄が増えても、以前より「今どの銘柄を詳しく見ればよいか」を整理しやすくなりました。
Stage表示機能を追加して変わったこと
Stage表示機能を追加して一番変わったのは、監視銘柄の中から『今、詳しく確認したい銘柄』を見つけやすくなったことです。
これまでは監視リストに登録した銘柄について、チャートやテクニカル指標などを確認しながら、それぞれの状態を判断していました。
もちろん現在も最終的な確認方法は変わっていません。
ただ、Stageを表示するようになったことで、最初に監視銘柄一覧を見たときに、
- Stage1なら、まだ待機
- Stage2なら、上抜け後の動きに注目
- Stage3なら、押し目からの反発に注目
- Stage4なら、買い候補として詳しく確認
と、現在の状態を整理しやすくなりました。
以前は
監視銘柄を確認 ▶ それぞれのチャートを見る ▶ 現在の状態を考える
という流れでしたが、Stage追加後は、
監視銘柄を確認 ▶ Stageで状態を把握 ▶ 気になる銘柄のチャートを詳しく見る
という流れでチェックできるようになっています。
特に私の場合、監視する銘柄数には上限を決めていますが、それでも毎日すべての銘柄を同じように詳しく確認するのは手間がかかります。
Stageは売買判断そのものを自動化する機能ではありませんが、『今日はどの銘柄から確認しよう?』を考えるための目印として使えるようになりました。
また、自分の中で『そろそろ買いタイミングかもしれない』と感覚的に考えていた部分を、一定のルールに沿ってStageとして表示できるようになったことも大きな変化です。
自作ツールだからこそ、実際に使っていて不便に感じた部分を少しずつ機能として追加していける。
今回のStage表示機能も、そんな改善のひとつになりました。
Stage4になっても機械的には買わない
ここまでStage1~4の仕組みを紹介してきましたが、ひとつ注意しておきたいのが、Stage4になったからといって機械的に購入するわけではないということです。
Stage4は、SMA5上抜け後の値動きや押し目、そこからの反発など、自分で設定した条件を満たした状態です。
私のツールでは、この状態を『詳しく確認したい買い候補』として扱っています。
なぜなら、同じStage4でも実際のチャートを見ると、銘柄によって値動きは異なるからです。
また、Stage判定で使っている条件だけでは判断できない情報もあります。
そのため、Stage4になった銘柄については、
Stage4を確認
▼
チャートやテクニカル指標などを確認
▼
ほかに気になる点がないかチェック
▼
最終的に自分で判断
という流れで使っています。
これは、これまで自作ツールで行ってきた売買判断の考え方と同じです。
Stage表示機能を追加したからといって、これまで確認していたスコアやテクニカル指標、チャートなどが不要になったわけではありません。
あくまで既存の判断材料に、『現在の値動きがどのStageにいるのか』という情報をひとつ追加した形です。
また、今回設定したStageの条件についても、これで完成とは考えていません。
実際の値動きと照らし合わせたり、今後バックテストで検証したりしながら、必要であれば条件を見直していく予定です。
Stage4は『買えば上がる』というサインではなく、買い候補を見つけて次の確認へ進むための目印。
この位置付けで使うことが、今回Stage表示機能を作るうえで大切にしたポイントです。
次の課題は「買った後、いつ売る?」
Stage表示機能を追加したことで、監視銘柄の中から買い候補に近づいている銘柄を見つけるところまでは、以前より整理しやすくなりました。
しかし、実際にツールを使っていくと、次の課題が出てきます。
『買った後は、いつ売ればいい?』
買いタイミングと同じように、売りタイミングも感覚だけで判断するのは簡単ではありません。
含み益が出てくると『もう少し上がるかもしれない』と考えてしまったり、反対に株価が下がると『そのうち戻るかもしれない』と保有を続けてしまったりします。
そこで次に考えたのが、買った後の値動きについても、自分で決めたルールに沿って売却を検討するタイミングをツール上で確認できないか?ということでした。
Stage表示機能が、
『監視銘柄の中から、どの銘柄を買い候補として詳しく確認するか』
を整理するための機能だとすれば、次に必要なのは、
『保有している銘柄を、どのタイミングで売却候補として確認するか』
を整理するための機能です。
そこで次の機能改善では、保有銘柄の値動きをチェックし、設定した条件に該当したときに売却を検討できるようにする『Exit条件表示機能』を追加しました。
Stage表示で『買う前』を整理した次は、『買った後』をどう管理するか。
次の記事では、売りタイミングの判断をサポートするために追加したExit条件表示機能について紹介します。
まとめ
今回は、自作しているPython株価分析ツールに追加した『Stage表示機能』について紹介しました。
これまでも監視銘柄のスコアやテクニカル指標、チャートなどを確認しながら売買判断をしていましたが、監視銘柄が増えてくると、『今どの銘柄を詳しく確認すればいいのか』が分かりにくくなってきました。
そこで今回、
Stage1:買い候補になるまで待機
▼
Stage2:SMA5上抜け後の値動きをチェック
▼
Stage3:上昇後の押し目をチェック
▼
Stage4:押し目から反発した買い候補
という4段階で値動きの状態を表示するようにしました。
Stageを追加したことで、監視銘柄一覧から現在の状態を把握し、詳しく確認したい銘柄を以前より見つけやすくなったと感じています。
ただし、Stage4は『買えば上がる』というサインではありません。
あくまで買い候補を見つけるための判断材料のひとつであり、実際に購入するかどうかはチャートやその他の情報も確認して最終的に判断します。
また、今回作ったStage判定も、これで完成というわけではありません。
今後は実際の値動きやバックテストの結果なども確認しながら、必要に応じてルールを見直していく予定です。
自作ツールの面白いところは、実際に使ってみて『ここが分かりにくい』『こんな機能が欲しい』と感じた部分を、自分で少しずつ改善できることだと思っています。
今回のStage表示機能で『いつ買う?』を整理しやすくした次は、
Stage表示機能:いつ買う?
▼
Exit条件表示機能:いつ売る?
▼
バックテスト機能:作ったルールを過去データで検証する
という流れで、さらに株価分析ツールを改良していきます。
次回は、買った後の売りタイミングを判断しやすくするために追加した『Exit条件表示機能』について紹介します。
【投資に関する免責事項】
本ブログで紹介している株価解析ツールによるスコアリングおよび銘柄分析は、あくまで個人の学習・研究および技術検証を目的としたものであり、特定の銘柄の売買を推奨するものではありません。
ツールの算出結果や掲載情報の正確性については万全を期しておりますが、その内容を保証するものではありません。投資の最終決定は、必ずご自身の判断と責任において行っていただきますようお願いいたします。
万一、本ブログの情報に基づいて被ったいかなる損害についても、当サイトおよび運営者は一切の責任を負いかねますのであらかじめご了承ください。

