ChatGPTとPythonで日本株スクリーニングを自動化する実践手順|銘柄探しを仕組み化して投資判断の質を上げる方法

株式投資
スポンサーリンク
【DMM FX】入金

日本株の銘柄探しは「勘」から「仕組み」へ移行できる

日本株で継続的に成果を狙ううえで、多くの個人投資家が最初につまずくのは「どの銘柄を見ればよいのか」という問題です。上昇している銘柄を後から見つけて悔しい思いをする。決算発表後に急騰した銘柄をニュースで知る。SNSで話題になった銘柄を慌てて調べる。こうした行動は投資経験の初期段階では自然ですが、毎回その場の情報に反応しているだけでは、判断の再現性が上がりません。

そこで有効なのが、ChatGPTとPythonを使った日本株スクリーニングの自動化です。これは単に「AIにおすすめ銘柄を聞く」という話ではありません。むしろ重要なのは、銘柄選定の条件を自分で定義し、Pythonでデータを処理し、ChatGPTで条件設計・検証・改善を補助しながら、自分だけの銘柄探索エンジンを作ることです。

投資で強い人は、銘柄を偶然見つけているのではなく、見つけるための型を持っています。例えば「業績が伸びているのにまだ株価が本格的に評価されていない銘柄」「出来高が増え始めた直後の銘柄」「長期移動平均線を上抜けた銘柄」「営業利益率が改善している小型株」など、見るべき条件を明確にしています。この条件を毎日手作業で確認するのは大変ですが、Pythonを使えばかなりの部分を自動化できます。

この記事では、ChatGPTとPythonを使って日本株スクリーニングを自動化する具体的な考え方を、初歩から実践レベルまで解説します。単なるツール紹介ではなく、個人投資家が実際に使える「銘柄発掘の運用フロー」として設計していきます。

ChatGPTに銘柄を選ばせるのではなく、条件設計を手伝わせる

まず大前提として、ChatGPTに「今買うべき日本株を教えて」と聞く使い方は、投資判断としては粗すぎます。AIは便利ですが、リアルタイムの株価、最新決算、需給、板情報、開示資料の細部まで常に完全に把握しているわけではありません。また、投資判断を丸投げすると、自分のリスク許容度や投資期間と合わない銘柄を選んでしまう可能性があります。

正しい使い方は、ChatGPTを「銘柄を選ぶ人」ではなく「条件を整理し、コードを作り、分析視点を増やす補助者」として使うことです。たとえば、次のような使い方が実用的です。

  • 成長株を探すために必要な財務条件を整理する
  • 高配当株を選ぶときに除外すべき危険サインを洗い出す
  • Pythonで株価データを読み込み、移動平均線を計算するコードを作る
  • スクリーニング結果をランキング化する評価ロジックを考える
  • 抽出された銘柄を決算、需給、チャートの観点でチェックする項目を作る

つまり、ChatGPTは投資判断そのものではなく、投資プロセスの標準化に使うべきです。これは会社でいえば、優秀なアシスタントに調査表や分析テンプレートを作らせるようなものです。最終判断は投資家本人が行いますが、その前段階の作業効率と分析の抜け漏れを大きく改善できます。

日本株スクリーニングで最初に決めるべき4つの軸

自動化を始める前に、何を基準に銘柄を探すのかを決める必要があります。ここが曖昧なままPythonを書いても、意味の薄いランキング表ができるだけです。日本株スクリーニングでは、最低限次の4つの軸を分けて考えると実用性が高くなります。

1. 成長性

成長性は、売上高、営業利益、純利益、EPSなどが伸びているかを見る軸です。特に中小型株では、売上だけが伸びていて利益が出ていない企業より、売上と利益が同時に伸びている企業のほうが投資対象として扱いやすくなります。例えば、売上高成長率が前年比10%以上、営業利益成長率が前年比15%以上、営業利益率が改善傾向という条件を設定できます。

2. 割安性

割安性は、PER、PBR、配当利回り、EV/EBITDA、ネットキャッシュ比率などで判断します。ただし、低PERだから買うという単純な考え方は危険です。業績が落ち込む直前の企業は一見低PERに見えることがあります。自動スクリーニングでは、低PERと利益成長を同時に満たす銘柄を探すなど、複数条件を組み合わせることが重要です。

3. 需給

需給は、出来高、信用買い残、信用売り残、機関投資家の空売り、株主構成、浮動株比率などに関係します。個人投資家が日常的に扱いやすいのは出来高です。例えば、直近5日平均出来高が過去60日平均出来高の2倍以上になった銘柄は、何らかの材料や資金流入が起きている可能性があります。

4. トレンド

トレンドは、株価が上向きか下向きかを確認する軸です。代表的には、25日移動平均線、75日移動平均線、200日移動平均線、年初来高値、52週高値、ブレイクアウトなどを使います。業績が良くても株価が長期下落トレンドにある銘柄は、買いのタイミングが難しくなります。逆に、業績改善と株価上昇トレンドが重なる銘柄は、投資候補として優先度が上がります。

まず作るべきスクリーニング条件の基本形

最初から複雑なモデルを作る必要はありません。むしろ、最初はシンプルな条件のほうが使いやすく、改善もしやすいです。以下は、日本株の中から「業績改善と株価トレンドが両立している銘柄」を探すための基本条件例です。

  • 時価総額:100億円以上3000億円以下
  • 売上高成長率:前年比5%以上
  • 営業利益成長率:前年比10%以上
  • 営業利益率:前年より改善
  • PER:5倍以上35倍以下
  • 直近株価:75日移動平均線より上
  • 25日移動平均線:75日移動平均線より上
  • 直近5日平均出来高:過去60日平均出来高の1.3倍以上

この条件の狙いは、すでに市場から完全に見放された銘柄でもなく、過熱しすぎた超人気株でもなく、業績と株価の両面で変化が出始めている銘柄を抽出することです。ポイントは、財務だけでもチャートだけでもなく、両方を同時に見ることです。

投資初心者がやりがちな失敗は、条件を一つだけ見て判断することです。PERが低いから買う、配当利回りが高いから買う、チャートが上がっているから買う、という単独判断は危険です。スクリーニングでは、複数の条件を重ねることで、明らかに条件の悪い銘柄を除外できます。

Pythonで自動化するデータ処理の流れ

Pythonで日本株スクリーニングを行う場合、基本的な流れは次のようになります。

  1. 銘柄リストを用意する
  2. 株価データを取得または読み込む
  3. 財務データを取得または読み込む
  4. 移動平均線や出来高倍率を計算する
  5. 財務条件とテクニカル条件で絞り込む
  6. スコアを付けてランキング化する
  7. CSVやExcelに出力する
  8. 候補銘柄を人間が確認する

この流れを一度作ってしまえば、次回以降はデータを更新して実行するだけで、同じ基準の銘柄リストを作れます。これが自動化の最大の価値です。毎回違う気分で銘柄を探すのではなく、同じ基準で市場を観察できます。

なお、データ取得については、利用するサービスやデータベースによって方法が変わります。証券会社のスクリーニング結果をCSVで出力する方法、株価データをCSVで管理する方法、公開データを加工する方法などがあります。重要なのは、最初から完璧なデータ環境を作ろうとしないことです。まずは手元のCSVファイルをPythonで読み込んで条件判定するだけでも、十分に実用的な第一歩になります。

ChatGPTに依頼するプロンプト例

ChatGPTを使う場合、曖昧な依頼ではなく、具体的な条件を伝えるほど実用的な出力が得られます。例えば、次のような依頼が使えます。

「日本株のスクリーニング用に、売上成長率、営業利益成長率、PER、PBR、出来高倍率、25日移動平均線、75日移動平均線を使って、成長性・割安性・需給・トレンドをスコア化するPythonコードを作ってください。入力はCSV、出力もCSVにしてください。」

このように、入力形式、使う指標、出力形式を明確にすると、ChatGPTはコード作成の補助として使いやすくなります。さらに、「初心者でも修正しやすいように関数を分けてください」「欠損値がある場合は除外してください」「ランキング上位30銘柄だけ出力してください」といった条件を追加すると、実際の運用に近づきます。

また、コードが動かなかった場合も、エラー文をそのままChatGPTに貼り付けることで、原因の切り分けができます。Pythonに慣れていない投資家にとって、このデバッグ補助は非常に大きなメリットです。

実践例:スコアリングで銘柄を順位付けする

スクリーニングでは、条件に合うか合わないかだけでなく、候補銘柄に順位を付けると使いやすくなります。例えば、以下のような配点を設定できます。

  • 売上高成長率が高いほど最大20点
  • 営業利益成長率が高いほど最大25点
  • 営業利益率が改善していれば15点
  • PERが適正範囲なら10点
  • 株価が75日移動平均線を上回っていれば10点
  • 25日移動平均線が75日移動平均線を上回っていれば10点
  • 出来高倍率が高ければ最大10点

合計100点満点にすると、ランキングとして見やすくなります。例えば、A社は営業利益成長率が高く、出来高も急増しているため82点。B社は割安だが出来高が少なく、トレンドも弱いため56点。C社は成長性は普通だが、株価が高値圏で出来高も増えているため71点。このように点数化すると、感覚だけでなく比較可能な形で銘柄を見られます。

もちろん、点数が高い銘柄が必ず上がるわけではありません。スコアリングは買い判断ではなく、調査優先順位を決めるための仕組みです。ここを誤解しないことが重要です。自動抽出された銘柄は、あくまで候補です。その後に決算短信、有価証券報告書、株価位置、材料、流動性、需給を確認して初めて投資判断に進めます。

スクリーニング後に必ず確認すべきチェック項目

自動化されたスクリーニングは便利ですが、抽出結果をそのまま買うのは危険です。特に日本株では、一時的な特別利益、低流動性、材料出尽くし、決算後の急落、信用買い残の重さなど、数字だけでは見えにくい要素があります。抽出後には、少なくとも次の項目を確認してください。

決算の質

営業利益が伸びていても、その理由が一時的な価格転嫁なのか、継続的な需要増なのかで意味が変わります。売上が伸びずに利益だけ伸びている場合は、コスト削減効果が一巡すると成長が止まる可能性があります。逆に、売上、営業利益、営業利益率が同時に改善している場合は、事業構造が良くなっている可能性があります。

流動性

出来高が極端に少ない銘柄は、買いたいときに買えず、売りたいときに売れないリスクがあります。小型株を狙う場合でも、最低限の売買代金は確認すべきです。特に成行注文で大きく価格が動く銘柄は、スプレッドコストが実質的な損失になります。

株価位置

好業績でも、すでに株価が急騰した後ではリスクが高くなります。年初来高値を更新している銘柄は強い一方で、短期的には利確売りが出やすいこともあります。買う場合は、ブレイク直後なのか、押し目なのか、すでに過熱しているのかを分けて考える必要があります。

信用需給

信用買い残が急増している銘柄は、将来の売り圧力を抱えている可能性があります。一方で、空売りが積み上がっている銘柄は、材料次第で踏み上げが起きることもあります。信用需給は万能ではありませんが、短中期の値動きを考えるうえでは無視できません。

個人投資家向けのオリジナル運用フロー

ここからは、実際に個人投資家が使いやすい運用フローを提案します。ポイントは、毎日すべての銘柄を細かく分析しないことです。自動化の目的は、見るべき銘柄を絞り込むことにあります。

月曜日:全市場スクリーニング

週初に、全上場銘柄を対象にスクリーニングを実行します。条件は、成長性、割安性、トレンド、出来高の4軸です。ここで上位50銘柄程度を抽出します。抽出された銘柄は、すぐに買うのではなく、監視リストに入れます。

火曜日から木曜日:候補銘柄の深掘り

上位50銘柄のうち、気になる10銘柄程度を詳しく調べます。決算短信、説明資料、過去数年の業績、セグメント別売上、株価チャート、出来高推移を確認します。この段階で「数字は良いが事業内容が理解できない銘柄」は除外します。理解できない銘柄を無理に買う必要はありません。

金曜日:投資候補の整理

週末前に、翌週以降に監視する銘柄を5銘柄程度に絞ります。買う価格帯、損切りライン、決算予定日、材料の有無を整理します。ここで初めて、エントリー候補として扱います。

月末:条件の見直し

月末には、抽出条件そのものを見直します。抽出銘柄が多すぎる場合は条件を厳しくし、少なすぎる場合は条件を緩めます。上昇した銘柄と失敗した銘柄を比較し、どの条件が有効だったかを確認します。これを繰り返すことで、自分のスクリーニングモデルが育っていきます。

避けるべき自動化の失敗パターン

ChatGPTとPythonを使うと、いかにも高度な投資システムが作れそうに見えます。しかし、実際には失敗パターンも多くあります。特に注意すべきなのは次の3つです。

条件を増やしすぎる

最初から20個も30個も条件を入れると、なぜ銘柄が抽出されたのか分からなくなります。条件が多いほど精度が上がるとは限りません。むしろ、売上成長、利益成長、トレンド、出来高のように、意味のある少数の条件から始めるほうが改善しやすいです。

過去データに合わせすぎる

バックテストで過去にうまくいった条件を探すことは有効ですが、過去に最適化しすぎると将来に通用しないモデルになります。例えば、特定の期間だけ異常に強かった条件を採用すると、相場環境が変わった瞬間に機能しなくなります。条件はシンプルで、投資理論として説明できるものに限定するべきです。

数字だけで事業を見ない

スクリーニングは数字で銘柄を絞る手段ですが、投資対象は企業です。業績が伸びている理由、競争優位性、顧客基盤、業界構造、経営者の資本政策を見なければ、数字の背景を理解できません。自動化は企業分析を省略するためではなく、企業分析に進む候補を効率よく見つけるために使います。

小型株スクリーニングで特に効く視点

日本株では、大型株よりも中小型株のほうが情報格差が残りやすい場合があります。すでに多くのアナリストが見ている大型株は、好材料が比較的早く株価に反映されます。一方、小型株では、業績改善が始まっていても市場に十分認識されていないケースがあります。

小型株をスクリーニングする場合は、時価総額、流動性、利益成長、営業利益率改善を重視すると実用的です。例えば、時価総額50億円以上500億円以下、直近四半期で営業利益が前年同期比20%以上増加、営業利益率が前年同期比で改善、直近出来高が増加、株価が75日移動平均線を上回る、という条件です。

この条件は、まだ大型機関投資家が本格的に入る前の変化を捉えることを狙います。ただし、小型株は値動きが荒く、流動性も低いため、ポジションサイズを抑える必要があります。スクリーニングで見つけた銘柄ほど魅力的に見えますが、1銘柄に資金を集中させるのは避けるべきです。

高配当株スクリーニングにも応用できる

ChatGPTとPythonによる自動化は、成長株だけでなく高配当株にも応用できます。ただし、高配当株の場合は利回りの高さだけでなく、減配リスクを避ける条件を入れることが重要です。

例えば、配当利回り3%以上、配当性向70%以下、営業キャッシュフローがプラス、自己資本比率30%以上、過去数年で極端な赤字がない、という条件を設定します。さらに、株価が長期下落トレンドにある銘柄を除外するため、株価が200日移動平均線を大きく下回っている銘柄は慎重に扱います。

高配当株投資で危険なのは、株価下落によって見かけの利回りだけが高くなっている銘柄です。自動スクリーニングでは、利回りが高い銘柄を拾うだけでなく、財務安全性とキャッシュフローを同時に確認する設計にする必要があります。

ChatGPTとPythonで作るべき最終成果物

実際の運用では、Pythonの出力結果を見やすいCSVやExcelにすることが重要です。おすすめの列は次の通りです。

  • 銘柄コード
  • 銘柄名
  • 市場区分
  • 業種
  • 時価総額
  • 売上高成長率
  • 営業利益成長率
  • 営業利益率
  • PER
  • PBR
  • 配当利回り
  • 25日移動平均線との乖離率
  • 75日移動平均線との乖離率
  • 出来高倍率
  • 総合スコア
  • 確認メモ

特に「確認メモ」の列を作ると、単なる一覧表ではなく、自分の投資ノートとして使えるようになります。例えば、「営業利益率改善は価格転嫁が要因」「決算後に出来高急増」「信用買い残が多く短期は重い」「次回決算前の値動きに注意」などを記録します。このメモが蓄積されると、自分だけの銘柄データベースになります。

投資判断に使う前の現実的なルール

自動化したスクリーニングを投資判断に使う場合、ルールを明確にする必要があります。例えば、スコア80点以上でも、決算直前は新規買いを控える。出来高が少ない銘柄は投資金額を通常の半分にする。株価が短期間で30%以上上昇した銘柄は、押し目を待つ。損切りラインを事前に決める。こうした運用ルールがなければ、せっかく自動化しても感情的な売買に戻ってしまいます。

特に重要なのは、スクリーニング結果を「買いリスト」ではなく「調査リスト」として扱うことです。自動抽出は入口にすぎません。そこから、事業内容、決算内容、株価位置、リスク要因を確認し、自分の投資戦略に合う銘柄だけを選ぶ必要があります。

この手法が向いている投資家

ChatGPTとPythonによる日本株スクリーニング自動化は、すべての投資家に必要なものではありません。短期の値動きだけを見て売買する人や、個別株ではなくインデックス投資だけを行う人には、過剰な仕組みになる場合があります。

一方で、個別株を継続的に探したい人、成長株や小型株に興味がある人、決算後の変化を追いたい人、自分の投資判断を記録して改善したい人には非常に相性が良いです。特に、毎回SNSやニュースに振り回されて銘柄を探している人ほど、スクリーニングの仕組み化による効果は大きくなります。

まとめ:銘柄発掘力は自動化で強化できる

ChatGPTとPythonを使った日本株スクリーニングの自動化は、個人投資家にとって強力な武器になります。ただし、その本質は「AIに銘柄を選ばせること」ではありません。自分の投資方針を条件化し、Pythonで市場全体を効率よく確認し、ChatGPTで設計や改善を補助することにあります。

最初は、売上成長、営業利益成長、PER、移動平均線、出来高倍率といった基本指標だけで十分です。重要なのは、同じ条件で継続的に市場を見ることです。継続して使うことで、どの条件が機能しやすいのか、どの条件がノイズになりやすいのかが分かってきます。

投資で差がつくのは、派手な情報を知っているかどうかではなく、良い銘柄を見つける作業をどれだけ再現性のある形にできるかです。ChatGPTとPythonは、その再現性を高めるための実用的な道具です。銘柄探しを勘と偶然に任せるのではなく、自分専用のスクリーニングシステムとして仕組み化することで、投資判断の質は確実に上げやすくなります。

コメント

タイトルとURLをコピーしました