mcpField
F
financial-analysis-earnings

financial-analysis-earnings

github.com/pionex-official数据与数据库5121 次安装14 周前更新
代码仓库

关于 financial-analysis-earnings

financial-analysis-earnings 是分析美股上市公司季度业绩的技能,结合 SEC EDGAR XBRL 数据与网络搜索的市场一致预期,生成业绩超预期或不及预期、趋势及指引分析。

主要功能

  1. 01搜索已公布季度和市场一致预期
  2. 02通过脚本获取 SEC EDGAR 财务数据
  3. 03从累计申报数据推算单季数据
  4. 04将实际业绩与市场预期比较
  5. 05分析八季度趋势和公司指引

适用场景

  1. 01评估美股公司的最新季度业绩
  2. 02比较营收和 EPS 与分析师预期
  3. 03查看八季度的利润率和业绩变化
  4. 04结合已公布业绩审视公司指引

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pionex-official/pionex-skills --skill financial-analysis-earnings

安装后在 Claude Code 中输入/financial-analysis-earnings确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

run.sh
scripts/
earnings_report.py
get_comps.py
get_fundamentals.py
get_quote.py

详细介绍

财报分析

分析在美国上市的股票季度财报。结合 SEC EDGAR XBRL 文件和网络搜索获取的市场一致预期,然后生成包含趋势分析的结构化超预期/不及预期报告。

设置

无需依赖项。所有脚本仅使用 Python 标准库。

工作流

步骤 1 — 确定季度并查找市场一致预期(网络搜索)

始终先搜索。不要依赖训练数据获取财报结果。

搜索 0 — 确定最近公布的季度:

  • [Company] [ticker] latest quarterly earnings results [current year]

根据今天的日期进行交叉核对(按日历年度计算的财年公司):

  • Q1 结果通常在 4–5 月公布
  • Q2 结果通常在 7–8 月公布
  • Q3 结果通常在 10–11 月公布
  • Q4 结果通常在 1–2 月公布

非日历年度财年:在对应季度之前,先从 SEC EDGAR 数据中确认公司的财年结束时间。常见示例:Apple 的财年在 9 月结束(Q1 = 10–12 月),Microsoft 的财年在 6 月结束(Q1 = 7–9 月)。使用 get_fundamentals.py 输出中的 fiscal_year 和 fiscal_quarter 字段。

如果今天已过下一季度通常的公布时间窗口,请再次搜索——可能已有更新的季度结果公布。

确认季度后,进行两次搜索:

搜索 A — 已公布的业绩:

  • [Company] [confirmed quarter] earnings results revenue EPS

搜索 B — 市场一致预期:

  • [Company] [confirmed quarter] earnings consensus estimate revenue EPS
  • [Ticker] earnings beat miss [confirmed quarter]

搜索 C(完成 A 和 B 后)— 业绩指引:

  • [Company] [confirmed quarter] earnings guidance outlook next quarter [year]

继续之前,提取以下所有信息:

字段说明
已公布季度(例如 Q1 FY2026)核实日期,不要想当然
营收(实际公布值)
调整后 EPS(实际公布值)
营收市场一致预期必须是美元绝对值(例如 $27.2B)
调整后 EPS 市场一致预期必须是美元数值(例如 $2.84)
下一季度业绩指引营收或 EPS 区间;若未提供,请写“未提供”
全年业绩指引与此前相比上调/下调/维持
管理层关键评论2–3 个要点

如果两次搜索后仍未找到市场一致预期,再进行一次有针对性的搜索:[Ticker] EPS estimate Q[X] [year] analyst consensus。只有在尝试三次之后,才能写“无市场一致预期数据”。


步骤 2 — 获取财务数据(脚本)

运行一体化脚本。与步骤 1 中的搜索 A 和 B 并行运行。

bash run.sh <SYMBOL>
# With peer comparison:
bash run.sh <SYMBOL> --peers <PEER1> <PEER2>

返回 JSON,包含:当前报价、SEC EDGAR 中 8 个季度的财务数据、3 年的年度数据,以及可选的同业比较数据。

重要:SEC EDGAR 中的 10-Q 数据是年初至今累计值。 通过相减推导单独季度数据:

  • Q1 单独季度值 = Q1 年初至今累计值(无需相减)
  • Q2 单独季度值 = H1 年初至今累计值 − Q1 年初至今累计值
  • Q3 单独季度值 = 9M 年初至今累计值 − H1 年初至今累计值
  • Q4 单独季度值 = 全年(10-K)− 9M 年初至今累计值

对营收、毛利、营业收入和净利润应用上述相减方法。不要相减 EPS——EPS 是每股数值,并非累计值,因此用 H1 EPS 减去 Q1 EPS 并不能得到 Q2 EPS(不同期间的股数不同)。对于 Q2/Q3 单独季度 EPS,请使用网络搜索结果(步骤 1),或按单独季度净利润/稀释后股数计算。

Q4 推导说明:Q4 单独季度值 = 10-K 全年数据 − Q3 9M 年初至今累计值。如果脚本返回的 8 个期间中不包含 Q3 10-Q(时间过久),请通过网络搜索补充 Q4 单独季度数据。

你必须为当前季度生成一张从年初至今累计值推导单独季度值的表格——具体模板和规则见输出格式中的第 3 节。

一体化脚本(bash run.sh)是首选入口。它通过一次调用汇总季度、年度、报价和同业数据。


第 3 步 — 超预期/不及预期分析

提供一个三列表格:

Metric        | Reported  | Consensus        | Beat/(Miss)
--------------|-----------|------------------|------------------
Revenue       | $X.XB     | $X.XB            | +$XXM (+X.X%)
Adj. EPS      | $X.XX     | $X.XX            | +$X.XX (+X.X%)
Gross Margin  | XX.X%     | XX.X% (if avail) | +XXbps

如果没有可用的市场一致预期,填写“n/a — consensus not found”。不要省略该行。

对于每项超预期或不及预期,用一句话说明原因——例如业务构成、定价、成本变化、一次性项目等。


第 4 步 — 趋势分析

使用第 2 步得出的单季度数据,不要使用年初至今的累计数据,以免夸大近期季度表现并扭曲同比比较。展示最近 8 个已报告季度的实际业绩。正在分析的季度必须作为最后一行(即最近一个季度)显示。

**数据来源要求:**为表中的每个季度标注数据来源:

  • (SEC) — 根据 SEC EDGAR 文件推导(优先)
  • (web) — 来自网络搜索(仅在 SEC 文件尚未公布时使用)

如果有 SEC 数据,切勿使用网络搜索数据。SEC EDGAR 是首要信息来源。

如果报告季度的 10-Q/10-K 尚未在 SEC EDGAR 上提交,请使用网络搜索数据(第 1 步),并将该行标注为 (web)。

季度营收同比毛利率营业利润率摊薄后每股收益来源
Q[X-7]$X.XB+X%XX.X%XX.X%$X.XXSEC
.....................
Q[X]$X.XB+X%XX.X%XX.X%$X.XXSEC/web

只要当前季度和去年同期季度的数据都可用,就必须计算同比。

表格后,请评论:

  • 利润率扩张或收窄的趋势
  • EPS 增长与营收增长的对比(回购效应还是利润率改善?)
  • 最近 2-3 个季度的加速或减速情况

第 5 步 — 指引与展望

必填。

  • 下一季度指引:指标、区间、相较市场预期高于/低于/符合预期
  • 全年指引:相较此前指引上调/下调/维持不变,并量化变化
  • 如果未提供指引:明确说明,然后根据趋势数据给出前瞻判断

第 6 步 — 可比公司估值(仅在用户提出要求时)
bash run.sh <SYMBOL> --peers <PEER1> <PEER2> ...

最多返回 10 家公司的营收、利润率、增长率、市盈率和市销率。


输出格式

第 1 部分 — 摘要框(必填,始终放在首位):

[COMPANY] ([TICKER]) — Q[X] FY[YYYY] EARNINGS   Result: BEAT / INLINE / MISS / N/A

Revenue:      $X.XB   (consensus: $X.XB  |  beat by +$XXM, +X.X%)
Adj. EPS:     $X.XX   (consensus: $X.XX  |  beat by +$X.XX, +X.X%)
Gross Margin: XX.X%   (vs. XX.X% a year ago, +XXbps YoY)

摘要框中的所有数据都必须是单季度数据,绝不能是全年或年初至今数据。

如果营收和调整后 EPS 均无可用的一致预期,则将 Result 设为 N/A。

第 2 部分 — 关键要点(3-5 条)。以数字开头:“营收增长 15.7%,达到 $143.8B”,不要写成“营收表现强劲”。

第 3 部分 — SEC 数据推导(必填)

展示当前季度从年初至今数据推导单季度数据的表格——这是证明数据来自 SEC 文件而非网络来源的审计轨迹。没有该表格,读者就无法核验计算过程。使用以下格式:

SEC EDGAR Derivation: Q4 FY2025 Standalone
| Metric       | FY Annual   | − Q3 YTD    | = Q4 Standalone |
|--------------|-------------|-------------|-----------------|
| Revenue      | $XXX.XB     | $XXX.XB     | $XX.XB ✓        |
| Net Income   | $XX.XB      | $XX.XB      | $XX.XB          |

只展示营收和净利润(最关键的两项指标)。✓ 表示与网络搜索结果交叉验证。此表格必须先于任何单季度数据。

第 4 部分 — 营收与业务分部分析

第 5 部分 — 利润率分析

第 6 部分 — 8 季度趋势表(必填——来自第 4 步,必须包含来源列)

第 7 部分 — 指引(必填——来自第 5 步)

第 8 部分 — 估值(仅在用户提出要求时)

提供所有必填部分后,才能提供后续选项。


格式规则

  • 营收/利润:使用 B 或 M,例如“$143.8B”“$890M”
  • 利润率:保留一位小数,例如“48.2%”
  • 利润率变化:使用基点,例如“同比 +130bps”
  • EPS:保留两位小数,例如“$2.84”
  • 增长率:保留一位小数,例如“同比 +15.7%”

限制

  • SEC EDGAR 数据延迟:财报发布后,申报数据可能延迟 2–5 天;如果最新季度的申报文件尚未发布,请使用网页搜索获取数据
  • 10-Q 数据为年初至今的累计值:务必减去此前各期的数据,得出单季度数据(见第 2 步)
  • 无业绩电话会议文字稿:仅根据网页搜索结果总结管理层的评论
  • 仅限美国股票:SEC EDGAR 仅涵盖在美国上市的股票
  • 共识数据来自网页搜索:务必注明来源;如果尝试三次后仍无法获取,请明确说明

评论

支持 Markdown