公司一页纸 (Company One-Pager)
基于恒生聚源 MCP 金融数据库,执行公司一页纸自动化生成流程。
功能范围
| 场景 | 描述 | 触发示例 | |------|------|----------| | 投资快速决策 | 5 分钟内掌握公司核心投资逻辑 | "生成贵州茅台的一页纸" | | 研究覆盖 | 快速建立公司基础认知框架 | "为宁德时代生成投资摘要" | | 组合回顾 | 定期检视持仓公司核心假设 | "更新药明康德 one-pager" | | 会议准备 | 路演/投委会前的快速准备 | "生成比亚迪公司快照" |
必需输入: 上市公司名称(或股票代码)
核心工作流程
Phase 1:数据收集与持久化
目标: 穷尽所有可获取的原始数据,并立即持久化到中间文件。 详细流程: 见 references/workflow.md
强制要求:
- 每次 MCP API 调用成功后,立即将数据写入对应的中间文件
- 每次调用后立即记录到
data-provenance-temp.csv - 核心数据(财务/行情/估值)重试 3 次,辅助数据(研报/催化事件/风险)重试 2 次 中间文件清单(10 个):
company_profile.json,financials.csv,consensus.csv,segments.csvownership.json,research.json,catalysts_raw.json,risks_raw.jsonindustry_peers.json,data-provenance-temp.csv
Phase 2:派生指标计算与分析
目标: 计算派生指标,处理催化事件和风险评分。 详细流程: 见 references/workflow.md
处理内容:
- 催化事件分析:LLM 判断 impact + 生成 description →
catalysts_processed.json - 风险评分计算:4 维度分类(宏观/行业/公司/交易)+ 评分 0-100 →
risks.json - 数据溯源整理:筛选 success 行 + 合并整理 →
data-provenance-final.csv
Phase 3:报告生成与审校
目标: 生成结构化的一页纸报告。 强制要求:
- 严格遵循 references/report-template.md 的9 个 ZONE
- 禁止跳过任何 ZONE
- 所有数值型数据标注角标
- 角标与
data-provenance-final.csv序号一一对应
输出格式:
- MD:直接生成 Markdown 文件
- HTML:由
md2pdf.py自动转换 - PDF:调用
python scripts/md2pdf.py生成 - risk_matrix.html:调用
python scripts/generate_matrix.py生成 - timeline.html:调用
python scripts/generate_timeline.py生成
验证: PDF 文件>100KB + 检查每个 ZONE 都有数据填充
数据完整性规则 ⚠️⚠️⚠️
⚠️ 以下规则优先于所有其他指导原则,违反任何一条都可能导致报告失效。
| 规则 | 描述 | |------|------| | Rule 1: 单一数据源 | 所有财务数据必须来自 MCP API,禁止用训练知识填充 | | Rule 2: 缺失标注 | 数据缺失时标注"N/A",禁止静默省略 | | Rule 3: 禁止估算 | 缺失数据禁止估算、外推、或用训练知识替代 | | Rule 4: 角标真实 | 角标必须对应真实获取的数据,禁止为分析结论标注角标 | | Rule 5: 叙事重写 | 公司简介、投资逻辑等叙事内容必须用自己的话重写,禁止粘贴 API 原文 |
详细规则: 见 references/data-integrity-rules.md
违规处理: 违反 Rule 1-5 的报告必须作废重做。
叙事重写规则 ⚠️⚠️
⚠️ 所有叙事性内容必须用自己的话重写,禁止直接粘贴 API 返回的原文。
| 模块 | 重写要求 | |------|---------| | 公司简介 | 突出战略变化和投资相关动态 | | 投资逻辑(短期) | 聚焦 6-12 个月可验证的催化剂和估值修复逻辑 | | 投资逻辑(长期) | 描述 1-3 年的结构性驱动因素 | | 研报观点综述 | 归纳共识、分歧、非共识观点 | | 调研问答 | 提问保持原文,回答概括改写(≤100 字) |
详细规则: 见 references/narrative-rules.md
报告模板要求 ⚠️⚠️⚠️
报告必须严格遵循 references/report-template.md 的9 个 ZONE 结构:
| ZONE | 内容 | 对应中间文件 |
|------|------|-------------|
| top-banner | 公司全称/代码/当前价/目标价/评级/投资逻辑 | company_profile.json, consensus.csv, research.json |
| left-top | 财务预测表(营收/毛利率/净利润/ROE) | financials.csv, consensus.csv |
| center-top | 业务拆分表(板块/占比/毛利率) | segments.csv |
| right-top | 上下游(客户/供应商/渠道) | ownership.json |
| left-middle | 核心投资逻辑(短期/长期) | LLM 综合生成 |
| center-middle | 机构观点(评级/共识/分歧) | research.json |
| right-middle | 风险提示(风险矩阵) | risks.json + generate_matrix.py |
| left-bottom | 行业与可比公司(TAM/CR3/估值) | industry_peers.json |
| center-bottom | 估值与一致预期(PE/PB/历史分位) | company_profile.json, consensus.csv |
| right-bottom | 催化事件(时间轴) | catalysts_processed.json + generate_timeline.py |
| bottom-banner | 调研 Q&A | research.json |
| footer | 数据溯源表 + 免责声明 | data-provenance-final.csv |
禁止行为:
- ❌ 自创模块或跳过任何 ZONE
- ❌ 改变 ZONE 顺序
- ❌ 合并或拆分 ZONE
执行清单
生成前必须验证:
- [ ] 所有 10 个中间文件已写入且非空
- [ ]
catalysts_processed.json已生成(所有事件有 impact + description) - [ ]
risks.json已生成(4 维度评分 0-100) - [ ]
data-provenance-final.csv已生成(record_id 连续) - [ ] 9 个 ZONE 都有数据填充
- [ ] PDF 文件>100KB
详细清单: 见 references/checklist.md
资源清单
jy-company-one-pager/
├── SKILL.md # 主文件
├── scripts/ # 脚本目录
│ ├── generate_matrix.py # 风险提示热力矩阵生成器
│ ├── generate_timeline.py # 催化事件时间轴生成器
│ └── md2pdf.py # PDF 转换脚本
├── references/ # 详细文档目录
│ ├── setup-guide.md # 配置指南
│ ├── workflow.md # 完整工作流程 ⚠️⚠️⚠️⚠️
│ ├── intermediate-files-schema.md # 中间文件 Schema
│ ├── report-template.md # 报告模板 ⚠️⚠️⚠️⚠️
│ ├── data-integrity-rules.md # 数据完整性规则 ⚠️⚠️⚠️
│ ├── narrative-rules.md # 叙事重写规则 ⚠️⚠️
│ └── checklist.md # 执行清单 ⚠️⚠️⚠️⚠️
└── reports/ # 输出目录(调用skill时自动创建)
└── tmp_[时间戳]/ # 中间文件目录(调用skill时自动创建)
角标使用规范
| 规则 | 说明 | 正确示例 | 错误示例 | |------|------|----------|----------| | 一一对应 | 角标编号必须与数据溯源正式表序号严格对应 | 市盈率数据 [1] → 表格第 1 行是市盈率 | 估值数据 [3] → 表格第 3 行是市盈率 ❌ | | 真实获取 | 严禁标注未获取的数据 | 当前 PE(API)[1] | 分析结论 [1] ❌ | | 无数据不标注 | 分析结论、常识、推理不标注角标 | "行业平均 PE 约 15-20x" | "行业平均 PE 约 15-20x [1]" ❌ |
微信扫一扫