Turn financial questions and inputs into stock research, valuation models, portfolio reviews, and formatted reports.
Coding
Stock AI Analyzer
Turn A-share data and filings into a structured fundamental, valuation, governance, and risk assessment.
What it does
Analyze China A-shares by name or code using a fundamental-research workflow covering growth, financial quality, business mix, governance, risks, market-theme alignment, and relative valuation. It collects evidence from Tushare and public filings, selects a valuation anchor by lifecycle and business model, and produces an evidence-based report with assumptions, confidence, counterarguments, and risks. Deep mode investigates anomalies and underpriced theses through targeted source reading.
When to use it
- Fundamental review of a China A-share
- Growth and financial-quality diagnosis
- Relative valuation and implied-expectation analysis
- Deep investigation of filings and anomalies
The skill document
A股基本面投研分析助手
把这个技能当作股票基本面投研方法论使用。不要依赖脚本生成报告、提示词、投资结论、组合分析或推荐。脚本只能取数;你作为智能体负责解释数据、判断重点,并直接写出最终内容。
一、总原则
- 所有内容逻辑都放在本
SKILL.md中:分析路径、判断标准、报告结构、措辞边界。 - 证据获取用
scripts/data_fetcher.py;Deep 模式确定性 surfacing 用scripts/thesis_scan.py;持续跟踪状态写入用scripts/tracking_table.py;Markdown 到 HTML 的只读渲染用scripts/render_report_html.py。 - 脚本输出只是证据,结论必须由你基于证据推理得出。
- A股估值的核心哲学:A股是高度叙事驱动的市场。一只股票是否处于当前市场主线内,会显著影响其估值定价方式。这一判断是定量分析中无法回避的关键变量,详见第 5.5 节。
- 估值不得默认使用通用 PE。估值前必须做双轴分型:(1) 生命周期分型——成长股 / 成熟龙头 / 红利价值,决定"看远期还是看当期";(2) 行业 / 商业模式分型——决定"用哪个倍数作为主估值锚"(PE / PEG / PS / EV-Sales / EV/ARR / Rule of 40 / PB / EV-EBITDA / 中周期利润 / SOTP / rNPV 等)。模型必须直接判断采用哪一种主估值方法,并且正文只展示该主锚对应的数据;不要把 PE、PB、PS 三套口径一起铺开。盈利稳定 → PE/PEG;高增长但利润未释放 → PS/EV-Sales;SaaS → EV/ARR、PS、Rule of 40;重资产或强周期 → PB、EV/EBITDA、中周期利润;多业务并行 → SOTP;创新药 → rNPV/DCF;金融 → PB/P-EV/P-NBV。详见第 5.1 节与
references/industry_valuation_library.md。 - 估值中枢不允许写死数值。中枢必须动态由四个来源构成:公司自身主锚历史分位(
valuation-band)、同业可比公司主锚中位数(3–5 家自构清单)、行业历史分位 / 行业指数估值(联网)、产业景气位置与当前市场水温(联网 + 公司公告)。"贵/便宜"只能是相对结论:把自身历史估值带、同业对比、市场水温放在一起判断,再给出当前估值、行业中枢、历史分位、合理估值区间、上修条件、下修条件(§5.6 六项必输出)。
二、数据获取
环境变量:
TUSHARE_TOKEN=your_token
默认一次只获取一个数据集;需要完整单股分析时,使用 pack 生成完整 evidence、轻量 analysis_context 和模块级 JSON。
python scripts/data_fetcher.py search 贵州茅台
python scripts/data_fetcher.py fetch company 600519.SH
python scripts/data_fetcher.py fetch financial 600519.SH --limit 8
python scripts/data_fetcher.py fetch income 600519.SH --limit 8
python scripts/data_fetcher.py fetch balance 600519.SH --limit 8
python scripts/data_fetcher.py fetch cashflow 600519.SH --limit 8
python scripts/data_fetcher.py fetch daily-basic 600519.SH --limit 60
python scripts/data_fetcher.py fetch valuation-band 600519.SH --years 5
python scripts/data_fetcher.py fetch main-business-product 600519.SH --limit 30
python scripts/data_fetcher.py fetch top10-holders 600519.SH --limit 4
python scripts/data_fetcher.py fetch managers 600519.SH
python scripts/data_fetcher.py fetch rewards 600519.SH
python scripts/data_fetcher.py fetch holder-number 600519.SH --limit 20
python scripts/data_fetcher.py fetch holder-trade 600519.SH --limit 30
python scripts/data_fetcher.py fetch share-float 600519.SH --limit 20
python scripts/data_fetcher.py fetch block-trade 600519.SH --limit 30
python scripts/data_fetcher.py fetch report-list 600519.SH --report-type all --limit 8
python scripts/data_fetcher.py fetch report-text 600519.SH --report-type annual --report-index 1 --max-pages 80 --max-chars 60000
python scripts/data_fetcher.py fetch announcements 600519.SH --date 2026-01-01~2026-05-16 --searchkey 回购 --limit 20
python scripts/data_fetcher.py fetch announcement-text 600519.SH --date 2026-01-01~2026-05-16 --searchkey 监管函 --announcement-index 1
python scripts/data_fetcher.py fetch institutional-research 600519.SH --start-date 20250101 --end-date 20260516 --limit 30
python scripts/data_fetcher.py pack 600519.SH --date 2026-01-01~2026-05-16 --evidence-out reports/evidence_600519.json --context-out reports/context_600519.json --module-context-dir reports/module_context_600519
默认使用 JSON 输出。只有在表格查看更方便时才使用 --format csv。
2.1 数据维度说明
| 维度 | dataset | 用途 |
|---|---|---|
| 股票识别 | search | 名称/代码解析,确认 ts_code、地区、行业、市场、上市日期和板块 |
| 公司画像 | company | 公司简介、行业、注册地、主营概况 |
| 财务指标 | financial | ROE、毛利率、净利率、成长、偿债、周转等财务指标 |
| 三大报表 | income、balance、cashflow | 利润表、资产负债表、现金流量表,用于增长质量、利润质量和财务健康验证 |
| 行情估值 | daily、daily-basic | 日线、换手率、PE/PB/PS、股息率、市值、股本结构 |
| 历史估值分位 | valuation-band | 从多年 daily_basic 确定性计算 PE/PB/PS/股息率的近 1/3/5 年区间与当前分位。Tushare 无现成分位接口,由脚本计算;正文只展示主估值锚对应的 band,不把三套倍数一起铺开 |
| 主营结构 | main-business-product、main-business-region | 产品和地区收入/利润结构,判断业务驱动和集中风险 |
| 股东治理 | top10-holders、managers、rewards | 十大股东、董监高、管理层薪酬和持股 |
| 筹码变化 | holder-number、holder-trade | 股东户数、重要股东增减持 |
| 交易与供给压力 | share-float、block-trade | 限售股解禁、大宗交易 |
| 年报季报 | report-list、report-raw、report-text | 巨潮定期报告列表、PDF 下载、PDF 文本抽取 |
| 个股公告 | announcements、announcement-raw、announcement-text | 仅按个股查询巨潮公告,按标题规则标记问询回复、监管函、回购、减持、股权激励、定增、重大合作、业绩快报等 |
| 机构调研 | institutional-research | Tushare stk_surv,用于观察调研频率、参与机构、接待方式和调研内容关键词 |
| 上下文包 | pack | 单股完整 evidence、轻量 analysis_context 和模块级 JSON,供 subagent 或低上下文顺序分析 |
2.2 公告查询边界
announcements只支持按个股查询。不要用本 skill 做全市场公告扫描。- 标题规则只负责定位事件类型,不负责判断影响大小。
tabtype=fulltext用于公告全文列表;tabtype=relation仅作为互动易/调研相关列表的辅助入口。- PDF 原文读取使用本 skill 内置下载与
PyPDF2文本抽取,不跨 skill 引用。
2.3 把研报渲染成 HTML(可选)
写完 Markdown 研报后,可用 render_report_html.py 渲染成自包含的单页 HTML(AlphaVault 站点风格,默认主题;另有 --theme claude 暖色风格),并自动从 evidence 里嵌入两类图表:主估值锚估值带时间序列(从正文的"主估值锚"推断 PE/PB/PS/股息率中对应的一种;无法映射到现有 valuation-band 时静默跳过)、营收/归母净利/同比增速/盈利能力财务趋势(income+financial)。
python scripts/render_report_html.py -i reports/report_600519.md --evidence reports/evidence_600519.json [--theme {default,claude,print}]
# 不传 --evidence 时,会自动找同目录的 evidence_<代码>.json;找不到则只渲染正文、不嵌图表
# --theme 默认 default(AlphaVault 站点风格);claude 为 Claude.ai 暖色;print 为黑白衬线、A4 友好
样式模板由仓库通用 shared/html_report 提供(同步到 scripts/_shared/html_report/),新增主题只需在该目录的 themes/ 下放一个 CSS 文件。
内容与输出格式解耦(重要):HTML 渲染器对正文是"只读装饰"——它不改写任何文字,只把 Markdown 转成 HTML,并在客户端用 JS 注入图表与 hero 卡片。因此写研报时不需要为 HTML 迁就措辞或结构:
- 图表锚点是"尽力而为"。找不到对应小标题(如「估值方法与相对贵贱」「成长性与财务质量诊断」「核心判断」)时,对应图表静默跳过,不报错。
- evidence 缺某个数据集时,对应图表自动不画,正文照常输出。
- 文本保全校验默认只告警不中断(
--no-validate完全跳过,--strict才在不一致时报错),正文内容怎么改都不会导致 HTML 生成失败。 - 沿用模板(第八节)里的小标题命名能让图表落到最合适的位置;即使大改结构,最坏情况也只是少几张图,正文与样式不受影响。
- 正文明确作废自身历史估值带(如"历史分位:不适用/已作废",典型于破产重整壳)时,估值带图自动不画,避免把作废口径画回报告。
活报告组件:跟踪更新过的报告(结构契约见 references/living_report.md),渲染器会把既有写作惯例自动升级成交互组件——识别不出就静默降级为普通 Markdown:
- 标题下
日期|版本号两列表 + 文末「版本变更记录」四列表 → 可点版本时间轴(节点弹出该版本主要变更/关键数字,可跳转对应更新章节;不足 2 个版本不挂)。 ## 更新 YYYY-MM-DD:一句话摘要章节 → 折叠更新卡(默认展开最新一节,其余折叠;时间轴上有"展开全部更新"开关)。- 核心判断的固定词表 bullets 尾块(§八)→ hero 卡底部 stat 指标网格。
- 正文
[W15]式来源标号 → 跳转「深度调研索引」对应行的引用锚 chip。 ==跟踪事项|ID|类型|优先级:高|状态:部分兑现块 → 状态徽标卡片(替代 10 列宽表)。- 行内
==文字==→ 高亮标记。
2.4 Deep 模式工具(确定性 surfacing + 原文定位)
仅 Deep 模式用,方法论见 references/deep_mode.md:
python scripts/thesis_scan.py --evidence reports/evidence_.json:对 evidence pack 做确定性扫描,输出命题原型(含预期差 A1/A2/B)、异常旗标(业绩/利润质量/营运资本/减值/资本结构)和每条的 probe 建议。只 surfacing,不下结论。fetch report-text … --section <章节/关键词> [--to-markdown]:把"盲读前 6 万字"升级为定向读章节。年报标准章节别名mda/财务报告/重要事项/公司治理/股东;不命中(如季报、或"研发"/"AI"等子主题)自动降级为关键词窗口。引擎优先级 pymupdf4llm → PyMuPDF → PyPDF2,缺高级库自动回退。fetch daily --limit 0:取全量日线,供"月线横盘/价格 vs 盈利"等长周期判断(pack 默认仅 60 日)。
2.5 持续跟踪:个股估值建模跟踪表(PG)与 HTML 跟踪点
同一只股票会被反复分析。为了让"这次相对上次变了什么"可沉淀、可回看,每只跟踪股在本地 PostgreSQL(alpha_data)里有一张逻辑上的个股跟踪表——所有股票共用三张按 ts_code 分区的表(stock_tracking_meta / stock_tracking_field / stock_tracking_history,schema 见 _shared/init_alpha_data.sql §16),不是每股一张物理表。字段由该股自己的建模变量定义,不套统一模板:
- 主锚推算变量(按 §5.4.A 主锚选):PE 股→远期净利、合理 PE 区间;PS 股→远期收入、远期净利率正常化;PB→中周期 ROE、远期 BVPS;rNPV→各管线节点/成功率;EV/ARR→ARR、NDR。
- 主线连接强度(§5.5):强/弱/无连接 + 依据。
- 上修 / 下修条件里可量化的催化跟踪点(§5.6):订单、产能、渗透率、提价、稼动率等,取 2–5 个最关键的。
合计 5–15 个字段为宜。首次分析建基线(每个字段落一条当日记录);之后每次跟踪,只对发生变化的字段追加一条带日期的新记录——历史 append-only,同日重跑覆盖当日那条,旧日期永不改写。
给已经更新过多版的老报告补建基线时,要 backfill 历史:不要每个字段只落当日一条,而应把正文与「版本变更记录」里已有据可查的历史数值,用 set --date <历史日> 按各自日期逐条补齐(数值字段值只填数字、单位进 --unit,渲染器才能画 step 走势图)。只落当日单条会让 HTML 徽标浮层每字段只有一行、sparkline 画不出,失去"看数字怎么变过来的"这一核心价值。详见 references/living_report.md §5。
CLI(scripts/tracking_table.py,只做校验+持久化,不做判断):
# 建表头(公司名 + 主锚),幂等
python3 scripts/tracking_table.py init 600519.SH --name 贵州茅台 --anchor PE
# 追加/更新一个字段(新字段首次必带 --label)
python3 scripts/tracking_table.py set 600519.SH --field fy2026_np \
--value "96–100" --label "2026E 归母净利" --group 盈利预测 --unit 亿元 \
--source 业绩预告 --confidence 中 --note "预告中值上修"
python3 scripts/tracking_table.py set 600519.SH --field mainline \
--value 强连接 --label 主线连接强度 --group 主线
# 查看 / 单字段完整历史 / 列出所有跟踪股
python3 scripts/tracking_table.py show 600519.SH
python3 scripts/tracking_table.py show 600519.SH --field fy2026_np
python3 scripts/tracking_table.py list
连接走 _shared/db_core.py(默认 alpha_user@/alpha_data 的 /tmp socket);表在首次写入时自建(ensure_schema),无需先跑建表脚本。字段取值判断仍是你的职责——脚本只校验字段 id、日期、置信度枚举并落库。
HTML 挂载:render_report_html.py 会自动按 ts_code(来自 evidence 或报告文件名,或 --tracking-code 指定)读回该股跟踪表,在报告里注入「估值建模跟踪表」卡片(每字段一行:最新值 + "MM-DD 更新 · N次"徽标,点击展开该字段完整历史)。正文里还可在建模数值后手动挂行内跟踪点 {{track:字段id}},渲染成同款徽标,点击弹出该字段历史浮层。跟踪数据还会和更新章节联动:历史浮层里数值可解析的字段自动画 step 迷你走势图,每条带日期的历史记录有"查看当次更新"跳转到对应 ## 更新 折叠卡;反过来每张更新卡自动生成"本轮字段变更"chips 条(旧值 → 新值,建基线日合并为一枚"N 个字段入库")。缺表 / 缺字段 / DB 不可达时渲染端会把挂不上的 marker 直接剥掉,正文不会出现 {{track:...}} 字面残留(真·静默降级);summary 的 tracking_markers.stripped 大于 0 说明正文挂了不存在的字段 id。--no-tracking 可关闭。
三、工作流程
收集证据
- 只获取完成任务所需的最小数据集。
- 财务趋势优先取最近 6-8 个报告期,覆盖至少 2 个完整财年。
- 如果任务是完整单股研究,优先运行
pack,再按模块级 JSON 分析,避免一次加载完整 evidence。 - 主线归属判断需要联网检索近期市场动态,不要依赖训练记忆。
- 数据缺失时要明确说明缺口,并降低结论置信度,不要补造数据。
原文升级规则
默认先看公告/报告元数据。只有出现以下情况,才升级读取 PDF 原文:
- 用户明确要求“看原文”“读公告”“解释公告”“公告具体说了什么”。
- 标题命中监管函、问询回复、重大合作/投资、股权激励、定增、员工持股、回购、增持、减持、业绩快报。
- 财务指标出现异常,需要查定期报告里的管理层解释、会计政策、业务拆分、风险提示。
- 仅凭标题无法判断事件性质,例如“签署协议”需要确认金额、约束力、履约条件和收入确认节奏。
需要原文时:
- 先用
announcements或report-list定位候选。 - 按标题相关性、披露时间、是否全文公告选择 1-3 篇。
- 用
announcement-text或report-text读取 PDF 文本。 - 输出时明确区分“原文事实”和“模型推断”,不得只凭标题判断影响。
编排与上下文管理(计划先行 + 子代理隔离)
完整编排 playbook 见 references/orchestration.md。三条铁律(Deep 模式尤其要守,否则一次上下文跑不完):
- 主 agent 不碰大文本:PDF 全文 / 公告原文 / 全量 evidence 只在子代理或取数脚本里消费,回主上下文的只有结论块(主上下文 = 分型 + scan 摘要 + 各子任务结论 + 整合)。
- 计划先行:动手前先列工单清单(
python scripts/thesis_scan.py --evidence --plan生成骨架),带预算与落点,执行中逐项核销(⬜→✅/⚠️数据缺/✗超预算)。 - 子任务隔离:独立调研项各派一个子代理、可并行 fan-out;无子代理能力时降级为"读一项→抽结论→丢原文→再下一项"的串行,绝不累积多篇全文。
使用 pack 后,主 agent 得到三类产物:
- 完整
evidence:归档证据,不直接整体塞进模型上下文。 - 轻量
analysis_context:单会话分析时优先加载。 module_contexts/:供 subagent 分模块撰写。
分发前先定初步分型:主 agent 在拆分 subagent 之前,先用增速、股息率、行业地位、主线做一次初步分型(4.1),并把"该公司初步判定为 X 型"写进每个 subagent 的指令——这样模块 1(定性侧重)和模块 2(估值模式)才能在同一透镜下展开,而不是各自默认成长股口径。
有 subagent 编排能力时,每个 subagent 只读取自己的模块 JSON 和本 SKILL.md 对应方法论:
| 模块 | JSON | 任务 |
|---|---|---|
| 1 | module1_growth_financial.json | 成长性、财务质量、业务结构 |
| 2 | module2_valuation_market.json | 估值快照、隐含预期、市场定价 |
| 3 | module3_governance.json | 股东结构、管理层、筹码、解禁、大宗交易 |
| 4 | module4_announcements.json | 公告事件筛查、原文升级候选、定期报告候选 |
| 5 | module5_research_mainline.json | 机构调研、主线连接线索、市场关注度 |
没有 subagent 能力时,按同样模块顺序逐段加载模块 JSON。聚合阶段只读取模块结论、analysis_context、必要的公告/报告原文摘录。
分析与判断
先按 4.1 做初步分型,再按下文第四节(定性框架,重心随类型调整)和第五节(定量框架,估值模式随类型选择)的方法论展开分析。
写作输出
- 先给核心结论和置信度。
- 用取到的数据作为证据,给出具体数字和报告期。
- 显式说明关键假设(包括主线归属假设)。
- 避免单边结论,写出最强反方观点。
- 结尾写清风险和非投资建议声明。
持续跟踪更新(分析一只已跟踪过的股票时)
同一只股票的第 2 次及以后分析是"活报告"更新——报告怎么随时间生长的完整结构契约见 references/living_report.md(三层分工、更新章节格式、状态型小节刷新、ID 闭环、自检清单)。操作主线:
- 先看基线:
tracking_table.py show拉出上次记录的建模字段与现值,作为"这次相对上次变了什么"的锚。 - 分析:照常走定性/定量框架。
- 写更新章节:在核心判断之后新增
## 更新 YYYY-MM-DD:一句话摘要,固定三块——快照表(维度|最新值|相对上次|对模型的影响,没变的关键维度也列"不变")、增量叙事、本轮结论 + 跟踪事项状态核销。 - 刷新正文:状态型小节(速览/近期动态/估值结论/主线/对标表/核心判断)改成最新口径;论证型小节可冻结但标
(论证基准:YYYY-MM-DD);三情景表只保留现行口径,不做新旧对照列。 - 落台账:变化字段
set一条当日记录(没变的不动;首次分析按 §2.5 建基线);「版本变更记录」表和标题下两列版本表各加一行。 - 正文挂点:会漂移的关键数字(市值/台数/远期净利/期望市值)后挂
{{track:字段id}}。 - 重渲 HTML:
render_report_html.py自动读回跟踪表并注入时间轴、折叠更新卡、跟踪卡片、行内徽标与变更条;检查 summary 的tracking_markers.stripped == 0。
Deep 模式(可选,用户显式要求时)
骨架流程产出"骨头架子"。当用户要求深度分析 / 深挖 / 把异常或业绩变化查清楚 / 读年报找线索 / 挖未被定价的看点时,进入 Deep 模式,按 references/deep_mode.md 做命题先行的主动调研。
强约束(缺一不算 Deep 交付):
- A. 启动声明 + 工单:先跑
python scripts/thesis_scan.py --evidence reports/evidence_.json(加--plan生成调研工单骨架);据此列出可逐项核销的工单(编排见references/orchestration.md),再向用户输出[Deep 模式启动]协议(命题候选 + 高优先旗标数 + 调研预算 + 计划 probe 前 3–5 条),见references/deep_mode.md §0。 - B. 主循环调研:按 THESIS → INVESTIGATE → CATALYST GAP → INTEGRATE 推进:
- 方向一(异常归因):对 high/med 旗标定向读原文——
fetch report-text --report-type annual --section mda|财务报告、fetch announcement-text ... --searchkey 减值——定位业绩暴增/暴跌、商誉计提、OCF 背离、应收/存货异常的成因。 - 方向二(主线线索挖掘):先联网定当前主线关键词,再
fetch report-text --section <主线词>从年报/季报捞出公司自述、与主线相关但骨架漏掉的线索(尤其 B 型"未被定价的期权")。 - 方向三(人与治理尽调,成长股/B 型必做):估成长成功率 P(execution)——读
fetch announcements --searchkey 股权激励|监管函|质押|减持核对承诺兑现与治理诚信,联网查创始人履历,综合成档位接回三情景概率权重(§5.4.C)。方法论见deep_mode.md §5.7+growth_success_rate.md。 - subagent 必须按
deep_mode.md §6的固定模板回报{命题/旗标 → 原文标题链接+章节+页 → 原文引文 → 模型判断 → 影响 → 置信度},缺字段就退回重发。
- 方向一(异常归因):对 high/med 旗标定向读原文——
- C. 报告内必填产物(2 项):
- 工单全覆盖:调研工单里每条 ✅ 完成项都内嵌一个结构化
==深度调研发现|工单号|主题|置信度:高/中/低块(就近落到 §4/§5/§6/主线/风险;每块只写来源 / 原文 / 判断 / 影响四行)。来源标题必须带原文链接:CNInfo 定期报告/公告用adjunct_url或download_url;联网资料用原网页 URL;确实没有 URL 才写"原文链接缺失"并在索引保留缺口。绑定标准是"查了几条就体现几条",不是凑满 3 条就停——实质发现至少 3 条,否则算调研不足。 - 报告末尾必填 «附:深度调研索引» = 完整性账本:工单每条执行过的项登记一行(工单号 / 命题·旗标·维度 / 状态 ✅⚠️✗ / 原文出处 / 引文 / 判断 / 置信度),索引行数 == 已执行工单项数;⚠️数据缺、✗放弃的注明状态并汇入估值置信度。
- 工单全覆盖:调研工单里每条 ✅ 完成项都内嵌一个结构化
- D. 完成声明:报告之外向用户输出
[Deep 模式完成]收口(读 N 篇 / 联网 K 次 / 嵌入 M 条发现 / 工单 P 项全部登记 ✅a·⚠️b·✗c / 索引行数==工单项数 ✅)。
A/C/D 任一缺失即视为骨架版冒充 Deep——必须补齐再交付,不得提前结案。完整 playbook、命题原型表、--section 用法、subagent 模板、停止条件见 references/deep_mode.md;工单清单、子代理隔离、上下文卫生与外联健壮性见 references/orchestration.md。
四、定性分析框架:成长性判断与核心亮点
定性分析的核心任务是回答两个问题:这家公司在成长吗?为什么值得关注?
完整方法论见 references/qualitative_framework.md。本节保留纲要:
- 先分型(成长股/成熟龙头/红利价值)——分型决定后续五维度的权重分配
- 五维度诊断——收入增速质量、利润含金量、现金流验证、业务结构与壁垒、ROE 分解
- 成长阶段定位——高速成长期/稳健成长期/成熟稳定期/增速放缓/下行困境
- 核心亮点提炼——2-4 条,落在该类型的核心矛盾上,附数据与反方观点
- 成长成功率(管理层与治理质量,VC 透镜)——成长股 / 已确认 B 型期权 = first-class。成长股估值多出来的溢价是"赌管理层能把财务还证明不了的成长兑现出来",所以要像一级市场 VC 那样,用①创始人/掌舵人素质 ②历史团队表现(承诺兑现度为最硬信号)③公司历史治理水平 ④组织能力与人才密度(好船长还要配能打的船员),估出成长的兑现概率档位(高/中性/低),并接回定量(三情景概率权重 / B 型期权计入 / 置信度)。判 B 型期权时再叠加几条横切透镜(创始人-赛道匹配、第二曲线内生 vs 跨界、外部聪明钱背书、预期管理质量)。成熟龙头 / 红利价值退回防御性风险信号即可。完整方法论见
references/growth_success_rate.md。
脚本已做确定性计算:pack 产出的 business_structure.product_analysis(产品结构跨期变化)和 region_analysis(地区结构与出海趋势)可直接引用,无需手动重算。thesis_scan.py 的 people_governance 块还会确定性摆出高管稳定性、利益绑定、集中度/制衡、重要股东增减持等人/治理事实,供维度 5 起步(判断仍由你做)。
五、定量分析框架:估值阶段与隐含预期
定量分析的核心任务是回答:当前价格隐含了什么样的未来预期?这个预期合理吗?
完整方法论见 references/quantitative_framework.md,行业估值方法库见 references/industry_valuation_library.md。本节保留纲要:
- 双轴分型再选模式(§5.1)
- 轴 1·生命周期:成长股 / 成熟龙头 / 红利价值——决定看远期还是看当期
- 轴 2·行业 / 商业模式:按四问决策树(盈利稳否?利润释放否?资产重否?多业务否?)+ 行业方法库选主估值锚(PE / PEG / PS / EV-Sales / EV-ARR / Rule of 40 / PB / EV-EBITDA / SOTP / rNPV / DCF / NAV / P-EV / P-NBV 等)
- 估值方法与相对贵贱(§5.2)——按 5.1 选定的主锚组织快照,不默认 PE;
valuation-band提供 PE/PB/PS/股息率近 1/3/5 年区间与当前分位,但报告只展示主锚对应数据;同业 3–5 家可比清单、公司历史 band、行业中枢和当前市场水温必须放在同一节判断"相对贵不贵" - 逆向推算隐含预期(§5.3)——按主锚分路径反推:PE 推 EPS 增速;PS 推远期收入 + 利润率正常化;PB 推中周期 ROE;EV/ARR 推 ARR 增速 + NDR;股息率推派息可持续性——禁止把非 PE 主锚塞回 PE 框架反推
- 三情景推演(§5.4)——三情景的推算变量与表头必须沿用主锚(PE / PS / PB / EV-EBITDA / EV-ARR / 股息率 / rNPV / SOTP 七种模板,见 §5.4.A 表),辅助锚只能在表后做对照,不得反过来作主路径。成长股 / B 型期权再加概率权重 + 期望市值(§5.4.C):概率由「成长成功率」档位给出(高 40/45/15、中 25/50/25、低 15/40/45),把成功率量化进估值
- 主线归属修正(§5.5,A股关键调节项)——强/弱/无连接决定估值容忍度
- 估值结论六项必输出(§5.6)——当前估值、行业中枢、历史分位、合理估值区间、上修条件、下修条件;缺项明写"未取得"并降置信度
- 财务健康度交叉验证——偿债安全、利润质量、资本效率
python scripts/data_fetcher.py fetch valuation-band 600519.SH --years 5
# 同业主锚中位(3–5 家自构清单逐家取最新快照)
python scripts/data_fetcher.py fetch daily-basic --limit 1
六、股东与治理分析
输出落位随分型不同:
- 成熟龙头 / 红利价值:落第三部分「背景与风险」,作为背景与风险信号(管理层激励、大股东增减持、一言堂风险等;对判断有信息量的可在定性里点一句)。
- 成长股 / 已确认 B 型期权:同一批数据升格为成长成功率的正向输入(不只是风险)——管理层稳定性、利益绑定、治理诚信是"成长能否兑现"的概率依据,按 §四维度 5 与
references/growth_success_rate.md处理,并在第一部分「成长成功率」子节给出档位、接回定量。本节数据这时是该判断的事实底座。
使用 top10-holders、managers、rewards、holder-number、holder-trade、share-float、block-trade。Deep 模式下还要按 deep_mode.md §5.7 方向三 读激励/承诺/监管函/质押公告 + 联网查创始人履历,把团队 track record 与治理诚信做实。
6.1 判断要素
- 股权集中度:第一大股东持股 > 40% 且与第二大股东差距大 → 控制力强但需关注一言堂风险。机构/社保/QFII 占比上升 → 通常为正面信号。
- 管理层激励:有期权/限制性股票激励的管理团队与股东利益更绑定;对比管理层薪酬与公司利润规模。
- 股东户数变化:连续下降 → 筹码集中,通常与价格上行共振;连续上升 → 筹码分散。
- 重要股东增减持:
holder-trade大额减持需关注原因;增持通常是信心信号(但也可能是护盘)。 - 限售股解禁:
share-float近期有大额解禁 → 供给压力。 - 大宗交易:
block-trade频繁出现且折价明显,需结合股东变动和公告判断是否存在减持压力。
6.2 注意事项
- 不要基于单个报告期过度推断治理质量。
- 股东户数变化是辅助信号而非决策依据。
七、公告事件与机构调研分析
输出落位:报告第一部分「近期动态:公告事件与机构调研」,作为对公司现状的补充;其中与主线相关的佐证在定量「主线归属修正」处被引用。
7.1 公告事件验证
使用 announcements 先定位事件,再决定是否读取 announcement-text。
- 监管/问询:监管函、关注函、问询回复通常需要读原文,确认问题指向、公司解释和整改承诺。
- 资本运作:定增、股权激励、员工持股要确认发行对象、价格、解锁条件、业绩考核和摊薄影响。
- 回购/增减持:确认规模、价格区间、资金来源、执行进度和主体身份,不要只凭“回购/增持”定性利好。
- 重大合作/项目:必须读原文确认协议约束力、金额、履约期限、收入确认条件、对手方和风险条款。
- 业绩快报/预告:重点比较收入、利润、扣非利润和现金流线索,必要时再读定期报告解释。
公告标题只是索引。对公司基本面、估值或风险有影响的结论,必须来自公告原文、定期报告正文或其他可验证来源。
7.2 机构调研使用方法
使用 institutional-research 观察市场关注度和产业问题焦点。
- 调研频率:短期明显升温说明关注度上升,但不等同于基本面改善。
- 机构类型:公募、券商、险资、QFII、私募等参与结构可以辅助判断关注质量。
- 调研方式:现场、电话、线上会议等只说明沟通形式,不直接说明信息增量。
- 调研内容关键词:提取 AI/算力/出海/订单/价格/产能/客户/毛利率等关键词,验证公司是否被市场放入当前主线。
- 风险边界:机构调研记录是公开披露信息,不能当作业绩承诺或内幕信息。
八、输出模板
下面模板里的几个小标题同时是 HTML 渲染(2.3 节)的图表锚点:「核心判断」→ hero 卡片,「估值方法与相对贵贱」→ 主估值锚估值带时间序列图,「成长性与财务质量诊断」→ 财务趋势图。沿用这些命名能让图表自动落位;但锚点是尽力而为,命名变了也只是少几张图,不影响正文。
跟踪已建表的股票时(§2.5),正文可在建模字段的数值后挂行内跟踪点 {{track:字段id}}(如"2026E 归母净利 96–100 亿元 {{track:fy2026_np}}"),渲染成"更新徽标 + 历史弹层";纯可选,缺表/缺字段静默降级,不影响正文。
标题下必须放一张更新记录表,只保留两列:日期、版本号。首次报告写 v1.0;跟踪更新或重写时新增一行并把最新记录放在最上方。
报告是活的(更新时的生命周期规则,详见 references/living_report.md):更新历史只住三层——正文只有最新真相、## 更新 YYYY-MM-DD:一句话摘要 章节承载增量叙事(放在核心判断之后、第一部分之前,新在前)、PG 跟踪表 + 文末「版本变更记录」表承载数字与版本台账。更新时状态型小节(速览/近期动态/估值结论/主线/对标)必须刷新,论证型小节可冻结但标基准日;会漂移的关键数字必挂 {{track:}};三情景表只写现行口径;核心判断收尾放固定词表 bullets(公司类型/估值阶段/主线连接强度/成长成功率/当前市值/期望市值/最关键变量/总体置信度,每条值 ≤20 字),渲染成 hero 指标网格。
Deep 模式的嵌入规则(确保查了的都体现,不是凑满 3 条就行):调研工单里每条 ✅ 完成项,都要把它的结构化 ==深度调研发现|工单号|主题|置信度:高/中/低 块就近嵌入相关正文——异常归因→§4 成长诊断 / 主线·B 型期权→§5 核心看点与定量 §6–§7 / 人与治理→§6 成长成功率 / 风险→第三部分;并在末尾「深度调研索引」登记一行。每张发现卡只允许四行:来源 / 原文 / 判断 / 影响。⚠️ 数据缺、✗ 放弃的项不嵌正文,但仍要进索引并注明、汇入估值结论置信度。正文 + 索引合起来必须覆盖整张工单,无一遗漏。
Deep 发现卡格式(HTML 会渲染成专用卡片):
==深度调研发现|W1|异常归因|置信度:高
来源:[《2025年年度报告》](https://...) · 管理层讨论与分析 p.23
原文:"关键原文摘录,控制在一句内"
判断:这条证据部分证实毛利率改善来自产品结构,而不是一次性因素。
影响:提高基准情景收入兑现置信度;估值结论置信度维持中。
==
来源链接规则:CNInfo 定期报告和公告必须把标题写成 Markdown 链接,URL 来自 report-text / announcement-text 返回的 download_url 或 adjunct_url;联网检索资料同样用原网页链接。确实没有 URL 时,写 来源:《标题》(原文链接缺失) · 章节/页,并在「深度调研索引」里保留这个缺口。
# [公司名称]([股票代码])基本面研究
| 日期 | 版本号 |
|---|---|
| [YYYY-MM-DD] | v1.0 |
## 核心判断
[2-4 句结论先行:公司类型(成长股/成熟龙头/红利价值)+ 一句话看点 + 行业地位 + 估值状态(贵/合理/便宜,当前价格是否合理)+ 最关键的变量。结尾放固定词表 bullets 尾块(渲染成 hero 指标网格),每条值 ≤20 字:]
- **公司类型**:[…]
- **估值阶段**:[深度低估/合理/偏高透支/…]
- **主线连接强度**:[强/弱/无连接]
- **成长成功率**:[高/中性/低;非成长股写"不适用"]
- **当前市值**:[X 亿元 {{track:current_mv}}]
- **期望市值**:[Y 亿元 {{track:weighted_expected_mv}};非成长股写"不适用"]
- **最关键变量**:[≤20 字]
- **总体置信度**:[高/中/低]
## 更新 YYYY-MM-DD:[一句话摘要](第 2 次及以后分析时逐节新增,新在前;格式与刷新规则见 references/living_report.md)
[快照表:`| 维度 | 最新值 | 相对上次 | 对模型的影响 |`(没变的关键维度也列"不变")→ 增量叙事 → 本轮结论 + 跟踪事项状态核销]
---
## 第一部分 · 定性:这是一家什么公司,好在哪
### 1. 公司速览
[一句话说清主营做什么;主营产品/收入结构、所属行业、总市值、上市时间等关键事实。克制,不堆 `company` 原始字段]
### 2. 公司分型
[归入成长股/成熟龙头/红利价值哪一型 + 依据(增速/股息率/行业地位/主线)。这是后续定性侧重与定量估值模式的纲。标注置信度,并说明是否处于类型切换期]
### 3. 行业地位与竞争格局
[行业景气度与所处阶段;公司是领导者/挑战者/跟随者;护城河类型与强弱;市占率/份额趋势。外部事实需联网检索并引用来源]
### 4. 成长性与财务质量诊断
[五维度评估(按分型调整权重):收入增长质量/利润含金量/现金流验证/业务结构/再投资能力与 ROE;并入财务健康:偿债安全/利润质量/资本效率。最后归入成长阶段,并核对与分型是否自洽]
### 5. 核心看点
[2-4 条亮点,落在该类型的核心矛盾上(成长股=成长动力与远期空间、成熟龙头=盈利稳定与股东回报、红利价值=可持续现金分红)。每条附数据和最强反方观点]
### 6. 成长成功率:好公司 + 好团队?(成长股 / B 型期权必填;成熟龙头 / 红利价值可省)
[VC 透镜,估"成长能否被兑现"的概率。各维度给绿旗/红旗证据,区分事实 vs 推断:
- **创始人 / 掌舵人素质**:是否 founder-led、产业背景、核心高管稳定性、利益绑定(持股/薪酬)、创始人尾部风险(质押爆仓线/离婚/多元分心)
- **历史团队表现**:承诺兑现度(激励考核/业绩承诺是否达成,最硬信号)、第二曲线落地率、资本配置回报、穿越周期
- **公司治理水平**:信披合规(监管函/问询/变脸)、对小股东态度(分红 vs 圈钱/减持节奏/质押)、制衡与激励真伪
- **组织能力与人才密度**:研发人员/核心技术人员稳定性、激励覆盖广度与考核进取性、人均创收、募投达产——好船长还要配能打的船员
- (判 B 型期权时叠加横切透镜)创始人-赛道匹配、第二曲线内生邻接 vs 跨界、外部聪明钱背书、预期管理质量
综合成**档位:高成功率 / 中性 / 低成功率**,标注置信度与数据缺口(治理硬伤可单独压到低档)。一句话说明它如何调整下方定量的三情景概率权重与 B 型期权计入。详见 references/growth_success_rate.md]
### 7. 近期动态:公告事件与机构调研
[作为对公司现状的补充:近期重大公告事件(区分原文事实 vs 推断,必要时读原文);机构调研频率、参与机构、问题关键词。注明这些只反映关注度与现状,不等同业绩改善]
---
## 第二部分 · 定量:贵不贵,当前价格合不合理
### 1. 估值模式(双轴分型)
- **生命周期分型**:[成长股 / 成熟龙头 / 红利价值],依据 [增速 / 股息率 / 行业地位 / 主线]
- **行业 / 商业模式分型**:[半导体设备 / IC 设计 / SaaS / 银行 / 周期资源品 / …],按四问决策树(盈利稳否 → 利润释放否 → 资产重否 → 多业务否)
- **主估值锚**:[PE / PEG / PS / EV-Sales / EV-ARR / Rule of 40 / PB / EV-EBITDA / 中周期 PE / SOTP / rNPV / DCF / NAV / P-EV / P-NBV …]
- **辅助锚**:[…]
- **不适用的常见误用**:[显式排除一个最容易被错套上的方法,如"重资产周期股不能用景气顶利润 PE"]
### 2. 估值方法与相对贵贱(估值带 + 同业)
- **采用的估值方法**:[直接判断采用 PE / PEG / PS / EV-Sales / EV-ARR / Rule of 40 / PB / EV-EBITDA / 中周期 PE / SOTP / rNPV / DCF / NAV / P-EV / P-NBV / 股息率中的哪一种],一句话说明为什么它比常见 PE/PB/PS 口径更适合这家公司
- **只展示主锚数据**:[主锚当前值 + 市值 + 取数日期];主锚维度历史 band:近 1 / 3 / 5 年 min / p25 / median / p75 / max + 当前分位。不要把 PE、PB、PS 三套表都列出来;不适用的常见方法只用一句话解释为什么不用
- **同业相对位置**:可比清单(3–5 家)+ 选择依据(同赛道 / 商业模式 / 规模量级 / 客户产品代际)+ 各家主锚数值 + 中位数;若可比 < 3 家,明确"同业中位置信度低"
- **相对贵贱判断**:把主锚历史 band、同业中位、行业中枢和当前市场水温放在一起判断。结论用"相对自身历史偏高/偏低、相对同业偏贵/偏便宜、在当前市场水温下是否可容忍"来写,避免孤立说"贵/便宜"
- 成长股说明 band 仅作下行参考;增速降档 / 上市样本短时,明确缩短窗口或弃用
### 3. 行业中枢与产业景气位置
- 行业历史分位 / 行业指数估值中枢(联网取得;无法取得则写"未取得")
- 当前产业景气位置(上行 / 见顶 / 下行 / 触底回升)+ 一句方向性影响
### 4. 隐含预期分析
[从当前主锚反推市场隐含的增长预期 / 利润率 / 远期空间,与第一部分判断的实际成长能力对比。增速假设需显式标注为假设]
### 5. 主线归属修正(A股关键调节项)
- 当前市场主线:[简要说明,附依据]
- 与主线连接强度:[强/弱/无连接]
- 验证信号:[机构调研/公司催化公告/相对涨跌;北向、研报需联网,注明数据边界]
- 主线判断置信度:[高/中/低]
- 对估值的修正:[膨胀容忍度/谨慎程度]
### 6. 三情景推演(沿用主锚的推算路径)
- **表头按主锚选**(§5.4.B):
- PE 主锚:`情景 | 核心假设 | 远期净利 | 合理PE区间 | 隐含市值 | 与当前偏离`
- PS 主锚:`情景 | 核心假设 | 远期收入 | 远期净利率(说明)| 合理PS区间 | 隐含市值 | 与当前偏离`
- PB 主锚:`情景 | 核心假设 | 远期BVPS | 中周期ROE | 合理PB区间 | 隐含市值 | 与当前偏离`
- EV/EBITDA / EV/ARR / 股息率 / rNPV / SOTP 各按 §5.4.B 对应表头
- **禁止把主锚不是 PE 的票退回 PE 三情景**——这会让 5.1 的分型努力作废,结果就是 PS 只能在表底以"若改用 PS"作为脚注(典型错误模式)
- **成长股 / B 型期权加概率权重**(§5.4.C):表头补一列 `概率`(来自成长成功率档位:高 40/45/15、中 25/50/25、低 15/40/45,可微调注明依据),表后加一行 **期望市值 = Σ 概率×情景市值** 与当前市值比;B 型期权按档位决定计入比例(高=可进基准、中=仅乐观、低=仅脚注)
- 辅助锚可在表后补一句对照(如"对照口径:若 2028 年净利率达 15%、给予 PE 30×,对应市值 X"),但不作主推算路径
- **只写现行口径**:更新重估时直接改表内数值,不做"初版 vs 重算"对照列——演化轨迹交给跟踪字段(`{{track:}}`)与当轮更新章节(见 references/living_report.md §6)
### 7. 估值结论(六项必输出)
- **当前估值**:[主锚数值;辅助锚仅在一行解释,不另铺表],取数日期
- **行业中枢**:[行业指数 / 行业分位 或 写"未取得"]
- **历史分位**:[公司自身近 3 年 median + 当前分位]
- **合理估值区间**:[主锚区间,如 PE 18–28× / PS 6–8× / PB 1.2–1.5×],依据 [同业中位 + 自身 3 年 median + 行业中枢 + 当前市场水温 的权重分配]
- **上修条件**(≥3 条,分业绩/产业/事件/估值四类,含量化阈值;跟踪报告每条行尾标注归属跟踪事项,如 `→ TODO-01`,状态只在跟踪事项处维护)
- **下修条件**(≥3 条,分业绩/产业/事件/估值四类,含量化阈值;同上标注 `→ TODO-xx`)
- **估值阶段**:[深度低估 / 合理偏低 / 合理定价 / 偏高透支 / 极度乐观]
- **成长成功率档位**(成长股 / B 型期权):[高 / 中性 / 低],对三情景概率权重与 B 型期权计入的影响;成熟龙头 / 红利价值写"不适用"
- **概率加权期望市值**(成长股 / B 型期权):[期望市值 X vs 当前市值 Y,偏离 Z%,来自 §7];成熟龙头 / 红利价值写"不适用"
- **主线归属修正后总结论**:[当前价格是否合理;成长股结合上面的期望市值偏离一起说]
- **总体置信度**:[高/中/低],依据 [六项的完备度 + 数据时效 + 第一部分财务异常项 + 成长成功率档位(成长股;未做或档位"低"降一档)]
---
## 第三部分 · 背景与风险
### 1. 股东与治理
[股权结构/管理层激励/股东户数/重要股东增减持/限售解禁/大宗交易。作为背景与风险信号]
### 2. 风险提示
[分两组:**特异性风险** 3-6 条在前,逐条给量化阈值或可观察信号(含主线轮换风险),可挂 TODO;**例行风险**压缩成一条指针指回公告原文(如"XX 公告 §5 列示七类例行风险"),不逐条抄]
---
## 后续跟踪清单(跟踪报告必填;每项一张卡片块,不用宽表)
==跟踪事项|TODO-YYYYMMDD-简称-01|[类型]|优先级:[高/中/低]|状态:[待跟踪/部分兑现/已兑现/证伪/更新观点]|更新:YYYY-MM-DD
事项:[一句话说清跟踪什么、当前进展]
变量:[Driver / 变量,可写跟踪字段 id]
验证:[验证方式与数据源]
反证:[反证方向]
来源:[标题链接或 [W..] 标号]
==
## 版本变更记录(第 2 版起必填;时间轴组件的数据源)
| 日期 | 版本 | 主要变更 | 关键数字变化 |
|---|---|---|---|
| [YYYY-MM-DD] | v1.1 | [接入了什么证据、改/没改什么] | [口径跃迁,如"期望市值 224 → 465 亿"] |
| [YYYY-MM-DD] | v1.0(初版) | [建仓逻辑一句话] | [初版核心锚] |
---
## 附:深度调研索引(仅 Deep 模式必填,骨架版可省略)
> 此节是 Deep 模式无法被静默省略的"足迹",也是**完整性账本**:调研工单里**每一条执行过的项都要在此登记一行**——✅ 有实质发现的,正文必有对应结构化 `==深度调研发现|...` 块;⚠️ 数据没取到、✗ 超预算放弃的,也登记并注明(汇入估值结论置信度)。**索引行数应等于已执行工单项数,少一行就是把查过的东西漏掉了。**
> 索引同时是报告的**唯一来源台账**:不要另设「信息来源」清单节(三处登记必然漂移)。正文轻量引用用行内标号 `[W15]`(渲染成跳转索引行的锚链 chip),就近论证仍用 `==深度调研发现|...` 发现卡。
| # | 工单号 | 命题 / 旗标 / 维度 | 状态 | 原文出处(标题链接 + 章节 / 页) | 引文摘要(≤ 30 字) | 模型判断 | 置信度 |
|---|---|---|---|---|---|---|---|
| 1 | W1 | [A1/A2/B / 异常 / 人·治理 …] | ✅ | [《报告/公告标题》](原文URL) · [章节/页] | "..." | [一句证实/证伪 + 数字] | 高/中/低 |
| 2 | W2 | ... | ⚠️ 数据缺 | — | — | [未取得,已降置信度] | — |
| 3 | W3 | ... | ✗ 放弃 | — | — | [超预算 / 边际信息低] | — |
| … | … | (工单每条执行项都列到,直到全覆盖) | | | | | |
---
以上基于公开数据和当前可得信息,不构成投资建议。数据存在滞后性,主线判断带有主观性,分析结论可能因新信息而改变。
九、质量要求
文风默认(项目级硬性要求):
- 文风讲人话,减少机械与僵硬。 像跟懂行的人当面把一件事讲清楚那样写,句子通顺、有逻辑衔接,该解释因果和给判断时把话说透。避免模板腔、翻译腔和套话——别成段堆砌"综上所述""值得注意的是""总体来看",别把每条都写成生硬的"主语+动词+宾语"公式句,也别为了凑结构把话说断、只丢关键词。
- 同项罗列优先用 list,但每条要说人话。 同一维度的多个条目(多条成长线索、多个估值假设、多项风险提示)拆成 bullet 或编号,一条一项,别塞进一个长段落;但每条用完整通顺的话写,不要退化成"字段A - 字段B - 字段C"式的横杠拼接。结构化对照(指标 × 数值、情景 × 假设 × 估值)才用表格。
内容质量:
- 能给具体数字时优先给数字,数据有日期时写明报告期。
- 不要堆原始表格,用关键数字支撑论点。
- 不要编造竞争对手、客户、政策、产业事实或市场主线;这类当前外部事实需要联网检索并引用来源。
- 主线归属判断必须基于近期可验证的市场观察,不要凭训练记忆判断当前主线。
- 避免单边结论,每个判断都要写出最强反方观点。
- 区分"我从数据中看到了什么"和"我推断了什么"——前者是事实陈述,后者需标注为推断。
- 公告标题只能用于定位事件;涉及重大影响时必须读取公告或报告原文。
- 机构调研只能用于关注度和问题焦点验证,不得写成业绩改善证据。
- 主线归属作为可被推翻的假设而非事实,必须标注置信度。
- 估值方法必须按 5.1 双轴分型选择,不得默认通用 PE。重资产 / 周期 / 金融 / 创新药 / SaaS / 多业务并行公司用 PE 是系统性错误;估值中枢不允许写死数值,必须由"自身历史分位 + 同业中位 + 行业中枢 + 产业景气位置"四项动态构成。
- 估值结论缺一不可的六项:当前估值、行业中枢、历史分位、合理估值区间、上修条件、下修条件;某项数据无法取得时明写"未取得",并对应下调置信度——不得静默省略。
- 成长股的估值溢价是对未来兑现的赌注:必须用「成长成功率」(创始人素质 / 团队承诺兑现 / 治理质量,见
references/growth_success_rate.md)估其兑现概率,接回三情景概率权重(§5.4.C)与置信度;不做评估或档位为"低"要降一档置信度。治理硬伤(资金占用 / 重大违规 / 超高质押 + 清仓减持)可单独把成功率压到低档,不被业务故事对冲;明星创始人光环不等于高成功率,以承诺兑现等硬记录为准。 - 更新已有报告时守活报告契约(
references/living_report.md,含更新一轮的自检清单):状态型小节刷成最新口径,不允许正文残留旧市值/旧口径与更新章节打架;现行方法论住正文,更新章节只留"从旧到新"的叙事;同一观察点只在跟踪事项登记一次,条件/字段引用它。 - 最终回答要适合投资者阅读:简洁、有证据、清楚表达不确定性。
9.1 Deep 模式产出自检(仅 Deep 模式必走,骨架版跳过)
写完报告 交付前 必须勾完以下各项;任一漏项必须回头补齐,不得提前结案:
- 工单是否全部核销(每项 ✅完成 / ⚠️数据缺降置信度 / ✗超预算放弃,无 ⬜ 遗留)?主上下文有没有被 PDF/公告全文污染?(编排自检见
references/orchestration.md §5) - 是否在报告之外向用户输出了
[Deep 模式启动]协议?(命题候选 + 高优先旗标数 + 调研预算 + 计划 probe) - 工单全覆盖:每条 ✅ 完成的工单项都有对应结构化
==深度调研发现|...块、就近嵌入正文(实质发现 ≥3 条;每条只有来源 / 原文 / 判断 / 影响四行;来源标题带原文链接)?有没有"查了却没写进报告"的项? - 索引 = 完整性账本:每条执行过的工单项(✅/⚠️/✗)都在「深度调研索引」登记,索引行数 == 已执行工单项数(少一行=漏了)?⚠️/✗ 项是否已汇入估值结论置信度?
- 是否在报告之外向用户输出了
[Deep 模式完成]收口?(读 N 篇 / 联网 K 次 / 嵌入 M 条发现 / 工单 P 项全部登记 / 索引行数==工单项数 ✅)
读了 PDF、跑了 thesis_scan 但报告里只多了几句"模糊判断"——这是骨架版冒充 Deep,不算合格交付。查了 N 条却只写出 3 条、剩下的悄悄丢掉——同样不合格:Deep 的承诺是"查多少、体现多少",索引行数对不上已执行工单项数就是漏了,必须补齐。
Questions people ask
- Does it default to PE when deciding whether an A-share is expensive?
- No. It first classifies the company by lifecycle and business model, then selects one primary anchor such as PE/PEG, PS, EV/ARR, PB, SOTP, or rNPV. Relative valuation combines the company’s historical band, 3–5 peers, industry valuation, business-cycle position, and current market conditions.
- What evidence can it use for a single-stock analysis?
- It can retrieve Tushare financial statements and indicators, valuation history, business segments, shareholders, managers, unlocks, block trades, research records, periodic reports, and company announcements. When needed, it reads selected PDF source text and separates disclosed facts from model inference.
- What happens when I ask for a deep analysis?
- Deep mode starts with deterministic thesis and anomaly surfacing, then creates research work orders and investigates targeted filings or announcements. Scripts surface evidence and persist state, while the agent—not the scripts—forms conclusions and writes the report.
Related skills
Screen A-shares, maintain a 30-stock pool, and receive scored long- and short-term trading signals.
Generate scheduled A-share reports and alerts from market data, then push them to WeCom.
Query stocks, funds, indices, news, valuations, K-lines, and financial statements through routed market-data APIs.
Turn a scoped research question into a structured, multi-source report in HTML, PDF, Markdown, or chat.
Retrieve structured Chinese market data and research material through a searchable CLI.