股票价值投资分析(A股/港股)

👤 苏然 📦 v1.0.3 ⭐ 4.6 ⬇️ 195 下载
💼 行业专业 免费

📖 技能介绍


name: stock-value-investing description: > 股票价值投资分析(A股/港股)。仅当用户意图属于以下范围时启用: (1) 给出股票代码要求分析其投资价值;(2) 评估护城河/竞争优势; (3) 检查财务健康与盈利质量;(4) 用 DCF 或相对估值估算内在价值; (5) 评估管理层质量;(6) 做行业结构分析并给出综合投资决策。 数据全部通过 akshare(国内可直连的公开源)获取,零额外商业数据源依赖。 本 skill 仅做研究分析,不预测股价、不荐股、不执行任何交易。 不适用于:期货/期权/加密货币等衍生品、量化高频交易、非上市公司尽调、 以及任何需要实时下单或资金操作的场景。


股票价值投资分析 Skill

质量合规遵循 TRACE 五维体系(T 可信任 / R 可靠 / A 适用 / C 规范 / E 有效), 各项要求已落实到下文各节的接口、脚本与文档设计中。

一、适用范围与能力边界(Adaptability)

适合触发(该调用时才调用) - 用户提供 A股 6 位代码(可带 sh/sz 前缀)或港股 5 位代码,并明确要求"分析/估值/护城河"等。 - 用户提及关键词:护城河、财务健康、内在价值、DCF、估值、管理层、行业分析、价值投资。 - 用户希望对比多只股票、构建/再平衡价值投资组合。

常见触发表达(可直接对用户复用的说法) - "帮我分析一下 600519 的估值" - "五粮液(000858)值得长期持有吗?出一份价值投资报告" - "分析 000858,增长率假设 10%、折现率 8%" - "港股 00700 现在价格贵不贵?"(仅行情,无基本面)

不适合触发(避免误触发) - 期货、期权、可转债、加密货币、外汇等衍生品行情或交易。 - 量化/高频/择时交易、短线打板、情绪博弈类需求。 - 非上市公司尽职调查、一级市场股权投资。 - 任何需要下单、资金划转、账户操作的请求(本 skill 无此能力且不提供)。 - 仅查询"今天涨跌幅/新闻"等纯资讯、无需分析框架的场景。

能力边界(可预期承诺) - 输出为"研究分析报告",非买卖建议;涉及预测的增速/折现率均显式标注为假设。 - 数据存在延迟与缺失风险,关键结论须交叉核对交易所公告。 - 港股:仅支持行情数据(价格/历史),无法获取财务三表,因此 ROIC / FCF / DCF / 盈利质量 / PE·PB 等基本面指标均无法计算。港股分析仅限行情层面的有限描述(价格分位、相对大盘强弱),不建议用于完整价值投资分析

二、分析框架(六大模块)

按"行业 → 护城河 → 财务健康 → 估值 → 管理层 → 综合决策"顺序执行。 前两步决定"值不值得看",后三步决定"多少钱买"。

模块 1:行业结构分析(是否值得进入)

  • 行业生命周期:导入期 / 成长期 / 成熟期 / 衰退期。
  • 竞争格局:集中度(CR5)、是否有价格战、进入壁垒高低。
  • 产业链位置:上下游议价能力(用"应付账款/应收账款周转"间接验证)。
  • 政策与周期属性:强周期 / 弱周期 / 防御。周期属性由脚本按关键词映射自动识别(仅分类标签,非统计检验);对强周期股,DCF 自动采用 FCF 中位数(保留负值,避免景气高点外推)、下调增速上限(6%)、缩短预测期(5 年)。

诚实边界(重要):行业 CR5/集中度、政策与替代品风险等定性内容不由脚本计算,必须由 agent 检索公开资料后填写,且必须标注信息来源;无可靠来源时不得断言,统一标记 [待核实]。脚本仅负责定量部分(ROIC/FCF/盈利质量/分位/DCF)。

模块 2:经济护城河分析(核心)

四类护城河,需在数据上找到证据: | 护城河类型 | 数据证据 | |---|---| | 无形资产(品牌/专利/牌照) | 高且稳定的毛利率、净利率;研发投入占比 | | 转换成本 | 高客户留存、收入复购;行业切换成本高 | | 网络效应 | 用户/交易量随规模指数增长;市占率领先 | | 成本优势 | 单位成本低于同行;规模效应(营收/固定资产) |

辅助验证指标: - ROIC(投入资本回报率):> 8% 且连续多年稳定,是护城河的最强证据。 ROIC ≈ 息税前利润×(1-税率) / (股东权益+有息负债) - 自由现金流持续为正、资本支出占比低。

模块 3:财务健康与盈利质量

  • 偿债能力:资产负债率、流动比率、有息负债率、利息保障倍数。
  • 盈利质量:经营性现金流 / 净利润 应长期 > 1(利润含金量)。
  • 成长性:营收/净利润 3-5 年复合增速,是否依赖并购或杠杆。
  • 分红与回购:股息率、分红率、回购是否持续。
  • 红旗预警:应收账款增速 > 营收增速、商誉占比过高、频繁变更会计政策。

模块 4:估值(内在价值)

两种互补方法,必须同时给出: 1. DCF 自由现金流折现(见 scripts/dcf.py): - 输入:基期 FCF、预测期(通常 5-10 年)、增速、永续增长率、WACC。 - 输出:每股内在价值,与现价比较得出安全边际。 2. 相对估值(PE/PB 历史分位):由 metrics.pe_pb_percentile 按历史收盘价 + 最新股本/净利润/净资产反推 PE/PB,给出当前值与历史中位、分位(越低越便宜),并经 dcf.relative_valuation 给出"低估/偏高"判定。 - 注意:PS、EV-EBITDA 当前版本未实现(已在能力边界如实标注),纳入后续路线图。 - 个股相对所属行业指数与沪深300的累计收益、超额收益:由 fetch_data.py 拉取行业指数与沪深300历史计算(最佳努力,缺失则标记 [数据缺失])。 - 若现价 < 内在价值 × (1 - 安全边际),标记为"低估"。

模块 5:管理层质量

  • 资本配置:再投资回报 vs 分红/回购是否理性。
  • 历史诚信:是否有财务造假、频繁减持、大额关联交易。
  • 激励一致性:管理层持股、薪酬与长期业绩挂钩。

诚实边界:管理层相关数据不由脚本计算,须由 agent 检索公开资料(年报/公告/权威媒体)后填写,并标注来源;无来源不得断言。

模块 6:综合决策

结论档位由脚本基于数据自动派生(见 report.recommend_verdict),输出三档之一: 强烈关注 / 关注 / 中性,依据为 ROIC 护城河、安全边际、盈利质量、FCF 正负等硬指标打分; 强周期/未知属性且存在弱项时自动保守降级为"中性"。 agent/用户可用 --verdict-override(须配合 --verdict-reason覆盖结论, 强制给出理由以避免确认偏误。"关注/强烈关注"仅表示数据面值得研究,不等于买入信号。 最终结论须配合"当前价 / 理想买点(按安全边际)/ 卖出纪律"三段式建议。

三、输入规范与校验(Trust / Reliability)

输入 - 必填:股票代码(A股 6 位数字;港股 5 位数字,脚本自动补零到 6 位)。 - 可选(脚本参数):--g 增速、--wacc 折现率、--g_term 永续增速、 --years 预测期、--tax-rate ROIC 税率(默认 25%)、 --verdict-override 结论档位覆盖(关注/强烈关注/中性)、 --verdict-reason 覆盖理由(强制填写)、 --force-cycle 强制按强周期口径、--show-basis 打印基准 FCF 序列、--fetch 先拉数据。

注:结论档位不再接受空泛的 --verdict 直接赋值,必须由数据派生或带理由覆盖。

校验规则(脚本必须执行,失败显式报错,禁止静默空结果) - 代码必须为纯数字且长度 5-6 位,否则报错退出并提示正确格式。 - 数据目录 data/<code>/ 不存在时,若未带 --fetch 则明确报错并说明需先拉数据。 - akshare 接口调用失败时,打印具体异常与缺失字段,而非返回空表蒙混; 报告中对无法获取的指标统一标记为 [数据缺失]。 - DCF 校验:WACC 必须 > 永续增长率,否则抛 ValueError 说明不收敛; FCF ≤ 0 时跳过 DCF 并提示"当前自由现金流为负,不适用 DCF"。

四、数据获取(akshare 速查)

依赖自动配置(推荐先行):本 skill 自带 scripts/ensure_env.py,会在运行任意分析脚本之前自动检测并安装缺失依赖(akshare / pandas)。普通用户无需手动 pip install

python scripts/ensure_env.py --auto        # 检测并自动安装依赖
python scripts/ensure_env.py               # 仅检测并打印状态

遇到 Linux 系统 Python 的 PEP 668「外部管理环境」限制时,ensure_env.py 不会静默失败,也不会让你手动处理:它会自动创建 .venv 并在其中安装 akshare/pandas,经 os.execv 自动切换到 venv 解释器;Windows/macOS/Linux 行为一致,无需手动建虚拟环境或加 --break-system-packages

调用前先 python scripts/ensure_env.py --auto(或手动 pip install akshare pandas)。A股代码统一传 6 位字符串 (如 "600519"),港股用 "00700"。所有接口均为公开行情/财务源,国内网络可直连。

import akshare as ak

ak.stock_profit_sheet_by_report_em(symbol="SH600519")     # 利润表(宽表:行=报告期,列=科目英文代码)
ak.stock_balance_sheet_by_report_em(symbol="SH600519")    # 资产负债表
ak.stock_cash_flow_sheet_by_report_em(symbol="SH600519")  # 现金流量表
ak.stock_financial_abstract_ths(symbol="600519")          # 同花顺摘要
ak.stock_individual_info_em(symbol="600519")              # 基本信息(最佳努力)
ak.stock_zh_a_hist(symbol="600519", period="daily",
                   start_date="20200101", end_date="20261231", adjust="qfq")

重要(字段结构)*_sheet_by_report_em 返回宽表——每行一个报告期、 每列一个科目,且科目名为英文代码(如 TOTAL_EQUITY 股东权益、 NETCASH_OPERATE 经营现金流净额、CONSTRUCT_LONG_ASSET 购建长期资产、 SHARE_CAPITAL 股本)。metrics.py 用"概念→英文代码候选"映射取值, 较中文模糊匹配更抗版本变动。

PE/PB 不依赖额外接口:由三表的净利润/净资产/股本直接计算 (PE = 现价 / (净利润/股本)PB = 现价 / (净资产/股本)),因此无需 已废弃的 stock_a_indicator_lg 等估值接口。

接口命名随 akshare 版本可能变动;若某接口失效,fetch_data.py 会对 非核心接口做最佳努力容错,并在报告中标记 [数据缺失]

五、执行工作流(SOP)

  1. 环境自检(自动,必须先行):运行 scripts/ensure_env.py --auto 确保 akshare / pandas 已安装;report.pyfetch_data.py 直接运行时,脚本顶部已内置该自检,无需手动调用。若遇 PEP 668 外部管理环境,脚本会自动创建 .venv 并安装依赖后重跑,无需手动处理。依赖就绪后再进入第 1 步。

  2. 解析输入:提取股票代码、用户关心的重点(估值/护城河/…),校验代码格式。

  3. 拉数据:运行 scripts/fetch_data.py 把财务三表、行情、估值指标落盘为 csv。
  4. 算指标scripts/metrics.py 计算 ROIC、FCF、盈利质量、分位(自动容错字段)。
  5. 估值scripts/dcf.py 跑 DCF + 相对估值,输出内在价值区间。
  6. 定性:按六大模块逐项给出结论(数据支撑 + 判断),重点准备 行业结构、管理层、综合决策三段的定性文字。
  7. 生成报告(自动触发,必须执行):运行 scripts/report.py, 串联上述脚本、按第六节模板自动生成 Markdown 报告并保存到 reports/<code>_report.md流程末尾必须调用,不要仅口头总结。

```bash # 最简:用中性默认假设(g=8% / WACC=10% / 永续 2% / 预测期 10 年) python scripts/report.py 600519

# 推荐:显式假设;结论由数据派生,必要时带理由覆盖 python scripts/report.py 600519 --fetch \ --g 0.08 --wacc 0.10 --g_term 0.02 \ --verdict-override 关注 --verdict-reason "ROIC>15% 且安全边际>30%,数据面值得研究" `` ---fetch:若data//尚未生成则先拉取数据。 - 报告中定量部分由脚本填充;行业结构 / 管理层 / 综合决策三段中的 定性内容由 agent 检索公开资料填写并**标注来源**,不得编造数字。 7. **交付**:把reports/_report.md` 内容呈现给用户,并口头点出 关键结论(护城河评级、安全边际、买点);同时附上风险提示。

六、输出报告模板(Convention)

报告由 report.py 自动生成,结构固定、可直接使用:

# 【股票代码】公司名称 价值投资分析报告
> 数据来源:akshare | 生成日期:自动 | 结论:关注档位

## 1. 行业结构
- 所属行业:(自动识别)| 周期属性:强周期 / 稳定
- 生命周期 / 格局 / 壁垒:

## 2. 经济护城河
- ROIC(最新):x% → 护城河评级:宽/窄/弱
- 类型与证据:

## 3. 财务健康
- 盈利质量(经营现金流/净利润):
- 自由现金流(最新):
- 偿债 / 成长 / 分红:

## 4. 估值
- DCF 内在价值(中性):X 元/股(假设:增速 g%、WACC r%、税率 t%;WACC±1.5pct 敏感区间)
- 当前价:Y 元 | 安全边际:z% → 低估/合理/偏高
- 价格历史分位:p%(区间 min~max)
- 相对强弱(区间累计):个股 % | 行业 % | 沪深300 %(含相对行业/大盘超额,缺失则 [数据缺失])
- 相对估值(PE/PB 历史分位):当前 / 历史中位 / 分位;相对估值结论(低估/偏高)

## 5. 管理层(agent 检索填写,须标注来源)
- 资本配置 / 诚信 / 激励:

## 6. 综合决策(结论档位由脚本数据派生)
- 推荐档位(脚本派生):(强烈关注 / 关注 / 中性)及依据
- 最终档位:(若被覆盖则标注覆盖理由)
- 当前价:
- 理想买点(安全边际 30%):
- 卖出纪律:

## 7. 数据质量与口径说明
- 分析基准(年报报告期):
- 异常/缺失提示(如年报与季报矛盾已自动弃用、相对强弱缺失等):
- 口径与假设提醒(DCF 敏感性等):

> 风险提示:数据存在延迟/缺失,DCF 对折现率与永续增速极度敏感,
  结论应取区间。本报告仅作研究分析,不构成投资建议。

报告第七节的"数据质量与口径说明"由 report.py 自动生成, 仅含面向用户的口径/异常/缺失提示(如异常年报已弃用、相对强弱缺失), 不得在交付报告中写入 skill 自身的代码改动、内部开发记录等无关信息。

七、质量合规(TRACE 五维体系)

本 skill 按 TRACE 五维(T 可信任 / R 可靠 / A 适用 / C 规范 / E 有效)的最高标准设计,各项要求已落实到接口、脚本与文档中:

  • T 可信任:数据源仅 akshare 公开接口,国内可直连,无 token、无境外 API;代码不含任何非 akshare 网络请求,不读取用户无关文件;不收集或上传任何用户输入或本地数据;仅标准库加 akshare/pandas,无 eval/exec 动态导入、无高危系统权限;代码静态可读、可审计。
  • R 可靠:运行前依赖自检 ensure_env(缺失自动安装,环境限制给出明确指引,绝不静默失败);输入格式与参数(WACC 大于永续增速)显式校验;非核心接口最佳努力、核心三表缺失显式报错、接口失效统一标记 [数据缺失];计算链 NaN 转 None、DCF 不收敛或 FCF 为负显式提示;强周期股 DCF 自动保守化;价格统一前复权(qfq),个股与行业口径一致。
  • A 适用:第一节明确适合触发、不适合触发、能力边界三类清单;description 触发词精确,不覆盖衍生品、交易下单、纯资讯;显式承诺研究分析而非买卖建议、数据存在延迟、港股仅行情等能力边界。
  • C 规范:name、description、能力一致;文档覆盖输入要求、输出模板、示例报告、常见限制、隐私提醒、参数表、目录结构与版本;脚本参数命名稳定;报告固定六段结构;全程中文、格式统一。
  • E 有效:输出为可直用的结构化 Markdown 报告,含护城河评级、安全边际、理想买点等判断;定量由脚本保证一致、定性由 LLM 整合;提供示例报告 reports/600519_report.md;附风险与诚实边界提示,结论取区间而非单点;含个股相对行业指数与沪深300 的累计收益与超额收益。

八、隐私与安全(Trust)

  • 本 skill 不上传任何用户数据:所有计算在本地/授权环境完成,仅向 akshare 公共接口请求公开行情。
  • 不读取用户文件系统中的无关文件,不请求网络、系统、凭证类高权限。
  • 若运行环境无法访问 akshare 数据源,会明确报错提示,而非伪造结果。

九、版本与变更(Convention)

  • v1.0.3:缺陷修复(东京云服务器实测后修复,不影响分析框架):① 新增 metrics.get_stock_name 并接入报告标题——原 report.py 调用了不存在的 M.get_stock_name(code),标题降级为"行业(代码)",现从 info.csv 的"股票简称"字段解析,正确显示公司名;② report.py --fetch 非法代码退出码对齐文档——补 try/except,非法的 validate_codeexit 2(原因未捕获异常 traceback 退出 1);③ dcf_value 新增 wacc > g 守卫——当显性期增速 g ≥ WACC 时抛出 ValueError(前段现金流不收敛、内在价值失真),并将 dcf.py 默认假设保持中性(g=8%/WACC=10%/永续 2%);④ detect_bad_annual_all 阈值下调 0.5→0.8——单季营收/净利≥年报 80% 才判异常,显著降低季节性正常企业的误报;⑤ validate_code 港股 5 位代码不再补零——00700 保持 5 位(akshare 港股接口收 5 位),6 位 A 股仍补零到 6 位;⑥ classify_cycle 新增防御型关键词优先匹配——医药/制药/生物/医疗等优先判为"稳定",修正"化学制药""医疗器械"被"化学"误判为强周期的问题。
  • v1.0.2:设计层整改(依据《stock-value-investing-skill-设计评估与改进方案》):① 结论档位改为数据派生report.recommend_verdict 由 ROIC/安全边际/盈利质量/FCF 打分,强周期/未知且存弱项时自动降级为中性),移除"空泛 --verdict 直接赋值",改为 --verdict-override + --verdict-reason 强制带理由覆盖,杜绝确认偏误;② 接入 PE/PB 历史分位metrics.pe_pb_percentile + 修复并启用 dcf.relative_valuation),并如实标注 PS/EV-EBITDA 未实现;③ 强周期 FCF 平滑方向修正:由"只取正值均值"改为"中位数且保留负值",避免景气高点外推导致内在价值系统性偏高;④ DCF 默认假设中性化:g=8% / WACC=10% / 永续 2%(原 g=12%/WACC=9% 偏乐观);⑤ 工程加固report.py 顶层副作用移入 main(模块可被 import 单测)、抽出 metrics.extract_dcf_inputs 公共 API 消除对 _find/_latest_row 私有符号穿透、删除重复 _to_float;⑥ 数据时效与健壮性fetch_data.py 日期范围动态化(回看约 5 年)、抓取后写入 .meta.json(报告第 7 节提示新鲜度);⑦ 异常年报检测升级为历史扫描detect_bad_annual_all,支持多年同时异常)并支持 --tax-rate 透传;⑧ 文档诚实化:能力边界明确"行业 CR5/管理层等定性由 agent 检索填写并标注来源、不得编造"。
  • v1.0.1:在 v1.0.0 基础上的累计优化与加固:① 修复 metrics.py_find 字段取值 bug(原按数据列顺序返回首个匹配,易误命中无效/占位近似列如 OPERATE_NETCASH_BALANCELIAB_EQUITY_BALANCE,导致 ROIC/FCF/盈利质量/BVPS 计算错误;现改为按 FIELD_MAP 候选优先级遍历并跳过空值/nan);② 新增异常财报自动检测(最新年报与最新季报存在逻辑矛盾时自动弃用该异常年报、改用上一期年报重算);③ 增强 ensure_env.py 依赖自检——网络自适应选最快 PyPI 镜像、遇 PEP 668 外部管理环境时自动创建 .venv 并在其中安装依赖(脚本经 os.execv 自动切换解释器,Windows/macOS/Linux 行为一致);④ DCF 敏感性矩阵自动写入第 4 节报告(不同 g/WACC 组合下的内在价值区间);⑤ 第 6 节自动给出卖出纪律(规则化参考,非指令);⑥ 第 5 节补充管理层数据支撑线索(用 ROIC 等硬指标提示判断角度);⑦ 技术性异常转通俗中文告警fetch_data.py_friendly_errRemoteDisconnected/Expecting value 等转成"数据源连接中断/接口返回空"并附重试建议);⑧ 新增集中 FAQ/避坑指南(README)与触发表达示例(SKILL/README)。
  • v1.0.0:初版。六大分析模块 + akshare 数据获取 + metrics/dcf/report 脚本 + 依赖自动配置(ensure_env)+ requirements.txt + TRACE 合规对照 + 行业/指数对比(个股 vs 行业指数/沪深300 相对强弱)+ 周期属性自动识别(强周期股 DCF 保守化)+ 港股诚实边界。后续 bug 修复以补丁版本(v1.0.x)递增,并在本条追加记录。

十、风险提示(Effectiveness 的诚实边界)

  • akshare 数据来自公开网络,存在延迟/缺失,关键决策须交叉核对交易所公告。

    小葱技能7w4.net持续更新中。

  • DCF 对折现率、永续增长率极度敏感,结论应给区间而非单点。
  • 本 skill 仅输出研究分析,不构成投资建议;任何投资决定由用户自行承担。

🤖 AI 评测

这个 Skill 质量较好,分析框架完整(六大模块),数据获取省心(自动装依赖、PEP 668 自动处理),对缺失数据诚实标注不造假,结论由数据派生而非空泛输入,文档和 FAQ 非常详细。主要缺点是港股只有行情没有基本面、相对估值还不完整,以及依赖的 akshare 可能偶发接口波动。总体适合有一定分析需求的用户,国内网络使用体验最佳。

📊 多维度评分

适应性4.9
规范性4.6
有效性4.5
可靠性4.5
可信度5

📁 包含文件 (9 个)

📄 README.md 10.4 KB
📄 SKILL.md 22.1 KB
📄 requirements.txt 134 B
📄 scripts/dcf.py 4.5 KB
📄 scripts/ensure_env.py 10.9 KB
📄 scripts/fetch_data.py 11 KB
📄 scripts/metrics.py 22.1 KB
📄 scripts/report.py 18.9 KB
📄 tests/test_skill.py 16 KB