AI株価予想アプリをv1.9へ改善|10銘柄だけでは予想にならなかった話
AI株価予想アプリ「AIStockLab」を開発しながら、予想結果や答え合わせの仕組みを少しずつ改善しています。
これまで、AIStockLabでは注目銘柄をスクリーニングし、AIが分析コメントを出し、数営業日後に答え合わせする流れを作ってきました。
ただ、v1.3の結果を見直していて、大きな問題に気づきました。
それは、予想対象として検討していた銘柄数が少なすぎたことです。
実質的に10銘柄程度しか候補を見ていない状態では、「AIが日本株全体から有望銘柄を発掘した」とは言えません。
そこで、AIStockLab v1.9では、スクリーニング対象銘柄を大幅に拡張する方針に変更しました。
この記事では、v1.3で見つかった問題点と、v1.9で行った改善方針を整理します。
v1.3で見つかった問題
AIStockLab v1.3では、配信用に使える形で、注目銘柄、AIコメント、答え合わせ用の出力などを整えていました。
見た目としては、予想アプリらしい形になっていました。
しかし、実際のスクリーニング対象を確認すると、候補銘柄数がかなり少ない状態でした。
特に問題だったのは、最初から固定された少数の銘柄だけを見ていたことです。
10銘柄程度を評価して、その中から上位候補を出すだけでは、配信や投資研究としては不十分です。
株価予想アプリで本当に重要なのは、限られた有名銘柄だけを見ることではありません。
多数の銘柄を広く見たうえで、その中から条件に合う銘柄を抽出することです。


10銘柄だけでは「発掘」にならない
10銘柄だけを見て、その中から良さそうな銘柄を選ぶことはできます。
ただ、それは厳密にはスクリーニングというより、限られたリストの中での比較です。
日本株には、東証プライムだけでも多くの銘柄があります。
その中には、日々の値動き、出来高、テーマ性、セクターの強弱によって、短期的に注目できる銘柄が変わっていきます。
それなのに、最初から10銘柄しか見ていないと、本当に良い候補を見逃す可能性が高くなります。
たとえば、半導体、AI、電力、商社、金融、医薬品、内需、小型成長株など、相場の中心テーマは時期によって変わります。
固定された10銘柄だけを監視していては、こうした変化に対応できません。
AI株価予想アプリとして必要なのは、少数銘柄の比較ではなく、広い母集団からの発掘です。
v1.9での改善方針
この問題を踏まえて、AIStockLab v1.9では、まずスクリーニング対象銘柄を大幅に増やす方針にしました。
目標は、最低でも1,000銘柄以上を対象にすることです。
最終的には、東証プライム全体、可能であれば日本株の主要市場全体を対象にできる構成を目指します。
そのために、固定の10銘柄リストに依存するのではなく、銘柄ユニバースをCSVで管理できるようにします。
具体的には、以下のようなファイルを用意します。
data/universe/japan_stocks.csv
このCSVに、スクリーニング対象となる銘柄情報を登録します。
項目は以下のような形です。
ticker,name,market,sector,theme
6857.T,Advantest,Prime,Semiconductors,semiconductor testing
6146.T,DISCO,Prime,Semiconductors,semiconductor equipment
8035.T,Tokyo Electron,Prime,Semiconductors,semiconductor equipment
このように、銘柄コードだけでなく、銘柄名、市場、セクター、テーマも持たせることで、あとから分析や配信にも使いやすくなります。
最低1,000銘柄以上を対象にする
v1.9で重視したのは、まず母集団を広げることです。
候補銘柄が10件しかない状態では、AIがどれだけコメントを書いても、選択肢が狭すぎます。
そこで、最低でも1,000銘柄以上を登録または取得できる構成に変更します。
最初はCSVで管理し、将来的には東証プライム全体や日本株主要市場全体へ拡張します。
対象銘柄が増えれば、以下のような分析がしやすくなります。
- セクター別の強弱
- テーマ別の候補抽出
- 出来高急増銘柄の発見
- 短期モメンタム銘柄の抽出
- リスクの高い銘柄の除外
- スコア上位銘柄の比較
- 過去予想との答え合わせ
つまり、AI株価予想アプリとして、ようやく「発掘」に近づきます。
固定10銘柄リストに依存しない
今回の改善で重要なのは、固定10銘柄リストに依存しないことです。
固定リストは、テストや初期開発には便利です。
少数銘柄だけなら、処理も軽く、動作確認もしやすいです。
しかし、そのまま本番の予想や配信用に使うと、候補が偏ります。
v1.9では、固定リストはあくまで開発用・テスト用にとどめ、実際のスクリーニングでは銘柄ユニバースを読み込む構成にします。
これにより、対象銘柄数を増やしても、仕組みとして対応しやすくなります。
tickerはyfinanceで取得できる形式にする
もう一つ重要なのが、tickerの形式です。
株価データを取得するには、銘柄コードがデータ取得ライブラリで扱える形式になっている必要があります。
日本株の場合、yfinanceでは .T を付けた形式を使います。
たとえば、
6857.T
6146.T
8035.T
のような形です。
この形式でCSVに登録しておくことで、株価データ取得、スクリーニング、AIコメント生成、答え合わせまでの流れを自動化しやすくなります。
銘柄数を増やすだけでは不十分
ただし、対象銘柄を増やすだけでは不十分です。
1,000銘柄以上を対象にすると、当然ながらノイズも増えます。
出来高が少ない銘柄、データ不足の銘柄、値動きが荒すぎる銘柄、短期的に過熱している銘柄も含まれます。
そのため、銘柄ユニバースを広げたうえで、以下のような除外条件やスコアリングが必要になります。
- データ不足銘柄を除外する
- 出来高が少なすぎる銘柄を除外する
- 異常値を除外する
- トレンドを評価する
- モメンタムを評価する
- 出来高変化を評価する
- リスクを評価する
つまり、母集団を広げたうえで、スクリーニングの質を上げる必要があります。
配信用コラムに市場概況を追加する
v1.9では、スクリーニング対象銘柄の拡張に加えて、配信用コラムにも改善を入れます。
具体的には、毎回の配信コラムに以下の市場概況を必ず入れる方針です。
- 日経平均
- NASDAQ
- ダウ平均
AI株価予想では、個別銘柄だけを見ても不十分です。
市場全体が強い日と弱い日では、個別銘柄の結果も変わります。
たとえば、日本株が強くても、NASDAQが大きく下げていれば半導体関連に影響が出るかもしれません。
ダウ平均が弱い場合、景気敏感株や大型株の見方も変わる可能性があります。
そのため、配信用コラムでは、個別銘柄のスコアだけでなく、相場全体の地合いも簡単に確認できるようにします。
なぜ市場概況が必要なのか
AIが銘柄を選ぶとき、個別株の指標だけを見ると、相場全体の流れを見落とすことがあります。
たとえば、ある銘柄のトレンドやモメンタムが良くても、市場全体が急落している局面では、その銘柄も影響を受ける可能性があります。
逆に、相場全体が強い局面では、個別銘柄の上昇が市場全体の追い風によるものなのか、その銘柄固有の強さなのかを分けて考える必要があります。
そのため、配信コラムには市場概況を入れます。
日経平均、NASDAQ、ダウ平均の概要を入れることで、読者がその日の相場環境を理解しやすくなります。
v1.9で目指す出力
v1.9で目指すのは、次のような出力です。
まず、広い銘柄ユニバースから候補を抽出します。
そのうえで、
- 対象銘柄数
- 評価できた銘柄数
- 除外された銘柄数
- スコア上位銘柄
- AIコメント
- 市場概況
- 答え合わせ用ログ
を出力できるようにします。
これにより、単に「AIが選んだ10銘柄」ではなく、どれだけの母集団から選ばれたのかが明確になります。
これは、配信や検証においてかなり重要です。
予想アプリとしての信頼性を上げる
今回の修正で大事なのは、予想の見せ方ではなく、予想の前提を改善することです。
AIコメントがどれだけ自然でも、対象銘柄が少なすぎれば意味が弱くなります。
逆に、広い母集団から条件に合う銘柄を抽出し、その結果を記録し、あとから答え合わせできれば、AI株価予想アプリとしての信頼性は上がります。
v1.9では、以下を重視します。
- 対象銘柄数を増やす
- 固定10銘柄に依存しない
- 最低1,000銘柄以上を対象にする
- 東証プライム全体へ拡張できる構成にする
- 市場概況を配信コラムに入れる
- 答え合わせで検証できる形にする
この方向に修正することで、AIStockLabは単なるデモではなく、実際に検証できる株価予想アプリに近づきます。
今回の反省点
今回の一番大きな反省点は、画面や出力がそれっぽく見えていても、裏側の母集団が小さすぎると予想としては弱いということです。
10銘柄だけを見ている状態でも、AIコメントやスコアは作れます。
しかし、それは本当に株式市場から有望銘柄を探しているとは言えません。
AI株価予想アプリで重要なのは、AIの文章力だけではありません。
どの銘柄を対象にしているのか。
どれだけ広く見ているのか。
どの条件で絞り込んでいるのか。
あとから検証できるのか。
この部分が重要です。
v1.9では、そこを改善します。
まとめ
AIStockLab v1.3では、配信用の出力やAIコメントは整ってきた一方で、スクリーニング対象銘柄が少なすぎるという問題がありました。
実質的に10銘柄程度しか見ていない状態では、日本株全体から有望銘柄を発掘する予想アプリとしては不十分です。
そこでv1.9では、スクリーニング対象を大幅に拡張します。
まずは最低1,000銘柄以上を対象にし、最終的には東証プライム全体、可能であれば日本株主要市場全体を対象にできる構成を目指します。
また、配信用コラムには日経平均、NASDAQ、ダウ平均の市場概況も入れる方針です。
AI株価予想アプリで大事なのは、予想を出すことだけではありません。
広い母集団から候補を抽出し、根拠を残し、あとから答え合わせすることです。
今回のv1.9への改善で、AIStockLabをより実用的な検証アプリに近づけていきます。
※この記事は、AIを使ったアプリ開発とデータ分析の記録です。特定の銘柄の売買をすすめるものではありません。投資判断はご自身の責任で行ってください。


