プログラミング未経験から日本株AI投資支援ツールを作ってみた|ChatGPT×Python開発記録

プログラミング未経験から日本株AI投資支援ツールを作ってみた|ChatGPT×Python開発記録 AIツール

プログラミング未経験でも、ChatGPTを使いながら株式投資の分析ツールを作れるのか。

私は現在、実際に日本株を売買しながら、ChatGPTとPythonを使った日本株の投資支援システムを個人で開発しています。

スタート時点ではプログラミングの知識はほぼなく、Pythonのコードを自分だけで一から書ける状態でもありませんでした。

それでも、ChatGPTにコードの意味やエラーの原因を確認しながら一つずつ機能を追加していくことで、現在では複数の日本株を取得し、移動平均線やRSI、出来高などを計算して銘柄をスコアリングするところまで進んでいます。

この記事では、プログラミング未経験の個人投資家が、どのように日本株AI投資支援ツールを作り始めたのか、実際の開発内容を紹介します。

なぜ日本株のAI投資支援ツールを作ろうと思ったのか

私は日本株では、主にデイトレードから数日程度のスイングトレードを行っています。

短期売買では、株価チャートだけでなく、

  • 決算
  • ニュース
  • 移動平均線
  • RSI
  • 出来高
  • 信用需給
  • 市場全体の動き

など、短時間で多くの情報を確認する必要があります。

ChatGPTを使えば、これらの情報を整理したり、売買シナリオを考えたりする時間をかなり短縮できます。

しかし、毎回複数銘柄のデータを手作業で確認してChatGPTに入力するのは効率的ではありません。

そこで考えたのが、

「株価データの取得や基本的な分析をPythonで自動化し、その結果をAIによる投資判断支援につなげられないか」

ということでした。

最初から完全自動売買を作るのではなく、

分析の自動化
↓
銘柄スクリーニング
↓
売買判断の支援
↓
バックテスト
↓
ペーパートレード
↓
半自動売買
↓
自動売買

という順番で少しずつ発展させる方針です。

プログラミング未経験から開発をスタート

開発には主に以下を使用しています。

  • Python
  • Visual Studio Code(VS Code)
  • GitHub
  • ChatGPT
  • 株価データ取得用ライブラリ

Pythonでプログラムを書き、VS Codeで編集し、GitHubで変更履歴を管理しています。

とはいえ、開始時点ではGitやGitHubについてもほとんど理解していませんでした。

そのため、一度に大きなシステムを作るのではなく、

「1つの機能を追加する」
↓
「実行して正常に動くことを確認する」
↓
「GitHubへ保存する」
↓
「次の機能へ進む」

という進め方にしています。

この方法なら、途中でエラーが発生しても、どの変更が原因だったのか追いやすくなります。

実際に開発してみた感想

まだ開発途中ではありますが、実際に始めてみると、本当に分からないことだらけでした。

例えば、

  • そもそもVS Codeの使い方が分からない
  • ターミナルでエラーが出ても、何のエラーなのか分からない
  • エラーがコードのどこで発生しているのか分からない
  • コード自体はChatGPTに作ってもらえても、どこに貼り付ければいいのか分からない
  • コピペしたコードのインデントがずれて、正常に動かない

といった、プログラミング経験者なら簡単に解決できそうなところでも何度も詰まりました。

そこで役立ったのが、VS Codeの画面をスクリーンショットして、そのままChatGPTに見せる方法です。

エラーが出たときにはターミナルの画面を見せて原因を確認し、コードを追加するときには「この画面のどこに貼り付ければいい?」と確認する。インデントが正しいか分からないときも、実際のコード画面を見てもらいながら一つずつ修正していきました。

個人的には、ここがプログラミング未経験者にとってChatGPTを使う大きなメリットだと感じています。

従来であれば、エラー文を検索して似た事例を探し、自分の状況に当てはめながら解決方法を探す必要があります。

ChatGPTの場合は、自分のVS Codeの画面をそのまま見せることで、「今、自分がどの状態にいるのか」を踏まえてピンポイントで確認できます。

もちろんChatGPTの回答が必ず正しいとは限りませんが、分からないことが出るたびに検索を繰り返すより、初心者の私にとってはかなり開発を進めやすくなりました。

ChatGPTにPythonコードのインデントや配置を確認している実際の開発画面

実際の開発中のやり取り。コードの位置やインデントが正しいか、ChatGPTに画面を見せながら一つずつ確認しました。

最初に株価データを取得する

最初の大きな目標は、日本株の株価データをPythonで取得することでした。

まず1銘柄の株価を取得し、正常にデータが表示されることを確認します。

いきなり大量の銘柄を分析するのではなく、

1銘柄取得
↓
指標を追加
↓
正常動作を確認
↓
複数銘柄へ拡張

という順番で進めました。

【VS Codeで株価データを取得している実際の画面】

移動平均線を自動計算する

株価を取得できたら、次にテクニカル指標を追加しました。

最初に実装した代表的なものが移動平均線です。

現在は、

  • 5日移動平均線
  • 25日移動平均線
  • 75日移動平均線

を計算しています。

これによって、現在株価が短期・中期・長期の移動平均線に対してどの位置にあるのかをプログラム上で確認できます。

人間がチャートを見ればすぐ分かることでも、複数銘柄を自動分析するためには、こうした情報を数値として扱えるようにする必要があります。

RSIを使って過熱感を判定する

次に追加したのがRSIです。

現在はRSI14を計算し、銘柄の過熱感を見るための材料として利用しています。

例えば、

  • RSIが30未満
  • RSIが40未満
  • RSIが70超

などの条件によって、銘柄のスコアを変化させる仕組みを作っています。

ただし、RSIが30を下回ったから自動的に「買い」、70を超えたから「売り」としているわけではありません。

実際のトレードでも、テクニカル指標を一つだけ見て売買すると危険です。

そのため、複数の条件を組み合わせて評価する仕組みを目指しています。

出来高もスコアリングに追加

株価の方向だけでなく、その値動きにどれくらい売買が伴っているかを見るため、出来高も分析対象にしました。

単純な出来高だけではなく、通常時と比較して現在の出来高がどれくらい増えているのかを見るために、出来高倍率を利用しています。

例えば、普段より大きく出来高が増えている銘柄なら、何らかの材料や投資家の注目が集まっている可能性があります。

こうした情報もスコアリングへ加えることで、単純な株価上昇だけでは判断しないようにしています。

移動平均線のゴールデンクロス・デッドクロスを判定

さらに、短期移動平均線と中期移動平均線の位置関係もプログラムで判定できるようにしました。

現在は5日移動平均線と25日移動平均線を比較し、

  • GOLDEN
  • DEAD
  • NEUTRAL

という形で状態を分類しています。

これによって、「チャートを見れば分かる情報」をデータとして扱えるようになります。

最終的には、こうした複数の指標を組み合わせて売買候補を絞り込むことが目的です。

1銘柄から20銘柄の分析へ

最初は1銘柄だけでテストしていましたが、現在は監視対象を複数銘柄へ拡張しています。

現在の仕組みでは、約20銘柄の株価データを取得し、それぞれについてテクニカル指標を計算して分析できます。

【実際にPythonを実行した分析結果】

実行結果では、各銘柄のテクニカル指標をもとにスコアを算出し、監視候補を絞り込む形にしています。これによって、

「20銘柄のチャートをすべて目視する」

のではなく、

「プログラムで候補を絞る」
↓
「気になる銘柄だけ詳しく確認する」

という流れを作ることができます。

短期売買では監視する銘柄が多くなりやすいため、この部分は実際のトレードでも活用できると考えています。

ChatGPTはプログラムを書くためだけに使っていない

この開発でChatGPTを使っている目的は、コードを生成することだけではありません。

例えば、

  • エラー原因の確認
  • コードの意味の説明
  • 次に追加する機能の検討
  • 分析ロジックの整理
  • ファイル構成の検討
  • GitHubへの保存手順
  • 動作確認方法

などにも利用しています。

プログラミング経験者なら自分で判断できることでも、初心者の場合は「次に何をすればいいのか」が分からなくなることがあります。

その部分をAIに確認しながら進められることは、プログラミング未経験者にとって大きなメリットだと感じています。

一方で、AIが生成したコードをそのまま追加するのではなく、必ず実行して正常に動作することを確認してから次へ進むようにしています。

実際の開発でも、エラーが出た画面をChatGPTに見せながら原因を確認し、コードを修正しています。プログラミング未経験でも、「エラーの確認→原因特定→修正→再実行」を繰り返すことで少しずつ開発を進められています。

現在できていること

現時点では、主に以下の機能まで実装しています。

  • 日本株の株価データ取得
  • 複数銘柄への対応
  • 移動平均線の計算
  • RSIの計算
  • 出来高倍率の計算
  • 移動平均線クロスの判定
  • 条件に応じた銘柄スコアリング
  • 流動性などを使った銘柄フィルタリング

まだ「AIが勝手に株を売買して利益を出すシステム」が完成しているわけではありません。

現在は、投資判断に必要な情報を自動で収集・整理し、人間が売買候補を選ぶための支援ツールという段階です。

最終目標は自動売買

今後は、現在作っている分析機能をさらに発展させます。

予定しているのは、

  • スコアリング精度の改善
  • 売買シグナルの作成
  • バックテスト
  • 売買ルールの検証
  • ペーパートレード
  • 証券APIとの連携
  • 半自動売買
  • 自動売買

などです。

特に重要だと考えているのがバックテストです。

テクニカル指標を組み合わせれば、それらしい売買ルールを作ること自体はできます。

しかし、そのルールが過去の相場で本当に有効だったのかを検証しなければ、実際の資金を投入することはできません。

最終的な運用イメージは、毎朝すべての銘柄を人間が確認するのではなく、プログラムが監視銘柄を絞り込み、売買候補とその理由を提示する形です。人間が最終判断する段階から始め、検証を重ねながら半自動・自動売買へ進めていく方針です。

まとめ:プログラミング未経験でもAIを使えば投資ツール開発は始められる

プログラミング未経験から日本株の投資支援システムを作り始めましたが、現在では株価取得から複数のテクニカル指標の計算、複数銘柄のスコアリングまで進めることができました。

もちろん、まだ完成したシステムではありません。

今後も機能追加と検証を繰り返しながら、実際のトレードで使える投資支援ツールを目指します。

KABU BUILDでは、完成したシステムだけを紹介するのではなく、プログラミング未経験の状態からどのように開発していったのか、失敗や修正も含めて公開していきます。

同じように「AIを使って投資ツールを作ってみたい」と考えている人が、自分でも試してみるための参考になるよう、実際の開発過程や、うまくいかなかった点も含めて順番に紹介していく予定です。

追記:その後、開発はどこまで進んだ?

この記事は、日本株AI投資支援ツールの開発を始めた初期段階の記録です。

当時は株価データの取得やテクニカル指標の計算、約20銘柄のスコアリングまででしたが、その後も開発を継続しています。

バックテストやリスク管理、仮想注文・約定、Paper Tradingに向けた検証など、実際の運用を想定した機能を少しずつ追加してきました。

開発の全体像と、これまでの記事は以下のページにまとめています。

→ 日本株AI自動売買ツール開発記録|未経験から実運用を目指すまで

コメント

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