关于 equity-researcher
equity-researcher 是用于生成公司投资研究报告的技能,面向需要投资速览或深度研报的分析者。它先澄清报告类型和估值深度,再按相应流程制作 PDF,并要求数据有来源、经过核验且兼顾多空观点。
主要功能
- 01生成 3–5 页投资速览 PDF
- 02生成至少 25 页深度研报 PDF
- 03支持含财务模型或精简估值版本
- 04按用户语言生成报告
- 05要求数据来源与交叉核验
适用场景
- 01快速整理公司的投资要点
- 02制作包含估值的投资速览
- 03构建含 DCF 和敏感性分析的研报
- 04为公司研究选择报告深度
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ lzwme/ finance-quant-skills --skill equity-researcher安装后在 Claude Code 中输入/equity-researcher确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
SKILL-equity-task1.mdSKILL-task2-model.mdanalysis/investment-logic.mdprojection-assumptions.mdrevenue-model.mdrisk-framework.mdscenario-deep-dive.mdsix-dimension-analysis.mdmodules/company-overview.mdequity-report-charts.mdindustry-chain.mdstock-chart.mdtables.mdvaluation.mdoutput/report-layout.mdreport-qa.mdreport.csstearsheet-layout.mdtearsheet-qa.mdtearsheet.cssreferences/analysis-brief-template.mddata-sources-detail.mddata-sources.mdfinancial-model-spec.mdoutput-schema.mdresearch-document-template.mdscripts/chart_generator.pyembed_charts.pyreport_validator.pystock_chart_generator.py详细介绍
股票研究技能
此技能以两种模式生成机构级投资研究:投资速览(3-5 页 PDF,单次会话)和股票研究报告(≥25 页 PDF,采用 3 项任务架构并包含财务模型)。两种模式遵循相同的分析理念——区别在于深度、范围和交付结构。
你的首要任务:弄清楚用户想要什么。 然后将核心原则带入下一个文件。
阶段 0.0:路由器——意图澄清 + 输出类型检测
步骤 1:检测语言
根据用户的消息检测其语言。所有后续问题和最终报告都使用该语言。
| 用户语言 | report_language |
|---|---|
| 中文(任何形式) | zh |
| 英语 | en |
| 混合 / 不明确 | 使用用户消息中的主要语言 |
步骤 2:分类意图(3 个层级)
并非每个公司分析请求都需要完整报告。在投入资源之前,先确定用户的实际需求。
| 层级 | 用户信号示例 | 操作 |
|---|---|---|
| 层级 A:明确提及报告关键词 | “tear sheet”、“one pager”、投资速览、投资简报、“research report”、“deep dive”、“equity report”、研报、深度研究、深度分析 | → 跳转至步骤 3(输出类型明确) |
| 层级 B:公司分析——深度不明确 | “帮我分析一下[公司]”、“analyze [company]”、“帮我看看[股票]”、“look into [stock]”、“了解一下[公司]”、“what do you think of [company]”、个股分析、公司分析,或仅提供股票代码(例如 AAPL、600519) | → 询问用户(步骤 2a) |
| 层级 C:简单问题 | “XX公司是做什么的”、“what's [company]'s market cap”、“when is [stock]'s next earnings” | → 不要触发此技能。 以对话形式回答。不生成报告。 |
步骤 2a:澄清意图(仅限层级 B)
当用户的请求不明确(层级 B)时,询问他们希望获得哪种深度的输出。不要假设他们想要完整报告——这会浪费他们的时间和令牌。
提供 3 个清晰选项(使用用户的语言):
中文示例:
我可以用以下几种方式帮你分析 [公司名]:
- 投资速览 (Tear Sheet) — 3-5 页专业机构级投资简报,包含估值、催化剂、产业链、情景分析等,适合快速决策参考
- 深度研究报告 (Equity Report) — ≥25 页机构级深度研报,包含完整财务模型、DCF估值、敏感性分析等,适合深入研究
- 简单回答 — 不生成报告,直接用对话回答你的问题,最节省时间
你想要哪种?
英文示例:
我可以从不同的深度分析 [company]:
- Tear Sheet — 简洁的 3-5 页专业投资简报,包含估值、催化剂、产业链和情景分析
- 完整股票研究报告 (Equity Report) — 深入的 ≥25 页机构级报告,包含完整财务模型、DCF 估值和敏感性分析
- 快速回答 — 不生成报告,直接以对话形式回答你的问题
你希望选择哪一种?
如果用户选择选项 3:以对话形式回答他们的问题。不要继续执行此技能。 到此结束。
步骤 3:确定输出类型
| 用户选择 / 信号 | 输出类型 | 变量 |
|---|---|---|
| Tear Sheet / 投资速览 / option 1 | Tear Sheet | output_type = TEAR_SHEET |
| Equity Report / 深度研究 / option 2 | Equity Report | output_type = EQUITY_REPORT |
| 明确提及「tear sheet」「one pager」、投资速览、投资简报、公司一页纸、「quick glance」或「investment memo」 | Tear Sheet | output_type = TEAR_SHEET |
| 明确提及「research report」「full report」「deep dive」「equity report」、研报、深度研究或深度分析 | Equity Report | output_type = EQUITY_REPORT |
设置 output_type 后,记录该值。 此变量决定接下来要读取哪个特定模式的文件。
步骤 3a:选择 Equity Report 估值深度(仅当 output_type = EQUITY_REPORT 时)
当用户需要 Equity Report 时,开始分析前再多问一个问题。报告可采用两种估值深度构建,这会显著影响所需时间和复杂度。
向用户展示选项(使用用户的语言):
中文:
深度研报可以按两种估值深度生成:
- 完整版(含财务模型) — 构建完整的三表财务模型(利润表/资产负债表/现金流表)+ DCF 绝对估值 + 可比公司估值 + 敏感性分析 + 历史估值带。适合需要深入研究、精确目标价的场景。大约需要 3 步完成。
- 精简版(Level 1 估值) — 基于可比公司估值(PE/PB/PS 倍数)+ 一致预期 + 情景分析,快速生成专业研报。无需复杂的 Excel 建模,速度更快。大约需要 2 步完成。
你选哪种?
英文:
Equity Report 可采用两种估值深度构建:
- 完整版(含财务模型) — 完整的三表财务模型(IS/BS/CF)+ DCF 绝对估值 + 可比公司估值 + 敏感性分析 + 历史估值带。适合需要深入研究并精确确定目标价的场景。大约需要 3 步。
- 精简版(仅 Level 1 估值) — 基于可比公司估值(PE/PB/PS 倍数)+ 一致预期 + 情景分析,无需复杂的 Excel 建模即可生成专业报告。耗时更短。大约需要 2 步。
你希望选择哪种?
记录用户的选择:
| 用户选择 | 估值深度 | 变量 | 任务架构 |
|---|---|---|---|
| Full version / 完整版 / option 1 | Level 2(DCF + 可比公司 + 敏感性分析) | valuation_depth = L2 | 3 个任务:任务 1 → 任务 2(Excel 模型)→ 任务 3 |
| Streamlined version / 精简版 / option 2 | Level 1(仅可比公司 + 倍数) | valuation_depth = L1 | 2 个任务:任务 1 → 任务 3(L1 模式,无任务 2 的 Excel) |
主要区别:
- L2:任务 2 会生成包含 DCF 的真实 Excel 模型(8 个以上工作表)。任务 3 使用 openpyxl 从 Excel 中读取数据。
- L1:完全跳过任务 2。任务 1 的研究文档包含所有估值输入。任务 3 直接根据研究文档生成估值表(无需 Excel 模型)。
如果 output_type = TEAR_SHEET:完全跳过此步骤。Tear Sheet 始终使用 Level 1。
⚠️ 核心原则——请将这些内容带入下一个文件
这些原则适用于两种模式。 现在就阅读。这些内容不会在模式专属文件中重复说明。如果跳过,你将生成糟糕的报告。
| 原则 | 要求 |
|---|---|
| 数据真实性 | 所有数据都必须有真实来源;严禁捏造。不得使用占位符或“待定”。 |
| 数据核验 | 重要数据须通过至少 2 个独立来源交叉核验 |
| 时效性 | 必须使用最新财务报告和实时市场数据 |
| 近期新闻权重 | 必须纳入过去 7 天内影响边际预期的新闻 |
| 权威来源权重 | 优先采用官方来源和专业金融机构的信息 |
| 来源归属 | 所有数据都必须注明来源。API 数据须标注其原始来源 |
| 深度分析 | 必须采用六维分析框架;每个数据点都要回答“这意味着什么” |
| 多空平衡 | 必须同时呈现看多和看空观点——不得单方面分析 |
| 先分析 | 完成第 2–3 阶段分析后,才能开始第 4 阶段排版——不得跳过 |
| 叙事一致性 | 所有模块都围绕第 3 阶段的核心叙事展开 |
| 默认输出 | PDF 格式 |
| 确认已读取文件 | 每个阶段开始前,必须确认已读取所需文件(见模式文件中的硬性门槛表) |
数据真实性规则
严禁捏造数据,杜绝脚手架内容和占位符。参见
references/data-sources.md§Data Missing Handling + 质量检查清单 A6-A8。
第 4 步:立即选择路径
| 输出类型 | 估值深度 | 操作 |
|---|---|---|
TEAR_SHEET | L1(固定) | 现在阅读 SKILL-tearsheet.md。 完成单次会话工作流。 |
EQUITY_REPORT | L2 | 现在阅读 SKILL-equity-task1.md。 任务 1 → 任务 2(Excel 模型)→ 任务 3。 |
EQUITY_REPORT | L1 | 现在阅读 SKILL-equity-task1.md。 任务 1 → 任务 3(不执行任务 2 Excel)。 |
开始任务 1 前:告知用户完整流程和步骤数:
中文(L2):
我将为你生成深度研报(完整版),共 3 步:
- 第 1 步:深度研究分析(数据收集 + 六维分析 + 行业研究)→ 输出研究文档
- 第 2 步:财务建模与估值(Excel 三表模型 + DCF 估值 + 敏感性分析)
- 第 3 步:生成最终 PDF 研报(≥25页)
现在开始第 1 步。
English (L2):
我将分 3 步为你生成完整股权研报:
- 第 1 步:深度研究分析(数据收集 + 六维分析 + 行业研究)→ 研究文档
- 第 2 步:财务建模与估值(Excel 三表模型 + DCF + 敏感性分析)
- 第 3 步:生成最终 PDF 报告(≥25 页)
现在开始第 1 步。
中文(L1):
我将为你生成深度研报(精简版),共 2 步:
- 第 1 步:深度研究分析(数据收集 + 六维分析 + 可比公司估值)→ 输出研究文档
- 第 2 步:生成最终 PDF 研报(≥25页,基于可比公司估值)
现在开始第 1 步。
English (L1):
我将分 2 步为你生成精简版股权研报:
- 第 1 步:深度研究分析(数据收集 + 六维分析 + 基于可比公司的估值)→ 研究文档
- 第 2 步:生成最终 PDF 报告(≥25 页,采用可比公司估值)
现在开始第 1 步。
在此停止顺序阅读。 接下来阅读的模式专属文件包含所需的全部执行说明。下方的参考部分(输出类型对比、任务架构、文件索引、通用规则)是查询资料——需要查找文件或确认模式细节时,再查阅相应小节。不要从头到尾通读。
参考部分
无需按顺序阅读本部分。 本部分用于查询模式详情、任务架构或文件位置。模式专属文件会告知你需要阅读哪些文件以及何时阅读。
输出类型对比
| 维度 | 投资速览 | 股票研究报告 |
|---|---|---|
| 页数 | 3-5 A4 | ≥25 A4(25-40 页) |
| 布局 | 紧凑的双框并排布局 | 全宽、灵活的单栏或双栏布局 |
| 模块数量 | 11 个固定模块 | 21 个必需模块 |
| 内容风格 | 精简要点,信息密度最高 | 以数据支撑的完整段落 |
| 估值深度 | Level 1(可比公司 + 倍数 + 一致预期) | Level 2(L1 + DCF + 历史区间 + 敏感性分析 + 综合分析) |
| CSS | output/tearsheet.css | output/report.css |
| 目标受众 | 为决策者提供快速参考 | 为机构投资者提供深入研究 |
| 阶段 4 文件 | output/tearsheet-layout.md | output/report-layout.md |
| 阶段 5 文件 | output/tearsheet-qa.md | output/report-qa.md |
模式 A:投资速览 / 投资速览(单次会话)
完全在一次会话中生成的简洁 3-5 页 PDF。
Phase 0 → Phase 1 → Phase 2 → Phase 3 → Phase 4 → Phase 5 → PDF delivered
(Router) (Data) (Analysis) (Synthesis) (Layout) (QA)
- 入口文件:
SKILL-tearsheet.md - 输出文档:分析简报 →
references/analysis-brief-template.md - 布局:
output/tearsheet-layout.md→output/tearsheet.css - QA:
output/tearsheet-qa.md
模式 B:股票研究报告 / 深度研究(多任务架构)
根据估值深度,通过 2 或 3 个任务构建的深入 ≥25 页 PDF。L1 和 L2 共用任务 1。
L2(完整版 — 3 个任务)
Task 1 (SKILL-equity-task1.md): Phase 0 → Phase 1 → Phase 2 → Phase 3 → Research Document (.md)
↓
Task 2 (SKILL-task2-model.md): Financial Model (.xlsx) + Valuation Analysis (.md)
↓
Task 3 (SKILL-task3-report.md): Final PDF Report (≥25 pages)
L1(精简版 — 2 个任务)
Task 1 (SKILL-equity-task1.md): Phase 0 → Phase 1 → Phase 2 → Phase 3 → Research Document (.md)
↓
Task 3 (SKILL-task3-report.md): Final PDF Report (≥25 pages, L1 mode)
| 任务 | 入口文件 | 输入 | 输出 | 验收门槛 |
|---|---|---|---|---|
| 任务 1 | SKILL-equity-task1.md | 用户请求 + 股票代码 | 研究文档(≥6,000 字) | 13 项完整性检查 + 4 项数据质量检查 |
| 任务 2(仅 L2) | SKILL-task2-model.md | 任务 1 研究文档 | Excel 模型(8+ 个工作表)+ 估值分析 | 10 项模型完整性检查 |
| 任务 3 | SKILL-task3-report.md | 任务 1 文档(L2 还需任务 2 Excel + 估值分析) | PDF 股票研究报告(≥25 页) | 与 Excel 进行 ≥10 项数字交叉核对(L2)/与研究文档交叉核对(L1) |
通用任务规则(适用于 L1 和 L2)
- 切勿自动串联任务。 每个任务都以交付成果并停止结束。
- 用户只需输入一个词即可继续:“下一步”“继续”或“continue”——无需上传文件。
- 会话上下文会保留文件。 Agent 会在内部维护文件列表。用户说“继续”时,Agent 会自动从会话中读取此前生成的文件。
- 通过文件传递数据,而非依赖记忆。 任务 2 读取任务 1 的文档。任务 3 读取任务 2 的 Excel(L2)或任务 1 的文档(L1)。任务 3 PDF 中的所有财务数字都必须与 Excel 模型(L2)或研究文档(L1)一致。
文件索引
所有路径均相对于此技能的根目录。
入口文件
| 文件 | 模式 / 任务 | 用途 |
|---|---|---|
SKILL.md | 路由器 | 确定输出类型,并路由至特定模式文件 |
SKILL-tearsheet.md | 摘要表 | 完整的单次会话工作流(Phase 0.1 → 5 → PDF) |
SKILL-equity-task1.md | 股票报告任务 1 | 研究 + 分析 → 生成研究文档 |
SKILL-task2-model.md | 股票报告任务 2 | 财务模型 + 估值 → 生成 Excel 模型 + 估值分析 |
SKILL-task3-report.md | 股票报告任务 3 | 报告生成 → 生成最终 PDF 股票报告 |
分析框架(根据硬性门槛按需读取)
| 文件 | 内容 |
|---|---|
analysis/six-dimension-analysis.md | 六维分析完整框架 |
analysis/investment-logic.md | 投资逻辑 + 投资论点表格规范 |
护城河分类、盈利质量检查、管理层评估、TAM/SAM/SOM 和竞争格局深度分析均在两个交接模板中内联定义(股票报告使用
references/research-document-template.md,摘要表使用references/analysis-brief-template.md)。没有单独的框架文件。
深度研究模块(仅限股票报告 — Phase 2.7)
| 文件 | 内容 |
|---|---|
analysis/revenue-model.md | 分业务收入拆解、销量 × 价格构建 |
analysis/projection-assumptions.md | 利润率桥接、CapEx/WC、假设敏感性标签 |
analysis/scenario-deep-dive.md | 量化的牛市 / 基准 / 熊市情景及概率加权 |
analysis/risk-framework.md | 8-12 项分类风险,并按概率 × 影响评分 |
估值方法
| 文件 | 级别 | 内容 |
|---|---|---|
valuation/comparable.md | L1(两者均适用) | 可比公司 + 指标选择 |
valuation/dcf-and-sensitivity.md | 仅 L2 | DCF 方法 + 历史估值区间 + 敏感性矩阵(单一整合参考文件) |
报告模块规范
| 文件 | 内容 |
|---|---|
modules/stock-chart.md | 52 周股价图表 + 交易数据规范 |
modules/company-overview.md | 公司概览模块规范 |
modules/valuation.md | 估值 + 催化剂日历规范 |
modules/industry-chain.md | 供应链 + 上下游规范 |
modules/tables.md | 表格样式 + 数据来源标注 |
modules/equity-report-charts.md | 5 个数据图表(收入、利润率、市场份额、PE 区间、情景)的图表规范 |
参考资料
| 文件 | 内容 |
|---|---|
references/data-sources.md | 数据源优先级 + API 概览 |
references/data-sources-detail.md | API 详细参数 |
references/output-schema.md | 输出接口约定 |
references/analysis-brief-template.md | 分析简报模板(摘要表移交至 Phase 4) |
references/research-document-template.md | 研究文档模板(任务 1 输出)— 验收标准 + 质量门槛 |
references/financial-model-spec.md | Excel 财务模型规范 — 工作表结构、行项目、公式、完整性检查 |
输出层(Phase 4 布局 + Phase 5 质检 + CSS)
| 文件 | 内容 |
|---|---|
output/tearsheet-layout.md | 摘要表布局、模块、HTML、PDF 生成 |
output/tearsheet-qa.md | 摘要表质检(8mm/12mm 页边距,3-5 页) |
output/tearsheet.css | 紧凑双栏 CSS(摘要表专用样式源) |
output/report-layout.md | 股票报告布局、模块、PDF 生成 |
output/report-qa.md | 股票报告质检(18mm/20mm 页边距,≥25 页) |
output/report.css | 全宽研究报告 CSS(股票报告专用样式源) |
脚本
| 文件 | 内容 |
|---|---|
scripts/stock_chart_generator.py | 52 周股价图表生成器 |
scripts/report_validator.py | 报告结构验证器 |
scripts/chart_generator.py | Matplotlib 图表生成器(5 种图表类型:revenue_segment、margin_trends、market_share、pe_band、scenario_comparison) |
scripts/embed_charts.py | 图表嵌入 + 图表计数器 |