有価証券報告書を人間の代わりに読む「AIアナリスト」の実装解説を、12章・約5万字の有料本にまとめた。
前著『Pythonが計算し、Claudeが判断する』の続編にあたる。前著が投資分析システム全体の設計思想を扱ったのに対し、本書はその中のファンダメンタル分析——決算の数字を取ってきて、指標に変換して、Claudeに解釈させるまで——を実装レベルまで掘り下げた1冊。
どんな本か
スクリーニングの自動化は簡単で、数値フィルタを重ねれば4,000銘柄を20銘柄に絞れる。問題はその先。「この会社、買って大丈夫か」に答えるには決算の中身を読む必要があり、有報は1社100ページを超える。この「決算を読む」作業をパイプラインに分解して、AIに任せるまでを書いた。
無料の財務データAPI(EDINET DB / yfinance)
→ Piotroski F-Score / Altman Z'' / DCF をPythonで実装
→ 共通JSONフォーマット(signal / score / confidence)
→ Claudeが統合・矛盾検出・日本語レポート化
コードはすべて、実際に毎日動いている自作システムから抜き出したもの。机上のサンプルではなく、欠損データ・APIレート制限・LLMの幻覚と戦いながら運用で削られてきた実装で解説している。
前著との違い
| 前著 | 本書 | |
|---|---|---|
| テーマ | システム全体の設計思想 | ファンダメンタル分析の実装 |
| 読み方 | 設計判断の記録を読む | 写経して自分用に組める |
| 分析手法 | 9プラグインを1章で概観 | F-Score / Z'' / DCF を1章ずつ、論文の背景から |
| 独立性 | — | 前著を読んでいなくても完結 |
前著で「Piotroski F-Scoreというプラグインがある」と1段落で流した部分が、本書では「Piotroski (2000) がなぜ水準ではなく変化を見たのか → 9項目それぞれの意味 → 欠損時の3値論理の実装 → confidenceの決め方」まで1章かけて書いてある。
本の見どころ3つ
1. 「生XBRLと戦わない」という選択
決算データの一次ソースは金融庁のEDINETだが、財務データはXBRL形式で、タクソノミ・会計基準差異・勘定科目の名寄せという壁がある。パースの解説だけで本が1冊書ける世界で、そこで力尽きるとゴールの「AIアナリスト」に辿り着けない。
本書では、EDINETデータを構造化JSONで返してくれる無料API(1日100コール制限つき)と、yfinanceの財務データを2段構えで使う判断をした。第2章はこの意思決定——どこを自作しないか——の話から始まる。制約だらけの無料枠をどう予算配分するかは、本全体を貫くテーマになっている。
2. 欠損データとの戦い方
書いてみて分かったが、財務分析パイプラインの品質の8割は欠損処理で決まる。本書で紙幅を割いたのはここ。
- 全フィールド
| Noneの共通型で「欠損が常態」を型で表現する - F-Scoreの各項目は True / False / None(判定不能) の3値で持ち、欠損は常にスコアが低くなる方向に倒す
- 総負債が取れなければ「総資産 − 純資産」の会計恒等式で復元する
- 無借金企業でZ''のX4(自己資本/総負債)が発散する問題は10.0でキャップする
- 「前期データなし(上場2年未満)」は無理にスコアを出さず、明示的に評価不能を返す
「データが取れない銘柄ほどスコアが高く出る」という倒錯をどう防ぐか、という視点で全エンジンの実装を貫いた。
3. LLMに数字を作らせないプロンプト設計
ROAの計算もDCFの割引計算も、すべてPythonがやる。Claudeがやるのは計算済みの数値を読んで解釈すること。この分業を守るためのプロンプト設計を、実際に使っているシステムプロンプトの構造で解説した。
- 判断基準は散文ではなく表で渡す(推奨強度のしきい値、矛盾検出パターン)
- 「モメンタムBUY × F-Score 3点以下 → 仕手株の可能性」のような、シグナルの組み合わせに意味を与える矛盾検出こそLLMの付加価値
- 使ってよい数値をフィールド単位で指定し、欠損時の挙動まで指示する(指示しないことは「埋めてよい」と同じ)
- 例外的にAIに水準推定を許した目標株価では、根拠の強制・「推定困難」という逃げ道・計算値との並記、という3つの手すりを付ける
Prompt Cachingでの日次コスト削減、日次=Haiku・深掘り=Sonnetのモデル2層化など、毎日回し続けるためのLLMコスト設計も1章使って書いた。
12章の全体像
| # | 章タイトル | わかること |
|---|---|---|
| 1 | なぜ「決算を読むAI」を作るのか | 全体像と分業原則(無料公開) |
| 2 | 決算データはどこから取るか | 生XBRLと戦わない選択、無料APIの比較 |
| 3 | データ層の実装 | クォータ安全弁・欠損に強いパース・TTL30日キャッシュ |
| 4 | Piotroski F-Score | 9項目の意味と3値論理の実装 |
| 5 | Altman Z''スコア | 倒産リスクの判別式、科目名ゆれとの戦い |
| 6 | DCF | 理論株価を3シナリオの幅で出す設計 |
| 7 | signal・score・confidence | 共通フォーマットに込めた役割分担 |
| 8 | Claudeに決算を読ませる | SDK直叩き・Prompt Caching・トークン削減 |
| 9 | プロンプト設計 | 矛盾検出テーブルと幻覚対策 |
| 10 | 深掘りリサーチ | 信用スコア・同業比較・100コール予算管理 |
| 11 | 運用 | 縮退設計とコスト、シグナルログ |
| 12 | 限界と拡張 | AIアナリストに任せないこと |
第1章は無料で読める。 なぜ決算を読む部分をAIに任せるのか、パイプライン4層の全体像、そして「Pythonが計算し、Claudeが判断する」という分業原則——本全体の設計思想を凝縮した章なので、まず読んで合うかどうか判断してほしい。
誰に向けた本か
- 自分の銘柄調査・決算チェックを自動化したいエンジニア。 写経すれば動くレベルの粒度でコードを載せている
- LLMをデータ分析パイプラインに組み込みたい人。 「計算はコード、解釈はLLM」の境界線をどこに引くか、プロンプトの実物つきで示した
- F-Score・Altman Z・DCFを動くコードで理解したい人。 各手法は出典論文の問題意識から解説していて、財務・会計の前提知識は不要
逆に、銘柄推奨や投資手法の有効性を期待している人には向かない。本書は投資助言ではなく、分析ツールの実装を解説する技術書。
まとめ
1,000円・12章・約5万字。決算を読むという作業を「数値の抽出 → 指標への変換 → 文脈の中での解釈」に分解すると、LLMが本当に必要なのは最後の解釈だけで、そこは従来のコードではどうにもならなかった場所でもある。無料のAPIとわずかなLLM従量課金で「自分専属のアナリスト」を組む設計図として使ってほしい。
前著・無料連載はこちら。 システム全体のアーキテクチャに興味があれば。
この記事は Zenn にも同じ内容を投稿しています。