关于 simplywallst
simplywallst 是用于全球股票研究的数据抓取 skill,通过 SimplyWallSt 的内部 REST API 获取公司资料、财务分析和 Snowflake 评分。它支持搜索、筛选及下载本地代码快照,供投资研究工作流使用。
主要功能
- 01获取六类 Snowflake 评分
- 02读取公司资料与财务分析
- 03查询历史及预测股息
- 04搜索、筛选并列出股票
- 05下载并使用代码快照
- 06导出 JSON 或 CSV
适用场景
- 01比较不同股票的健康度与估值
- 02筛选特定市场的公司
- 03查阅公司的股息历史及预估
- 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,grid | POST | 包含评分和指标的公司列表 | ✅ 可用 |
/api/company{canonical_url} | GET | 完整公司详情 | ✅ 可用 |
Company Detail 可用的 Includes
| Include | 数据 |
|---|---|
info | 公司简介、行业、国家、员工、CEO |
score | Snowflake 评分(价值、收入、健康、过往、未来、管理) |
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:使用默认 query 获取排名前 10K 的记录 → 提取可用的 exchange
- 阶段 2:针对每个 exchange,获取所有公司(每个 exchange 的记录数都 < 10K)
- 去重:合并所有记录,并按
unique_symbol(exchange + ticker)删除重复项
26-06-04 快照结果
| 指标 | 数值 |
|---|---|
唯一 listing 总数(unique_symbol) | 78,454 |
| 覆盖国家/地区 | 83 |
| Exchange | 106 |
| 去重过程中发现的重复项 | 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_symbol | 0 — 去重 100% 有效 |
| 相同 ticker + 相同 exchange 重复出现 | 3 个案例 — 都是假阳性(前导零:115 ≠ 0115) |
| 跨 exchange 上市的 ticker | 8,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_symbol | Exchange(BASE、NasdaqGS、NYSE) |
canonical_url | company detail 的 API 路径 |
unique_symbol | Exchange + Ticker(唯一键) |
country | 国家/地区 ISO 代码 |
industry | 行业 |
employees | 员工人数 |
year_founded | 成立年份 |
score_value/income/health/past/future/management/total | Snowflake 评分 |
share_price | 当前价格 |
market_cap | 市值(本地货币) |
pe_ratio、pb_ratio | 倍数 |
指定快照
python scripts/fetch_sws.py --snapshot assets/26-06-04-ticker-snapshot.csv --ticker GGAL
交易所 → 国家/地区映射
| 交易所 | 国家/地区 | 上市数量 | 描述 |
|---|---|---|---|
OTCPK | US | 6,138 | OTC Markets Pink(美国) |
TSE | JP | 4,693 | Tokyo Stock Exchange(日本) |
BSE | IN | 3,833 | BSE India(原 Bombay SE) |
SZSE | CN | 3,723 | Shenzhen Stock Exchange(中国) |
SHSE | CN | 3,293 | Shanghai Stock Exchange(中国) |
SEHK | HK | 3,019 | Hong Kong Exchange |
NYSE | US | 2,574 | New York Stock Exchange |
ASX | AU | 2,527 | Australian Securities Exchange |
TSX | CA | 2,381 | Toronto Stock Exchange(加拿大) |
NasdaqGM | US | 2,304 | NASDAQ Global Market |
NSEI | IN | 2,241 | National Stock Exchange of India |
KOSE | KR | 2,075 | Korea Exchange(KOSPI) |
TSXV | CA | 1,999 | TSX Venture Exchange(加拿大) |
KOSDAQ | KR | 1,997 | KOSDAQ(韩国) |
LSE | GB | 1,963 | London Stock Exchange |
NasdaqCM | US | 1,854 | NASDAQ Capital Market |
BATS | US | 1,575 | BATS Exchange(美国) |
NasdaqGS | US | 1,532 | NASDAQ Global Select |
BME | ES | 1,514 | Bolsas y Mercados Españoles |
TPEX | TW | 1,430 | Taipei Exchange(台湾) |
AIM | GB | 1,310 | AIM(London Stock Exchange) |
TWSE | TW | 1,292 | Taiwan Stock Exchange |
KLSE | MY | 1,172 | Bursa Malaysia |
ENXTPA | FR | 1,147 | Euronext Paris |
XTRA | DE | 1,135 | Xetra(Deutsche Börse) |
BOVESPA | BR | 1,120 | B3(巴西) |
TASE | IL | 1,029 | Tel Aviv Stock Exchange |
SET | TH | 993 | Stock Exchange of Thailand |
IDX | ID | 985 | Indonesia Stock Exchange |
OM | SE | 852 | OMX Nordic(斯德哥尔摩) |
WSE | PL | 849 | Warsaw Stock Exchange |
OB | NO | 811 | Oslo Børs(挪威) |
CNSX | CA | 777 | Canadian Securities Exchange |
JSE | ZA | 754 | Johannesburg Stock Exchange |
DB | DE | 648 | Deutsche Börse(法兰克福) |
SNSE | CL | 647 | Santiago Stock Exchange(智利) |
CPSE | DK | 636 | Copenhagen Stock Exchange |
BIT | IT | 625 | Borsa Italiana |
SWX | CH | 588 | SIX Swiss Exchange |
IBSE | IE | 577 | Irish Stock Exchange |
HOSE | VN | 572 | Ho Chi Minh Stock Exchange |
HNX | VN | 417 | Hanoi Stock Exchange |
SGX | SG | 398 | Singapore Exchange |
DSE | BD | 443 | Dhaka Stock Exchange |
DFM | AE | 70 | Dubai Financial Market |
ADX | AE | 85 | Abu Dhabi Securities Exchange |
BASE | AR | 84 | Bolsa de Buenos Aires(阿根廷) |
BMV | MX | 147 | Bolsa Mexicana de Valores |
BVL | PE | 102 | Bolsa de Valores de Lima(秘鲁) |
BVC | CO | 56 | Bolsa 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,获取包含回复示例、字段和技术注意事项的详尽文档。