Coding

公司深度分析助手

Try it

A股/港股公司深度分析。输入公司名称或股票代码,自动完成 6 步分析流程: 数据采集 → 公司画像 → 产业链五力 → 竞争护城河 → 财务四维 → 相对估值。 输出双产物:公司深度分析报告 + 投研简报 支持单步模式:用户指定"财务情况/财务分析/公司画像/公司基本面"时,按路由表只跑对应步骤并输出对应单文件。 触发词:公司分析 / 深度分析 / 公司调研 / 投资初筛 / 深度调研 / 公司研究 / 行业研究 / 投研简报 / 财务情况 / 财务分析 / 公司画像 / 公司基本面

What it does

A股/港股公司深度分析。输入公司名称或股票代码,自动完成 6 步分析流程: 数据采集 → 公司画像 → 产业链五力 → 竞争护城河 → 财务四维 → 相对估值。 输出双产物:公司深度分析报告 + 投研简报 支持单步模式:用户指定"财务情况/财务分析/公司画像/公司基本面"时,按路由表只跑对应步骤并输出对应单文件。 触发词:公司分析 / 深度分析 / 公司调研 / 投资初筛 / 深度调研 / 公司研究 / 行业研究 / 投研简报 / 财务情况 / 财务分析 / 公司画像 / 公司基本面

The skill document

公司深度分析助手(A 股 / 港股)

输入 A 股/港股公司名称或股票代码,默认执行 6 步分析,输出双产物

  • MD 深度分析报告{公司名}_深度分析报告_{YYYYMMDD}.md
  • HTML 投研简报{公司名}_投研简报_{YYYYMMDD}.html

单步模式:用户说"看一下 XX 的财务情况" / "XX 的公司画像" 时,按 执行模式路由 表只跑对应步骤,输出对应单文件(不要双产物)。

适用场景

  • 个人投资者做投前初筛(5 分钟看一家公司基本面)
  • 卖方/买方研究员做行业研报的子模块
  • 投资经理在投委会前快速过一遍潜在标的
  • 跨行业比较 5-10 家可比公司的财务与护城河
  • 只想看财务 → 单步模式(输出财务分析单文件,不必出简报)
  • 只想看公司画像 → 单步模式(输出公司画像单文件)

执行模式路由

路由表

用户关键词(任一命中)模式跑的步骤输出文件
(默认)/ 没有任何特殊词fullStep0 + Step1 + Step2 + Step3 + Step4 + Step5双产物_深度分析报告.md + _投研简报.html
财务 / 财务情况 / 财务分析 / 看看财务financialStep0(数据采集) + Step4(财务四维)_财务分析.md(单文件)
画像 / 公司画像 / 公司基本面 / 看看公司profileStep0(数据采集) + Step1(公司画像)_公司画像.md(单文件)

关键词优先级(多关键词冲突时)

最具体的优先financial > profile > full

例:

  • "分析 XX 公司的财务情况" → financial(命中"财务情况")
  • "XX 的公司画像怎么样" → profile(命中"公司画像")
  • "帮我分析一下 XX" → full(默认)
  • "XX 的财务和公司画像" → financial(最具体的优先,不双跑)

单步模式必跑的前置

  • Step0 数据采集必跑:所有模式的输入都依赖 /tmp/{code}_data.json
  • 跳过中间步是安全的:Step2(五力)/ Step3(护城河)/ Step5(估值)的产物不喂给 Step1 / Step4,跳过不影响单文件质量
  • 代价:单步模式输出文件没有行业竞争 / 护城河 / 估值章节,质量门只检"该模式的章节"

用户提示模板

路由判断完成后,在对话中展示一行:

🔍 识别到:{公司全称}({代码})· {市场} · 即将进入「{模式}」模式({跑哪几步}),输出 {单/双} 产物:{文件清单}

执行原则

  1. 报告行文按 ai-internal-rules.md §3.1-3.4 硬要求(结论先行 + 主谓宾结构)
  2. 所有财务数字标注来源,推算指标列出公式
  3. 推断内容标注置信度(高/中/低)
  4. full 模式:6 步串行执行,StepN 完成后才能启动 StepN+1。单步模式(financial/profile):按 执行模式路由 表只跑对应步骤
  5. 无法获取的信息标注为信息盲区,不编造
  6. 产物必须基于模板生成:在 Step6 写任何文件前,必须先 Read 对应模板文件并严格按其结构填充。不得凭记忆自行编写报告结构。详见 §6.0 产物生成的强制执行规则

环境准备与降级策略(必读)

本 skill 的运行依赖 2 类外部能力:Python 解释器scripts/ 目录下的采集脚本(含纯 HTTP 数据模块 westock_data.py,零外部依赖)。不同运行环境(本机 / Codex / ClawHub 沙箱)的可用性差异很大,下面给出统一的探测规则与三级降级策略,确保任何环境都能跑通

1. Python 命令探测(python3 与 python 均兼容)

不同环境 Python 命令名不同(macOS/Linux 多为 python3,部分环境为 python,Codex 等容器可能两者皆有或仅有其一)。

统一探测规则:执行任何脚本前,先运行以下探测确定命令名,后续统一用变量 $PY 指代:

# 探测:优先 python3,回退 python,都没有则走 L3 降级
if command -v python3 >/dev/null 2>&1; then PY=python3
elif command -v python >/dev/null 2>&1; then PY=python
else echo "⚠ 未找到 Python,走 L3 降级路径"; PY=""
fi
echo "使用 Python 命令: ${PY:-无}"

脚本 shebang 为 #!/usr/bin/env python3,直接用 $PY 显式调用可绕过 shebang 限制(如 python scripts/collect_data.py)。

2. 数据采集依赖说明(零外部 CLI)

本 skill 的数据采集不依赖任何外部 CLI 或第三方 npm 包。所有数据通过公开免费 HTTP 接口直接获取:

数据项数据源API
财务三表(利润表/资产负债表)— A 股新浪财经quotes.sina.cn/cn/api/...CompanyFinanceService
财务三表(利润表/资产负债表)— 港股东财港股 datacenterRPT_HKF10_FN_INCOME / RPT_HKF10_FN_BALANCE
现金流量表A 股:新浪财经;港股无此表(估值自动跳过 EV/EBITDA)
主要财务指标(ROE/毛利率/资产负债率等)— A 股东财 datacenterdatacenter.eastmoney.com/securities/api/data/v1/get
主要财务指标(ROE/毛利率/资产负债率等)— 港股东财港股 datacenterRPT_HKF10_FN_GMAININDICATOR
公司概况 / F10东财 F10A 股 PC_HSF10/CompanySurvey;港股 PC_HSF10/CompanySurvey?code=HK.{code}
十大股东 / 股东户数东财 F10 ShareholderResearch同上
行情报价(A 股)腾讯财经qt.gtimg.cn/q=
行情报价(港股)腾讯财经qt.gtimg.cn/q=hk{code}
分红送配东财 F10 BonusFinancingemweb.securities.eastmoney.com/PC_HSF10/BonusFinancing/...

执行约定:脚本 scripts/collect_data.pyscripts/westock_data.py 已内置上述接口调用逻辑,不需要安装任何额外工具。直接用 $PY scripts/collect_data.py {CODE} 即可运行。

3. 三级降级策略

级别触发条件行为
L1 正常scripts/ 存在 + $PY 可用执行 collect_data.py / valuation.py 脚本,脚本内置公开 API 采集全部数据(零外部依赖)
L2 无脚本scripts/ 缺失(打包遗漏/环境隔离)或脚本执行报错LLM 直接按同款数据源采集,手写 /tmp/{code}_data.json(schema 见下);用 WebFetch / curl 直连东财/腾讯/新浪等公开接口
L3 无 Python探测不到 python3 / python$PY 为空)完全由 LLM 用 WebFetch / curl 直采,手动拼 JSON 写入 /tmp/{code}_data.json,跳过所有 .py 脚本

降级判定口诀:先探 $PY → 有脚本就跑 L1 → 无脚本走 L2 → 无 Python 走 L3。

4. L2/L3 降级采集 schema(写入 /tmp/{code}_data.json)

降级时 LLM 需产出一个 JSON,结构与脚本输出对齐,至少包含以下字段(其余字段可按信息盲区省略):

{
  "code": "600519",
  "market": "A股",
  "finance": { "主要财务指标": {} },
  "f10": { "公司概况": {}, "股东研究": {}, "股本结构": {}, "行业分析": {}, "财务分析": {} },
  "lrb": {}, "fzb": {}, "llb": {},
  "quote": { "price": 0, "pe_ttm": 0, "pb": 0, "mcap_yi": 0 },
  "em_info": {}, "blocks": [], "reports": [], "ths_forecast": []
}

降级采集的字段允许少于脚本(信息盲区标注即可),但必须保留 code / market / quote 三项,其余缺失标 "N/A"。后续 Step1-5 读取该 JSON 的逻辑不变。

5. 降级时三表数据来源

三表(利润表 / 资产负债表 / 现金流量表)在降级路径(L2/L3 )中通过以下公开接口直采:

数据接口
利润表 lrb新浪财报 API quotes.sina.cn/cn/api/...CompanyFinanceService
资产负债表 fzb同上
现金流量表 llb同上

L1 路径中脚本已内置上述接口调用逻辑,无需手动指定。


Step0:公司识别与数据采集

0.1 公司识别

前置检查:市场范围

支持 A 股 + 港股,拒绝美股

  • 用户明示美股,或代码为字母美股代码(如阿里 BABA、特斯拉 TSLA)→ 回复"本工具仅支持 A 股 / 港股分析。如需分析美股,请使用对应工具。"
  • 明确为未上市公司(如华为、字节跳动)→ 回复"该公司尚未上市,无法进行股票分析。"
  • 通过后继续下面流程

识别输入类型 + 市场判定

判断用户输入(顺序敏感,先看代码长度/格式):

输入特征模式市场
5 位纯数字(如 00700、09988)港股代码模式港股
6 位纯数字(如 600519、000858)A 股代码模式A 股
hk00700 / sh600519 / sz000001 / bj430047带前缀代码模式按前缀判定
00700.HK / 600519.SH(带 .XX 后缀)港交所/上交所规范后缀模式按后缀判定(需规整成 hk00700 / sh600519
含 5-6 位数字 + 公司名(如"腾讯 00700")公司名+代码模式按代码长度判定
其他公司名模式search 后由候选判定

代码规整:所有变体在传给脚本前统一hk{5位} / sh{6位} / sz{6位} / bj{6位},collect_data.py 用 westock_data.market_prefix() 重新识别。


情况 A:公司名模式(如"贵州茅台"、"腾讯控股")

用 WebSearch 搜索 "<公司名> 股票代码",从搜索结果提取代码。用 $PY /scripts/collect_data.py {CODE} 采集行情验证名称匹配。

  • 唯一匹配:在对话中展示"🔍 识别到:{公司全称}({代码})· {市场} · {交易所}",进入 0.2
  • 多候选:用 ①②③ 列出"{公司全称}({代码})· {市场标识}",A 股/港股候选全部展示让用户选;美股候选标注"美股,本工具不支持"排除
  • 无结果:提示"未找到匹配的 A 股/港股公司,请手动输入代码。"

情况 B:股票代码模式(如"600519" / "00700" / "hk00700" / "00700.HK")

执行 $PY /scripts/collect_data.py {full_code},从输出中取 quote.name 字段,反查公司全称和市场。

  • 找到匹配:在对话中展示 → 直接进入 0.2
  • 代码无效:提示"代码 {代码} 未找到,请检查是否正确。"

情况 C:公司名+代码模式(如"贵州茅台 600519"、"腾讯 00700")

执行 $PY /scripts/collect_data.py {full_code}(取 quote.name 字段),验证名称与代码是否匹配。

  • 匹配 ✓:直接进入 0.2,不弹确认
  • 不匹配 ✗:展示搜索结果和用户输入,让用户选择正确的一方

确认信息格式(在对话中展示,不弹窗):

  • 唯一匹配:输出"🔍 识别到:{公司全称}({6位或5位代码})· {A股/港股} · {交易所},即将开始 6 步深度分析。如不对请直接告诉我正确代码。",然后进入 0.2。
  • 多候选:用 ①②③ 列出"{公司全称}({代码})· {市场} · {交易所}",等用户选择后进入 0.2。

0.2 结构化数据采集

执行 scripts/collect_data.py {股票代码},脚本自动采集 10+1 项数据:

模块数据源备注
finance东财主要财务指标(A 股)/ 东财港股 GMAININDICATOR(港股)已有
f10东财 F10 五大类已有
lrb新浪(A 股)/ 东财港股 datacenter INCOME(港股)利润表
fzb新浪(A 股)/ 东财港股 datacenter BALANCE(港股)资产负债表
llb新浪(A 股);港股无此表现金流量表(港股估值跳过 EV/EBITDA)
quote腾讯行情(A 股 qt.gtimg.cn / 港股 qt.gtimg.cn/hk{code}已有
em_info东财个股信息已有
blocks百度概念板块(A 股)/ 恒生行业(港股)已有
reports东财研报(A 股);港股无已有
ths_forecast同花顺一致预期(A 股);港股无已有

以上 10 项为数据采集项,外加 1 项衍生

衍生项拆解方式用途
ebitda新浪三表(A股)/ 港股无 OCF → calc_ebitda() 拆解估值 EV/EBITDA 方法(港股自动跳过)

全部写入 /tmp/{股票代码}_data.json,终端只输出采集摘要。

批量模式(不写文件,stdout 输出 JSON,进度走 stderr):

模式命令输出用在哪
--quotescollect_data.py --quotes 600519,000858多家公司行情(PE/PB/市值/股价)Step3.2 估值章节竞对 PE/PB
--financescollect_data.py --finances 600519,000858,002768多家公司财务比率(毛利率/净利率/ROE/营收/同比/8 期报告期)Step4 §6 可比公司财务对比(强制走 collect_data.py --finances 直采)

三表数据源说明collect_data.py 内部自动处理三表采集(优先内置接口,失败时降级到新浪/东财公开接口)。无需手动指定数据源。

执行方式

# 先按「环境准备与降级策略」探测 $PY(python3/python 自动适配)
# 获取 skill 目录路径,然后执行脚本
$PY /scripts/collect_data.py {CODE}
# 若 scripts/ 缺失或脚本报错 → 走 L2/L3 降级(LLM 直采写 /tmp/{code}_data.json)

0.3 定性信息补充(合并搜索)

WebSearch "<公司名> 研报 2025 2026 战略"     # 券商研报(战略方向、风险因素)
WebSearch "<公司名> 公告 管理层 重大事项"       # 公司公告(管理层变动、重大事项)

2 次拉取覆盖战略方向、风险因素、管理层变动、商誉减值等定性信息。

0.4 数据质量评级

  • A级:10 项数据 + 1 衍生全部成功
  • B级:1-3 项失败(记录失败项,用 WebSearch 补充)
  • C级:三表 + F10 均失败(仅做定性分析)

报告采集摘要(数据等级 + 获取项 + 缺失项),自动进入Step1。


Step1:公司画像

输入:从 /tmp/{股票代码}_data.json 读取 f10.公司概况、f10.股东研究、f10.股本结构、em_info、blocks。

  1. 基本信息:公司全称、股票代码、上市交易所、上市日期、注册资本、实际控制人、所属行业(申万)、业务模式标签【互联网/平台/TOC SaaS/TOB SaaS/TOC+TOB 双边/工业品/消费品/金融/医药/地产/强周期/其他】、概念板块(合并到此节最后一行,逗号分隔)
  2. 主营业务:主要产品/服务、收入构成、最新业务动态
  3. 股权结构:前十大股东(名称/持股比例/性质)、实际控制人持股链路、总股本/流通股本/限售股
  4. 用户规模与活跃度(由 §0 业务模式标签决定):
    • 触发条件:见模板 §0.4 表格(基于申万行业 + 主业占比,用关键词匹配)
    • 触发内容:见模板 §五
      • TOC:MAU/DAU/付费用户/ARPU/留存/LTV/CAC 等核心用户指标
      • TOB:付费客户数/ARR/NDR/续约率/Rule of 40 等 SaaS 指标
      • 两者并存时两节都生成

业务模式标签判定按 templates/company-profile-template.md §0 执行(申万行业 + 主营占比双判定,主业占比 50% 是分水岭),产物作为 Step2 五力框架选择器、Step3 护城河框架选择器、Step4 财务权重调整表的查询键。

输出:使用 templates/company-profile-template.md 生成 {公司名}_公司画像.md

质量门

  • 公司全称、股票代码、上市交易所已填写
  • 业务模式标签已选择(必填)
  • 主营业务描述不少于100字
  • 前十大股东至少列出5个
  • 每个数据项标注来源
  • 概念板块已合并到基本信息表,单独成节
  • 触发条件成立时,用户规模章节已生成(否则标注"不适用")

Step2:产业链分析

输入:Step1 公司画像中的"业务模式标签" + 从 /tmp/{股票代码}_data.json 读取 f10.行业分析、blocks。

Step2 启动前置检查:Step2 §2.0「行业大盘前置」必须先生成(行业规模/CR3-CR10/生命周期定位),作为五力分析的"行业大盘"基线;若数据等级 C 级,Step2 五力表需标注"行业数据基础薄弱,五力评级置信度降低"。

2.0 行业大盘前置

模板位置:本节产出物写入主报告模板的 §2.1 行业概览(行业定位 + §2.1.1 行业规模 + §2.1.2 市场份额 + §2.1.3 行业生命周期定位)。 数据获取:从 /tmp/{股票代码}_data.json 读取 f10.行业分析 + blocks.行业。用 WebSearch 搜索 "<行业> 市场规模 CR5 集中度 2025" 补充行业数据。

  • 行业规模:总规模 + 过去 5 年 CAGR + 未来 5 年 CAGR 预测 + 公司占比
  • 市场份额:头部 5-10 名 + CR3/CR5/CR10 集中度
  • 行业生命周期定位(导入/成长/成熟/衰退 + 核心驱动 + 政策/技术变革)
  • 数据缺失时按模板 §6.4 兜底并降级

2.1.0 五力框架选型

ai-internal-rules.md §2.0 选五力框架(业务模式标签 → 框架 A/B/C),加载 porter-five-forces-template.md 对应章节执行。

2.1 经典 Porter 五力(框架 A 模板,其他框架按对应章节)

力量分析要点数据来源
供应商议价力(上游)原材料/技术供应方、供应商集中度、切换成本f10.行业分析 + WebSearch "<公司名> 供应链 供应商"
买方议价力(下游)客户集中度、产品可替代性、议价能力f10.财务分析 + WebSearch "<公司名> 客户 集中度"
现有竞争者威胁同行数量、市场份额分布、竞争强度WebSearch "<行业> 竞争格局 CR5" + <行业> 市场份额排名
新进入者威胁资金/技术/牌照壁垒f10.行业分析 + WebSearch "<行业> 行业壁垒 准入"
替代品威胁替代产品/服务、替代趋势WebSearch "<行业> 替代品 趋势"

2.2 搜索合并(共用)

五力搜索合并为 2-3 次(互相独立,可并行执行),命令清单按 porter-five-forces-template.md §3 / §4 各力量「数据来源」字段执行。

每项评级:强/中/弱 + 至少 2 条数据支撑。

质量门

  • 所选框架已明确标注(A/B/C/A+B)
  • 五力每项都有评级
  • 每项至少 2 条数据支撑
  • 产业链上下游各列出至少 2 个具体环节
  • (框架 B/C 额外) 核心指标(CAC/LTV/留存/MAU)有数据点

Step3:竞争格局与护城河分析

输入:Step2 五力分析 + 从 /tmp/{股票代码}_data.json 读取 reports、quote。

3.1 识别竞争对手

从Step2提取同行 + WebSearch "<行业> 上市公司 同行对标"(拿行业成份股列表)+ WebSearch "<公司名> 竞品分析 券商研报"(券商研报里的竞品分析),筛选 5-8 家主要竞对。

竞对选取方法论

核心原则:从"业务模式"和"产业链位置"双维度匹配。先找同行业(高可比),再找上下游/相似业务(中可比),最后是行业参考(低可比)

具体步骤:

  1. 业务模式拆分:把目标公司按"营收占比"拆成主业(占比最高)+ 次业(如自研/小业务)。可比公司必须对标主业
  2. 三层选取
    • 🟢 高可比:业务模式相同 + 主营行业相同
    • 🟡 中可比:主营行业不同但业务模式类似
    • 🔴 低可比业务模式差距大,仅作行业参考
  3. 每家公司必须给"可比性"标注(高/中/低),并说明理由
  4. 行业基准对比不能替代可比公司对比——这是常见错误

反例警示(必须避免):

  • ❌ 把行业平均毛利率/PE 当作"可比公司"——这是偷懒
  • ❌ 把业务模式差距大的公司(如 FPGA 芯片设计 vs 存储分销)放在同一张估值表里比较 PE/PB

最终报告规则:可比公司在双产物中的差异化处理:

  • 深度分析报告(MD):
    • §2.3 行业与竞争分析、§4.1 估值结论 → 只列高可比 2 家(焦点对标)
    • §3.6 财务分析(可比公司财务对比)→ 列出所有收集到的可比公司(高+中+低),用"可比性"列标注等级
  • 投研简报(HTML):由于是 30s 必读卡片,不展开可比公司(KPI 已涵盖核心数据)
  • 中/低可比公司在深度报告 §2.3 / §4.1 节仅在分析时作为参考,不进入最终报告这两节。

产物归属:本步骤识别结果作为模板 §2.3 行业与竞争分析的前置输入,不单独占用模板小节。

3.2 竞对业务对比

竞对主营/营收用 WebSearch "<竞对公司名> 主营业务 营收 2025"(研报/官网覆盖)。竞对 PE/PB/市值用脚本的批量行情入口一次获取:

# $PY 为「环境准备与降级策略」探测到的 Python 命令(python3/python 自动适配)
$PY /scripts/collect_data.py --quotes {目标代码},{竞对代码1},{竞对代码2},...

该命令直接打印各代码的 name/price/pe_ttm/pb/mcap_yi。整理对比表:公司名/主营/营收/市值/PE/PB/市场份额。

scripts/ 缺失或 $PY 为空 → 走 L2/L3 降级:用 WebFetch 直连腾讯行情 qt.gtimg.cn/q= 逐家获取 PE/PB/市值,手动汇总。

3.3 护城河分析(行业适配型)

方法论升级说明:Porter 1985 经典六类护城河已扩展为按行业适配的 6 套框架, 并引入 Hamilton Helmer 7 PowersBen Thompson Aggregation Theory 等现代权威方法论。 加载 references/moat-analysis-framework.md 后,第一步:用 §0 行业适配选择器选定框架,再按该框架的指标体系执行。

ai-internal-rules.md §2.5 选护城河框架(业务模式标签 → 框架 A-F),加载 moat-analysis-framework.md 对应章节执行。

三轮反问机制(可复制性 / 周期韧性 / 隐蔽威胁):按 references/moat-analysis-framework.md §8 执行。

3.3.1 护城河维度评级(所选框架的专属维度,逐项宽/窄/无)

按所选框架(§0 选择器)的核心维度逐项评级(宽/窄/无)。 数据来源:f10.财务分析 + WebSearch "<公司名> 护城河 竞争优势"(研报/分析文章)。

每轮记录:反问问题 → 分析过程 → 评级是否调整 → 理由。

质量门

  • 至少识别 3 家竞对
  • 所选护城河框架已明确标注(A/B/C/D/E/F/经典)
  • 护城河反问轮次按数据等级:A 级 ≥ 3 轮,B 级 ≥ 2 轮,C 级 ≥ 2 轮
  • 每轮有明确结论

3.4 为什么非它不可(竞争优势综合判断,对应模板 §2.5)

3 问与 §3.3 护城河三轮反问的区分:§3.3 问的是"竞对能不能复制你的护城河"(竞对视角);§3.4 问的是"客户为什么非选你不可"(客户视角)——两个视角互补,§3.4 必须基于 §3.3 的护城河综合评级输出。

按 §3.3 选定的护城河框架(消费/平台/制造/金融/医药/地产)→ references/moat-analysis-framework.md §11 取对应 Q1/Q2/Q3 指标定义,填到 deep-analysis-report-template.md §2.5 的 3 个 {Q? 指标} 占位符。

  • 最终护城河评级有数据支撑
  • 护城河类型已明确归类

Step4:财务四维 + 穿透分析

输入:从 /tmp/{股票代码}_data.json 读取 lrb(利润表)、fzb(资产负债表)、llb(现金流量表)、finance(主要财务指标)、f10.财务分析。

加载 references/financial-analysis-guide.md,第一步:根据 Step1 的"业务模式标签"选定权重表,再按选定的权重做四维分析。

4.0.0 基准年判定(必做 · 引用 ai-internal-rules.md §0.1

跑报告第一步:按 references/ai-internal-rules.md §0.1 判定基准年,所有模板列名引用 {基准年} / {基准年-1} 变量,不允许硬编码具体年份。

4.0 行业类型对应权重表(必读)

ai-internal-rules.md §3.0 选财务权重(详见 financial-analysis-guide.md §0.1)。报告"摘要"必须说明选用了哪套权重。

4.1 四维分析(按选定的权重)

  • 4.1 盈利能力:毛利率、净利率、ROE、ROA
  • 4.2 偿债能力:流动比率、速动比率、资产负债率、利息保障倍数
  • 4.3 营运能力:存货/应收周转天数、总资产周转率
  • 4.4 成长能力:营收/净利润同比增长率、经营现金流增长率

4.5 杜邦三因子分解(所有行业必做,亏损公司用替代公式)

ai-internal-rules.md §3.6 执行:ROE = 销售净利率 × 总资产周转率 × 权益乘数。亏损公司不豁免,4 种替代公式任选其一(扣非归母 ROE / ROA / EBIT ROIC / 三年平均)。

输出表(必做):

报告期销售净利率总资产周转率权益乘数ROE行业 ROE驱动因子
4 期{净利率/周转率/杠杆}

4.6 综合评分

维度权重(已调整)得分加权得分
盈利能力{选定%}__/100__
偿债能力{选定%}__/100__
营运能力{选定%}__/100__
成长能力{选定%}__/100__
合计100%__/100

输出:使用 templates/financial-analysis-template.md 生成 {公司名}_财务分析.md

质量门:

  • 权重调整已说明(报告摘要中列出选用的权重表)
  • 四维每项至少 4 个指标
  • 所有比率列出公式和计算过程
  • 每个数字标注来源
  • 趋势分析(至少 4 期对比)
  • 有行业对比
  • 杜邦三因子分解(必做,所有行业,亏损公司用替代公式)
  • 综合评分已计算

Step5:相对估值

输入:竞对公司 + 从 /tmp/{股票代码}_data.json 读取 quote、reports、ths_forecast。

加载 references/valuation-methods.md

5.1 相对估值(四步法)

方法选取:按 ai-internal-rules.md §7.1 选 1-3 种估值方法(PE-TTM / PB-MRQ / EV/EBITDA-TTM / PS-TTM / NAV 等),按 §7.2 写估值结论。

自动判定scripts/valuation.py_classify_industry(data) 已实现上述判定逻辑,输入申万一级行业自动返回首选方法 + 交叉验证方法。

实操流程

  1. 调估值脚本scripts/valuation.py):

    # $PY 为「环境准备与降级策略」探测到的 Python 命令(python3/python 自动适配)
    $PY scripts/valuation.py 600519 peers.json
    # peers.json 示例:{"peer_pe_median": 25.0, "peer_pb_median": 8.0}
    

    脚本输出 JSON:行业分类 / 首选方法 / 合理股价 / 上行空间 / 数据完整度

    scripts/ 缺失或 $PY 为空 → 走 L2/L3 降级:valuation.py_classify_industry() 逻辑在 references/valuation-methods.md 中有等价的文本版判定规则,LLM 按该规则手动选方法、算合理股价。

  2. 交叉验证(10 个变体中至少 2 个):

    • 偏差 < 15%:取均值
    • 偏差 15-30%:取均值但标注分歧原因
    • 偏差 > 30%:必须分析分歧(周期性/特殊项目/会计差异),取更保守的估值
  3. 数据完整度检查:< 60% 时提示补充行业数据

  4. 报告写作templates/deep-analysis-report-template.md §四估值(只展示数字,公式放 valuation-methods.md


Step6:生成产物与清理

跑完 6 步分析后,输出两份产物(默认行为):

产物文件名模板
深度分析报告{公司名}_深度分析报告_{YYYYMMDD}.mdtemplates/deep-analysis-report-template.md
投研简报{公司名}_投研简报_{YYYYMMDD}.htmltemplates/briefing-card-template.html

6.0 产物生成的强制执行规则(⚠️ 必须严格遵守)

这是产物质量的最后一道门。无论走 L1/L2/L3 哪条路径,以下规则不可跳过。

步骤 1:读取模板文件(强制)

在写任何产物之前,必须先使用 Read 工具读取对应模板文件的完整内容

  • 深度分析报告 → Read /templates/deep-analysis-report-template.md
  • 投研简报 → Read /templates/briefing-card-template.html
  • 单步模式财务分析 → Read /templates/financial-analysis-template.md
  • 单步模式公司画像 → Read /templates/company-profile-template.md

不得凭记忆或猜测来编写产物结构——必须以读取到的模板文件为准。

步骤 2:严格按模板结构填充

读取模板后,产物的生成方式为:

  1. 保留模板的全部章节标题、表格结构、格式标记不变
  2. {占位符} 替换为实际分析数据(如 {公司名} → "中国巨石",{YYYY-MM-DD} → "2026-07-14")
  3. 将模板中的说明性括号文字替换为具体内容(如"(100-200 字描述...)" → 实际的描述段落)
  4. 不删除模板的任何章节,数据缺失时标注 "N/A" 或"信息盲区"
  5. 不自行新增模板中不存在的章节(除非单步模式路由表明确要求)

禁止行为

  • ❌ 不读模板直接按自己的理解写报告
  • ❌ 改变模板的章节顺序或层级结构
  • ❌ 省略模板中存在的任何标准化区块(如"30 秒极简版"、"摘要"列表等)

6.1 清理临时文件

分析完成后清理临时数据:

rm -f /tmp/{股票代码}_data.json

Related skills

A股深度财务分析与研报生成Skill。融合8本财务经典方法论,基于宏观-中观-微观三层框架,支持200+财务指标分析、70+舞弊信号预警、7大行业专精对标。 Use when user asks to 财务分析、财报分析、财务报表分析、深度研报、公司研报、 行业报告、行业分析、行业对比、快速排雷、舞弊识别、财务造...

2 installs

生成A股个股深度投资报告。当用户要求撰写股票/公司投资报告、个股分析、估值分析时使用。支持批量生成多份报告。报告包含:公司概况、详细业务构成、财务分析与预测、分部估值(SOTP)、投资逻辑、交易计划、多维度深度分析(政策面/基本面/技术面/情绪面/消息面/资金面)、风险提示、总结。用户只需提供公司名称列表即可触发。

3 installs

生成个股三维深度分析单页HTML报告。支持A股、港股、美股,从基本面、新闻面、资金面、技术面、估值、同行对比、股东结构等多个维度进行全面分析,输出精美可打印的HTML报告。触发关键词:三维深度分析、个股分析报告、股票深度报告、生成股票HTML报告、Deep Stock Analysis Report。

5 installs

投研分析技能套件:业绩快评、可比公司分析、晨会纪要、深度报告、研报摘要、行业研究、读年报、调研纪要。 业绩快评: 帮我点评下财报, 帮我快速看下业绩, 业绩点评, 财报速评, 季报分析; 可比公司分析: 可比公司分析, 可比公司, PE对比, comps; 晨会纪要: 晨会纪要, 晨会, 早盘观点, morning brief; 深度报告: 深度报告, 首次覆盖, 公司深度; 研报摘要: 研报摘要, 卖方研报, 观点提炼; 行业研究: 帮我研究下这个行业, 帮我分析下产业链, 行业格局, 行业研究; 读年报: 帮我读一下这份年报, 帮我分析下这份年报, 10-K, 年报分析; 调研纪要: 调研纪要, 实地调研, 专家访谈。

A股上市公司财务分析全流程工具包。覆盖年报采集、三表提取、指标计算、可视化看板、数据核对的全链路。用于对A股上市公司进行近3-5年财务经营状况综合分析,包括年报PDF下载(巨潮资讯网)、合并资产负债表/利润表/现金流量表提取(PDF→xlsx)、财务指标计算(偿债/营运/盈利/发展/现金流/杜邦分析)、EChar...

1 installs1 stars

深度A股情报调查与分析工具,支持A股情报调查、竞品分析、舆情监测、人物背景调查、信息交叉验证,生成结构化调查报告。当用户需要调查A股公司/行业/概念、调查竞品、追踪热点事件、了解人物背景、验证信息真实性时使用。触发词:A股情报、股票调查、财报分析、概念追踪、资金流向、情报调查、竞品分析、舆情调查、背景调查、信息验证、多源搜索。

6 installs