オープンソースの 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:20 | portfolio-sync | スプレッドシート → portfolio.json 同期 |
| 毎時:30 | news-auto-collect | 保有銘柄関連ニュースを自動収集 |
| 7:00 | morning-start | 翌日決算があれば通知 |
| 10:00 | portfolio-alert-am | 3%以上変動でアラート |
| 14:30 | portfolio-alert-pm | 3%以上変動でアラート |
| 17:00 | earnings-report | 当日決算発表の結果報告 |
| 土曜 10:00 | weekly-portfolio-image | 週次損益レポート画像 |
実装パターン
1. マスターデータ管理
Google スプレッドシートに以下のカラムを用意します。
- 銘柄名(表示用)
- コード(日本株は 4 桁、米国株はティッカー)
- 株数(保有株数)
- 取得単価(平均取得単価)
「人間が編集しやすい UI」としてスプレッドシートを選択し、JSON ファイルの直接編集は不要にしています。
2. 株価アラート
平日 10:00 と 14:30 に実行。処理フローは以下の通りです。
- Yahoo Finance API で現在値を取得
- 前日終値との変動率を計算
- 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 の力を借りる設計パターンは、投資以外の定期監視タスクにも応用できるでしょう。