毎日株式分析:ウォッチリストを日次の意思決定ダッシュボードに変えるAIシステム

ZhuLinsenによるdaily_stock_analysisは、今もっともスター数の多いAI金融プロジェクトの一つで、Trendshiftでその日のPythonリポジトリ1位を獲得した。だが面白いのはスター数ではない。このプロジェクトが価格を予測するふりを拒んでいる、という点だ。代わりに、より狭く、はるかに有用な問題を解いている。すなわち、毎営業日、あなたのウォッチリストを受け取り、構造化された説明可能な分析レポートを生成する——そしてそれを、あなたが実際に物事を読む場所、つまりメッセンジャーへ届ける。
プロジェクト作者からの免責事項: 学習および研究目的のみ。投資助言ではない。市場にはリスクがある。
核心となる発想:ボットではなく、日次のアナリスト兼レポーター
たいていの「AIトレーディング」リポジトリは同じ幻想を追いかける。モデルに入れ、シグナルが出て、お金が増える。daily_stock_analysisは、より誠実な前提の上に作られている——投資で難しいのは、もう一つシグナルを生み出すことではなく、ある銘柄について完全で一貫した全体像を組み立て、それを毎日同じやり方で書き留めることだ。
そのため、これはスケジュールに沿って働くジュニアアナリストのように振る舞う。パイプラインは線形で、読み取りやすい。
| ステージ | 何が起きるか |
|---|---|
| データ取得 | 気配値、日足、指標、資金フロー、ファンダメンタルズ、チップ |
| テクニカル分析 | 移動平均、RSI、出来高、乖離率、トレンド分類 |
| ニュース&インテリジェンス | 銘柄ごとに直近のニュース、開示、センチメントを検索 |
| LLM分析 | コンテキストパックとプロンプトを構築し、JSONの意思決定ダッシュボードを生成 |
| レポート描画 | Markdownレポート、必要に応じて画像へ変換 |
| 通知 | WeCom、Feishu、Telegram、Discord、Slack、またはメールへプッシュ |
デフォルトではスケジュール(平日、引け後)で実行され、非取引日はスキップする。A株、香港、米国株とETFをカバーし、データソースが届かない領域では日本市場と韓国市場を縮小されたレベルでサポートする。
さりげなく賢い部分:データのフォールバック

このプロジェクトでもっとも堅牢なエンジニアリング上の判断は、LLMではない——それは、データをデフォルトで信頼できないものとして扱うやり方だ。
市場データは6つのプロバイダーからなる優先順位チェーンを通じて取得され、それぞれが前のもののフォールバックになっている。
Efinance (P0) → Tencent (P0) → Akshare (P1) → Pytdx (P2) → Baostock (P3) → Yfinance (P4)
米国の銘柄を分析するとき、システムは中国専用のプロバイダーを自動的にスキップし、Yahoo Financeへルーティングする。あるソースが失敗、タイムアウト、または部分的なデータを返した場合、その実行はレポート全体をクラッシュさせる代わりに、その一つのブロックだけを劣化させる。プロンプトには、どのブロックがfallback、partial、missingであるかさえ伝えられる——だからモデルは、数字をでっち上げるのではなく「データが取得できない」と書くことを要求される。
これは、あらゆる本番システムにとって正しい直感だ。単一のデータソースの失敗が、分析全体を停止させることは決してあってはならない。 すべてのフィードをベストエフォートとして扱い、フィールドを標準化し、欠損データを黙って埋めるのではなく見えるようにする。
意思決定ダッシュボード
LLMは文章を返さない——返すのは厳格なJSONの「意思決定ダッシュボード」であり、レポートはそれを一貫したレイアウトへ描画する。
- 核心となる結論 — 一文:買い、ホールド、または待ち、加えて時間的な緊急度。
- 場面別アドバイス — ポジションを保有している人と、現金を持っている人とで異なる指針。
- データの視点 — MAの並び、価格対サポート/レジスタンス、乖離率、出来高の読み。
- インテリジェンス — リスク警告とポジティブな触媒。それぞれ必ず日付を伴う。
- 作戦計画 — 具体的なスナイパーポイント:理想的な買い、ストップロス、ターゲット、ポジションサイジング。
- チェックリスト — すべての条件に ✅ / ⚠️ / ❌ を付与(強気の並び、乖離が範囲内、出来高、重大な悪材料なし、バリュエーション)。
プロンプトに組み込まれた規律は、明確な立場を持ちつつ理にかなっている。追いかけない(MA5より5%超上の乖離は絶対的な「買わない」)、強気のMAの並び(MA5 > MA10 > MA20)でのみ取引する、出来高が縮小したサポートへの押し目買いを好む、そして一日の値動きだけで買いと売りの間を行き来することは決してしない。
エージェント戦略:システムに質問する
日次レポートに加えて、このプロジェクトには15個の組み込み戦略プレイブックを備えたエージェントモードが搭載されており、銘柄ごとに問い合わせることができる。
| ファミリー | 例 |
|---|---|
| トレンド / 移動平均 | MAゴールデンクロス、強気トレンド |
| 構造理論 | 缠论(禅)理論、エリオット波動 |
| 行動 / 流動性 | 感情サイクル、出来高ブレイクアウト、底値出来高、縮小押し目 |
| 触媒 / ナラティブ | ホットテーマ、イベントドリブン、期待のリプライシング |
| クオリティ / 成長 | 成長クオリティ |
各戦略は独自のルール、必要なツール、スコアリング調整を持つYAMLファイルだ——だから「インテリジェンス」は設定可能で監査可能であり、一つの巨大なプロンプトの中に隠されてはいない。
自己欺瞞なしに読むには
この種のプロジェクトは、どれも過度に信頼してしまいやすい。誠実な評価チェックリストはこうだ。
- ニュースソースの品質。 インテリジェンスのブロックは、設定した検索プロバイダーの質に左右される——それらがなければ、センチメントと触媒は空になり、レポートは完全にテクニカルに依存する。
- 決定性。 LLMの出力はばらつく。同じ銘柄でも、実行ごとに読み味がわずかに違うことがある。ダッシュボードは構造化された意見として扱い、固定された真実として扱わない。
- 市場ごとのカバレッジ。 A株の深さ(資金フロー、チップ、龍虎榜)は、データがカバーしない市場では
not_supportedへと優雅に劣化する。 - データの鮮度。
fallback/partialのフラグに注意する——劣化した入力は、プロンプトが指示する通り、あなたの確信度を下げるべきだ。 - バックテスト ≠ 利益。 レポートは意思決定支援であり、検証されたエッジではない。
限界と誠実な評価
daily_stock_analysisがそうではないもの:
- 執行システムではない。 分析しレポートする。注文を出すことも、流動性をモデル化することもしない。
- モデル依存。 出力品質は、向けたLLMに追随する。
- 検索依存。 ニュースAPIキーがなければ、レポートの定性的な半分は薄くなる。
- 非決定的。 同一の入力でも、わずかに異なるダッシュボードを生み出しうる。
リンク
- 💻 GitHub: ZhuLinsen/daily_stock_analysis
- 📄 ライセンス: MIT
結論
daily_stock_analysisが価値を持つのは、神託としてではなく、自動化された、反復可能な分析習慣としてだ。
- 「株を見る」ことが何を意味するのかを、毎日標準化する。
- データを信頼できないものとして扱い、ギャップを見えるようにする。
- 結論を説明可能にする——スコア、水準、チェックリスト、リスク。
- アイデアの生成(15個の戦略)を、規律ある意思決定の枠組みから切り離す。
学習、日次の振り返り、そしてリサーチワークフローのプロトタイピングには、よく作り込まれている。本番に向けては、次の層は、あらゆる本気のシステムが必要とするのと同じものだ。検証されたデータ、モデルドリフトの制御、現実的な執行、そしてプロンプトの中だけでなくコードの中に生きるリスクルール。
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.