mcpField
M
macrotrends

macrotrends

github.com/gauss314数据与数据库252255 次安装19 周前更新
代码仓库

关于 macrotrends

这是一款命令行技能,从 Macrotrends 抓取美国上市股票及 ADR 的历史财务数据。它无需 API 密钥,可从网页数据提取报表、比率和员工人数,覆盖约 15 年的年度及部分季度数据。

主要功能

  1. 01利润表、资产负债表和现金流
  2. 0220 项财务比率
  3. 03年度员工人数
  4. 04年度及季度报表选项
  5. 05自动查询股票代码对应的 slug
  6. 06JSON 输出和请求延迟控制

适用场景

  1. 01比较公司历年财务报表
  2. 02查看季度业绩和财务比率
  3. 03追踪年度员工人数
  4. 04将财务数据导出为 JSON

安装

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

$npx skills add https://github.com/gauss314/skills --skill macrotrends

安装后在 Claude Code 中输入/macrotrends确认已加载。

包含的文件

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

references/
MARKETS_REFERENCE.md
STATEMENTS_REFERENCE.md
scripts/
fetch_financials.py

详细介绍

Macrotrends — 财务数据抓取工具

用于抓取 Macrotrends 的工具,可提取历史财务数据:损益表、资产负债表、现金流量表、财务比率和员工人数,涵盖 约 6,500 只美国市场股票代码(NYSE、NASDAQ、AMEX),包括来自 30 多个国家的国际 ADR,数据最长可追溯 15 年以上。

数据以 JSON 格式嵌入页面(无需 API key,只需 requests + BeautifulSoup)。


⚠️ 法律声明

  • Macrotrends 没有官方公共 API。此抓取工具访问的是网络上公开可用的数据。
  • 请遵守 Macrotrends 的服务条款。
  • 请实施速率限制(请求间隔至少 2 秒,建议 3 秒)。
  • 网站可能会更改 HTML/JS 结构,导致抓取工具无法运行。

安装

pip install requests beautifulsoup4

脚本

脚本描述
fetch_financials.py主脚本:财务报表、比率、员工人数

快速使用

# Income statement anual
python scripts/fetch_financials.py --ticker NVDA --income

# Todo lo disponible (income + balance + cashflow + ratios + employees)
python scripts/fetch_financials.py --ticker AAPL --all

# Statements trimestrales
python scripts/fetch_financials.py --ticker MSFT --income --quarterly
python scripts/fetch_financials.py --ticker MSFT --balance --quarterly

# Ratios anuales o trimestrales
python scripts/fetch_financials.py --ticker NVDA --ratios
python scripts/fetch_financials.py --ticker GGAL --ratios --quarterly

# Employee count
python scripts/fetch_financials.py --ticker NVDA --employees

# Output a archivo JSON
python scripts/fetch_financials.py --ticker AAPL --all --output data.json

# Silencioso (solo JSON)
python scripts/fetch_financials.py --ticker NVDA --all --quiet

可用端点

标志数据频率周期
--income损益表年度、季度约 15 年 / 约 60 个季度
--balance资产负债表年度、季度约 15 年 / 约 60 个季度
--cashflow现金流量表仅年度约 15 年
--ratios财务比率(20 项比率)年度、季度约 15 年 / 约 60 个季度
--employees员工人数年度约 15 年
--all以上所有数据根据 --quarterly-
其他标志
标志描述
--quarterly使用季度频率(适用时)
--output输出 JSON 文件(默认:stdout)
--slug手动指定 slug(搜索无法正常工作时)
--delay请求间隔(默认:3.0s)
--quiet静默模式

股票代码 → slug 解析

Macrotrends 使用格式为 /stocks/charts/{TICKER}/{SLUG}/financial-statements 的 URL。

slug 会通过内部搜索端点自动解析。示例:

股票代码Slug
AAPLapple
NVDAnvidia
MSFTmicrosoft
GGALgrupo-financiero-galicia-sa
TSLAtesla

如果搜索失败,可以手动传入 slug:

python scripts/fetch_financials.py --ticker GGAL --slug grupo-financiero-galicia-sa --all

各类报表的可用数据

损益表(22 个字段)

收入、销货成本、毛利、研发、销售及管理费用、营业收入、净利润、EBITDA、EBIT、每股收益、流通股数等。

资产负债表(23 个字段)

现金、应收款、存货、总资产、总负债、股东权益、债务、留存收益等。

现金流量表(29 个字段)

净利润、折旧、营运资本变动、资本支出、自由现金流、股息、股票回购等。

财务比率(20 项比率)

流动比率、债务/权益比率、毛利率/营业利润率/净利率、ROE、ROA、ROI、每股账面价值、每股自由现金流等。

员工人数

逐年统计的员工总数。

完整字段参考请见 references/STATEMENTS_REFERENCE.md。


市场覆盖范围

Macrotrends 涵盖在 NYSE、NASDAQ 和 AMEX 上市的 约 6,500 只股票代码(包括 ADR)。

类型数量示例
美国普通股约 5,300AAPL、NVDA、MSFT
国际 ADR约 276+GGAL(阿根廷)、BABA(中国)、TM(日本)、PBR(巴西)、SAN(西班牙)、BP(英国)
ETF 和基金约 91SPY、QQQ、VTI
A/B 类股票约 22BRK.A、BRK.B

市场、按国家划分的 ADR 以及搜索股票代码的方法详见 references/MARKETS_REFERENCE.md。


请求频率限制

行为建议
连续发送请求且不延迟429 Too Many Requests
建议延迟每次请求间隔 3 秒
每次执行的 Ticker 数量最多约 5-6 个(以避免被封锁)
退避如果收到 429,请等待 30-60 秒

常见错误

错误原因解决方案
429 Too Many Requests请求频率限制增大 --delay 或等待
slug not found无法解析 Ticker手动使用 --slug
No data found for X端点不可用确认该 Ticker 存在于 Macrotrends 上
originalData not found页面结构已更改报告 issue

Skill 结构

skills/macrotrends/
├── SKILL.md                              # Este archivo
├── references/
│   ├── STATEMENTS_REFERENCE.md           # Referencia de campos
│   └── MARKETS_REFERENCE.md             # Cobertura de mercados y ADRs
└── scripts/
    └── fetch_financials.py               # Script principal

评论

支持 Markdown