mcpField
S
simplywallst

simplywallst

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

关于 simplywallst

simplywallst 是用于全球股票研究的数据抓取 skill,通过 SimplyWallSt 的内部 REST API 获取公司资料、财务分析和 Snowflake 评分。它支持搜索、筛选及下载本地代码快照,供投资研究工作流使用。

主要功能

  1. 01获取六类 Snowflake 评分
  2. 02读取公司资料与财务分析
  3. 03查询历史及预测股息
  4. 04搜索、筛选并列出股票
  5. 05下载并使用代码快照
  6. 06导出 JSON 或 CSV

适用场景

  1. 01比较不同股票的健康度与估值
  2. 02筛选特定市场的公司
  3. 03查阅公司的股息历史及预估
  4. 04用快照快速解析股票代码

安装

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

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

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

附带文件references/REFERENCE.mdscripts/fetch_sws.py

详细介绍

SimplyWallSt — 股票研究与 Snowflake 评分

使用 SimplyWallSt 的内部 REST API(simplywall.st/api/...)提取财务数据。无需 Cloudflare,无需 API 密钥,无需注册。

全球 120,000+ 只股票,提供 snowflake 评分(价值、收入、健康、过往、未来、管理)、估值分析、历史和预测股息、财务健康评分、内部人士交易等。


⚠️ 法律声明

  • SimplyWallSt 没有官方公共 API。此技能使用网页前端的内部端点。
  • 请遵守网站的服务条款。
  • 请实现速率限制(请求间隔至少 300ms)。

安装

pip install requests

脚本

脚本描述
fetch_sws.py完整客户端:列出股票代码、公司详情、snowflake 评分、分析

快速使用

# PRIMERO: Descargar snapshot de tickers (1 vez sola, ~5 min)
python scripts/fetch_sws.py --download-snapshot

# Luego: las búsquedas por ticker usan el snapshot → instantáneas
python scripts/fetch_sws.py --ticker GGAL

# Buscar por nombre
python scripts/fetch_sws.py --search "Galicia"

# Full data con todos los includes (info, score, analysis, extended, raw_data, insider)
python scripts/fetch_sws.py --ticker GGAL --full

# Listar empresas (grid)
python scripts/fetch_sws.py --grid --size 10

# Listar solo tickers disponibles (Argentina)
python scripts/fetch_sws.py --list-tickers --country AR --output tickers_ar.csv

# Snowflake scores de múltiples tickers
python scripts/fetch_sws.py --ticker GGAL,BMA,SUPV --score

# Output a archivo
python scripts/fetch_sws.py --ticker GGAL --full --output ggal_data.json

已发现的端点

端点方法数据状态
/api/grid/filter?include=info,score,gridPOST包含评分和指标的公司列表✅ 可用
/api/company{canonical_url}GET完整公司详情✅ 可用
Company Detail 可用的 Includes
Include数据
info公司简介、行业、国家、员工、CEO
scoreSnowflake 评分(价值、收入、健康、过往、未来、管理)
analysis价格、市值、P/E、P/B、ROE、ROA、EPS、股息、增长
analysis.extended历史股息、派息率、回购、未来 EPS
analysis.extended.raw_data历史财务报表
analysis.extended.raw_data.insider_transactions内部人士交易

覆盖范围

特征详情
全球股票在 90+ 个市场中有 120,000+ 只
阿根廷市场✅ BASE(BCBA)股票代码:GGAL、BMA、SUPV、YPFD 等
美国市场✅ NasdaqGS、NYSE、AMEX
更新频率每日(收盘价)
Snowflake 评分价值、收入、健康、过往、未来、管理
股息19+ 年历史数据,未来预测
内部人士交易✅(如有数据)
分析师共识人数和目标价

脚本标志

标志描述
--ticker TICKER以逗号分隔的股票代码:GGAL 或 GGAL,BMA
--search QUERY按名称搜索
--full包含所有可用的 includes
--score仅 snowflake 评分
--info仅公司信息
--analysis仅分析指标
--extended包含扩展数据
--raw-data包含原始财务数据
--grid通过 grid/filter 列出公司
--list-tickers列出可用股票代码
--country AR按国家筛选(仅限 --grid)
--size N页面大小(默认:24)
--limit N结果数量上限
--download-snapshot将完整股票代码快照下载到 assets/
--snapshot PATH使用指定快照(默认:在 assets/ 中自动查找)
--output archivo.json保存输出
--csv以 CSV 格式输出
--delay N请求间隔(默认:0.3s)

按数据类型查看示例

Snowflake 评分
python scripts/fetch_sws.py --ticker GGAL --score
# → value=0, income=0, health=4, past=1, future=5, management=0
# → "High growth potential with adequate balance sheet."
公司信息
python scripts/fetch_sws.py --ticker GGAL --info
# → name, industry (Banks), country (AR), employees (10032), year_founded (1905)
分析与股息
python scripts/fetch_sws.py --ticker GGAL --analysis --extended
# → P/E, P/B, ROE, ROA, EPS, Debt/Equity, market cap
# → dividend history, payout ratios, future yield
所有数据
python scripts/fetch_sws.py --ticker GGAL --full

使用 grid/filter

grid/filter 会在单次请求中返回可直接使用的公司数据,包含信息、评分和 grid 指标。非常适合用于筛选器:

# Todas las empresas (default: market cap desc)
python scripts/fetch_sws.py --grid --limit 50

# Top 10 Argentina
python scripts/fetch_sws.py --grid --size 10

注意: grid/filter 不支持直接按国家或股票代码筛选。请使用 --list-tickers + --country 在客户端进行筛选。


股票代码快照(推荐)

快照是一个本地 CSV 文件,包含所有可用的上市证券,可用于即时解析股票代码,无需遍历 grid。

下载快照(一次即可,约 10 分钟)
# Descarga completa (~10 min, genera assets/YY-MM-DD-ticker-snapshot.csv)
python scripts/fetch_sws.py --download-snapshot
完整快照的工作原理

API 每个 query 最多返回 10,000 条记录。要获取全部记录,脚本会按 exchange 分区:

  1. 阶段 1:使用默认 query 获取排名前 10K 的记录 → 提取可用的 exchange
  2. 阶段 2:针对每个 exchange,获取所有公司(每个 exchange 的记录数都 < 10K)
  3. 去重:合并所有记录,并按 unique_symbol(exchange + ticker)删除重复项
26-06-04 快照结果
指标数值
唯一 listing 总数(unique_symbol)78,454
覆盖国家/地区83
Exchange106
去重过程中发现的重复项0
请求总数~944
耗时~11 分钟
CSV 大小~6 MB

为什么是 78K 而不是 54K? 对默认 query(按最低分数筛选),API 报告的 total_records=54,530。但按 exchange 分区并使用更简单的规则(exchange_symbol=X + primary_flag=true),可以获取更多记录——包括 ETF、基金、没有评分的公司和 ADR。54K 仅包含符合默认筛选条件的记录。

数据质量验证
检查项结果
重复的 unique_symbol0 — 去重 100% 有效
相同 ticker + 相同 exchange 重复出现3 个案例 — 都是假阳性(前导零:115 ≠ 0115)
跨 exchange 上市的 ticker8,751 — 合理情况,同一家公司在多个市场上市
listing 数量最多的国家/地区US (16,274)、CN (7,016)、IN (6,074)、CA (5,221)、JP (4,764)
不使用快照

不使用快照时,--ticker GGAL 需要遍历 grid,耗时约 30 秒。使用快照后则可即时完成。

快照格式
字段描述
ticker_symbol符号(GGAL、BMA、MSFT 等)
name公司名称
exchange_symbolExchange(BASE、NasdaqGS、NYSE)
canonical_urlcompany detail 的 API 路径
unique_symbolExchange + Ticker(唯一键)
country国家/地区 ISO 代码
industry行业
employees员工人数
year_founded成立年份
score_value/income/health/past/future/management/totalSnowflake 评分
share_price当前价格
market_cap市值(本地货币)
pe_ratio、pb_ratio倍数
指定快照
python scripts/fetch_sws.py --snapshot assets/26-06-04-ticker-snapshot.csv --ticker GGAL

交易所 → 国家/地区映射

交易所国家/地区上市数量描述
OTCPKUS6,138OTC Markets Pink(美国)
TSEJP4,693Tokyo Stock Exchange(日本)
BSEIN3,833BSE India(原 Bombay SE)
SZSECN3,723Shenzhen Stock Exchange(中国)
SHSECN3,293Shanghai Stock Exchange(中国)
SEHKHK3,019Hong Kong Exchange
NYSEUS2,574New York Stock Exchange
ASXAU2,527Australian Securities Exchange
TSXCA2,381Toronto Stock Exchange(加拿大)
NasdaqGMUS2,304NASDAQ Global Market
NSEIIN2,241National Stock Exchange of India
KOSEKR2,075Korea Exchange(KOSPI)
TSXVCA1,999TSX Venture Exchange(加拿大)
KOSDAQKR1,997KOSDAQ(韩国)
LSEGB1,963London Stock Exchange
NasdaqCMUS1,854NASDAQ Capital Market
BATSUS1,575BATS Exchange(美国)
NasdaqGSUS1,532NASDAQ Global Select
BMEES1,514Bolsas y Mercados Españoles
TPEXTW1,430Taipei Exchange(台湾)
AIMGB1,310AIM(London Stock Exchange)
TWSETW1,292Taiwan Stock Exchange
KLSEMY1,172Bursa Malaysia
ENXTPAFR1,147Euronext Paris
XTRADE1,135Xetra(Deutsche Börse)
BOVESPABR1,120B3(巴西)
TASEIL1,029Tel Aviv Stock Exchange
SETTH993Stock Exchange of Thailand
IDXID985Indonesia Stock Exchange
OMSE852OMX Nordic(斯德哥尔摩)
WSEPL849Warsaw Stock Exchange
OBNO811Oslo Børs(挪威)
CNSXCA777Canadian Securities Exchange
JSEZA754Johannesburg Stock Exchange
DBDE648Deutsche Börse(法兰克福)
SNSECL647Santiago Stock Exchange(智利)
CPSEDK636Copenhagen Stock Exchange
BITIT625Borsa Italiana
SWXCH588SIX Swiss Exchange
IBSEIE577Irish Stock Exchange
HOSEVN572Ho Chi Minh Stock Exchange
HNXVN417Hanoi Stock Exchange
SGXSG398Singapore Exchange
DSEBD443Dhaka Stock Exchange
DFMAE70Dubai Financial Market
ADXAE85Abu Dhabi Securities Exchange
BASEAR84Bolsa de Buenos Aires(阿根廷)
BMVMX147Bolsa Mexicana de Valores
BVLPE102Bolsa de Valores de Lima(秘鲁)
BVCCO56Bolsa de Valores de Colombia
.........共 106 家交易所

106 家交易所的完整映射见 references/REFERENCE.md。


技能结构

skills/simplywallst/
├── SKILL.md                              # Este archivo
├── references/
│   └── REFERENCE.md                      # Documentación completa de endpoints y data
├── scripts/
│   └── fetch_sws.py                      # Script principal
└── assets/
    └── YY-MM-DD-ticker-snapshot.csv      # Snapshot de tickers (generado)

📖 详细文档: 请查阅 references/REFERENCE.md,获取包含回复示例、字段和技术注意事项的详尽文档。

评论

支持 Markdown