价值投资法分析股票是否值得投资

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

基于邱国鹭《投资中最简单的事》方法论的股票价值分析器。通过"三好原则"(好行业、好公司、好价格)系统评估一只股票是否值得投资,结合逆向投资思维、定价权分析、估值陷阱识别,输出结构化的投资决策建议。所有分析强制前置 API 优先取数(yfinance + AkShare 双引擎,Tier 0 信源)+ 多信源数据校验(价格类数据至少 3 个独立权威源 + 数据类型防混淆 + 每个定量数据必须标注信源等级),并在报告初稿完成后强制执行交卷前自检(关键数据换源复验 + 核心结论反向 7 问验证 + 算术回验),未通过不得发布。

一句话选型结论

按资料字段整理

价值投资法分析股票是否值得投资是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_a8456463/stock-value-analyzer
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_a8456463仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量56.5 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
价值投资法分析股票是否值得投资当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

56.5 KB
模型实际读到的说明书原文,来自技能仓库

股票价值分析器(Stock Value Analyzer)v2.4

> v2.4 更新(2026-09-29)— 取数脚本两类「静默故障」修复:不抛异常,但让结论全错
>
> 这两个 bug 的共同特征是脚本照常返回 0 退出码,errors[] 也是空的,
> 于是 AI 以为取数成功,继续往下写报告 —— 这比直接报错危险得多。
>
> ① AkShare 行情静默返回空
> 全市场快照接口返回空表(限流/风控)、代码列名漂移(代码→symbol)、代码格式不匹配
> (00700 vs 0700 vs hk00700)、字段值为 0 —— 四种情况旧版都不抛异常,
> spot 静静变成 {},报告只是「没有现价」,极易被顺手用研报目标价或 52 周区间顶替(v1.3 的血泪教训重演)。
> - 新增 _fetch_diagnostics:每个接口每一步都记账(ok / empty / not_found / schema_drift / field_missing / error)
> - 代码匹配改为归一化比对,兼容前导零与市场前缀;代码列名多候选自动识别
> - 港股新增两级价格兜底(东财日线 → 新浪快照)、A 股新增跨域兜底(新浪日线,脱离东财单点依赖)
> - 缺价/兜底/量纲异常一律写入顶层 errors 与 meta.data_health,并新增 --strict(不达标以退出码 3 硬失败)
> - 附带修复 1:yfinance 限流时会产出「字段齐全但值全为 null 的空壳 models」,旧判据据此认为
> models_ok=True 而整段跳过 AkShare 明细兜底 → 现要求 time_series.fiscal_periods 非空
> - 附带修复 2(同类静默空,影响更大):非日历财年被硬编码 -12-31 滤空。
> 苹果 9 月底、微软 6 月底、英伟达 1 月底、大量港股 3 月底 —— 明细接口返回几百行,
> 却被筛成 0 行,time_series 空、models 全 null 且不报错。更隐蔽的是采用 52/53 周财年历
> 的公司(苹果财年末在 09-24~10-01 间浮动),若只按「MM-DD 众数」筛,会得到
> 「2025 / 2014 / 2008 / 2003」这种跨 20 年的稀疏序列 → "上一期"变成 11 年前,同比与 CAGR 全错。
> 现改为 pick_annual_dates():按财年结束月(含跨月漂移窗口)圈定 + 每财年只取最晚一期。
> 实测 AAPL:修复前营收 CAGR 21.1% / ROE 120.9%(均错),修复后 7.58% / 171.42%(与 API ROE 完全一致)。
>
> ② 杜邦分解单位错乱导致 ROE 失真
> ROE = 净利率 × 周转率 × 权益乘数,分子来自利润表、分母来自资产负债表,是跨表比率。
> 一旦两表量纲不一致(千元 vs 元)、股东权益科目错位、或把 API 的百分数 ROE 当小数用,
> ROE 会整体偏离 10^k 倍。实测:东财港股接口 ROE_AVG=21.13(百分数)被直接透传,
> 与杜邦 ROE 0.2113 相差 100 倍,前置 6 的「差异 >15% 须并列两者」形同虚设。
> - 新增 value_models.check_unit_consistency():硬锚点定量修正 + 软锚点告警
> - 硬锚 1 资产负债表恒等式 (总资产−总负债)/股东权益 ≈ 1 → 定位股东权益量纲偏离
> - 硬锚 2 API 报告 ROE → 定位利润表相对资产负债表的量纲偏离
> - 软锚 3 四类比率合理区间(ROE / 周转率 / 折旧÷固定资产 / 经营现金流÷净利)
> - 只认 10 的整数次幂:单位错乱必为 10^k;1.3 倍、3 倍的偏离是口径差异
> (年报/TTM、归母/含少数股东、平均/期末),只告警、不修正,避免把口径差异洗掉
> - 不可定量 → 不硬凑:dupont/roic/growth_consistency.roe_* 全部置 applicable=False,报告必须标 NA
> - 全引擎百分数字段统一 ÷100 并标注 _unit;新增 models._unit_health 一眼可读「ROE 能不能引用」
> - 自检脚本新增 C10(量纲与 ROE 越界引用)/ C11(取数健康度披露) 机器门禁
>
> ---
>
> v2.3 更新(2026-08-09)— 跨市场税负差异强制纳入择市决策
>
> 原框架对多地上市标的(AH /ADR / 多重上市)只比名义价差,这会导致择市结论反向。
>
> 实测教训(中国移动 2026-08):按名义 AH 溢价 27.5% 判定「A 股在溢价 >20% 时均不构成价值投资标的」;计入 H 股港股通 20% 股息税后,税后实际溢价仅约 1.9%,纯红利投资者选 A 股税后到手反而多 25%——结论直接反转。
>
> v2.3 修正:
> 1. 新增前置 7「跨市场税负差异校验」铁律:多地上市标的禁止仅用名义价差下择市结论。
> 2. 新增税负临界溢价公式 prem* = (1−t_A)/(1−t_H) − 1:与股价、股息、汇率全部无关,只取决于税率差。港股通 H 股 vs A 股长持的临界溢价恰为 +25%。
> 3. 择市结论必须按投资目的分层(纯红利 / 红利+估值修复 / 成长 / 短期),禁止给单一的「买 A 还是买 H」。
> 4. 税率取决于「投资者身份 × 持有渠道 × 标的注册地」,不是「标的在哪上市」:同一只港股,港股通持有 20%、香港券商直持 H 股 10%、直持红筹股 0%。
> 5. 新增 references/cross-market-tax-guide.md:主要市场股息/资本利得税对照、隐性成本(ADR 托管费、港股通汇兑价差、双边印花税)、三张必备产出表。
>
> ---
>
> v2.2 更新(2026-07-30)— 评分体系数学自洽化 + 量化模型口径修正
>
> v2.0/v2.1 建立了双层架构,但执行层存在会导致结论反向的硬伤。v2.2 专治这些问题:
>
> 1. 评分归一为纯 100 分制:公司分把时序补为正式维度(护城河 35 + 财务质量 30 + 管理层 20 + 时序 15 = 100),不再是"90 分池 + ±10 校准";逆向/定价权明确为加法绝对分并纳入分母,消除"±10%"是乘法还是加法的歧义。
> 2. 估值硬模型占实分:反向 DCF 与情景/EPV/SOTP 从"不占分"升级为估值模块 60 分主体,兑现"便宜要用模型证明"。
> 3. 一票否决分两档:造假类 → ❌ 出局;破产/结构类 → 🔴 封顶,且必须显式写"原始分 → 否决结果"。
> 4. Altman Z 双版本路由:按资产结构自动选 原始 Z(制造业)或 Z''(非制造业,剔除 X5)。轻资产/科技股此前被原始 Z 系统性低估(实测差 3.67),存在"破产高危"误杀风险。
> 5. 反向 DCF 抗操纵:基准 FCF 默认近 3 年均值(不再单年快照,实测单年口径可虚高隐含增速 11pct);折现率/永续增速/年限可传参;强制输出 WACC 敏感性矩阵。
> 6. CAGR 按实际年跨度计算:修复"缺失年致分母缩水、CAGR 被高估"(实测高估 6.75pct,直接污染贵/便宜判断)。
> 7. 模型可用性护栏升级:Piotroski 新增 data_coverage/applicable(覆盖不足禁引总分);行业判别新增 confidence,低置信度禁止 M/Z 否决——修复港股分支曾把公司名当行业传入、致金融股被跑造假模型的误杀风险。
> 8. A 股能力对齐港股:改用三大报表明细,M-Score / Z-Score / 反向 DCF 从"全 NA"变为可用。
> 9. 历史估值分位有了取数路径:该项占估值分权重却长期无数据源(幻觉高发区),现由脚本取真实历史序列。
> 10. 交卷前自检脚本化:新增 scripts/self_check.py,把量化一致性、算术回验、越界引用检测从"靠自律"变为机器门禁。
>
> 核心理念:用合理的价格,买好行业里的好公司,然后拿得住。信条——定性看方向,定量定边界,两层都过才算数;模型不可用时诚实标注 NA,绝不硬凑;跨市场必看税后到手。


概览

本 Skill 基于邱国鹭《投资中最简单的事》的投资方法论,对单只股票进行系统化的价值投资评估,输出"能不能买、该不该买、什么价位买"的结构化结论。

做的事:
- 从行业、公司、价格三个维度做双层评估(量化硬模型 + 定性框架)
- 反向 DCF 反解市场隐含增速,判断当前价格"打的什么算盘"
- 用 F-Score / M-Score / Z-Score 给财务质量打分、识别造假与破产风险
- 用杜邦分解区分"经营驱动 ROE"还是"杠杆堆出来的 ROE"
- 看 5-10 年时间序列趋势,而非单年快照
- 识别护城河、定价权、估值陷阱,逆向思维检查市场情绪

不做的事:
- 不预测短期股价涨跌、不做技术面分析(K线/均线)
- 不推荐具体买卖时点、不替代用户的独立判断
- 不依赖任何个人持仓/组合数据——本 Skill 为通用、可独立发布的分析框架


方法论框架

核心公式

投资价值 = 好行业 × 好公司 × 好价格

三个维度缺一不可。任一维度得分过低,整体结论就是"不适合投资"。

双层判断架构(核心)

每个维度都按"量化层 → 定性层"两层评估,缺一不可:

            ┌─────────────────────────────────────────────┐
            │  量化层(可复现硬模型,由脚本计算)          │
            │  反向DCF / 情景估值 / EPV / 杜邦 / ROIC      │
            │  F-Score / M-Score / Z-Score / 盈余质量      │
            │  时间序列趋势 / CAGR / 归一化盈利            │
            └──────────────────┬──────────────────────────┘
                               │  提供客观证据与边界
                               ▼
            ┌─────────────────────────────────────────────┐
            │  定性层(邱国鹭三好框架,人类判断)          │
            │  行业格局 / 护城河 / 定价权 / 管理层 / 逆向  │
            │  波特五力 / 生命周期 / 产业链 / 资本配置     │
            └─────────────────────────────────────────────┘
  • 量化层定边界:给出客观区间(如反向 DCF 隐含增速 = 12%),回答"市场已经定价了什么"。
  • 定性层定方向:判断量化结果是否合理(如"12% 增速在成熟期消费股上明显过度乐观")。
  • 两层冲突时:以更保守的一方为准,并在报告中显式说明分歧来源。

时间维度权重

维度 最重要的因素 说明
短期(<1年) 时机/情绪 靠运气,不可靠,本器不预测
中期(1-3年) 估值 买贵了,再好的公司也要还债
长期(3年+) 品质 只有好公司能穿越周期

→ 本分析器聚焦中期和长期维度。


🔴 前置环节:取数与校验(强制,不可跳过)

> 冗长的校验细则已下沉到参考手册,主文件只保留铁律与挂载点。每一条铁律违反即视为校验未通过,报告不得发布。

前置 1:API 优先取数(铁律 + 自动算模型)

铁律:能用 API 绝不用网页。yfinance + AkShare 双引擎是第一信源,网页抓取仅作兜底。

每份报告第一动作必须执行取数脚本:

# 港股 / A 股 / 美股 / 韩股(v2.2 新增 KR/JP/TW/UK/SG/IN/DE)
python .codebuddy/skills/stock-value-analyzer/scripts/fetch_stock_data.py --symbol 0700.HK --market HK
python .codebuddy/skills/stock-value-analyzer/scripts/fetch_stock_data.py --symbol 600519 --market A
python .codebuddy/skills/stock-value-analyzer/scripts/fetch_stock_data.py --symbol AAPL  --market US
python .codebuddy/skills/stock-value-analyzer/scripts/fetch_stock_data.py --symbol 005930 --market KR

# 金融股必传(禁用 M/Z-Score 防误杀);周期股基准 FCF 用归一化
--industry-type financial
--fcf-base normalized
# 折现率按个股资本结构调整(成熟蓝筹 0.08-0.10 / 高 beta 成长股 0.10-0.13)
--wacc 0.11 --terminal-growth 0.025
# 港股财报人民币、市值港币时必传汇率,否则反向DCF与 Z-Score 的 X4 失真
--fx-market-to-report 0.917
# 换假设复算无需重新联网(避免限流)
--offline ./.svadata/value_analysis_0700_HK.json --wacc 0.10
# v2.4:严格模式 —— 现价缺失或量纲体检未通过时以退出码 3 硬失败(防&quot;静默降级&quot;蒙混过关)
--strict

输出 JSON 字段组:

字段组 内容
price / valuation / profitability / financials / dividend / growth / shares / company / analyst 原九大字段组(契约不变)
time_series 5-10 年三大报表序列(index 0 = 最近期)+ fiscal_periods
models 脚本自动计算:杜邦、ROIC、F-Score、M-Score、Z-Score、盈余质量、反向 DCF(含敏感性矩阵)、CAGR 一致性、_veto_eligibility
valuation_history(v2.2 新增) PE-TTM / PB 历史序列的当前值、中位数、极值与分位数
meta.data_health(v2.4 新增) price_status / price_source / roe_usable / unit_check_ok / silent_empty_apis —— 一眼看清"哪些字段其实是空的、哪些数字不能引用"
_fetch_diagnostics(v2.4 新增) 每个接口的逐步取数结果(ok / empty / not_found / schema_drift / field_missing / error)
models.unit_consistency + models._unit_health(v2.4 新增) 量纲一致性体检结论、已应用的 10^k 修正、ROE/ROIC 是否可引用
  • 跨市场标的(AH/ADR)必须分别独立调用,禁止汇率换算。
  • 取数后必检查 meta.engines_used / errors;两引擎都失败时报告首页 ⚠️ 标注"数据降级"。
  • v2.4 铁律:必读 meta.data_health。 price_status=MISSING → 禁止继续估值分析,须人工换源取价
    (绝不允许用研报目标价 / 52 周区间 / 分析师预期顶替现价);price_source 含 hist/daily/sina/derived
    → 报告须标注"非实时收盘价 + 取数时点";silent_empty_apis 非空 → 在 K.4 说明哪些接口本次无数据。
  • 百分数与小数口径已在 v2.4 统一为小数(profitability.* / dividend.* 均带 _unit 标注)。
    引用任何比率前先看 _unit,禁止把 21.13 与 0.2113 混着写进同一张表。
  • 必读 models._data_source_level:report_detail = 明细级(模型可信);abstract_only = 摘要级(M/Z/反向 DCF 为 NA,须标"数据降级")。
  • 禁止用经营现金流冒充 FCF;_market_cap_used.source 若为 derived(...),报告须如实标注市值系派生并换源复核。

> 详见 → references/api-data-source-protocol.md(双引擎分工、字段映射、降级策略)

前置 2:多信源数据校验(铁律)

铁律:一切分析建立在可信数据之上。单一信源 = 错误风险。

三条不可逾越的红线(完整操作手册见参考文件):
1. 价格类数据 ≥ 3 个独立权威源交叉验证(1 个 API 源 + 1-2 个网页源即满足);每个价格必标 [数据类型 / 取数时间戳 / 币种]。
2. 数据类型混淆是头号红线:严禁把研报目标价 / 52 周区间 / 分析师一致预期 / DCF 估值当作"现价"。(血泪教训:海尔 06690 把研报目标价 HK$31.30 误当现价,实际仅 20.86,结论全反。)
3. 跨市场标的分别独立取数,AH 溢价方向必须从原始价格重算。

> 详见 → references/data-verification-protocol.md(9 类字段校验流程、口径对齐、冲突处理、Red Flags、校验记录表模板)

前置 3:信源等级强制标注(铁律)

铁律:"列出信源" ≠ "标注等级"。不分级的信源列表等于没有校验。

  • 每个定量数据必须在行内/相邻列标注信源等级,且至少 1 个 🟢🟢 二级权威以上。
  • "二级媒体互相抄录"视为单源,降级 🟡;报告末尾 K.4 必须列出所有 🟡/🔴 弱信源。
🟢🟢🟢🟢 Tier 0 🟢🟢🟢 Tier 1 🟢🟢 Tier 2 🟢 Tier 3 🟡 Tier 4 🔴 Tier 5
API 直取 一级官方 二级权威 三级参考 单源/弱源 传闻

前置 4:近 30 天重大事件扫描(铁律)

铁律:财报反映过去,新闻预示未来。只看历史数字做估值,等于开车只看后视镜。

必扫 5 类(含竞争对手动作):① 监管/政策 ② 管理层变动 ③ 重大战略 ④ 重大诉讼/安全 ⑤ 重大合作/并购/融资。🔴 级事件须在报告首页单列专栏并显式调分。

前置 5:强制提取时间序列(铁律)

铁律:禁止只用单年快照评估"好公司/好价格"。 取数脚本已自动提取 time_series,报告公司模块与估值模块必须引用至少 5 年序列趋势(ROE 一致性、毛利率走向、营收/FCF CAGR、股本变化)。

  • 引用 CAGR 时必须同时看 growth_consistency.*_cagr_detail 的 years_span / gaps;gaps &gt; 0 须在报告披露(缺失年会降低置信度)。

> 详见 → references/time-series-analysis.md

前置 6:模型可用性护栏(v2.2 新增铁律)

铁律:模型算得出 ≠ 模型能用。引用任何量化结论前,必须先读该模型的可用性字段。

检查项 字段 不通过时的处置
行业属性是否确认 models.industry_type_confidence 为 low → 禁止用 M/Z-Score 否决,须用 --industry-type 显式指定后重跑
造假/破产模型是否可用 models._veto_eligibility.{beneish_usable, altman_usable} 为 false → 报告写"该模型不适用,已转定性判断",不得机械否决
F-Score 数据是否够 models.piotroski_f.{data_coverage, applicable} applicable=false(覆盖 < 7/9)→ 禁止引用 f_score 总分与 rating,只能引 covered_flags=true 的分项
Z-Score 用的哪个版本 models.altman_z.{variant, thresholds} 报告必须写明 Z 或 Z&#x27;&#x27; 及对应阈值,不得跨版本套阈值
反向 DCF 是否稳健 models.reverse_dcf.sensitivity.high_sensitivity 为 true(spread > 4pct)→ 必须贴敏感性表并声明"估值对折现率高度敏感,不构成明确判断"
基准 FCF 口径 models.reverse_dcf.assumptions.base_fcf_resolution.mode_used 若为 latest/fallback_* → 须说明为何未用多年均值
历史分位是否有源 valuation_history.applicable 为 false → 该项按 0 分计并在总分中剔除权重,禁止凭印象填百分位
ROE 能不能引用(v2.4) models._unit_health.{roe_usable, roic_usable, roe_series_usable} 为 false → 杜邦 ROE / ROIC / ROE 时序一律写 NA(量纲待核),该三项按中性分计并在报告说明换源复核动作
量纲是否被修正过(v2.4) models._unit_health.corrections_applied 任一系数 ≠ 1 → 说明原始两表单位不一致,报告必须披露该修正(如"利润表数值已×1000 对齐资产负债表")
ROE 口径是否可比(v2.4) models.dupont.roe_vs_api / unit_consistency.caliber_warnings verdict 为"口径差异" → 报告须并列杜邦 ROE 与 API ROE 两个数,并说明采信理由(年报/TTM、归母/含少数股东、平均/期末)
取数是否静默失败(v2.4) meta.data_health.{price_status, silent_empty_apis} MISSING → 禁止继续估值;silent_empty_apis 非空 → K.4 列明哪些接口无数据

头号铁律:applicable=False 的模型一律标注 "NA(不适用/数据不足)",绝不允许"脚本说 NA 却仍下了量化结论"。

v2.4 补充铁律:一个"看起来很漂亮"的 ROE 比一个缺失的 ROE 危险得多。 量纲错乱不会抛异常,
只会把 18% 变成 1800% 或 0.18%,并顺带污染"财务质量 30 分"与"时序 15 分"。
引用 ROE / ROIC / 周转率之前,必须先读 _unit_health。

前置 7:跨市场税负差异校验(v2.3 新增铁律 · 仅多地上市标的适用)

铁律:同一标的多地上市时,禁止仅用名义价差(AH 溢价 / ADR 平价)下择市结论。名义价差是税前口径,投资者拿到手的是税后口径。

> 触发条件:标的同时在两个及以上市场上市(AH 两地、港股 + ADR、多重主要上市等)。单一市场标的跳过本前置,但仍须在结论中说明股息税对持有回报的影响。

7.1 四步强制流程

步骤 动作 不做的后果
① 声明税负假设 写明投资者身份 × 持有渠道 × 预计持有期三要素,再谈税率 税率无意义。同一只港股,港股通持有 20%、香港券商直持 H 股 10%、直持红筹股 0%
② 算税后股息率 两地各算税后股息率 = 税前股息率 × (1 − 税率),并折算统一币种的每股到手现金 高股息标的的择市结论会反向
③ 算税负临界溢价 prem* = (1−t_A)/(1−t_H) − 1;再算 税后实际溢价 = (1+prem)/(1+prem*) − 1 无法判断名义溢价是"真贵"还是"税负错觉"
④ 按投资目的分层给结论 纯红利 / 红利+估值修复 / 成长 / 短期交易四类,各自给推荐市场 单一答案必然对部分投资者是错的

7.2 税负临界溢价公式(核心工具)

             1 − t_A
prem*  =  ───────────− 1        (t_A、t_H 为两地股息税率)
             1 − t_H

该公式与股价、股息、汇率全部无关,只取决于两地税率差。

判据 纯红利投资者结论
名义溢价 &lt; prem* A 股(高价市场)税后股息率反而更高 → 选 A 股
名义溢价 ≈ prem*(±3pct) 税后等价 → 由汇率风险、交易成本、流动性决定
名义溢价 &gt; prem* H 股(低价市场)税后更优 → 选 H 股

常用临界值速查:

情形 t_A t_H prem*
内地个人·港股通 H 股 vs A 股长持 >1 年 0% 20% +25.0%
内地个人·港股通 H 股 vs A 股持 1 月–1 年 10% 20% +12.5%
内地个人·港股通 H 股 vs A 股持 <1 月 20% 20% 0%(税负对称)
内地个人·香港券商直持 H 股 vs A 股长持 0% 10% +11.1%

7.3 三条红线

  1. 禁止笼统说"税负":股息税打击红利型持有(每年复发生),资本利得税打击成长型持有(退出时一次性、可长持递延)。两者影响非对称,不得合并表述。
  2. 「暂免」类优惠必须核实当前有效期(如港股通资本利得暂免为定期延续性质),并标注政策文号;过期未续会实质改变结论。
  3. 必须计入隐性成本:ADR 托管费(约 0.01–0.05 美元/股/年,相当于隐性股息税)、港股通双向汇兑价差与汇率波动、港股印花税双边 0.1% vs A 股单边 0.05%。对高股息标的,隐性成本可与税率差同量级。

7.4 呈现铁律

-估值模块必须包含三张表:表 A 税负假设声明 / 表 B 税后股息率对比 / 表 C 临界溢价与择市矩阵。
- 若名义溢价与税后结论方向相反,必须在报告首页概要显式标注该反转(这正是最容易误导读者的情形)。
- 必须写出"若持有渠道改为 {其他},临界溢价变为 {X}%,结论 {是否反转}"。
- 投资结论的"如果买入"栏必须写明买哪个市场的哪个代码,并附税后依据。
- 须提示境外所得的申报义务,不得暗示可以不申报。

> 详见 → references/cross-market-tax-guide.md(各市场税率对照、隐性成本、必备产出表、资本增值目的的税负权衡、自检清单)


五大分析模块(双层评分 · 三维均为纯 100 分制)

> 三大维度(行业/公司/估值)各自满分 100 并按权重加权;模块四、五为加法调整分。
> "量化层"由脚本 models / time_series / valuation_history 提供证据;"定性层"沿用邱国鹭框架。

模块一:行业分析(权重 30%,满分 100)

定性四维,各 0-25:

维度 满分 关键问题
行业格局 25 几个寡头分天下,还是一堆人打成狗?
定价权 ⭐最关键 25 能不能涨价、涨了客户还买不买?
需求稳定性 25 这东西 10 年后还有人买吗?
进入壁垒 25 别人想进来抢饭碗,难不难?

结构化增强框架:用波特五力逐力点评并指出决定性力量;判定行业生命周期阶段(渗透率/增速/盈利三佐证);分析产业链议价地位("收税还是交税");估算 TAM/SAM/SOM 并用反向 DCF 隐含增速推算的隐含份额反向校验(成长股必做)。

评级 分数 含义
A/B/C/D 80-100 / 60-79 / 40-59 / 0-39 优质 / 不错 / 一般 / 慎入

> 详见 → references/industry-capital-framework.md、references/three-good-principles.md

模块二:公司分析(权重 35%)

v2.2:公司分为纯 100 分制四维,时序从"±10 校准"升级为正式维度,消除分母歧义。

公司分 = 护城河 35 + 财务质量量化 30 + 管理层/资本配置 20 + 时间序列趋势 15 = 100

2.1 护城河(0-35 分,定性层)

五种护城河可叠加(品牌≤9 / 成本≤7 / 转换成本≤7 / 网络效应≤7 / 牌照专利≤5),并评估护城河是在加深(+3)还是被侵蚀(-3~-12),合计上限 35。详见 references/moat-analysis-guide.md。

2.2 财务质量硬模型(0-30 分,量化层 · 脚本计算)

模型 字段(models.*) 含义 评分指引(分配)
杜邦分解 dupont ROE = 净利率 × 周转率 × 权益乘数 0-8:经营驱动加分;高杠杆堆出的 ROE 警惕。applicable=false(量纲失真/数据缺失)时本项按 4 分中性计并标 NA
ROIC vs WACC roic 是否真正创造价值 0-8:ROIC 长期 > WACC → 满分;< WACC 仍扩张 → 0
Piotroski F-Score piotroski_f 财务健康九项 0-7:≥7 优 / 4-6 中 / ≤3 差。applicable=false 时本项按 3.5 分中性计并标注
盈余质量 earnings_quality 净利现金含量 / 应计比 0-7:现金含量 ≥1 满分;<0.5 给 0-2
  • 杜邦/ROIC 主口径为平均余额(basis=average_balance);与 API 报告值差异 > 15% 时报告须列两者并说明采信理由
    (v2.4 起由 dupont.roe_vs_api 自动给出 diff_percentage_points 与 verdict,并已自动识别百分数/小数口径)。
  • v2.4:所有比率均为小数口径(0.18 = 18%),见 dupont.units / roic.units;报告中若写百分号须自行 ×100,禁止混用。

2.3 管理层质量 + 资本配置(0-20 分,定性层)

诚信(0-5)/ 能力(0-5)/ 股东回报(0-5)/ 战略聚焦与资本配置(0-5)。资本配置含:再投资回报(ROIC vs WACC)、并购理性、分红回购理性、留存收益转化(5 年市值增量 vs 累计留存)、股权激励稀释检查(time_series.shares 趋势)。详见 references/industry-capital-framework.md 第二部分。

2.4 时间序列趋势(0-15 分,v2.2 正式维度)

评分 判据
12-15 ROE 长期 >15% 且波动小、毛利率平稳/上行、净利 CAGR ≥ 营收 CAGR、FCF 持续为正
8-11 趋势平稳,个别指标走弱
4-7 多项趋势走弱(毛利率下行 / 增收不增利 / FCF 波动)
0-3 趋势明显恶化(即使单年数据靓丽也按此档)

引用 time_series 与 models.growth_consistency;序列 < 3 年时本项按 7.5 分中性计并标注"序列过短,趋势判断降级"。

公司评级 A/B/C/D:80-100 / 60-79 / 40-59 / 0-39

> 量化模型口径详见 → references/financial-quality-models.md

模块三:价格/估值分析(权重 25%)

v2.2 关键修正:量化硬模型从"不占分"升级为估值分 60 分主体。 便宜是硬道理,但便宜必须用模型证明——这是 v2.0 的信条,v2.2 才真正兑现到分数上。

估值分 = 反向 DCF 隐含增速合理性 30 + 内在价值安全边际 30
       + PE 成因与陷阱 25 + 历史估值分位 15 = 100

3.1 反向 DCF 隐含增速合理性(0-30 分,量化层)

读 models.reverse_dcf,与历史 CAGR / 分析师预期 / 行业天花板三方对比:

判据 分数
隐含增速 显著低于历史可持续增速(市场过度悲观) 25-30
隐含增速 ≈ 历史增速(定价合理) 15-24
隐含增速 高于历史增速但有明确新驱动 8-14
隐含增速 显著高于历史增速且无新驱动(透支未来) 0-7

三条硬规则:
1. 必须写出三组对比数:隐含增速 / 近 5 年营收(或净利) CAGR / 分析师未来 3 年预期。
2. sensitivity.high_sensitivity=true 时必须贴出 8%/9%/10%/11% 四档隐含增速表;若不同档位导致贵/便宜结论反转,本项分数取该区间对应分数的下限并声明不确定性。
3. applicable=false(亏损/负 FCF)→ 本项按 EPV 或 PS/PB 路由替代评分,并标注"反向 DCF NA"。

3.2 内在价值与安全边际(0-30 分,量化层)

安全边际 = (内在价值估计 − 现价) / 内在价值估计
内在价值 = 情景概率加权 E[V] / EPV / SOTP 多模型交叉后取审慎值
安全边际 分数
> 40% 25-30
20-40% 18-24
0-20% 8-17
< 0%(高估) 0-7

铁律(v2.2 新增):估值模块至少跑通 2 个独立模型(反向 DCF + 情景/EPV/SOTP 任一)。仅 1 个可用时估值分封顶 70,并在报告标注"估值证据不足"。同时须列出熊市价 V_bear 作为下行参照。

3.3 PE 成因与估值陷阱(0-25 分,定性层)

先问"为啥这个公司 PE 低/高?"——PE<10 基本面好可能错杀,基本面差则是估值陷阱。估值陷阱清单(任一命中即扣分并触发 M-Score 复核):营收连续下滑 / 毛利率持续走低 / 行业被颠覆 / 靠非经常损益撑利润 / 应收账款暴增。详见 references/valuation-traps.md。

3.4 历史估值分位(0-15 分)

读 valuation_history.pe_ttm.percentile / pb.percentile(5-10 年):

分位 分数
≤ 20%(历史低位) 12-15
20-50% 8-11
50-80% 4-7
> 80%(历史高位) 0-3
  • valuation_history.applicable=false 时:本项计 0 分,且估值分按 85 分制归一(估值分 = 实得分 / 85 × 100),并标注"历史分位无数据源,已按降级口径归一"。禁止凭印象填百分位。
  • 周期股:表观分位无意义,必须改用归一化盈利重算 PE 分位(见 references/time-series-analysis.md 第三节)。

3.5 分行业估值路由(选错模型 = 误判)

行业类型 首选模型
金融(银行/保险/券商) PB-ROE / DDM(❌ 标准 DCF、❌ M/Z-Score)
周期(资源/化工/航运/地产) 归一化盈利 PE(❌ 景气顶点 PE),取数用 --fcf-base normalized
成长(科技/医药/平台) 反向 DCF / PEG / Rule of 40
稳定消费/公用事业 DCF / DDM / FCF 收益率
重资产制造 EV/EBITDA / EPV / PB
亏损但有收入 PS / 单位经济模型(❌ PE)
多元化集团/控股/投资型 SOTP 分部加总(各分部各用各的尺子,减净负债、少数股东权益、控股折价)

> 模型口径与 SOTP 明细表模板详见 → references/valuation-models.md

3.6 跨市场税后择市(v2.3 新增 · 仅多地上市标的)

不占估值分,但为独立的强制产出——它不改变"这家公司值多少钱",只回答"该在哪个市场买"。

必产出 内容
表 A 税负假设声明(投资者身份 × 持有渠道 × 持有期 → t_A / t_H / 资本利得税,附政策文号与信源等级)
表 B 两地税后股息率对比 + 统一币种每股到手现金 + 隐性成本调整后口径
表 C 名义溢价 / 税负临界溢价 prem* / 税后实际溢价 / 按四类投资目的分层的择市矩阵

与估值分的联动:
- 若持有目的为纯红利,3.2 安全边际须补充「税后股息率 vs 无风险利率」对照,而非只用税前股息率。
- 若名义溢价 &lt; prem*(高价市场税后反而更优),则不得再以"名义溢价过高"为由给高价市场扣估值分——该扣分逻辑在税后口径下不成立。
- 资本增值目的的税负权衡:估值修复空间 = (高PE市场PE / 低PE市场PE) − 1 与 年化股息税损 ≈ 税前股息率 × 税率差 比较;修复空间 > 税损 × 持有年数时,选低估值市场。但须同时声明「修复是不确定事件,税损是确定发生」,并与 3.3 PE 成因分析联动——若折价源于真实且可持续的基本面缺陷,修复不会发生,税损即净损失。

> 详见 → references/cross-market-tax-guide.md

模块四:逆向投资检查(调整分 −5 ~ +5)

市场情绪极度恐慌且三好 OK → 逆向加分;极度狂热即使三好不错也远离。逆向三重验证(行业还好吗/公司还好吗/价格够便宜吗):

验证结果 调整分
✅✅✅ 三个都通过 + 情绪极度悲观 +5
✅✅✅ 三个通过,情绪中性 +2
✅✅❌ 两个通过 0
✅❌❌ 一个通过 −3
❌❌❌ 全不通过 / 情绪极度狂热 −5

详见 references/contrarian-checklist.md。

模块五:定价权专项(调整分 −5 ~ +5)

核心问题:能不能每年默默提价、客户还没脾气?

定价权 调整分
强(可年年提价,毛利率反升) +5
中等(可跟随成本/通胀提价) +2
弱(提价空间小,受竞争制约) 0
无(价格完全由市场决定) −5

来源:品牌忠诚 / 产品差异化 / 转换成本 / 供给受限 / 刚需。与波特五力的供应商/买方议价联动分析。


综合评分体系(v2.2 数学自洽版)

加权总分

v2.2 关键修正:三大维度加权得 90 分池,逆向 + 定价权为 10 分调整池,合计恰好 100。所有调整均为「加法绝对分」,不再使用 ±% 表述。

基础分 = 行业分×30% + 公司分×35% + 估值分×25%      → 0-90 分
调整分 = 逆向调整(−5~+5) + 定价权调整(−5~+5)        → −10~+10 分
综合得分 = 基础分 + 调整分                          → 钳制在 0-100
  • 三个维度分数均为纯 100 分制(行业四维各 25;公司 35+30+20+15;估值 30+30+25+15)。
  • 报告必须列出完整算式(如 65×0.30 + 64×0.35 + 73×0.25 = 19.50 + 22.40 + 18.25 = 60.15),且经交卷前自检的算术回验。
  • ⛔ 禁止再出现"总分 ±10%"这类乘法表述——历史上这正是"分项加权 60.15 却写成 63"的偏差来源。

投资结论矩阵

综合得分 结论 建议
80-100 ⭐强烈推荐 三好齐备,可重仓
70-79 🟢推荐 标准仓位买入
60-69 🟡可关注 小仓位或等更好价格
50-59 🟠观望 短板明显,跟踪暂不建仓
40-49 🔴不推荐 问题较多
<40 ❌远离 不符合任何价值投资条件

一票否决(v2.2 分两档 + 与总分联动)

> 前提铁律:量化否决必须先通过前置 6 的可用性检查——models._veto_eligibility.{beneish_usable, altman_usable} 为 true 方可作为否决依据。金融股、行业属性未确认(confidence=low)、缺明细数据的标的一律改用定性判断,不得机械否决。

A 档 · 出局(结论直接 ❌远离,不论总分)

触发条件 说明
🚫 已证实的财务造假 / 重大违规历史;管理层诚信评分 = 0 造假是最高级别出局项
🚫 Beneish M-Score > −1.78 且 applicable=true 且 defaults_used 为空/极少 且 beneish_usable=true 盈余操纵高风险;须人工追溯财报原文,未排除即出局

B 档 · 封顶(结论封顶为 🔴不推荐)

触发条件 说明
🚫 行业评分 < 30 夕阳行业
🚫 护城河评分 < 10(满分 35) 毫无竞争优势
🚫 连续 3 年经营现金流为负 现金流枯竭
🚫 有息负债率 > 80% 且无合理解释 杠杆失控
🚫 Altman Z 落入困境区 且 altman_usable=true 必须按 variant 用对阈值:Z < 1.81 或 Z'' < 1.10。连续 2 年落入 → 升为 A 档

否决的呈现铁律:触发后不得篡改各分项得分,而须在结论栏显式写:

原始综合得分 78 分 → 触发 A 档一票否决(M-Score 报警)→ 最终结论:❌远离

避免出现"综合 78 分 / 结论不推荐"这类观感矛盾却无解释的报告。


🔴 交卷前自检(强制后置,不可跳过)

铁律:报告写完 ≠ 可以交卷。一切结论必须在"打印出来"之后再被自己质疑一次。

第 0 关 · 机器门禁(v2.2 新增,必须先过)

python .codebuddy/skills/stock-value-analyzer/scripts/self_check.py \
  --report reports/xxx_价值分析_YYYY-MM-DD.md \
  --data ./.svadata/value_analysis_xxx.json

脚本自动检查:① 报告引用的 models.* 数值与 JSON 是否一致 ② 是否越界引用了 applicable=false 的模型 ③ 评分表格算术(A+B=C)是否成立 ④ 加权总分是否等于分项加权和 ⑤ 定量数字是否带信源等级 ⑥ K.4 章节是否存在 ⑦ 高敏感性反向 DCF 是否附敏感性表 ⑧ 跨市场税负三表是否齐备 ⑨ (v2.4 C10)ROE/ROIC 不可用时是否越界引用、量纲修正与口径差异是否披露 ⑩ (v2.4 C11)现价缺失 / 兜底价来源 / 静默返回空的接口 / 量纲体检失败是否已披露。

FAIL → 禁止交付,必须修正后重跑。

第 1-3 关 · 人工复核

  1. 关键数据复验:对所有进入评分的关键数字(现价/市值/PE/净利/股息率/AH 溢价/建仓区间/一票否决原始数据)换源重取一次,信源不得与前置阶段完全重叠。
  2. 核心结论反验证(反向 7 问):① 结论是否依赖单一数据(错 10% 会反转吗)② 评分与文字是否一致 ③ 一票否决项逐条真未触发 ④ 近 30 天事件真已纳入 ⑤ 跨市场逻辑自洽 ⑥ 算术回验(所有 A+B=C / 加权和逐条二次独立计算)⑦ 信源等级回验(弱信源未进评分)。
  3. 量化层一致性复核:报告引用的反向 DCF 隐含增速、F/M/Z-Score、杜邦分解是否与脚本 models 输出一致?Z-Score 是否用对了 variant 对应的阈值?是否存在"脚本说 not applicable 却仍下了量化结论"的越界?敏感性高时是否已声明不确定性?
  4. 报告末尾显式写:"本报告已通过交卷前自检(机器门禁 + 数据复验 + 反向 7 问 + 量化层一致性),可以交付。"

> 未通过 → 报告首行标红"⚠️ 草稿未通过自检,不得作为决策依据"。详见 → references/data-verification-protocol.md


工作流

用户输入(股票名称/代码)
    │
    ├── 前置 1:API 优先取数(fetch_stock_data.py,自动算 models/time_series/valuation_history)🔴
    │            金融股加 --industry-type financial;周期股加 --fcf-base normalized
    ├── 前置 2:多信源数据校验(价格 3 源 / 防类型混淆 / 跨市场独立)🔴
    ├── 前置 3:信源等级强制标注(六级,弱信源 K.4 披露)🔴
    ├── 前置 4:近 30 天重大事件扫描(5 类 + 竞品)🔴
    ├── 前置 5:强制提取时间序列(5-10 年趋势,查 gaps)🔴
    ├── 前置 6:模型可用性护栏(读 applicable / confidence / coverage / high_sensitivity)🔴
    ├── 前置 7:跨市场税负差异校验(多地上市标的必做:税后股息率 + 临界溢价 prem* + 分层择市)🔴
    │
    ├── 模块一 行业分析(100):四维定性 + 波特五力/生命周期/产业链/TAM
    ├── 模块二 公司分析(100):护城河35 + 财务质量30 + 管理层/资本配置20 + 时序15
    ├── 模块三 估值分析(100):反向DCF合理性30 + 安全边际30 + PE陷阱25 + 历史分位15
    │            └─ 3.6 跨市场税后择市(不占分,多地上市标的强制产出表A/B/C)
    ├── 模块四逆向投资:调整分 −5~+5
    ├── 模块五 定价权:调整分 −5~+5
    │
    ├── 综合评分:基础分(0-90) + 调整分(−10~+10) → 一票否决 A/B 档裁决
    ├── 报告初稿(标记&quot;初稿&quot;)
    │
    └── 交卷前自检:self_check.py 机器门禁 → 数据复验 + 反向 7 问 + 量化一致性 🔴

报告输出格式

完整报告结构与模板见 templates/analysis-report.md,核心章节:

  • 一、分析概要(标的/日期/现价含信源等级/综合评分算式/投资结论/各项自检状态/模型可用性一览)
  • 一·补 近 30 天重大事件(仅 🔴 级)
  • 二、行业分析(四维 + 五力/生命周期/产业链/TAM)
  • 三、公司分析(护城河35 + F/M/Z 评分卡30 + 杜邦表 + 管理层20 + 时序15)
  • 四、估值分析(反向 DCF 隐含增速 + WACC 敏感性表 + 情景概率加权 + EPV + SOTP(适用时) + PE 陷阱 + 历史分位)
  • 四·补 跨市场税后择市(v2.3 · 多地上市标的强制:税负假设声明 + 税后股息率对比 + 临界溢价与分层择市矩阵)
  • 五、逆向投资 & 定价权(调整分 −5~+5 各一项)
  • 六、投资结论(评分汇总算式 + 一票否决 A/B 档检查 + 买/不买条件、最大风险;跨市场标的须写明买哪个市场的代码)
  • 七、风险提示
  • 八、交卷前自检摘要(含 self_check.py 门禁结果)
  • K、完整信源索引(K.1 一级 / K.2-3 二三级 / K.4 弱信源清单)
  • 附录:models / time_series / valuation_history 原始输出快照

资源目录

scripts/

  • fetch_stock_data.py — 一键取数(yfinance + AkShare 双引擎),输出标准 JSON(含 time_series / models / valuation_history / meta.data_health / _fetch_diagnostics);支持 --strict
  • value_models.py — 量化模型库:量纲一致性体检/杜邦/ROIC/F-Score/M-Score/Z-Z''-Score/盈余质量/反向 DCF(含敏感性)/CAGR 一致性
  • self_check.py — 交卷前自检机器门禁 C1-C11(量化一致性、算术回验、越界引用、量纲与 ROE 可用性、取数健康度披露)
  • 依赖:pip install -r requirements.txt

references/

  • api-data-source-protocol.md — API 优先取数协议(双引擎分工 + 字段契约 + 降级策略)
  • data-verification-protocol.md — 多信源数据校验完整手册(红线细则、Red Flags、校验表模板)
  • three-good-principles.md — 三好原则评估标准与案例(含量化层配合说明)
  • moat-analysis-guide.md — 护城河五种类型深度分析指南
  • valuation-traps.md — 估值陷阱识别手册(打通 M-Score)
  • contrarian-checklist.md — 逆向投资检查清单
  • valuation-models.md — 反向 DCF / 情景估值 / EPV / SOTP 分部加总 / 分行业估值路由
  • financial-quality-models.md — 杜邦 / ROIC / F-Score / M-Score / Z-Z'' / 盈余质量
  • time-series-analysis.md — 时间序列趋势、ROE 一致性、周期股归一化
  • industry-capital-framework.md —波特五力 / 生命周期 / 产业链 / TAM + 资本配置能力
  • cross-market-tax-guide.md — v2.3 新增:跨市场税负与择市(临界溢价公式 / 各市场股息与资本利得税对照 / 隐性成本 / 三张必备产出表 / 自检清单)

templates/

  • analysis-report.md — 分析报告模板(v2.2 评分结构)

核心原则提醒

  1. 三好缺一不可 — 好行业、好公司、好价格
  2. 定性看方向,定量定边界 — 两层都过才算数
  3. 便宜是硬道理,但便宜要用模型证明 — 反向 DCF / 情景 / EPV / SOTP,且占实分
  4. 模型算得出 ≠ 模型能用 — 先看 applicable / confidence / coverage,不可用就诚实写 NA
  5. 一个数字不要看,要看它对假设有多敏感 — 反向 DCF 必附 WACC 敏感性表
  6. PE 是结果不是原因 — 先看基本面,再看 PE,配合 F/M/Z-Score
  7. ROE 要看是经营赚来的还是杠杆堆的 — 杜邦分解(平均余额口径)
  8. 定价权是最关键指标 — 能不能默默提价
  9. 看 5 年趋势,不看 1 年快照 — 时间序列一致性,基准 FCF 用多年均值
  10. 会赚钱更要会花钱 — 资本配置能力决定长期复利
  11. 多地上市先看税后到手 — 名义价差是税前的,你拿到手的是税后的;临界溢价 prem* = (1−t_A)/(1−t_H) − 1
  12. 认清能力圈,看不懂就别碰
  13. 知易行难 — 框架给你了,执行靠自己

版本记录

  • v2.4(2026-09-29) — 🔴 取数脚本两类「静默故障」修复:脚本返回成功,但结论全错
  • ① AkShare 行情静默返回空:全市场快照返回空表(限流/风控)、代码列名漂移(代码→symbol)、
    代码格式不匹配(00700 vs 0700)、字段值为 0 —— 四种情况均不抛异常,spot 静静变成 {},
    errors[] 仍为空。报告只是"没有现价",极易被顺手用研报目标价顶替(v1.3 血泪教训重演)
    • 新增 _fetch_diagnostics:逐接口逐步记账(ok / empty / not_found / schema_drift / field_missing / error)
    • 代码匹配改为归一化比对(容忍前导零与 hk/sh/sz 前缀);代码列名多候选自动识别
    • 港股新增两级价格兜底(东财日线 → 新浪快照)、A 股新增跨域兜底(新浪日线,摆脱东财单点依赖)
    • 新增 meta.data_health 与 --strict(现价缺失/量纲不过 → 退出码 3 硬失败)
    • 附带修复:yfinance 限流时产出"字段齐全但值全 null 的空壳 models",旧判据据此认为 models_ok=True
      而整段跳过 AkShare 明细兜底;现要求 time_series.fiscal_periods 非空
    • 附带修复(非日历财年被滤空 / 52 周财年历错配):旧版硬编码 -12-31 筛年报,
      苹果(9月)/微软(6月)/英伟达(1月)/大量港股(3月) 被筛成 0 行 → models 全 null 且不报错;
      而按"MM-DD 众数"筛则会让 52/53 周财年历公司得到跨 20 年的稀疏序列。
      现改为 value_models.pick_annual_dates()(财年结束月 + 跨月漂移窗口 + 每财年只取最晚一期),
      并在 time_series._fiscal_year_meta 披露财年口径与缺失年告警。
      实测 AAPL:修复前营收 CAGR 21.1%、ROE 120.9%(均错)→ 修复后 7.58%、171.42%(与 API ROE 零误差)
    • 美股日线兜底不再硬编码 105. 前缀(纳斯达克),改为 105/106/107 依次尝试 —— 前缀错了接口只返回空表
    • 实测(2026-09-29,腾讯 0700.HK):yfinance TLS 失败 + 东财港股快照与日线双双 RemoteDisconnected,
      新浪快照兜底取到 432.0 HKD,并成功用东财明细跑通全部模型(旧版此处现价为空且 errors 为空数组)
  • ② 杜邦分解单位错乱导致 ROE 失真:ROE = 净利率 × 周转率 × 权益乘数,分子来自利润表、
    分母来自资产负债表,属跨表比率;两表量纲差 10^k 或把 API 的百分数 ROE 当小数用,ROE 即整体失真
    • 实测:东财港股 ROE_AVG=21.13(百分数)被直接透传,与杜邦 ROE 0.2113 相差 100 倍,
      前置 6 的"差异 >15% 须并列两者"形同虚设
    • 新增 value_models.check_unit_consistency():硬锚 1 资产负债表恒等式 (总资产−总负债)/股东权益≈1
    • 硬锚 2 API 报告 ROE + 软锚 3 四类比率合理区间
    • 只认 10 的整数次幂:单位错乱必为 10^k;1.3/3 倍偏离属口径差异(年报/TTM、归母/含少数股东、
      平均/期末),归入 caliber_warnings 只告警不修正,避免把口径差异洗掉
    • 不可定量 → 不硬凑:dupont / roic / growth_consistency.roe_* 置 applicable=False,报告必须标 NA;
      ROE 时序自动剔除 |ROE|&gt;500% 的失真年度
    • 全引擎百分数字段统一 ÷100 并标注 _unit;新增 models._unit_health 一眼可读"ROE 能不能引用"
    • 新增 dupont.roe(净利÷平均权益 权威口径)与 dupont.roe_vs_api 交叉校验
  • 自检门禁扩展至 C1-C11:新增 C10(ROE/ROIC 越界引用、量纲修正未披露、口径差异未并列)
    与 C11(现价缺失、兜底价来源、静默空接口、量纲体检失败未披露)
  • 兜底引擎补空字段时改写 source 为混合来源并记录 _filled_by_fallback,杜绝"值来自 AkShare、
    信源却标 yfinance"的错标
  • v2.3(2026-08-09) — 🔴 跨市场税负差异强制纳入择市决策(修复会导致择市结论反向的硬伤)
  • 新增前置 7「跨市场税负差异校验」铁律:多地上市标的(AH / 港股+ADR / 多重上市)禁止仅用名义价差下择市结论
  • 新增税负临界溢价公式 prem* = (1−t_A)/(1−t_H) − 1:与股价、股息、汇率无关,只取决于两地税率差;港股通 H 股 vs A 股长持>1 年的临界溢价恰为 +25%,并给出 税后实际溢价 = (1+prem)/(1+prem*) − 1
  • 实测教训:中国移动名义 AH 溢价 27.5% → 原判「A 股溢价 >20% 均不构成价值投资标的」;计入 H 股 20% 股息税后税后实际溢价仅约 1.9%,纯红利投资者选A 股税后到手多 25%,结论反转
  • 明确税率取决于「投资者身份 × 持有渠道 × 标的注册地」,不是「标的在哪上市」:同一港股,港股通 20% / 香港券商直持 H 股 10% / 直持红筹股 0%
  • 择市结论强制按投资目的分层(纯红利 / 红利+估值修复 / 成长 / 短期交易),废止单一的「买 A 还是买 H」
  • 区分股息税与资本利得税的非对称影响:前者打击红利型持有(每年复发生),后者打击成长型持有(可长持递延);禁止笼统合并为「税负」
  • 强制计入隐性成本:ADR 托管费、港股通双向汇兑价差与汇率波动、港股双边印花税 0.1% vs A 股单边 0.05%
  • 新增资本增值目的的税负权衡判据:估值修复空间 vs 年化股息税损 × 持有年数,且须与 PE 成因分析联动(折价若源于真实缺陷,修复不发生则税损为净损失)
  • 「暂免」类税收优惠须核实当前有效期并附政策文号;须提示境外所得申报义务
  • 新增 references/cross-market-tax-guide.md;模块三新增 3.6节;报告模板新增「四·补 跨市场税后择市」章节(表 A/B/C)
  • v2.2(2026-07-30) — 🔴 评分体系数学自洽化 + 量化模型口径修正(修复会导致结论反向的硬伤)
  • 评分归一为纯 100 分制:公司分 = 护城河35 + 财务质量30 + 管理层20 + 时序15(原 ±10 校准升为正式维度);消除 90/100 分制混用
  • 逆向/定价权改为加法绝对分(−5~+5)并纳入分母:基础分(0-90) + 调整分(−10~+10) = 综合分,废止"总分 ±10%"乘法表述(历史偏差来源)
  • 估值硬模型占实分:反向 DCF 合理性30 + 安全边际30 + PE陷阱25 + 历史分位15;新增"至少跑通 2 个独立估值模型,否则估值分封顶 70"铁律
  • 一票否决分 A/B 两档:造假类 → ❌出局;破产/结构类 → 🔴封顶;要求显式写"原始分 → 否决结果",不得篡改分项
  • Altman Z 双版本路由:按资产结构/行业自动选 原始 Z 或 Z''(非制造业,剔除 X5,阈值 2.60/1.10),修复轻资产股被系统性低估误杀(实测差 3.67)
  • 反向 DCF 重写:基准 FCF 默认近 3 年均值(--fcf-base latest/avg3/avg5/normalized);--wacc/--terminal-growth/--dcf-years 可传参;输出 WACC 敏感性矩阵 + high_sensitivity 预警(实测单年 FCF 口径虚高隐含增速 11pct)
  • CAGR 按 fiscal_periods 实际年跨度计算并暴露 gaps(实测修正高估 6.75pct)
  • Piotroski 新增 data_coverage/applicable/missing_items:覆盖 < 7/9 禁止引用总分(消除 A 股"2/9 弱"误导)
  • 行业判别新增 confidence + 公司名兜底:修复港股分支把公司名当行业传入、致汇丰/平安/港交所等金融股被跑 M/Z-Score 的误杀风险;新增 --industry-type 显式指定
  • 杜邦/ROIC/ROE 改用平均余额主口径并输出期末口径对照
  • A 股升级三大报表明细(*_by_report_em):M-Score/Z-Score/反向 DCF 从全 NA 变为可用,能力对齐港股
  • 新增 valuation_history 字段组:PE/PB 真实历史序列与分位,补齐"历史估值分位"取数缺口;无源时按 85 分制归一,禁止凭印象填
  • 港股兜底补全 PE/PB/EPS/ROE/毛利率映射(此前限流时仅有市值,报告只能用网页"区间数字")
  • 市场覆盖扩至 KR/JP/TW/UK/SG/IN/DE;新增 --offline 离线重算、指数退避重试
  • 新增 scripts/self_check.py:交卷前自检从"靠自律"变为机器门禁
  • 新增前置 6「模型可用性护栏」;输出路径去 ./account/ 硬编码,改 ./.svadata/
  • v2.1(2026-06-28) — 新增 SOTP 分部加总估值(多元化集团/控股/投资型公司专用),含防重复计算铁律、控股折价、分部明细表模板
  • v2.0(2026-06-22) — 双层判断架构:量化硬模型 + 定性框架
  • 新增量化层:反向 DCF、情景概率加权估值、EPV、分行业估值路由、杜邦分解、ROIC vs WACC、Piotroski F-Score、Beneish M-Score、Altman Z-Score、盈余质量、时间序列趋势
  • 新增 scripts/value_models.py;fetch_stock_data.py 输出新增 time_series / models 字段组
  • 新增 4 份参考手册;五大模块升级为双层评分;一票否决新增 M/Z-Score(须 applicable=True)
  • 校验细则下沉到 references,主文件回归方法论主体;移除个人持仓联动,成为通用可公开发布框架
  • v1.6(2026-05-05) — API 优先取数双引擎(yfinance + AkShare);新增 Tier 0 信源;一键取数脚本
  • v1.5(2026-05-05) — 信源等级强制标注体系(六级)+ 算术强制回验;K 章节完整信源索引;反向 7 问
  • v1.4(2026-04-28) — 交卷前自检(数据复验 + 结论反验证 + 反事实压力测试)
  • v1.3(2026-04-28) — 价格类数据 3 源硬线 + 数据类型混淆防护 + 跨市场分别取数
  • v1.2(2026-04-27) — 近 30 天重大事件扫描强制前置
  • v1.1(2026-04-26) — 多信源数据校验强制前置
  • v1.0 — 初始版本,建立三好原则评估框架

常见问题

5 问
答案由本站依据条目字段整理
价值投资法分析股票是否值得投资怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_a8456463/stock-value-analyzer。安装方式为未标注。装完刷新技能列表或重开客户端。

价值投资法分析股票是否值得投资支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

价值投资法分析股票是否值得投资权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

价值投资法分析股票是否值得投资收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

价值投资法分析股票是否值得投资用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。