stock-analysis

对上市公司进行行业相对、多因子的基本面分析与估值,包含 A 股披露、财务取证和证伪检查。适用于分析 stock/ticker/上市公司、比较同行、判断商业质量和估值,或检查利润真实性、审计、关联交易与治理风险;不用于个性化投资建议、仓位分配或交易信号。

SKILL.md

GitHub

上市公司领先证据、基本面与财务取证

产出有证据支撑的公司分析、同行相对评分卡和估值区间。

总原则

先用高时效证据判断正在发生什么,再用高确定性但低频的财报验证它是否进入经营结果。

时效性与可靠性是两个维度:新数据不因更新就自动可信,审计财报也只对其报告期和会计口径负责。不得依赖单一指标排序。综合评估业务证据、盈利能力、资本回报、现金转化、资产负债表、增长耐久性、治理和价格。只做同类比较。银行、保险、REIT、矿业等必须使用行业专用指标。

不可妥协的要求

1. 不得编造数字

  • 每个财务数字都要标注来源、期间、币种、单位以及合并/单体口径。
  • 找不到时写“暂无可靠数据”,并说明需要什么文件;不得凭记忆补数。
  • 收入、净利润、债务、现金等关键数字尽可能双源核对,其中至少一个是一手文件。
  • 当前股价和市值可以来自交易所或行情网站,但必须标明截至时间。
  • 估值假设必须公开,并用区间和敏感性表示不确定性;不得用粗糙假设给出两位小数的目标价。

2. 按作用而非单一排名使用来源

默认研究顺序:

  1. 订单、成交价、物流、库存位置、有效产能、交付验收、客户使用、招聘和政策执行等高时效微观事实。
  2. 交易所事件公告、监管/法院决定、招投标和公司经营披露等点时一手材料。
  3. 季报、年报和审计报表:验证前述变化是否按一致口径进入收入、利润、营运资金、资本开支和现金流,并提供债务、现金、股本、治理与审计约束。
  4. 新闻、券商报告和聚合站只用于发现线索或交叉检查,不能作为未经追溯的估值事实。

不存在“公告永远覆盖其他来源”的规则。冲突时先对齐发生时间、公开时间、业务范围、合并口径、单位和修订版本。审计财报对其报告期会计数字优先,但不能覆盖报告期后的真实经营变化。详细编排见 references/01-evidence-sequencing.md。

3. 年报不只是三张表

必须同时检查:

  • 商业模式、战略、客户、竞争优势和风险因素;
  • 3–5 年 MD&A,拆分量、价、产品结构、产能、资本开支、订单和指引兑现;
  • 审计意见、关键审计事项、强调事项及适用的 CARO 附件;
  • 关联交易、或有负债、诉讼和资本承诺;
  • 董事会与审计委员会独立性、股权/质押趋势、薪酬、审计师变更、股东异议和股权稀释;
  • 分部收入、利润、资本占用和行业运营 KPI;
  • 适用时检查 ESG/BRSR、秘书审计和子公司披露。

详细年报阅读顺序见 references/15-document-diligence.md。

4. 分析而非个性化建议

可以给出多空情景、估值区间、风险和证伪条件;不得替用户决定买卖数量、仓位或给出个性化交易指令。明确说明这是研究分析,不是持牌投资建议。

选择深度

模式 适用请求 范围
快速筛查 Screen “快速看看”“是否值得研究” 身份、数据、淘汰条件、估值常识检查
标准 Standard 默认“分析这只股票” 完整流程、中等深度、报告与评分卡
深度 Deep dive “详细”“最大深度” 全量尽调、取证、情景估值、强反方论证
财务取证 Forensic “利润真实吗”“现金流为何跟不上利润” 按 references/18-forensic-mode.md 执行 F0–F5,不先做估值
IPO 尚未交易、DRHP/RHP/S-1、申购分析 按 references/19-ipo-mode.md 执行 I0–I7

开始时说明采用哪种模式。严重审计或治理红旗出现时,应从标准模式切换到财务取证;报表不可信时继续估值没有意义。

标准工作流

阶段 0:确认分析对象

确认公司、交易所、代码、ISIN、证券类型、报告币种、财年截止日、合并/单体口径、市值、企业价值和自由流通股。未上市则转 IPO 模式。

阶段 1:时效优先的微观事实账本

先使用 $fundamental-signal-intake,按完整业务线建立点时账本。优先采集:

  • 订单是否转成实际交付,渠道发货是否转成终端使用;
  • 实际成交价格、折扣、库存位置与周转;
  • 设备、人员、能源和利用率是否使规划产能成为有效产能;
  • 客户使用、回款、招聘和政策实际执行;
  • 报告期后可能改变旧财报解释的新事件。

每条记录映射到业务线和 quantity/price/cost/working_capital/capex/cash_flow 等驱动,保留 observed/published/vintage/available/collected 时间。运行采集 Skill 的 scripts/validate_ledger.py;不能把框架订单、渠道压货或规划产能直接写成收入、需求或有效产能。

若无法取得高时效证据,明确降低结论新鲜度并列缺口;不能退回旧财报后仍声称判断当前经营。

执行时效门:

  • 公司实际披露的最新期间是什么?
  • 最新数据之后是否发布过新季度、评级、监管/法院决定、并购进展、管理层变更或指引更新?
  • 计划写成“未来风险”的事件是否已经发生?

报告中写明:“纳入的最新期间:……;检查后续事件截至:……”。

阶段 2:证据闸门与独立价值

然后使用 $evidence-driven-valuation,把事实转换为可复算的经营变量和现金流。先定义完整业务、重大性和来源/覆盖/时效阈值,再执行证据闸门;不能靠手填 pass 放行。

按经济实质选择已实现行业方法并做 SOTP、特殊价值和权益桥。缺少行业专用模型或关键证据时报告方法/数据缺口,不自动套通用倍数。正向价值不得用当前股价或同行倍数校准。

阶段 3:财报对账、财务取证与治理约束

取得最新年报/10-K、前 4 年年报、最近 4–8 期季度公告、业绩会、投资者演示和必要监管材料。对每个领先驱动形成“微观推断 → 财报科目/运营 KPI → 一致、尚未进入、口径差异或冲突”的对账表。

财报在这里用于:验证历史基准与现金转化;核对债务、现金、少数股东和股本;识别审计、关联交易、或有负债、重述、质押和治理红旗。财报没有披露某一微观变量,不等于该变量为零;微观证据与财报冲突也不能静默覆盖,必须回到时间、范围和因果链处理。

运行通用财报数据门:

python scripts/verify_data.py <intake.json>

修复缺来源、跨源冲突、合并/单体混用、单位错误和数据过期等 error 级问题。若财报否定估值链的关键前提,回到阶段 1–2 更新账本、区间和价值,而不是事后加免责声明。细节见 references/21-data-integrity-tools.md。

分析沪深北交易所 A 股时,额外读取 references/22-a-share.md,并以包含通用数据门的 A 股验证器替代上面的命令:

python scripts/verify_a_share.py <intake.json>

该分支要求显式记录交易所与板块、法定披露、审计意见、扣非口径、资金占用与关联交易、质押冻结、监管措施、研发资本化以及重大重组/商誉检查。非 A 股任务不要加载这份 reference。

行业与公司情形分类应在阶段 1 建业务图时开始,在本阶段根据财报和治理材料复核。详见 references/13-situations.md。

淘汰条件与红旗

优先筛查:

  • 累计经营现金流长期显著低于累计利润;
  • 应收账款持续快于收入;
  • 保留/否定审计意见、强调事项或审计师辞任;
  • 高位或上升的股权质押;
  • 关联方利益输送、频繁“一次性”项目、重述报表;
  • 不透明集团结构和不可持续杠杆。

严重红旗必须放在报告前部,不能被综合评分“平均掉”。参考 references/07-forensic-red-flags.md 和 references/08-governance.md。

阶段 4:核心基本面

按需读取:

  • references/02-core-factors.md:商业质量、护城河、行业、增长和再投资空间。
  • references/03-earnings-quality.md:收入拆分、利润率、应计项、一次性项目、税率、股权激励和稀释。
  • references/04-balance-sheet-and-cashflow.md:杠杆、偿债、到期墙、营运资金、OCF/利润和自由现金流。
  • references/05-returns-and-dupont.md:ROIC/ROCE/ROE、杜邦、增量回报和正常化。
  • references/15-document-diligence.md:把管理层叙事、承诺兑现、治理和分部回报与数字放在一起分析。

阶段 5:同行和历史比较

按 references/10-peer-set.md 构建同行集合。每个关键指标同时对比正确同行和公司自身 5–10 年历史。公司可以优于同行却正在自我恶化,两条基准都不能省略。

阶段 6:价值汇总与市场反向检查

以阶段 2 的独立价值为主结果。财报对账若改变关键输入,必须通过可追溯节点重算。references/06-valuation.md 和 scripts/valuation.py 中的传统倍数/DCF只可用于已支持口径的交叉检查,不能绕过 evidence-driven-valuation 的证据闸门或替换未实现的行业模型。

独立价值锁定后,再加入当前价格隐含怎样的增长和利润率:

python scripts/valuation.py <inputs.json>

反向估值不得回写或校准正向价值。报告并列展示“证据支持的经营区间”与“市场隐含条件”,不因两者不同而调整证据。

阶段 7:风险、熊市情景与证伪

根据 references/09-risk-and-macro.md 写出最可信的反方论证,而不是稻草人;列出能被观察、且会证明正向逻辑错误的具体事件。

阶段 8:评分与写作

使用 references/11-scoring-rubric.md 和 scripts/score.py 计算行业相对评分;按 references/12-report-template.md 写报告。example/ 仅用于学习呈现方式,示例数字是虚构的,不能当作证据。

阶段 9:挑战结论

标准模式建议执行,深度模式必须执行 references/20-challenge-pass.md:攻击真正支撑结论的关键主张,核验数字来源,并测试更换同行和权重后结论是否仍成立。允许挑战后改变结论;只增加几个无关痛痒的免责声明不算审查。

阶段 10:交付前质检

python scripts/lint_report.py <report.md>

检查时效声明、数据质量、口径单位、评分门槛、熊市情景、免责声明和数字附近是否有来源。error 级问题必须修复。默认文件名为 <TICKER>-analysis-<YYYY-MM-DD>.md。

行业路由

读取 references/sectors/_index.md,并选择匹配文件:

行业 参考文件
银行/吸收存款的贷款机构 banks.md
NBFC、住房金融、非银贷款 nbfc.md
抵押 REIT、BDC、私募信贷、租赁 mortgage-reit-specialty-finance.md
寿险、财险、健康险 insurance.md
保险经纪、MGA、TPA insurance-brokers-services.md
IT 服务、软件、SaaS、互联网平台 it-saas.md
人力、咨询、广告、专业服务 people-businesses.md
制药、CDMO、医院、诊断、器械 pharma-healthcare.md
临床阶段生物科技 biotech-clinical.md
FMCG、必选消费、品牌、QSR fmcg-consumer.md
汽车、零部件、轮胎 auto.md
钢铁、有色、矿业 metals-mining.md
油气 oil-gas.md
电力、公用事业 utilities-power.md
环保、水务、废物处理 waste-environmental.md
地产、REIT、InvIT realestate-reit.md
基建、EPC、资本品、国防 infra-capitalgoods.md
电信、铁塔、媒体、OTT telecom-media.md
航空、酒店、旅行、餐饮 aviation-hotels.md
零售、电商、平台、即时零售 retail-ecommerce.md
化工、农化、化肥、水泥 chemicals-cement.md
控股公司、综合企业、资管 holdco-assetmgr.md
航运、港口、卡车、物流 shipping-logistics.md
铁路货运 rail-freight.md
交易所、清算、评级、支付网络 exchanges-payments.md
半导体、晶圆厂、设备、硬件 semiconductors.md

无匹配行业时使用通用框架,并明确说明没有专用行业手册;此时要额外检查通用指标是否真的适用。

内置脚本

  • scripts/ratios.py:比率、杜邦、应计项和现金转化。
  • scripts/score.py:行业相对多因子评分,支持分部混合。
  • scripts/valuation.py:EV 桥、倍数、反向 DCF、两阶段 DCF 和情景估值。
  • scripts/verify_data.py:来源、口径、单位、跨源一致性和时效验证。
  • scripts/verify_a_share.py:先运行通用数据门,再检查 A 股专属披露与治理底稿是否齐全。
  • scripts/lint_report.py:报告完整性和数字引用检查。

脚本只使用 Python 标准库。scripts/benchmarks.json 是可编辑的默认基准,不是永恒事实;有更合适的市场和期间数据时应覆盖。

输出契约

始终交付:

  1. 报告:开头给结论和核心风险。
  2. 评分卡:展示分类得分、权重、总分和输入,便于读者质疑具体项目。

附数据质量说明:哪些数字已验证、哪些是估计、哪些缺失,以及截至日期。

另附证据时序和财报对账:最新微观事实截止时点、最新财报期间、报告期后事件、领先驱动是否进入财报,以及未解释冲突。

反模式

  • 用通用指标评价银行、保险、REIT 或矿业。
  • 找不到数字时插值或编造。
  • 用综合分数掩盖一票否决的治理问题。
  • 把聚合站当一手来源。
  • 从五年财报直接外推当前经营,而不先检查报告期后的微观信号。
  • 用财报汇总数静默覆盖更新、更细粒度但尚未进入报表的事实,或把“更新”误当作“可靠”。
  • 在独立估值前查看市场价格并据此调假设。
  • 不分重点地加载全部参考资料;多数公司真正决定结论的只有 3–4 个因素。
  • 把研究输出包装成个性化买卖或仓位建议。

英文原文

上游完整英文入口已保存在 references/SKILL.en.md。仅在中文入口没有覆盖某项细节、核对升级差异或维护上游兼容性时读取;日常分析不要默认加载它。