> ### 内置报告视觉层(可选;优先级低于本 skill 的实质输出要求)
>
> 本 skill 自带一套报告视觉层,不依赖任何外部技能——单独安装本 skill 即可完整复现该风格。
> 规范:references/report-style.md;可直接套用的单文件模板:templates/report-style-template.html;hero 图内嵌脚本:scripts/embed_hero.py。
> 风格:哑光质感(低反光 / 低饱和 / 明度立骨)· 正文无衬线 16px · 高对比(正文 17:1)· 面向老年读者优化;亮面仅作局部点缀(单页 ≤2 处、总面积 ≤2%)。
>
> - 适用范围:仅作用于呈现层——单文件 HTML 交付物的版式与配色。Markdown 文本、xlsx/docx/pptx 等交付形态,以及本 skill 规定的内容结构、取数纪律、核验要求、来源分级、口径标注,均不受其约束。
> - 生效方式:默认不自动叠加;由用户显式要求(如「用那套纸感风格」「参考上次那个模板」),或交付形态确为单文件 HTML 且用户未另行指定风格时套用。允许局部套用(例如只要配色)。
> - 优先级:低于本 skill 的全部实质输出要求。 二者冲突时一律以内容为准、改样式;不得为凑版式而删减、压缩、改写或改变本 skill 规定内容之性质(例:把结论改成引语、把洞察降级成金句、省略口径与来源标注)。
> - 原则:实质大于形式。 视觉层缺失或降级,不得成为内容缩水的理由。
弄懂公司一页纸
一、功能概述
通过四个核心问题穿透公司护城河,输出定量、有态度、可决策的 1000–1200 字 HTML 单页报告:
- 四问框架为分析深度标准,不是篇幅约束——每个问题须有实质数据与判断
- 数据零幻觉:所有定量数据来自数据源查询结果,禁止模型自行编造或估算
- 估值矩阵:按行业属性自动选择主估值方法,避免一刀切用 PE
- 催化事件跟踪:近期大事 + 未来催化剂 + 关键跟踪指标,提升时效性与操作指导性
二、输入说明
| 输入项 | 必填 | 说明 |
|---|---|---|
| 公司名 + 股票代码 | 是 | 如 贵州茅台 600519.SH、腾讯控股 00700.HK、Alphabet GOOGL |
| 分析深度偏好 | 否 | 默认完整四问;可指定侧重(如"重点看竞争壁垒") |
| 数据来源 | 三选一 | ① 5.1 数据源链自动拉取;② 用户提供的财报/数据;③ 公开渠道(IR、交易所、SEC)检索 |
| 行业类型 | 否 | 未注明时按主营构成自动判定(影响估值方法选择) |
零配置可用:未配置数据源时,基于用户提供的资料 + 公开渠道检索完成分析;取不到的指标按"数据暂缺"规范处理,禁止编造。
公司身份消歧:只给名称时,先用数据源的列表/结构化查询消歧,确认证券代码与市场后再取数,禁用模型记忆补代码。代码口径以数据源为准:A股 .SH/.SZ/.BJ;港股五位代码 .HK;美股用 ticker(禁沿用 .O/.N 等其他体系假设)。
三、输出说明
- 格式:HTML 一页纸(单页 A4 可打印,max-width 780px),可直接浏览器打开
- 字数:正文 1000–1200 字(不含页眉页脚)——软上限,实用优先:以把问题讲清楚为准,超出可接受;但超出部分必须是新增信息或更充分的论证,禁重复累赘(同义反复、空话铺垫、为凑字数注水)
- 文件命名:
{公司名}_弄懂公司一页纸.html - 必含要素(顺序固定):
1. 页眉:公司名、股票代码、生成日期
2. 关键指标栏:市值、PE(含历史分位)、PB(含分位)、毛利率、最新增速(5–6 个核心数字)
3. 投资判断:一句话结论(BUY/SELL/审慎持有),含目标仓位或加仓锚点
4. 四个问题:按顺序回答,每题 200–250 字
5. 长周期资金画像(独立成节):近 5 年赚/融/用三维 + 去向表 + 匹配评价 + 口径脚注,见 4.11
6. 催化事件栏:近 3 个月大事 + 未来 6–12 个月催化剂 + 3 个跟踪指标(当前值+预警阈值)+ 1–2 条反证条件(见 4.4)
7. 风险提示:3–5 条核心风险,每条标注概率和影响程度
8. 页脚:免责声明 + 生成时间
> HTML 骨架见 templates/one-pager-template.html(含样式与占位符:HEADER/METRICS/VERDICT/Q1–Q4/CAP_*/CATALYST/RISK/FOOTER,替换占位符时保留 CSS 与布局不变)。若模板文件缺失,使用内联 CSS 生成简洁 HTML(白底、深蓝标题、金色强调、max-width 780px 单页可打印)。
> 交付前必跑:python scripts/validate_onepager.py <产物.html>——八要素/数据标注/货币单位/字数脚本校验,FAIL 项修正后重跑(见 5.2 与 CP6)。
四、方法论
4.1 四个核心问题
- 这家公司靠销售什么商品和服务获取利润?
- 主营产品/服务构成及收入占比;最新年度营收、利润、毛利率、研发支出等关键数字;2–3 句话说清商业模式本质 - 客户为何从它这里采购,而不选其他机构的商品或服务?
- 识别核心竞争壁垒(品牌/技术/网络效应/牌照/转换成本等);定量支撑:市占率、定价权、客户留存率;回答"为什么是它而不是别人"
- 操作化判据(可观测行为,禁定性形容):定价权不写"定价权强"三个字,按交易形态选判据——
B2B 中间品/原料商:①提价函/调价通知由谁发出(谁发函谁定价;只随原料联动调价 = 只能转嫁)②提价是否被客户接受(年报/调研纪要中的量价拆分)③前五大客户占比与年降条款(客户集中度对标同行,实证:聚胶 47.80% vs 回天 18.80%)。适用域声明:本判据要求"提价以函件形式存在",仅适用于 B2B 链——2C 品牌调价不走函件(茅台调指导价不发公告),禁跨域套用。
2C 品牌:①提价后销量留存(提价不流失客户 = 品牌定价权成立)②终端零售价与出厂价价差(渠道愿加价 = 品牌力)③复购率与会员复购 - 资本的天性是逐利。眼看这家公司坐享丰厚利润,为什么其他资本没有提供更高性价比的商品或服务,抢占了它的市场份额,或逼迫它降低利润空间呢?
- 供给侧:进入壁垒(政策/资源/技术/规模效应/人才);需求侧:客户锁定(转换成本/生态绑定/习惯依赖);识别真正威胁来自竞争还是行业性因素
- 操作化判据:壁垒不写"壁垒高",写两个可观测行为——①行业毛利率同步性检验:拉 ≥3 家同业同期毛利率,只有本公司改善 = 公司壁垒兑现(α);全行业同步扩张 = 周期弹性(β),禁把 β 记成壁垒(实证:建滔 2026H1 毛利率 +12.35pct,五家可比 CCL 厂全部扩张且低端金安国纪 +21.83pct 扩张更大 → 判"周期弹性非壁垒",见references/method-cycle.md)。②新进入者立项→量产实际耗时:≥3 年且已有投产案例 = 强壁垒;只见"计划扩产"新闻无实际投产 = 壁垒未经验证(状态词按"计划 < 在建 < 投产"分级,禁把计划当产能)。 - 假设同行挟巨资,或者其他产业巨头挟巨资参与竞争,该公司能否保住乃至继续扩张自己的市场份额?
- 分场景推演(行业巨头跨界/国际竞品发力/新进入者搅局);每个场景给出明确判断:扛得住/需要警惕/扛不住;指出最大风险(通常不是竞争本身)
- 操作化判据:每个场景不写"有威胁风险",写①历史先例复盘:同场景过去 5–10 年实际发生过吗?结果如何(先例 > 推演)②侵蚀的可观测信号:巨头进入后本公司的份额、毛利率、大客户流失三个指标中至少盯一个,给出触发阈值(如"毛利率连续两季下滑 >2pct 即判侵蚀成立")——没有阈值的威胁描述是空话
4.2 数据零幻觉原则
数据来源层级:
| 优先级 | 来源 | 置信度 | 标注 |
|---|---|---|---|
| 1 | 数据接口实时查询 / 用户提供的一手数据 | 硬数据 | 无需标注 |
| 2 | 基于硬数据的合理推算(CAGR、分位数) | 有支撑推演 | 标注「推算」 |
| 3 | 模型知识(仅用于定性描述,不可作定量依据) | 假设 | 标注「需核实」 |
查询语义规则:检索查询语句必须贴近目标数据的实际表述,禁用模糊抽象词(护城河/景气度/催化剂/核心竞争力/重点关注),用具体名词替代(如"护城河"→"品牌溢价幅度+客户留存率")。
🔴 预置标尺(取数前必做):动手取数前,先列出 5–8 个核心指标的预期量级(区间而非精确值,如"毛利率 25–33%""带息债务/净资产 30–45%"),每个区间旁标注一句推演依据。取数后逐一比对:命中区间 → 直接采用;超出区间 → 强制停顿回查,按序排查:①口径错位(单季 vs 累计、销售毛利率 vs 综合毛利率——三个相近数字并存时先对齐口径再用)②结构性原因(产品结构升级/一次性损益/会计政策变更)③数据源污染。找到解释才采用,找不到解释就把差异写进报告。
执行触发点:预置标尺写进 SKILL.md ≠ 取数时会被调用。绑定动作=在第一次调用任何取数工具之前,必须先写出 5–8 个指标的预期量级表(可写入工作底稿,不占交付物篇幅);未产出该表即进入取数=流程违规。
标尺清单须含资产负债表变动率扫描:只预置损益类比率时,资产负债表的非主流科目会整体逃逸(实证:新意网非流动合约负债 +150 倍未被任何预置比率拦住)。故标尺清单须固定包含一项资产负债表变动率扫描(合约负债/其他应收/递延税项/少数股东权益/或然负债),不只预置比率。预置标尺的拦截实证与已知盲区说明(勾稽闸与双源闸均拦不住"口径对比错",预置标尺是当前唯一能拦住它的执行期手段):references/casebook.md #1–#3。
数据不可得时的 Fallback:不得直接标 N/A——先尝试递推计算(PE 未返回 → 查市值+净利润手算);递推也不可行时标注「数据暂缺(原因:XXX)」,禁止用模型知识填补。
高误编风险字段点名:市场份额、客户占比、订单/ARR、业绩预测、一致预期、目标价——无本次查询证据一律不写,禁用「约/大概」类修饰词掩盖无源;外部研报召回不等于一致预期。
4.3 估值方法选择矩阵(按行业自动适配)
| 行业类型 | 主估值方法 | 辅助方法 | 关键假设 |
|---|---|---|---|
| 消费/白酒 | PE + 历史分位 | EV/EBITDA | 盈利稳定性高,PE 有效 |
| 金融/银行 | PB + 历史分位 | 股息率 | 资产价值是核心 |
| 科技/互联网 | PS → PE(盈利后) | PEG | 增速优先,盈利其次 |
| 周期/资源 | 先判驱动型,再选估值锚(三型分类见 references/method-cycle.md) |
按型选用 | 周期位置决定估值锚(PE_TTM 分位标"⚠️周期失真");高股息 ≠ 低估,须用穿越周期的正常化盈利校验 |
| 重资产/公用事业 | EV/EBITDA | DCF(股息折现) | 现金流稳定性 |
| 创新药/生物制药 | 两分法 rNPV(细则见 references/method-biotech.md) |
峰值销售 × PoS 敏感性 | 资产状态不同估值法不同 |
| 烟蒂股/困境 | PB + 净现金/市值(专用路径见 references/method-cigarbutt.md) |
SOTP | 下行保护优先 |
估值递推规则:PE 未返回→市值+归母净利手算;PB 未返回→市值+归母净资产手算;历史分位→拉 3–5 年序列,先排除异常值(TTM 为负、极端值),再计算当前值百分位,输出格式 PE 24x(35%分位)(分位标注样本日数;上市<1500 日附警示)。特殊结构适配:REIT 用 NAV 折价+分派率(非 PE/PB);美股高 capex/一次性收益 → PE 归一化+P/FCF 交叉锚。
4.4 催化事件跟踪
- 近期重大事件(近 3 个月):2–3 条实质性事件,每条标注日期+一句话影响判断
- 未来催化剂(未来 6–12 个月):2–3 个节点,标注预计时间+触发条件+估值影响方向
- 关键跟踪指标:3 个可量化指标,标注当前值+预警阈值
- 阈值设定前须先取历史基线频率:凡设「出现任何 X 即预警」型阈值,必须先确认 X 的历史基线频率,否则阈值会持续误报(实证:casebook #4 新意网可转债——年报「概無轉換」实为常态每年 0–6,500 份)。判据:年报「截至 X 年度內概無 Y」只覆盖该报告期,不等于历史从未发生;判断「从未/0/无」须用「发行量 − 余额」勾稽倒算历史累计。
- 反证条款:报告须含 1–2 条会推翻当前核心逻辑的可观察条件(与跟踪指标绑定:某指标越过某阈值即判逻辑失效),写入催化事件栏;只讲验证不讲反证=结构不合格。
4.5 多空判断锚点(必须有明确倾向)
- BUY:估值低于历史 30% 分位 + 护城河稳固 + 无致命风险
- SELL:估值高于 70% 分位 + 护城河侵蚀 + 有实质性利空
- 审慎持有:不满足以上两条时使用,必须给出"什么条件下转为 BUY/SELL"
- 禁止单独使用"观望"——必须附带转为行动的条件
- 数据不足守门:最近一期核心财务(收入/利润/经营现金流)与正式披露均不可得时,停止给出买卖判断,只交付可确认信息与缺口清单——禁用「审慎持有」为数据缺失兜底
4.6 烟蒂股/困境公司专用路径
估值矩阵判定为"烟蒂股/困境"时,先读 references/method-cigarbutt.md:①问题 1–2 简化为核心资产清单+负债结构+净现金计算;②问题 3–4 聚焦最坏情况能亏多少(清算价值 vs 市值)、资产变现可行性;③估值锚点:PB<1 + 市值<净现金 → 强信号;④风险模块优先标注持续经营风险、债务违约概率、资产减值风险。创新药交叉场景(PB<1 且净资产多为授权首付)禁直接套清算逻辑。
4.7 报告结构黑名单(命中即结构不合格,必须重组)
- "公司概况与核心竞争力"→ 用四问框架替代;"财务表现/财务分析"→ 融入四问中的数据;"核心投资逻辑"→ 在投资判断中体现;"公司简介"→ 在问题 1 中体现
4.8 数据标注格式
- 硬数据(接口直出):直接写数字,如
PE 24x、营收 1,855亿 - 推算(基于硬数据计算):附加
[推算],如3年CAGR 15% [推算] - 假设(模型知识):附加
[需核实],如市占率约 58% [需核实] - 管理层口径(业绩会指引/纪要转述):附加
[管理层口径]——真实来源但非结构化事实,可作定性论据,禁与已披露事实混写、禁作定量锚点 - 外部观点(研报/媒体/公众号线索):附加
[外部观点]——禁当作事实或一致预期 - 数据缺失:
数据暂缺(原因:XXX),禁止用模型数字填充 - 跨市场期间与币种呈现:美股保留非自然财年标注(FY 截止月)与原币种,单季 vs FY 口径禁混用;港股五位代码;多期对比数字须带口径说明
- 标的公司自有专名首次出现须 inline 简释:产品线 / 数据中心 / 品牌 / 项目代号(如 MEGA-i、MEGA Campus)首次出现时,在正文同一行括号内给 8–20 字功能说明;不只解释行业内部术语,标的自有的设施与产品名同等适用(实证:casebook #9)
- 同指标两个比率并列须 inline 标分子分母:同一主体出现两个持股比率时,须在值的同一视觉位置注明各自分母(总股本 / 派息基数),否则读者默认同分母并判定为矛盾(实证:casebook #8)
4.9 检查点(内嵌自检,本技能独立执行)
- CP1 数据获取后(自动):是否拿到最近一期财报(非过期年报)?PE/PB/市值是否最新交易日?主营构成是否获取成功?不合格静默重试一次,仍失败标注缺失继续
- CP2 估值方法选择(仅歧义触发):公司横跨多行业(如消费 60%+科技 40%)时说明可选路径,等用户确认或按主业占比直接执行
- CP3 初稿完成后(自动):四问有实质内容?投资判断有明确倾向(非"观望")?风险量化(概率+幅度)?数据标注置信度?估值方法与矩阵匹配?货币单位正确(港股 HKD/美股 USD)?长周期资金画像三卡/去向表/匹配评价/口径脚注四要素齐全?勾稽闸是否通过?缺失年数是否标注?
- CP4 交付前数据纯净性五闸(自动,强制):①降级源≠降级标准 ②勾稽核验(分部加总=总计、净利÷EPS≈股数)③数值恰等于阈值时回源确认 ④区分"未披露"与"不存在",并区分"报告期内无发生"与"历史从未发生"(后者须用「发行量/总量 − 余额」倒算历史累计,不可只看本期陈述) ⑤关键数字双源交叉验证(单源时显式标注"⚠️ 单源数据")
- CP5 抄录原句前作用域三查(自动):引用年报/公告原句前逐项标清——期间(哪一期/截至哪天)、主体(母公司单体/子公司/分部/集团)、范围(并表 entity 与分母口径)。实证:casebook #7
- CP6 产出校验(强制,v1.8.0 新增):交付前跑
scripts/validate_onepager.py <产物.html>,八要素/数据标注/货币单位/字数校验,FAIL 项修正后重跑至 PASS
4.10 估值口径与推演输入闸门(两条)
- 除净现金 PE 必须分子分母同源:扣了生息资产(货币资金 + 交易性金融资产等)就要同时扣掉它产生的税后收益,否则系统性低估主业估值(实证:PDD 除净现金 PE 3.35× → 同源修正后 6.36×,单次低估 3.01×,casebook #5)。交付须写出「扣了什么、剔了什么收益、修正前后各是多少」。
- 推演类输入须一手化:凡用于推演 / 估值的第三方数字(机构测算、市场传闻、外部 AI 输出),交付前必问「是否已被更晚的一手披露取代」+必查「最近一期公告是否含该资产的定价」(实证:快手可灵机构测算 350 亿美元 vs 增资公告投后 180 亿美元,重算后结论方向反转,casebook #6)。
4.11 长周期资金分析(赚/融/用,独立成节)
回答四个核心问题之后,用 5 年(或 10 年)窗口回看这家公司的资金全景:钱从哪来、钱从外部拿了多少、钱花到了哪里、三者是否匹配。目的=识别"利润表好看但持续失血""增长靠融资堆出来""赚的钱真返还股东"三类真相——这三类的共同点是单看某一年看不出来。
观察周期:默认近 5 个完整财年;数据不足 5 年时取可获得的最长完整年度区间,并在产物标注「区间 N 年(不足 5 年,原因:X)」——缺几年必须写出来,禁静默按 5 年呈现。5 年段跨越周期异常(疫情/商品超级周期)或用户明确要求时用 10 年。禁混用自然年与财年:非 12 月结账的公司须标注 FY 截止月。
三项内容(互斥、禁重复加总):
- 累计赚了多少:累计归母净利润(会计结果)+累计经营活动现金流量净额(现金结果)+累计净现比(OCF÷归母净利,<0.8 须在正文解释利润含金量)
- 累计融了多少:股权融资毛额(吸收投资/IPO/增发)+债务融资毛额(取得借款+发行债券)− 偿还债务 − 股份回购 = 外部融资净额(正=净融入,负=净还钱给资本方)
- 赚的钱用在哪:资本开支/并购净支出/分红(含息须标注)/股份回购/净偿债五项;研发费用单列作投向参照——它是利润表口径、已含在 OCF 内,与现金项并列会重复计数,只作参考不加总
匹配性比率与五型判定(自上而下命中即停):
- 自给率 = 累计 OCF ÷ 累计(资本开支+并购);股东回报率 = (分红+回购)÷ 累计归母净利;外部融资依赖度 = 净外部融资 ÷ 累计(资本开支+并购+研发)
- F 利润现金背离型:累计归母净利为正但累计 OCF 为负 → 利润与现金背离,最强预警信号,优先于其他类型
- A 现金牛回报型:自给率 ≥1.0 且回报率 ≥50%(或回报占 OCF ≥30%)
- E 收缩还债型:末年 capex 较首年收缩 ≥20% 且净偿债且回报率 <30%
- B 内生扩张型:自给率 ≥0.8;D 融资依赖型:依赖度 >60%;C 融资扩张型:其余
给出类型只是起点——必须再用营收/利润区间 CAGR 回答"投进去的钱有没有变成增长",投入未转化为增长即判失配,并在风险栏体现。
执行闸门:
- 计算必须经
scripts/calc_capital_cycle.py(输入年度序列 JSON,输出累计值/比率/类型判定/勾稽/缺口清单),禁 LLM 心算;输入缺字段省略,禁填 0 伪装 - 勾稽双闸:①
OCF+投资净额+筹资净额 ≈ 现金净增加额(相对误差>2% 须回源核对科目或期间)②去向分解未解释占比>25% 须在正文说明(常见于理财净买入、存款增加、利息收入、汇兑、少数股东往来) - 数据缺口:缺年/缺科目按 0 计入时必须在产物标注缺失年数;若该科目恰为公司主要融资或投向方式(如重资产公司的 capex、高负债公司的借款),须换源复核,禁默认 0
- 预置标尺同样适用:取数前先写 5–8 项预期量级(含"自给率应在 X–Y 区间"),超限回查,见 4.2
- 取数前必读
references/method-capital-cycle.md:跨市场科目口径表(禁按 A 股科目名硬套港美股)+九家跨市场实测七条硬约束(回购与偿债只列一次/单位逐字段核对/跨币种折算并标注汇率/NL 字段映射错误拦截/美股 10-K 兜底/类型阈值校准/不足 5 年须标注)
呈现格式(独立成节,三段式):标题 长周期资金画像(FY20XX–FY20XX);段一·三卡:💰 累计赚 | 🏦 累计融(注明净融入/净还钱)| 🔧 主要用向(列前 2–3 项);段二·去向表:资本开支/并购/分红/回购/净偿债 五行,含金额与占合计比重;段三·匹配评价:3–4 句,含类型判定+关键比率+"投入是否转化为增长"的裁断;脚注(必写):数据来源与取数日、币种与单位、报告期区间与年数、科目口径说明(尤其"分红含息")、缺失项清单。
Resume:长任务状态恢复
长任务(多标的 / 章节多 / 步骤长)在运行时可能因中断或上下文压缩出现"忘了这步、漏了那项"。本技能采用状态外置机制:不依赖上下文记住进度,每个 boundary 把执行状态从外部文件重新灌回。
- 口径变更复扫:若本轮改过任一指标口径(等效股本 / 归母 vs 全部 / 含不含少数股东权益),须按指标名全文检索待改点全集并逐个判定,同稿内同名指标两个不同数值=漏改。
启用门槛(先判长短,短任务不启用):满足任一才启用:① 标的数 ≥3;② 产物章节 ≥12 节;③ 预计工具调用 >20 次。不满足则不创建状态文件,按常规流程一次性跑完。绑定动作:任务开工时先按上述三条显式判定一次,并把判定结论写进状态文件首行(如"启用:命中③ 预计工具调用>20")——门槛写成背景说明=不会被调用。
boundary 定义:每完成一个核心问题(Q1–Q4)、每完成一个估值维度(PE/PB 分位、DCF、可比)、交付前。每个 boundary 结束时写一次状态文件,下一个 boundary 开始时先读再继续(不在每一步都写,防止"写状态"本身吃掉上下文预算)。
状态文件:路径 .workbuddy/progress/{task}.md(目录不存在则创建)。必含:updated_at(ISO 8601 带时区)、session_id、已完成(必须附产物路径或证据锚点——无凭据不写"已完成")、剩余、下一步(动作+需先取的数据)、口径快照(单位/币种/期间/来源)。
读写纪律:①读取时先比对 updated_at 与 session_id;文件不属于本次会话且早于本次开始时间 → 视为可能陈旧,确认后才采用,禁止用旧快照覆盖新进展 ②以文件为准:聊天中只引用状态文件条目,不另写一套(防双写不一致)③中断收口:任何原因中断时,最后一次写入必须含"已完成 / 剩余 / 下一步"三段,接手方无需回溯聊天即可续跑。
降级:状态文件不可写或目录不可创建时,退化为既有收尾纪律(中断必列已完成/剩余/下一步),不因本机制失败而中断任务。
五、数据源与配置
5.1 数据获取优先级(与本地工具链对齐)
1. Wind MCP(主源) ← 财务/行情/估值序列/主营构成;NL 取数必过 4.2 预置标尺
2. 二源交叉验证 ← A股:tdx-connector(通达信);港美股:neodata-financial-search;
实时行情:westock-mcp;B股一律走 tdx-connector
3. 用户提供的数据 / 财报文件
4. 公开官方渠道 ← 公司 IR、交易所披露、SEC 文件、官方新闻稿
禁止:社交媒体/论坛 UGC 数字作数据源;模型记忆数字作定量依据
数据获取顺序建议:利润表(近3年年报+最近季报)→ 财务指标(ROE/毛利率/净利率)→ 每日指标(PE/PB/市值)→ 历史估值序列(3–5年,算分位)→ 前十大股东 → 主营业务构成 → 可比公司(2–4 家业务可比,须对齐市场/财年/币种/业务口径;无法对齐时不做强排名,改定性梯队)→ 近期新闻/公告(催化事件)→ 近5个完整财年的资金序列(归母净利/营收/研发、经营·投资·筹资三项净额、现金净增加额、资本开支/并购/分红/回购/吸收投资/借款/偿债,4.11 所需)。
跨市场注意:港股 HKD(可比公司含同业港股)、美股 USD;估值分位历史窗口建议 5 年(样本量小需更长窗口)。
检索经济性:可选来源(会议纪要/研报召回/公众号线索)只在会改变结论时调用,不为凑数量检索;召回片段不替代完整公告与结构化数字。
本地工具链映射(Wind MCP 调用方式等)见 config/config.json 的 local_toolchain 字段——该文件为本地私有配置,不随发布包分发。通用 HTTP 接口部署方式见 5.3(适用于无 MCP 环境的独立部署)。
5.2 计算纪律(脚本强制)
计算与校验一律脚本执行,禁止 LLM 心算——同一输入同一输出,防计算幻觉:
python scripts/calc_valuation.py <估值数据.json>:PE/PB 递推、PE/PB 历史序列分位(自动剔除非正值与头 2% 极端值并标注样本日数)、CAGR、股息率;报告关键指标栏数字以脚本输出为准,标注 [推算] 与样本日数;上市<1500 日警示由脚本输出;纯标准库,Python 3.8+python scripts/calc_capital_cycle.py <资金序列.json>:长周期资金累计值、比率、五型判定、勾稽双闸、缺口清单(口径互斥与双重计算的拦截在脚本内完成)python scripts/validate_onepager.py <产物.html>:八要素/数据标注/货币单位/字数产出校验,FAIL 项修正后重跑至 PASS(对应 CP6)
5.3 配置文件
将 config/config.example.json 复制为 config/config.json 按需填写(HTTP API 模式:base_url / endpoints / api_key_env / retry;密钥只能通过环境变量注入,禁止明文写入任何文件;估值分位计算需 daily_basic 类端点支持按日期范围拉取历史序列)。已配置 MCP 工具链的环境以 5.1 优先级为准,无需 HTTP 接口。
5.4 数据源未授权或不可访问时的行为(明确提示,禁止静默失败)
| 场景 | 处理 |
|---|---|
| 未配置任何数据源 | 提示:「未配置数据接口。请提供公司财务数据/财报文件,或按 5.1 使用 MCP 数据源后重试;公开可查指标将尝试从官方渠道检索。」 |
| 主源失败 | 按 5.1 优先级顺延二源(如 Wind 超时 → tdx-connector/neodata),跨源时标注「⚠️ 单源数据」并说明主源不可用原因 |
| 鉴权失败(401/403) | 提示「数据源认证失败(HTTP {code}),请检查密钥/授权是否有效」,不静默换源 |
| 超时 / 5xx | 提示「数据源不可访问({错误}),已重试 {n} 次」,询问是否改用手工数据模式 |
| 接口返回空 | 该指标走递推计算(如 PE→市值/净利);递推不可行标「数据暂缺」,禁止编造 |
六、使用示例
用户:用四问框架分析一下贵州茅台 600519.SH
技能动作:
1. 预置标尺:先写 5–8 项预期量级(含资产负债表变动率扫描项),再取数
2. 数据拉取(按 5.1 链):近3年利润表+财务指标、最新 PE/PB/市值、5年估值序列(算分位)、
主营构成(茅台酒/系列酒/直销/批发)、前十大股东、近90天新闻公告、
近5个完整财年的资金序列(4.11 所需)
3. 估值矩阵:消费/白酒 → PE+历史分位为主,EV/EBITDA 辅助
4. 四问分析:每题 200-250 字,定量支撑+明确判断
5. 投资判断:对照多空锚点给出 BUY/SELL/审慎持有 + 转换条件
6. 催化事件 + 跟踪指标(如:直销收入占比、批价、产能利用率)+ 量化风险
7. 长周期资金画像:把年度序列写进 JSON → 跑 calc_capital_cycle.py
→ 累计三维 + 五型判定 + 勾稽结果填模板 CAP_* 区,并写口径脚注
8. CP1-CP6 自检(含 validate_onepager.py 校验)→ 生成 贵州茅台_弄懂公司一页纸.html
更多场景(烟蒂股专用路径、跨行业公司估值歧义处理、港股/美股)见 examples/example-usage.md;实证案例集见 references/casebook.md。
七、目录结构
company-one-pager/
├── SKILL.md # 本文件
├── scripts/
│ ├── calc_valuation.py # 估值计算脚本(PE/PB递推/分位/CAGR/股息率)
│ ├── calc_capital_cycle.py # 长周期资金分析脚本(赚/融/用累计、比率、类型判定、勾稽双闸、缺口清单)
│ └── validate_onepager.py # 产出后置校验脚本(八要素/数据标注/货币单位/字数)
├── config/
│ └── config.example.json # 配置模板
├── templates/
│ └── one-pager-template.html # HTML 单页报告模板(含占位符)
├── references/
│ ├── method-cycle.md # 周期股三型分类(触发:周期/资源行业)
│ ├── method-biotech.md # 创新药 rNPV 路径(触发:biotech/18A)
│ ├── method-cigarbutt.md # 烟蒂/困境专用路径(触发:烟蒂判定)
│ ├── method-capital-cycle.md # 资金画像科目表+九家实测硬约束(4.11 取数前必读)
│ ├── casebook.md # 实证案例库(主干 #N 指针落点)
│ └── report-style.md # 视觉层规范
└── examples/
└── example-usage.md # 使用示例
八、注意事项
- 风格禁忌:禁止废话与恭维性措辞;禁止默认"观望";禁止模糊风险描述(必须给概率和幅度);禁止用模型知识填补数据空白;数据说话,关键数字加粗或高亮
- 报告为分析框架产物,结论须附条件与失效边界,不构成投资建议
- 本技能独立运行,不依赖任何其他技能
九、版本记录
- v1.8.1(2026-09-28):碰撞借鉴 pai-company-one-pager v1.0.0(AlphaPai 官方公司一页纸)七项优点落地:①公司身份消歧与代码口径规则(只给名称先经数据源消歧,禁模型记忆补代码;A股
.SH/.SZ/.BJ、港股五位.HK、美股 ticker)②数据标注扩至五级——新增[管理层口径]/[外部观点]两级(真实来源但非结构化事实,禁与已披露事实混写、禁作定量锚点)③反证条款强制:催化事件栏新增 1–2 条会推翻核心逻辑的可观察条件,与跟踪指标阈值绑定 ④数据不足守门:核心财务与正式披露均不可得时停止给出买卖判断,禁用「审慎持有」为数据缺失兜底 ⑤可比公司纪律(2–4 家+市场/财年/币种/业务口径对齐+无法对齐禁强排名)⑥高误编风险字段点名(份额/客户占比/订单 ARR/预测/一致预期/目标价,禁「约/大概」掩盖无源)⑦检索经济性(可选来源只在会改变结论时调用,召回片段不替代完整公告)。同步新增 4.8 跨市场期间与币种呈现规则(美股非自然财年/原币种/单季 vs FY 禁混用)。不借鉴:「不给确定性买卖结论」(平台合规取向,与决策工具定位冲突)与连接器绑定。validate_onepager.py同步新增反证检查(6b)与两级标注统计。 - v1.8.0(2026-09-28):规则分层外置——周期股三型/创新药 rNPV/烟蒂路径/长周期资金科目表与实测硬约束/全部实证案例外置至
references/(method-cycle、method-biotech、method-cigarbutt、method-capital-cycle、casebook),主干只留触发条件与指针,SKILL.md 由约 21K 字符减至约 16K(-23%,实用性优先未极限压缩;外置模块合计约 15K 按需加载);新增scripts/validate_onepager.py产出后置校验(八要素+数据标注+货币单位+字数,CP6 强制),CP3/CP4 从模型自觉变脚本强制;5.1 数据源优先级回写实际主源链(Wind MCP 主源 → tdx-connector/neodata/westock 二源交叉 → IR 兜底;原 config.json HTTP 接口降为无 MCP 环境的通用部署选项,5.4 新增主源失败顺延二源规则);版本记录截断至 3 条,更早条目移出留档(10_工具与知识库/_changelog_company-one-pager_截断至v1.8.0.md)。 - v1.6.0(2026-09-19):新增 4.11 长周期资金分析(赚/融/用三维,独立成节):含跨市场科目口径、五型(+F 型)匹配判据、计算脚本
scripts/calc_capital_cycle.py、勾稽双闸与呈现三段式;4.11.4 为九家跨市场实测校准出的七条硬约束(回购/偿债只列一次、单位逐字段核对、跨币种折算、NL 字段映射错误拦截、美股 10-K 兜底、类型阈值校准、不足 5 年须标注,现外置于 method-capital-cycle.md)。输出必含要素新增第 5 项,模板新增资金画像占位区块。 - v1.5.9(2026-09-18):①字数上限由硬约束改为软约束——以把问题讲清楚为准,超出可接受;唯一保留的硬约束=禁重复累赘。②精简版本痕迹,版本号收口为单一来源(SKILL.md frontmatter),清除包内声明型版本副本。结构里程碑:视觉层改为随包内置分发。