AIを使って株式投資をするためのツールを作っています。
対象銘柄をまとめてチェックして、買いタイミングと判定された銘柄だけを一覧で表示する機能をAIに作ってもらいました。

しかし、実際に使ってみると、対象銘柄の範囲の拡大と結果の保存機能がほしくなったので、機能の追加を行いました。
実装する機能
一つ目は、買い対象銘柄を探す範囲を広げること。
前回は225銘柄を対象にしていましたが、本来はもっと広い範囲から探したいです。
東証プライム全銘柄くらいの範囲から探したいです。
二つ目は、スキャン結果の保存です。
前回の状態では、スキャン結果はその場で表示されるだけで、後から見返すことができませんでした。
私は会社員なので、日中にずっと相場を見ていることはできません。
夜にスキャンを実行しておき、翌日に結果を見返す。
この使い方ができるようになると、かなり実用性が上がります。
今回は、この二つの課題をAIに修正してもらいました。
AIへの指示
今回、AIに最初に伝えた内容は以下です。
下の課題を解決するためのプランを考えてください
1つ目は、銘柄リストです。
今回は225銘柄を使っていますが、本来はTOPIX500など、もっと広い範囲から探したいです。
そのためには、銘柄リストの取得方法を整える必要があります。2つ目は、結果の保存です。
現状では、スキャン結果はその場で表示されるだけで、後から見返すことはできません。
そのため、毎回スキャンし直す必要があります。ここは、判定日時と一緒に結果を保存して、あとから確認できるようにしたいと考えています。
例えば、夜にスキャンを実行しておいて、翌日に候補銘柄をチェックする、という使い方もできるようになります。
いきなり実装をお願いするのではなく、Planモードにてプランを考えてもらっています。
いきなり作ってもらうと、AIが勝手に前提を決めて進めてしまうことがあります。
今回も、どの範囲の銘柄を対象にするのか、結果をどこに保存するのかをAIから確認されました。
そこで私は、対象は東証プライム全銘柄、保存先はサーバー側のJSONファイルと回答しています。
AIの調査結果
AIは最初に、既存のコードを調べてくれました。
調査した内容は、現在の銘柄リストがどこで管理されているか、スキャン処理がどのように動いているか、結果がどこに保存されているかです。
調査の結果、いくつか判明したことがありました。
まず、TOPIX500用のファイルは存在していましたが、実際には約225銘柄しか入っていない。
次に、スキャン結果はフロントエンドの状態として持っているだけ。
つまり、画面をリロードしたり、アプリを閉じたりすると結果が消えてしまいます。
さらに、バックエンド側にもデータベースやファイル保存の仕組みはありませんでした。
この調査によって、今回直すべき場所がはっきりしました。
- 銘柄リストは、JPXの公開データから東証プライム銘柄を取得して、設定ファイルとして保存する。
- スキャン結果は、バックエンド側でJSONファイルとして保存し、履歴として見返せるようにする
この結果をもとにどのように実装するかの方針を決めていました。
AIが実装した結果
AIが実装した内容は、大きく二つです。
一つ目は、東証プライム銘柄リストを作成する仕組みです。
二つ目は、スキャン結果の保存です。
今回の結果として、この二つの課題はかなり改善できました。
銘柄リストについては、東証プライム全銘柄を対象にできるようになりました。
結果の保存についても、スキャン結果をサーバー側のJSONファイルとして保存し、履歴ページから見返す構成ができました。これで、夜にスキャンを実行して、翌日に候補銘柄を確認する流れに近づきました。
前回は、買い対象銘柄を探す機能を作っただけでした。
今回は、その機能を日常的に使える形に近づける改善だったと思います。
東証プライム全銘柄への拡張
今回の改善で対象銘柄が225銘柄から1,575銘柄に増えました。
JPXが公開しているExcelファイルから東証プライム銘柄を取得し、configs/prime.yaml に保存するスクリプトを作成しました。そして、アプリ側では prime.yaml を優先して読み込むように変更しました。
1,575銘柄が configs/prime.yaml に書き出されました。
これで、前回の225銘柄からかなり対象範囲を広げることができました。
スキャン結果を保存できるようにした
もう一つの改善は、スキャン結果の保存です。
バックエンド側では、スキャン結果を保存するためのAPIを追加しました。
スキャン結果を保存するAPI、スキャン履歴を取得するAPI、特定のスキャン結果を取得するAPIです。
フロントエンド側では、スキャン完了後に自動で結果を保存する処理を追加しました。
さらに、スキャン履歴を見るためのページも作成されました。
これで、夜にスキャンしておき、あとから結果を見返す使い方ができるようになります。
保存先は、サーバー側のJSONファイルです。
本格的にやるならデータベースを使う選択肢もあります。
AIの判断として、指示がない限り、いきなり複雑な仕組みにするより、シンプルに保存できる状態を作る方を優先して実装している感じがしました。
まとめ
今回は、AIで作っている株式投資ツールの改善を行いました。
前回の課題だった、銘柄リストの範囲とスキャン結果の保存を修正しました。
銘柄リストは、JPXの公開データから東証プライム銘柄を取得し、1,575銘柄まで広げることができました。
スキャン結果は、サーバー側にJSONとして保存し、履歴として見返せるようにしました。
今回の改善で、株式投資ツールはかなり実用に近づいてきたと思います。
ただし、まだ完成ではありません。
スキャン結果を保存できるようになったことで、次は過去の結果を比較したり、候補銘柄の変化を追ったりしたくなると思います。
使ってみて、不便なところを見つけて、またAIに作らせることで機能の実装に入っていきたいと思います。

