一键导入
simplywallst
Data financiera de 120K+ stocks globales: snowflake scores, valuation, financial health, dividend analysis, insider transactions. Sin API key.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Data financiera de 120K+ stocks globales: snowflake scores, valuation, financial health, dividend analysis, insider transactions. Sin API key.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
History of Market (historyofmarket.com) — API publica con 88 datasets historicos de indices US desde 1871. S&P 500 (price, CAPE, EPS, drawdowns, changes, constituents), Nasdaq Composite/Nasdaq 100 (price, volatility, VXN, changes), Dow Jones, SOX/SMH, sector ETFs (XLK, XLF), Magnificent 7 y macro. Sin API key, CORS libre, CC BY 4.0.
API no oficial de Yahoo Finance: precios, históricos, fundamentales, opciones, noticias en JSON puro sin wrappers.
Construcción y optimización cuantitativa de portafolios: Markowitz (scipy.optimize + Monte Carlo), Black-Litterman (prior CAPM, views absolutas/relativas, posterior bayesiano), HRP/HERC/NCO (clustering jerárquico, risk parity, NCO con restricciones). Todo flat numpy + scipy, sin Riskfolio-Lib ni PyPortfolioOpt.
Trading API de Primary (Matba ROFEX): futuros, opciones, acciones, bonos. Órdenes, posiciones, cuenta, market data.
Academic backtesting framework for quantitative research. ~30 risk and performance ratios, 10 classes of indicators, event-driven engine with 6+ strategies, MPT optimizer, forward-looking simulation with Johnson SU + t-Copula, walk-forward CV, stress testing, fundamental analysis (Altman Z, Piotroski, DuPont). All flat Python + numpy.
Pricing completo de opciones europeas y americanas. 9 metodos: Black-Scholes, Binomial CRR, Trinomial, Monte Carlo (antithetic) + Longstaff-Schwartz, Bjerksund-Stensland 2002 / BAW (American closed-form), Heston 1993 (vol estocastica, sonrisa via Fourier), Bates 1996 (Heston + Merton jumps, crash risk), greeks (BS), implied vol, P(ITM) y P(Profit). Disenado para backtesting: cada funcion es flat Python vectorizado con numpy (sin abstracciones), usa math.erfc (no scipy). BS 2.4 us/op, BS2 3.6 us, Heston 400 us, Binomial N=500 5.6 ms. CLI con 15 modos mas validate y bench. Time complexity O(1) para todos los closed-form.
| name | simplywallst |
| description | Data financiera de 120K+ stocks globales: snowflake scores, valuation, financial health, dividend analysis, insider transactions. Sin API key. |
| license | MIT |
Extrae datos financieros de SimplyWallSt usando su API REST interna (simplywall.st/api/...). Sin Cloudflare, sin API key, sin registro.
120,000+ stocks globales con snowflake scores (value, income, health, past, future, management), análisis de valuación, dividendos históricos y proyectados, score de salud financiera, insider transactions, y más.
pip install requests
| Script | Descripción |
|---|---|
| fetch_sws.py | Cliente completo: listar tickers, company detail, snowflake scores, análisis |
# 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
| Endpoint | Método | Data | Status |
|---|---|---|---|
/api/grid/filter?include=info,score,grid | POST | Listado de empresas con scores y métricas | ✅ Funciona |
/api/company{canonical_url} | GET | Detail completo de una empresa | ✅ Funciona |
| Include | Data |
|---|---|
info | Perfil corporativo, industria, país, empleados, CEO |
score | Snowflake scores (value, income, health, past, future, management) |
analysis | Precio, market cap, P/E, P/B, ROE, ROA, EPS, dividendos, growth |
analysis.extended | Dividendos históricos, payout ratio, buyback, future EPS |
analysis.extended.raw_data | Financial statements históricos |
analysis.extended.raw_data.insider_transactions | Insider trading |
| Característica | Detalle |
|---|---|
| Stocks globales | 120,000+ en 90+ mercados |
| Mercados Argentina | ✅ BASE (BCBA) tickers: GGAL, BMA, SUPV, YPFD, etc. |
| Mercados US | ✅ NasdaqGS, NYSE, AMEX |
| Actualización | Diaria (precio de cierre) |
| Snowflake scores | Value, Income, Health, Past, Future, Management |
| Dividendos | Histórico 19+ años, proyecciones futuras |
| Insider transactions | ✅ (cuando están disponibles) |
| Analistas | Consensus count y price targets |
| Flag | Descripción |
|---|---|
--ticker TICKER | Ticker(s) separados por coma: GGAL o GGAL,BMA |
--search QUERY | Buscar por nombre |
--full | Todos los includes disponibles |
--score | Solo snowflake scores |
--info | Solo info corporativa |
--analysis | Solo métricas de análisis |
--extended | Incluir data extendida |
--raw-data | Incluir raw data financiera |
--grid | Listar companies via grid/filter |
--list-tickers | Listar tickers disponibles |
--country AR | Filtrar por país (solo --grid) |
--size N | Tamaño de página (default: 24) |
--limit N | Límite de resultados |
--download-snapshot | Descargar snapshot completo de tickers a assets/ |
--snapshot PATH | Usar snapshot específico (default: auto-buscar en assets/) |
--output archivo.json | Guardar output |
--csv | Output en CSV |
--delay N | Delay entre requests (default: 0.3s) |
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
El grid/filter devuelve companies listas para consumir con info + scores + grid metrics en un solo request. Ideal para screener:
# 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
Nota: El grid/filter no permite filtros por país o ticker directamente. Usar
--list-tickers+--countrypara filtrar client-side.
El snapshot es un archivo CSV local con todos los listings disponibles que permite resolver tickers al instante sin iterar el grid.
# Descarga completa (~10 min, genera assets/YY-MM-DD-ticker-snapshot.csv)
python scripts/fetch_sws.py --download-snapshot
El API tiene un límite de 10,000 registros por query. Para obtener todos, el script usa particionado por exchange:
unique_symbol (exchange + ticker)26-06-04| Métrica | Valor |
|---|---|
Total listings únicos (unique_symbol) | 78,454 |
| Países cubiertos | 83 |
| Exchanges | 106 |
| Duplicados en el proceso de dedup | 0 |
| Requests totales | ~944 |
| Duración | ~11 min |
| Tamaño del CSV | ~6 MB |
¿Por qué 78K y no 54K? El API reporta
total_records=54,530para la query default (que filtra por scores mínimos). Pero al particionar por exchange con reglas más simples (exchange_symbol=X+primary_flag=true), se obtienen muchos más — ETFs, fondos, companies sin scores, y ADRs. Las 54K son solo las que cumplen los filtros default.
| Control | Resultado |
|---|---|
unique_symbol duplicados | 0 — dedup 100% efectivo |
| Mismo ticker + mismo exchange repetido | 3 casos — todos son falsos positivos (leading zeros: 115 ≠ 0115) |
| Tickers cross-listed (múltiples exchanges) | 8,751 — legítimo, una empresa listada en varios mercados |
| Países con más listings | US (16,274), CN (7,016), IN (6,074), CA (5,221), JP (4,764) |
Sin snapshot, --ticker GGAL tarda ~30s iterando el grid. Con snapshot, es instantáneo.
| Campo | Descripción |
|---|---|
ticker_symbol | Símbolo (GGAL, BMA, MSFT, etc.) |
name | Nombre de la empresa |
exchange_symbol | Exchange (BASE, NasdaqGS, NYSE) |
canonical_url | Ruta API para company detail |
unique_symbol | Exchange + Ticker (clave única) |
country | Código ISO país |
industry | Industria |
employees | N° empleados |
year_founded | Año fundación |
score_value/income/health/past/future/management/total | Snowflake scores |
share_price | Precio actual |
market_cap | Market cap (moneda local) |
pe_ratio, pb_ratio | Múltiplos |
python scripts/fetch_sws.py --snapshot assets/26-06-04-ticker-snapshot.csv --ticker GGAL
| Exchange | País | Listings | Descripción |
|---|---|---|---|
OTCPK | US | 6,138 | OTC Markets Pink (EEUU) |
TSE | JP | 4,693 | Tokyo Stock Exchange (Japón) |
BSE | IN | 3,833 | BSE India (antes Bombay SE) |
SZSE | CN | 3,723 | Shenzhen Stock Exchange (China) |
SHSE | CN | 3,293 | Shanghai Stock Exchange (China) |
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 (Canadá) |
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 (Canadá) |
KOSDAQ | KR | 1,997 | KOSDAQ (Corea) |
LSE | GB | 1,963 | London Stock Exchange |
NasdaqCM | US | 1,854 | NASDAQ Capital Market |
BATS | US | 1,575 | BATS Exchange (EEUU) |
NasdaqGS | US | 1,532 | NASDAQ Global Select |
BME | ES | 1,514 | Bolsas y Mercados Españoles |
TPEX | TW | 1,430 | Taipei Exchange (Taiwán) |
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 (Brasil) |
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 (Estocolmo) |
WSE | PL | 849 | Warsaw Stock Exchange |
OB | NO | 811 | Oslo Børs (Noruega) |
CNSX | CA | 777 | Canadian Securities Exchange |
JSE | ZA | 754 | Johannesburg Stock Exchange |
DB | DE | 648 | Deutsche Börse (Frankfurt) |
SNSE | CL | 647 | Santiago Stock Exchange (Chile) |
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 (Argentina) |
BMV | MX | 147 | Bolsa Mexicana de Valores |
BVL | PE | 102 | Bolsa de Valores de Lima (Perú) |
BVC | CO | 56 | Bolsa de Valores de Colombia |
| ... | ... | ... | 106 exchanges en total |
El mapping completo de los 106 exchanges está en 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)
📖 Documentación detallada: Consultá references/REFERENCE.md para la documentación exhaustiva con ejemplos de respuesta, campos, y consideraciones técnicas.