オープンソースの AI エージェント基盤 OpenClaw を使って、保有銘柄の株価アラート・決算通知・ニュース収集を自動化した実装事例を紹介します。Zenn の実践記事を元に、設計思想と実装パターンを整理しました。

個人投資家が抱える情報収集の課題

趣味で株式投資をしていると、以下の問題に直面します。

  • 受動的な情報取得 — 自分で証券アプリを開いて確認する必要があり、変動への気付きが遅れる
  • 情報の分散 — 株価、ニュース、決算情報が異なるサービスに散在
  • 文脈の欠如 — 「株価が3%下がった」という事実だけでは理由がわからない
  • 手動メンテナンス — 新規銘柄追加時に各サービスへの個別登録が必要

なぜ OpenClaw が向いているか

OpenClaw は Peter Steinberger 氏が開発したオープンソースの AI エージェント基盤です。以下の特徴が情報収集の自動化に適しています。

  • 常時起動・定期実行 — クラウド上で 24 時間稼働し、cron スケジューラーで定期タスクを実行できる
  • LLM による文脈理解 — 単純なアラートと異なり、「何が起きたか」だけでなく「なぜ起きたか」まで Web 検索で調べて報告できる
  • 柔軟な報告内容 — 自然言語でプロンプトに指示を書くだけで報告フォーマットをカスタマイズできる

アーキテクチャ全体像

設計の核は Single Source of Truth(信頼できる唯一の情報源) です。

Google スプレッドシート(マスターデータ)
  ↓ portfolio-sync(毎日 6:20)
portfolio.json ─→ interests.json
  ↓                    ↓
株価アラート        ニュース収集
決算通知            週次レポート

銘柄追加・削除時はスプレッドシートを更新するだけで、下流の全システム(ニュース収集、アラート、レポート)に自動反映されます。

cron ジョブ一覧

時刻ジョブ内容
6:20portfolio-syncスプレッドシート → portfolio.json 同期
毎時:30news-auto-collect保有銘柄関連ニュースを自動収集
7:00morning-start翌日決算があれば通知
10:00portfolio-alert-am3%以上変動でアラート
14:30portfolio-alert-pm3%以上変動でアラート
17:00earnings-report当日決算発表の結果報告
土曜 10:00weekly-portfolio-image週次損益レポート画像

実装パターン

1. マスターデータ管理

Google スプレッドシートに以下のカラムを用意します。

  • 銘柄名(表示用)
  • コード(日本株は 4 桁、米国株はティッカー)
  • 株数(保有株数)
  • 取得単価(平均取得単価)

「人間が編集しやすい UI」としてスプレッドシートを選択し、JSON ファイルの直接編集は不要にしています。

2. 株価アラート

平日 10:00 と 14:30 に実行。処理フローは以下の通りです。

  1. Yahoo Finance API で現在値を取得
  2. 前日終値との変動率を計算
  3. 3%以上変動していたら「ALERT」を出力

ポイント: ALERT 出力時のみ LLM が起動して Web 検索で理由を調べ、報告を生成します。これにより LLM の呼び出しコストを最小化しています。

3. 決算通知

決算カレンダー(earnings-calendar.json)を参照して 2 段階で通知します。

  • 朝 7:00 — 翌日に決算発表がある銘柄を事前通知
  • 夕方 17:00 — 当日決算発表があった銘柄の結果を報告

決算カレンダーは日曜日のバッチ処理で自動更新されます。

4. ニュース収集

LLM を使わずにシェルスクリプトで収集するのが特徴です。

  • Brave Search API を直接叩いてニュースを取得
  • キーワードマッチングもシェルで処理
  • LLM が関与するのは「どの記事を報告するか」「どう要約するか」の判断部分だけ

毎時収集でも API コストが発生しない設計です。報告タイミングは固定せず、朝の挨拶時や会話の流れで「関連ニュースがあります」と自然に報告できるのが LLM の強みです。

5. 週次レポート

毎週土曜日に、ポートフォリオ全体の損益状況を Typst で画像生成して送信します。

  • 各銘柄の評価額、損益、損益率
  • 日本株・米国株の小計
  • 今週のポイント(大きく動いた銘柄の理由など)

テキストより視覚的にわかりやすく、一目で週間動向を把握できます。

設計のポイント

シェルスクリプトと LLM の役割分担

処理担当理由
データ取得・閾値判定シェルスクリプト確実・低コスト
理由の調査・報告文生成LLM判断・言語化が必要

「確実に動く必要がある処理」はシェルスクリプトに任せ、LLM は「判断や言語化が必要な部分」に限定するのが鍵です。

関心事の分離

  • スプレッドシート — 人間が編集しやすい UI
  • portfolio.json — 機械が読みやすい構造化データ
  • interests.json — ニュース収集エンジンとの連携

各層が独立しているため、一部変更時の影響を最小化できます。

まとめ

OpenClaw を活用することで、以下が実現できます。

  • 株価の大きな変動を自動検知し、理由付きで通知
  • 決算発表の事前通知と結果報告
  • 関連ニュースの自動収集と文脈付き報告
  • 週次での損益レポート自動生成

情報を「取りに行く」から「届く」に変えるだけで、毎日の投資情報収集の手間が大幅に減ります。LLM のコストを抑えつつ、本当に必要な場面でだけ AI の力を借りる設計パターンは、投資以外の定期監視タスクにも応用できるでしょう。

参考リンク