0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「Claudeが決算を読む」— 無料の財務データAPIとLLMで作る日本株AIアナリストを本にまとめた

0
Posted at

有価証券報告書を人間の代わりに読む「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 にも同じ内容を投稿しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?