株価予測を自動化する方法|GitHub ActionsとGoogle Sheets APIで構築

株価予測

はじめに|株価予測は「当てる技術」より「回す仕組み」が重要

株価予測という言葉には、どこか胡散臭さがあります。

「未来がわかるはずがない」

「どうせ後出しでしょ?」

「機械学習で儲かるなら皆やってる」

私もそう思っていました。

しかし、実際に自分でモデルを作り、運用してみて分かったことがあります。

重要なのは“予測精度”よりも“運用の再現性”である。

そこで私は、次の構成で株価予測パイプラインを構築しました。

  • 予測モデルはPythonで実装
  • GitHubにリポジトリ管理
  • GitHub Actionsで毎日自動実行
  • 予測リターン(%)を算出
  • Google Sheets APIでスプレッドシートへ自動書き込み
  • スプレッドシートを運用ダッシュボードとして活用

この記事では、その仕組みをすべて公開します。


全体アーキテクチャ

今回のシステムは、以下の構成です。

株価データ取得

特徴量生成

予測モデル実行

予測リターン(%)出力

GitHub Actions自動実行

Google Sheets API書き込み

スプレッドシートで可視化・運用

ポイントは、

  • 計算はすべてGitHub側
  • スプレッドシートは“表示と管理専用”

に分離している点です。


なぜGitHub Actionsで自動化したのか

ローカル実行では、必ず止まります。

  • PCを閉じる
  • 実行を忘れる
  • エラーに気づかない

投資で最も重要なのは継続性です。

GitHub Actionsを使うことで、

  • 毎日指定時刻に自動実行
  • ログ管理可能
  • 失敗時通知設定可能
  • バージョン管理できる

という環境を作れます。

個人投資家がここまでやる人は多くありませんが、

実装難易度は思っているほど高くありません。

予測モデルの基本設計

今回のアウトプットは

5日後の予測リターン(%)

です。

株価そのものを予測すると、スケールに引っ張られます。

銘柄価格が違えば、モデルの安定性も変わります。

そこで、リターン予測に統一しています。

なぜリターン予測なのか

  • スケール依存がない
  • 銘柄横断比較が可能
  • ポートフォリオ設計に直結

予測リターンが+2%なら、その銘柄は上昇期待が高い。

-1%なら期待値はマイナス。

シンプルですが、実用的です。

特徴量の例

  • 過去n日リターン
  • 移動平均乖離率
  • 出来高変化率
  • ボラティリティ
  • 高値安値レンジ

過度に複雑にはしていません。

重要なのは

データリークを防ぐこと

ウォークフォワード検証を行うこと

です。

未来の情報が混入すると、精度は簡単に“良く見える”からです。

主な特徴量例

  • 過去n日リターン
  • 移動平均乖離率
  • 出来高変化率
  • 価格モメンタム
  • 高値安値レンジ
  • ボラティリティ

GitHubリポジトリ構成例

/src
  model.py
  features.py
  predict.py
/data
/workflows
  daily_run.yml

daily_run.ymlでは、

  • Python環境構築
  • 必要パッケージインストール
  • 予測スクリプト実行

を行います。

これにより、毎日自動で予測リターンが生成されます。

Google Sheets APIでの書き込み

スプレッドシートへの書き込みは、

  • サービスアカウントを作成
  • JSONキーをSecretsに登録
  • API経由で更新

という流れです。

ここでの設計ポイントは、

  • 追記方式にするか
  • 上書き方式にするか

私は「追記+履歴保存」にしています。

これにより、

  • 過去予測
  • 実績との比較
  • 的中率計算

が可能になります。

スプレッドシートの設計

このような構成で株価を取得して、予測まで行います。
行方向は銘柄になります。


運用ルール

私は以下のルールを設定しています。

  • 決算発表日前後は除外
  • 予測リターンが一定以上のみ監視対象

閾値を設定しないと、予測は“ノイズ”になります。


検証結果

実際に運用しているスプレッドシートのコピーを公開しております。
指定した200銘柄に対して毎日定刻に最新株価情報を取得し、SQLファイルにデータを蓄積してます。最新のデータを過去のデータとマージして株価予測を実施しています。

スクレイピングの都合上うまく株価が取得できていない銘柄もいくつかありますが、おおよそ問題なくデータの蓄積ができており、データを元に株価分析ができております。

5日後の株価上昇予測をしており、パーセンテージが高いものに対して投資を進めていくような手法で短期投資を実践してます。

このデータを料理すれば予測がどれくらい精度よく計算できているかも確認することが可能です。(まだそこまでは実装できてないので今後やってく予定)

スプレッドシート


なぜスプレッドシートを使うのか

Pythonだけで完結も可能です。

しかしスプレッドシートには利点があります。

  • スマホで確認できる
  • 条件付き書式で直感的
  • ランキング表示が簡単
  • 過去検証が視覚的

スプレッドシートは「運用UI」として最適です。


この仕組みの強み

  1. 毎日自動更新
  2. 感情排除
  3. 再現性あり
  4. 改善し続けられる

投資において最も重要なのは、

継続可能な仕組み

です。


限界と課題

  • 突発ニュースは予測不能
  • 市場構造が変わるとモデルは崩れる
  • 過学習リスク

そのため、私は定期的に再学習・検証を行っています。


今後の改善予定

  • 銘柄スクリーニングの自動化
  • 因子分析の導入
  • LightGBMとのハイブリッド化
  • セクター別モデル化

改善は終わりません。


まとめ|個人投資家でも“自動化”は武器になる

今回構築したのは、

「未来を当てる魔法」ではありません。

再現性のある予測パイプライン

です。

  • GitHubで管理
  • Actionsで自動実行
  • Sheetsで可視化
  • ルールで運用

これにより、感情に左右されない投資が可能になります。

投資で最も怖いのは、

思いつきの判断

です。

仕組みで戦う。

それが、私がこのシステムを作った理由です。


最後に

もし、

  • スプレッドシートテンプレートが欲しい
  • GitHub Actions設定例が欲しい
  • 予測モデルの考え方を深掘りしたい

という方がいれば、今後別記事で解説します。

投資はギャンブルではありません。

設計できるものです。

shota_py

メーカー勤務のエンジニアです。 自分の趣味である、「電気回路」、「ガジェット」「株式投資」、「Python」に関する記事をつらつらと書いています

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


ABOUT US
shota_py
メーカー勤務のエンジニアです。 自分の趣味である、「電気回路」、「ガジェット」「株式投資」、「Python」に関する記事をつらつらと書いています