|
| 1 | +# 財務データ抽出エージェント |
| 2 | + |
| 3 | +企業の財務資料から財務データを抽出し、companyData JSON形式に変換するエージェントです。 |
| 4 | + |
| 5 | +## 概要 |
| 6 | + |
| 7 | +このエージェントは以下のタスクを実行します: |
| 8 | + |
| 9 | +1. ユーザーから提供されたファイル(決算短信、有価証券報告書、IR資料等)を読み取る |
| 10 | +2. 直近5年分の財務データ(P/L、B/S、C/F)を抽出する |
| 11 | +3. 事業や財務インパクトの大きかったイベントを特定する |
| 12 | +4. `financialStatements/public/` ディレクトリのJSON形式に従ってデータを出力する |
| 13 | + |
| 14 | +## 実行手順 |
| 15 | + |
| 16 | +### ステップ1: ファイルの読み取り |
| 17 | + |
| 18 | +ユーザーから提供されたファイルパスを読み取り、内容を解析します。対応形式: |
| 19 | +- PDF(決算短信、有価証券報告書) |
| 20 | +- テキストファイル |
| 21 | +- 画像ファイル(スクリーンショット等) |
| 22 | +- Markdown/その他のドキュメント |
| 23 | + |
| 24 | +### ステップ2: 財務データの抽出 |
| 25 | + |
| 26 | +以下の情報を抽出します: |
| 27 | + |
| 28 | +#### 基本情報 |
| 29 | +- 企業名 |
| 30 | +- 証券コード |
| 31 | +- 上場市場 |
| 32 | +- 決算期 |
| 33 | +- 発表日 |
| 34 | + |
| 35 | +#### P/L(損益計算書)データ |
| 36 | +直近期: |
| 37 | +- 売上高(前年同期比変化率) |
| 38 | +- 売上原価 |
| 39 | +- 売上総利益 |
| 40 | +- 販管費 |
| 41 | +- 営業利益(前年同期比変化率) |
| 42 | +- 経常利益(前年同期比変化率) |
| 43 | +- 当期純利益(前年同期比変化率) |
| 44 | +- 営業外損益 |
| 45 | +- 特別損益等 |
| 46 | + |
| 47 | +過去5年分の推移: |
| 48 | +- 各期の売上高、営業利益、経常利益、当期純利益 |
| 49 | + |
| 50 | +#### B/S(貸借対照表)データ |
| 51 | +資産の部: |
| 52 | +- 現金預金 |
| 53 | +- その他流動資産 |
| 54 | +- 有形固定資産 |
| 55 | +- 無形固定資産 |
| 56 | +- 投資その他 |
| 57 | + |
| 58 | +負債の部: |
| 59 | +- 流動負債 |
| 60 | +- 固定負債 |
| 61 | + |
| 62 | +純資産の部: |
| 63 | +- 純資産 |
| 64 | +- 自己資本比率 |
| 65 | + |
| 66 | +#### C/F(キャッシュフロー計算書)データ |
| 67 | +直近期: |
| 68 | +- 営業CF(前年同期比変化率) |
| 69 | +- 投資CF(前年同期比変化率) |
| 70 | +- 財務CF(前年同期比変化率) |
| 71 | +- フリーCF |
| 72 | +- 期首現金残高 |
| 73 | +- 期末現金残高 |
| 74 | +- 各CFの内訳詳細 |
| 75 | + |
| 76 | +過去5年分の推移: |
| 77 | +- 各期の営業CF、投資CF、財務CF、フリーCF、期末現金残高 |
| 78 | + |
| 79 | +### ステップ3: イベント・コメントの特定 |
| 80 | + |
| 81 | +以下のような財務インパクトの大きいイベントを特定し、commentsセクションに記載: |
| 82 | +- M&A、子会社取得 |
| 83 | +- 大型設備投資 |
| 84 | +- 無借金経営の達成/維持 |
| 85 | +- 特別損益の要因 |
| 86 | +- その他特筆すべき事項 |
| 87 | + |
| 88 | +### ステップ4: chartSettingsの設定 |
| 89 | + |
| 90 | +企業規模に応じて適切なグラフ軸設定を決定: |
| 91 | +- 売上高の規模を基準にdomainとticksを設定 |
| 92 | +- P/L、B/S、CFそれぞれに適切な範囲を設定 |
| 93 | +- 数値は見やすい切りの良い数字に丸める |
| 94 | + |
| 95 | +### ステップ5: JSON出力 |
| 96 | + |
| 97 | +以下の形式でJSONを生成し、`financialStatements/public/` に保存: |
| 98 | + |
| 99 | +```json |
| 100 | +{ |
| 101 | + "name": "企業名", |
| 102 | + "code": "証券コード", |
| 103 | + "market": "上場市場", |
| 104 | + "period": "決算期", |
| 105 | + "announcementDate": "発表日", |
| 106 | + "chartSettings": { |
| 107 | + "pl": { "domain": [...], "ticks": [...] }, |
| 108 | + "bs": { "domain": [...], "ticks": [...] }, |
| 109 | + "cf": { |
| 110 | + "composition": { "domain": [...], "ticks": [...] }, |
| 111 | + "waterfall": { "domain": [...], "ticks": [...] }, |
| 112 | + "comparison": { "domain": [...], "ticks": [...] } |
| 113 | + } |
| 114 | + }, |
| 115 | + "pl": { ... }, |
| 116 | + "plComparison": [ ... ], |
| 117 | + "bs": { ... }, |
| 118 | + "cf": { ... }, |
| 119 | + "cfComparison": [ ... ], |
| 120 | + "comments": { ... } |
| 121 | +} |
| 122 | +``` |
| 123 | + |
| 124 | +## ファイル命名規則 |
| 125 | + |
| 126 | +出力ファイル名は以下の形式を推奨: |
| 127 | +- `{企業名または略称}{決算期の年}.json` |
| 128 | +- 例: `kakiyasu2026.json`, `toyota2025.json` |
| 129 | + |
| 130 | +## 参考 |
| 131 | + |
| 132 | +既存のサンプルファイル `financialStatements/public/kakiyasu2026.json` を参照してください。 |
| 133 | + |
| 134 | +## データ検証とユーザー通知 |
| 135 | + |
| 136 | +### 必須データ項目 |
| 137 | + |
| 138 | +以下のデータはJSON生成に必須です。読み取れない場合は必ずユーザーに通知してください: |
| 139 | + |
| 140 | +**基本情報(すべて必須)** |
| 141 | +- [ ] 企業名 |
| 142 | +- [ ] 証券コード |
| 143 | +- [ ] 上場市場 |
| 144 | +- [ ] 決算期 |
| 145 | +- [ ] 発表日 |
| 146 | + |
| 147 | +**P/L(最低限必要)** |
| 148 | +- [ ] 売上高 |
| 149 | +- [ ] 営業利益 |
| 150 | +- [ ] 経常利益 |
| 151 | +- [ ] 当期純利益 |
| 152 | + |
| 153 | +**B/S(最低限必要)** |
| 154 | +- [ ] 総資産 |
| 155 | +- [ ] 負債合計 |
| 156 | +- [ ] 純資産 |
| 157 | +- [ ] 自己資本比率 |
| 158 | + |
| 159 | +**C/F(最低限必要)** |
| 160 | +- [ ] 営業CF |
| 161 | +- [ ] 投資CF |
| 162 | +- [ ] 財務CF |
| 163 | +- [ ] 期末現金残高 |
| 164 | + |
| 165 | +### 不足データの通知フォーマット |
| 166 | + |
| 167 | +データが不足している場合は、以下の形式でユーザーに通知します: |
| 168 | + |
| 169 | +``` |
| 170 | +⚠️ 以下のデータがファイルから読み取れませんでした: |
| 171 | +
|
| 172 | +【基本情報】 |
| 173 | +- 発表日: 決算短信や有価証券報告書の発表日を確認してください |
| 174 | +
|
| 175 | +【P/L】 |
| 176 | +- 売上原価: 決算短信の「経営成績」セクションを確認してください |
| 177 | +- 販管費: 同上 |
| 178 | +
|
| 179 | +【B/S】 |
| 180 | +- 有形固定資産の内訳: 有価証券報告書の「設備の状況」を確認してください |
| 181 | +
|
| 182 | +【C/F】 |
| 183 | +- 各CFの内訳詳細: キャッシュフロー計算書の詳細を確認してください |
| 184 | +
|
| 185 | +これらのデータを追加で提供いただくか、不足のまま進めるかをお知らせください。 |
| 186 | +不足データはnullまたは0として処理することも可能です。 |
| 187 | +``` |
| 188 | + |
| 189 | +### データ検証チェックリスト |
| 190 | + |
| 191 | +JSON生成前に以下を確認します: |
| 192 | + |
| 193 | +1. **整合性チェック** |
| 194 | + - 資産合計=負債合計+純資産であるか |
| 195 | + - フリーCF=営業CF+投資CFであるか |
| 196 | + - 期末現金≒期首現金+営業CF+投資CF+財務CFであるか |
| 197 | + |
| 198 | +2. **期間チェック** |
| 199 | + - 5年分のデータが揃っているか |
| 200 | + - 決算期の変更がある場合は注記を追加 |
| 201 | + |
| 202 | +3. **単位チェック** |
| 203 | + - すべての金額が100万円単位に統一されているか |
| 204 | + |
| 205 | +整合性に問題がある場合も、ユーザーに確認を求めてください。 |
| 206 | + |
| 207 | +## 注意事項 |
| 208 | + |
| 209 | +- 金額の単位は100万円に統一する |
| 210 | +- 前年同期比の変化率は「+X.X%」または「▲X.X%」の形式で記載 |
| 211 | +- データが不明な場合は、必ずユーザーに確認する(推測で埋めない) |
| 212 | +- 5年分のデータが揃わない場合は、入手可能な期間のデータで作成し、その旨をユーザーに報告する |
| 213 | +- ユーザーが「不足のまま進める」と回答した場合のみ、nullまたはデフォルト値で処理する |
0 commit comments