Xiapi-skills xiapi-financial-roe-analysis

基于大虾皮财报命令对上市公司进行ROE/杜邦财务分析。触发词:财务分析、ROE分析、杜邦分析、股票财务、盈利质量、净利润质量、财报分析、基本面分析、盈利能力、财务质量、现金流分析、资产负债分析、财务健康度、财务报告解读。适用场景:已提供股票代码,需要基于 `daxiapi report finance <code>` 做单公司财务拆解、ROE驱动分析、盈利质量评估与结构化报告输出。不适用场景:盘中交易建议、短线择时、纯技术面分析、纯估值定价(PE/PB)、未提供股票代码且无法确认标的时。

install
source · Clone the upstream repo
git clone https://github.com/ksky521/xiapi-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ksky521/xiapi-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/xiapi-financial-roe-analysis" ~/.claude/skills/ksky521-xiapi-skills-xiapi-financial-roe-analysis && rm -rf "$T"
manifest: skills/xiapi-financial-roe-analysis/SKILL.md
source content

财务深度分析 Skill(ROE杜邦体系)

基于

daxiapi report finance <code>
获取目标公司的财报数据,再按杜邦分析框架完成单公司财务深度分析。

Overview(功能概述)

该 Skill 以资深财务分析师视角,对上市公司进行 ROE 拆解、盈利质量校验、资产运营效率分析和杠杆风险识别。

默认先使用

daxiapi report finance <code>
获取财报数据;若当前命令未覆盖某些字段或历史区间,则必须明确说明缺口,禁止编造行业对标或缺失指标。

When to Use(何时使用)

当用户需要以下能力时触发:

  • 分析某只股票或上市公司的财务质量
  • 拆解 ROE 的驱动因素与杜邦三因子
  • 评估净利润质量、现金流质量、资产周转与杠杆风险
  • 输出一份结构化的财务分析报告

具体触发词:财务分析、ROE分析、杜邦分析、股票财务、财报分析、盈利质量、净利润质量、基本面分析、盈利能力、财务质量、现金流分析、资产负债分析、财务健康度、财务报告解读

Process(流程主体)

Step 0: 前期准备(必填)

触发条件:首次使用、Token 未配置、或命令返回认证错误

跳过条件:Token 已配置且有效

完成标准:CLI 可以正常返回财报数据

执行步骤

步骤 0.1:检查 Token 配置状态

npx daxiapi-cli@latest config get token

步骤 0.2:如未配置,提示用户获取 Token

  1. 访问 daxiapi.com 个人主页
  2. 开通 API Token 功能
  3. 复制生成的 Token

步骤 0.3:配置 Token

npx daxiapi-cli@latest config set token YOUR_TOKEN_FROM_DAXIAPI

或使用环境变量:

export DAXIAPI_TOKEN=YOUR_TOKEN_FROM_DAXIAPI

步骤 0.4:验证命令可用

npx daxiapi-cli@latest report finance 300014

Step 1: 获取财报数据(必填)

目标:先拿到目标公司的结构化财报数据,再开始分析

执行步骤

  1. 确认股票代码;若用户只给公司名,先向用户确认对应代码
  2. 执行以下命令获取财报数据:
npx daxiapi-cli@latest report finance <code>

如果用户本地已安装 CLI,也可使用:

daxiapi report finance <code>
  1. 检查返回结果是否至少包含多个报告期及核心财务字段(参考 references/cli-commands.md 了解完整字段清单)
  2. 记录数据来源为:大虾皮财报接口 / 同花顺口径(以命令实际返回为准)
  3. 若财报数据获取失败(含超时、无权限、接口异常、返回空数据),必须暂停分析并询问用户三选一:
    • 由用户自行补充数据来源(如年报截图、关键指标、已整理表格)
    • 在仅获取部分数据时,是否同意基于现有数据继续并明确边界
    • 由你继续去互联网检索公开数据(并标注来源与可靠性限制)
  4. 在用户明确选择前,不得继续输出实质性财务结论

检查重点

  • 报告期是否连续
  • 是否包含营收、净利润、ROE 等核心字段
  • 是否存在明显异常值(单年亏损、大额减值、重大重组)
  • 字段缺失时是否会影响后续杜邦拆解

完成标准:已有可用于分析的财报原始数据;若字段缺失,已明确标注分析边界

Step 1.5: 巨潮资讯PDF交叉核验(建议执行,可降级)

目标:使用巨潮资讯最新财报原文对 CLI 结构化数据进行交叉核验,提升数据可信度

执行步骤

  1. 访问
    www.cninfo.com.cn
    ,定位目标公司的最新年报/季报 PDF 原文
  2. 提取关键字段并与
    daxiapi report finance <code>
    返回值逐项对比,至少覆盖:营业收入、归母净利润、ROE、经营活动现金流净额
  3. 记录每个关键字段的对比结果(一致/轻微口径差异/明显不一致)
  4. 若出现不一致,优先以原文披露口径解释差异,并在报告中单独标注"差异来源与影响"

降级规则(优先自动降级,无需暂停等待用户)

若巨潮资讯访问受限、PDF 无法下载/解析、或公告不存在,自动降级处理:

  • 在报告中明确写出"本次仅完成单源分析,未完成 PDF 交叉核验"
  • 标注降级原因(如:访问受限/PDF解析失败/公告未找到)
  • 继续执行后续分析流程,无需暂停等待用户决策
  • 禁止宣称"已认证"或"已完成双向核验"

完成标准:报告中包含核验结论(已核验/已降级+原因说明)


Step 2: 数据预处理、行业识别与分析模式选择

目标:把财报原始数据转成可分析口径,确定行业框架,并确定输出深度

执行步骤

2.1 行业识别(必做)

根据公司主营业务,明确所属细分行业,并从 references/industry-rules.md 中选择对应的分析框架和阈值:

  • 消费行业(食品饮料、白酒、零售等)→ 使用消费行业框架
  • 制造业/重资产(钢铁、化工、机械等)→ 使用制造业框架
  • 科技/医药(互联网、半导体、创新药等)→ 使用科技医药框架
  • 金融行业(银行、保险、证券等)→ 使用金融行业框架(注意:金融行业不得套用通用杜邦公式
  • 公用事业(电力、水务、高速等)→ 使用公用事业框架

在报告中标注:

所用分析框架:[行业名称]框架

2.2 数据预处理

  1. 识别异常年份:亏损、减值、重组、非经常性损益异常波动
  2. 优先使用命令返回的历史财报序列做趋势分析
  3. 若关键字段缺失,降级为"基于现有字段的财务分析",并在结论中说明

2.3 分析模式选择

  • 快速分析版(默认):核心结论 + ROE拆解 + 核心风险,适合简洁问答,字数 ≤3000 字
  • 深度分析版:完整模块化报告,适合系统研究,覆盖全部九个模块

模式判断规则

  • 用户未明确指定 → 默认输出快速分析版
  • 用户提到"深度分析""完整报告""详细分析""全面分析" → 切换为深度分析版
  • 可在 Step 1 完成后主动询问用户偏好

口径要求

  • 同一指标尽量按一致口径比较
  • 无法验证的指标不硬算、不脑补
  • 没有同行或行业数据时,不强行输出行业均值或分位值

Step 3: 执行财务深度分析

目标:基于已获取的财报数据完成杜邦框架分析

优先参考 references/roe-framework.md 执行,并根据数据可得性覆盖以下模块:

  1. ROE 水平、趋势与驱动模式(必做)
  2. 销售净利率、总资产周转率、权益乘数三因子拆解(必做)
  3. 净利润真实性与盈利含金量(必做)
  4. 净资产质量、资产运营效率与杠杆风险(必做)
  5. 异常信号与财务造假风险排查(建议做)
  6. 行业对标、WACC/EVA、情景推演(仅在数据充分时执行)

核心指标口径

加权ROE = 归母净利润 / 平均加权归母净资产
杜邦公式:加权ROE = 销售净利率 × 总资产周转率 × 权益乘数
销售净利率 = 归母净利润 / 营业收入
总资产周转率 = 营业收入 / 平均总资产
权益乘数 = 平均总资产 / 平均归母净资产
自由现金流 = 经营活动现金流净额 - 资本开支
内生增长率 = 加权ROE × (1 - 分红率)
利息保障倍数 = 息税前利润 / 利息支出
EVA = 税后净营业利润 - 资本总额 × WACC

WACC 使用规则

daxiapi report finance
命令不提供 WACC 计算所需的 Beta、无风险利率、债务成本等原始数据。处理规则如下:

  • 若用户未提供 WACC 相关数据 → 跳过 EVA/WACC 分析,在报告中写明"当前数据不足,WACC/EVA 分析暂不展开"
  • 若用户提供了 WACC 估算值或相关参数 → 可使用,并标注数据来源
  • 禁止自行假设或编造 WACC 数值

分析要求

  • 每个结论都要对应到具体财报字段或时间序列变化
  • 必须区分"数据事实""分析判断""待补充信息"
  • 若命令未提供母公司报表、同行对标或 WACC 所需数据,必须明确写出"当前数据不足,以下部分仅做定性判断/暂不展开"

Step 4: 输出结构化报告

目标:基于现有数据输出可复用的财务分析结果

按照 references/report-template.md 输出,但要遵守以下落地规则:

  1. 报告开头先给出核心结论摘要(不超过 500 字)
  2. 关键时间序列尽量用表格呈现
  3. 明确标注数据来源:
    daxiapi report finance <code>
    (必填)+ 巨潮资讯财报 PDF(若已完成核验则标注公告标题/期次,若已降级则标注降级原因)
  4. 对缺失字段、无法验证项、无法完成的核验或行业对标单独说明
  5. 严禁给出确定性的买卖建议或股价预测

Report Template(报告模板)

统一使用 references/report-template.md 作为唯一模板来源。

输出时至少确保以下必填块完整:

  1. 核心结论摘要(<= 500 字)
  2. 关键财报时间序列表格
  3. 数据核验记录(CLI 数据来源 + 巨潮核验状态)
  4. 缺失字段/口径差异/未完成项说明
  5. 风险提示与免责声明

Quality Checks(质量检查)

必查项

  • 已先执行
    daxiapi report finance <code>
    npx daxiapi-cli@latest report finance <code>
  • 已在 Step 2.1 明确识别行业并选择对应分析框架
  • 报告中已明确股票代码与数据来源
  • 所有关键结论都有财报数据支撑
  • 无法获取的数据已明确标注,不存在编造内容
  • WACC/EVA 分析:若数据不足已明确跳过,未自行假设数值
  • 包含至少 1 条风险提示与免责声明

Red Flags(危险信号)

危险信号说明处理方式
数据缺失关键财报字段不存在明确降级分析范围,不补造数据
口径混用年报、季报、TTM 混在一起标注口径并避免直接横比
过度外推用少量财报数据推导确定性结论改为概率判断或保守表述
行业对标失真无同行数据却给出行业排名删除排名,改成"待补充"
WACC编造无数据来源却给出WACC/EVA数值删除,改为"数据不足,暂不展开"
行业框架错用金融行业套用通用杜邦公式切换为金融行业专用指标体系

Common Pitfalls(常见陷阱)

  • 没有先拿到
    report finance
    结果,就直接开始财务分析
  • 跳过行业识别步骤,直接套用通用杜邦框架(金融行业尤其危险)
  • 把季度数据和年度数据直接横向比较,导致趋势误判
  • 看见 ROE 高就下结论,而没有拆解是净利率、周转率还是杠杆驱动
  • 忽略一次性损益、减值、重组等异常年份对利润质量的扰动
  • 在没有行业或同行数据时,错误输出"行业领先/落后"判断
  • 自行假设 WACC 数值,导致 EVA 结论失真

Key Principles(重要原则)

  • 先取数,后分析:必须先拿到
    daxiapi report finance <code>
    的结果
  • 先识别行业,再选框架:不同行业的阈值和分析重点差异显著
  • 只基于已知数据下结论:缺字段就缩小结论边界
  • 分析业务本质,不堆数字:解释指标变化背后的经营含义
  • 结论分层表达:区分事实、判断、风险提示
  • 禁止投资建议:只做财务质量分析,不做确定性买卖建议

Error Handling(错误处理)

1. 代码缺失或标的不明确

  • 提示用户补充股票代码
  • 若只有公司简称,先确认对应证券代码后再执行命令

2. Token/认证失败

  • 先执行
    npx daxiapi-cli@latest config get token
  • 如无 Token,指导用户配置后重试

3. 财报字段缺失

  • 明确指出缺失字段
  • 调整为基于现有字段的简化分析
  • 不输出无法验证的 ROE 子结论或行业对标

4. 数据异常波动

  • 先标注异常期
  • 优先从减值、重组、补贴、一次性收益等角度解释
  • 无法确认原因时,保留为风险项,不做强解释

5. 巨潮资讯数据获取失败

  • 自动降级,无需暂停等待用户
  • 在报告中标注"本次仅完成单源分析,未完成 PDF 交叉核验(原因:XXX)"
  • 继续执行后续分析流程

6. 财报数据获取完全失败

  • 出现 CLI 数据源获取失败时,立即暂停分析,不输出实质性结论
  • 明确告知用户失败原因(如认证失败、网络异常、字段空缺)
  • 询问用户三选一:
    1. 用户自行补充数据来源
    2. 同意基于部分已获取数据继续(并接受边界说明)
    3. 由你继续去互联网检索公开数据
  • 只有在用户明确选择后,才继续后续分析流程

References(参考资料)