Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
gauss314 avatar

Byma

  • 199 installs
  • 173 repo stars
  • Updated June 14, 2026
  • gauss314/skills

For development and infrastructure management.

About

byma is an AI coding tool that enhances development workflows. Builders use it for infrastructure, integration, and platform development within the catalog ecosystem.

  • byma
  • Development

Byma by the numbers

  • 199 all-time installs (skills.sh)
  • Ranked #2,000 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/gauss314/skills --skill byma

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs199
repo stars173
Last updatedJune 14, 2026
Repositorygauss314/skills

What it does

For development and infrastructure management.

Files

SKILL.mdMarkdownGitHub ↗

BYMA — Bolsas y Mercados Argentinos

Skill para extraer datos de mercado de BYMA via su API publica de market data (open.bymadata.com.ar) — sin API key, sin autenticacion.

BYMA es la bolsa principal de Argentina (sucesora del Merval) donde se negocian:

  • Acciones lideres (panel de 20 simbolos del MERVAL).
  • CEDEARs (~1143 unicos x 2 settlements).
  • Bonos publicos soberanos + LECAPs + BONCAPs (~104 unicos x 6 variantes).
  • Obligaciones Negociables (ON) corporativas (~2117 items).
  • SENEBI ON (segmento bilateral, ~3160 items).
  • Cauciones (133 items, formato DOLAR-DDMM-U-CT-USD).
  • Opciones (~429 items con strike, OI, vencimiento).
  • Indices: S&P MERVAL (M), BURCAP (G).
  • Historicos OHLCV diarios/semanales/mensuales para todos los instrumentos.
  • Ficha tecnica de bonos (forma de amortizacion, intereses step-up, ISIN, ley aplicable, emisor).

---

⚠️ Aviso Legal

  • API publica de BYMA, sin documentacion oficial. Los endpoints pueden cambiar sin aviso.
  • Respetar terminos de uso de BYMA. No hacer mas de 1 req/segundo.
  • Los datos son delayed (~15 min tipico de mercado argentino).
  • Para uso comercial intensivo, contactar BYMA para licencias oficiales.

---

🔒 Nota sobre certificado SSL

BYMA presenta un certificado SSL cuya CA intermedia no esta incluida en el bundle certifi estandar de Python. Esto causa:

SSLError: CERTIFICATE_VERIFY_FAILED

El script usa `verify=False` — la conexion sigue siendo TLS-encriptada pero se omite la validacion de cadena. Es el patron estandar de las librerias publicas de BYMA (pyhomebroker, bymadata, etc.).

Si preferis no usar verify=False, podes instalar el cert intermedio de BYMA en tu trust store del sistema.

---

Scripts

ScriptDescripcion
[fetch_byma.py](./scripts/fetch_byma.py)Script principal: todos los endpoints disponibles

---

Uso rapido

# ── PANELES (POST) ────────────────────────────────────────────────────

# Panel lideres: 20 acciones MERVAL x 2 settlements (40 items)
py scripts/fetch_byma.py panel leading-equity
py scripts/fetch_byma.py panel leading-equity --t0    # solo CI (T+0)
py scripts/fetch_byma.py panel leading-equity --t1    # solo 24hs (T+1)

# Panel CEDEARs (~2000 items, lista directa)
py scripts/fetch_byma.py panel cedears

# Panel bonos publicos (1018 items, paginado a 189 por defecto)
py scripts/fetch_byma.py panel public-bonds
py scripts/fetch_byma.py panel public-bonds --all     # trae los 1018 en una llamada

# Panel ON corporativas (~2117 items, lista directa)
py scripts/fetch_byma.py panel on

# Panel cauciones (~133 items)
py scripts/fetch_byma.py panel cauciones

# Panel SENEBI ON (3160 items, paginado)
py scripts/fetch_byma.py panel senebi-on
py scripts/fetch_byma.py panel senebi-on --all        # trae los 3160 en una llamada

# Panel opciones (~429 items, con strike, OI, vencimiento)
py scripts/fetch_byma.py panel options

# ── HISTORICOS OHLCV (GET) ────────────────────────────────────────────

# Historico de un instrumento — formato simbolo: "TICKER 24HS"
py scripts/fetch_byma.py historico "GGAL 24HS"
py scripts/fetch_byma.py historico "ALUA 24HS"
py scripts/fetch_byma.py historico "AAPL 24HS"        # CEDEAR ARS
py scripts/fetch_byma.py historico "AAPLD 24HS"       # CEDEAR USD
py scripts/fetch_byma.py historico "AL30 24HS"        # Bono ARS
py scripts/fetch_byma.py historico "AL30D 24HS"       # Bono USD
py scripts/fetch_byma.py historico "AL30C 24HS"       # Bono CCL
py scripts/fetch_byma.py historico "GD30 24HS"
py scripts/fetch_byma.py historico "TZX26 24HS"       # BONCAP
py scripts/fetch_byma.py historico "TY30P 24HS"       # BONCAP

# Con rango de fechas (default: ultimos 30 dias)
py scripts/fetch_byma.py historico "GGAL 24HS" --desde 2024-05-15 --hasta 2026-06-05

# Resolutions: D (diario), W (semanal), M (mensual)
py scripts/fetch_byma.py historico "GGAL 24HS" --resolution W
py scripts/fetch_byma.py historico "GGAL 24HS" --resolution M

# ── INDICES ────────────────────────────────────────────────────────────

# Historico del S&P MERVAL
py scripts/fetch_byma.py indice M
py scripts/fetch_byma.py indice M --desde 2025-01-01 --hasta 2026-06-05

# Historico del BURCAP
py scripts/fetch_byma.py indice G

# ── FICHA TECNICA DE BONOS ─────────────────────────────────────────────

# Ficha tecnica completa: forma de amortizacion, intereses, ISIN, ley, emisor
py scripts/fetch_byma.py bond-info AE38            # Bono soberano USD 2038 step-up
py scripts/fetch_byma.py bond-info AL30            # Bono soberano USD 2030 ley local
py scripts/fetch_byma.py bond-info GD30            # Bono soberano USD 2030 ley NY
py scripts/fetch_byma.py bond-info AE38C           # Variante CCL (misma ficha)
py scripts/fetch_byma.py bond-info AE38D           # Variante USD MEP (misma ficha)
py scripts/fetch_byma.py bond-info BPOA7           # BOPREAL Serie 1 A
py scripts/fetch_byma.py bond-info TY30P           # BONCAP
py scripts/fetch_byma.py bond-info TZX26           # BONCAP CER
py scripts/fetch_byma.py bond-info S237Q           # LECAP
py scripts/fetch_byma.py bond-info SBC1C           # ON corporativa

# ── COMBINADO ──────────────────────────────────────────────────────────

# Snapshot de todos los paneles + MERVAL + BURCAP
py scripts/fetch_byma.py all

# ── OUTPUT ─────────────────────────────────────────────────────────────

# Guardar a archivo JSON
py scripts/fetch_byma.py panel leading-equity -o leading.json
py scripts/fetch_byma.py all -o snapshot_byma.json

# Modo silencioso (solo JSON, sin logs)
py scripts/fetch_byma.py panel cauciones -q

---

Endpoints disponibles

ModoDataEndpoint
panel leading-equityTop 20 acciones MERVAL x 2 settlements (40 items)POST /leading-equity
panel cedearsCEDEARs (~2000 items)POST /cedears
panel public-bondsBonos soberanos + LECAPs/BONCAPs (~1018 items)POST /public-bonds
panel onONs corporativas (~2117 items)POST /negociable-obligations
panel caucionesCauciones (~133 items)POST /cauciones
panel senebi-onSENEBI ONs (~3160 items, paginado)POST /senebi-obligaciones-negociables
panel optionsOpciones (~429 items)POST /options
historico <SYM>OHLCV diario/semanal/mensual de un instrumentoGET /chart/historical-series/history?symbol={...}
indice <COD>OHLCV de un indice (M=MERVAL, G=BURCAP)GET /chart/index-historical-series/history?symbol={...}
bond-info <TICKER>Ficha tecnica de bono/LECAP/BONCAP/ON (amortizacion, intereses, ISIN, emisor)POST /bnown/fichatecnica/especies/general
allSnapshot de todos los paneles + indices(combinado)

Total: 10 endpoints publicos verificados ✅ (8 POST + 2 historicos GET).

Base URL

https://open.bymadata.com.ar/vanoms-be-core/rest/api/bymadata/free

---

Convenciones de simbolos

Historicos: formato TICKER 24HS

⚠️ TODOS los historicos requieren el sufijo ` 24HS` (con espacio). Sin sufijo retorna HTTP 400. El sufijo CI tambien retorna 400 (no soportado). 48HS retorna 200 con 0 puntos.

TipoEjemplo
AccionGGAL 24HS, ALUA 24HS, YPFD 24HS
CEDEAR ARSAAPL 24HS, MSFT 24HS
CEDEAR USDAAPLD 24HS, MSFTD 24HS
Bono soberano ARSAL30 24HS, GD30 24HS, AE38 24HS
Bono soberano USD MEPAL30D 24HS, GD30D 24HS
Bono soberano CCLAL30C 24HS, GD30C 24HS
LECAP/BONCAPTY30P 24HS, TZX26 24HS

Bonos: convencion de sufijos por moneda

SufijoVarianteEjemplo
(sin)ARS — paridad en pesosAL30
CCCL (Contado con Liquidacion / EXT)AL30C
DUSD MEPAL30D
X, Y, Zotras variantes (intra-day, settlement alt.)AL30X

Indices conocidos

CodigoIndice
MS&P MERVAL
GBURCAP

Otros codigos (A, B, V, etc.) son aceptados pero retornan series con todos ceros — probablemente indices deprecated.

---

Filtros comunes en POST paneles

FiltroDescripcion
T0=trueSolo settlementType=1 (CI / Contado Inmediato)
T1=trueSolo settlementType=2 (24hs)
T2=trueSolo settlementType=3 (48hs — practicamente vacio)
page_size=5000Trae todo el dataset en una sola llamada (recomendado para public-bonds y senebi-on)

⚠️ El parametro page (numero de pagina) es ignorado por la API — siempre devuelve pagina 1. Workaround: usar page_size grande o flag --all.

---

Consideraciones tecnicas

Datos devueltos por panel (todos)

Cada item incluye:

CampoTipoDescripcion
symbolstringTicker BYMA.
settlementTypestring"1" (CI) o "2" (24hs).
securityTypestringCS (Common Stock), CD (CEDEAR), GO (Government Obligation), CORP (ON), QS (Caucion), OPT (Option).
denominationCcystringARS, USD, EXT.
marketstringBYMA o SENEBI.
tradefloatUltimo precio operado.
closingPricefloatCierre del dia.
settlementPricefloatPrecio de settlement.
openingPrice, tradingHighPrice, tradingLowPricefloatOHL del dia.
previousClosingPrice, previousSettlementPricefloatCierre / settlement anterior.
imbalancefloatVariacion % vs anterior (decimal: -0.0098 = -0.98%).
volume, tradeVolumefloatVolumen nominal.
volumeAmountfloatMonto efectivo en moneda.
vwapfloatVolume-Weighted Average Price.
bidPrice, offerPricefloatMejor bid/offer (0 fuera de horario).
quantityBid, quantityOfferfloatCantidades de bid/offer.
numberOfOrdersintNumero total de ordenes del dia.
openInterestfloatInteres abierto (real en opciones/cauciones; 0 en acciones).
tickDirectionint-1 / 0 / +1 (downtick / unchanged / uptick).
tradeHourstringHora del ultimo trade.

Campos extra en bonos / ONs / cauciones / opciones

CampoDescripcion
maturityDateFecha de vencimiento (ISO YYYY-MM-DD).
daysToMaturityDias hasta vencimiento.
underlyingSymbolUnderlying (solo cauciones y opciones).
optionTypeCALL o PUT (solo opciones).

Datos devueltos por historico e indice

{
  "s": "ok",
  "t": [unix_seconds, ...],
  "o": [opens, ...],
  "h": [highs, ...],
  "l": [lows, ...],
  "c": [closes, ...],
  "v": [volumes, ...]
}
CampoDescripcion
sStatus: "ok", "no_data", "error".
t[]Timestamps unix UTC SECONDS (no millis).
o[], h[], l[], c[]OHLC alineados por indice.
v[]Volumen (suele ser 0 en indices).

Datos devueltos por bond-info

Devuelve {content, data, empty, upgrade} donde data[0] (cuando existe) contiene la ficha tecnica del bono. Para acciones, opciones y tickers inexistentes: data: [] y empty: true.

Campos del data[0]:

CampoTipoDescripcion
leystringJurisdiccion aplicable: Nacional, Extranjera, Nueva York, Inglaterra. Critico para distinguir AL30 (ley local) de GD30 (ley NY).
formaAmortizacionstringTEXTO PLANO con el cronograma de amortizacion (numero de cuotas, periodicidad, fechas, %). Para bullet: "Al vencimiento".
interesstringTEXTO PLANO con esquema de devengo de intereses. Para step-up describe cada tramo de tasa. Para CER describe el ajuste por inflacion.
denominacionMinimaintDenominacion minima de emision.
fechaEmisionstringYYYY-MM-DD HH:MM:SS.f.
fechaVencimientostringYYYY-MM-DD HH:MM:SS.f.
fechaDevenganInteresesstringFecha inicio devengo (suele estar vacia).
codigoIsinstringISIN del instrumento.
tipoEspeciestringTitulos Publicos, Obligaciones Negociables, Letras del Tesoro.
tipoObligacionstringClasificacion regulatoria: Valores Publicos Nacionales, Provinciales, Corporativos.
tipoGarantiastringComun, etc.
defaultstringEstado de default (vacio si esta al dia).
montoNominalintMonto nominal total emitido.
montoResidualintMonto residual actual (post-amortizaciones).
denominacionstringNombre oficial completo del bono.
insTypestringBOND.
paisLeystringPais de ley aplicable.
monedastringDolares, Pesos, Pesos Ajustables por CER, Dolar Linked.
emisorstringGobierno Nacional, Provincia de Buenos Aires, YPF S.A., etc.

Diferencia entre paneles dict y list

PanelTipo responseEstructura
leading-equity, public-bonds, senebi-ondict{content: {page_number, page_count, page_size, total_elements_count}, data: [...], empty, upgrade}
cedears, on, cauciones, optionslist[item, item, ...] directo

Flags adicionales

FlagDescripcion
--allForza page_size=5000 para traer todo en una sola llamada
--t0Solo settlementType=1 (CI)
--t1Solo settlementType=2 (24hs)
--page NNumero de pagina (ignorado por la API — usar --all)
--page-size NItems por pagina (default: 200)
--desde YYYY-MM-DDFecha desde (historicos)
--hasta YYYY-MM-DDFecha hasta (historicos)
--resolution XD, W, M (default: D)
-o archivo.jsonGuardar output a archivo
-q / --quietModo silencioso (solo JSON)

Rate limiting

No hay rate limiting documentado. Recomendado:

  • Minimo 0.3 segundos entre requests.
  • El modo all usa time.sleep(0.3) automaticamente.

Manejo de errores

StatusCausas tipicas
400Simbolo invalido (sin 24HS, ticker desconocido)
401Endpoint inexistente (BYMA usa 401 generico, no 404)
415Content-Type erroneo (POST debe ser application/json)
500Error interno de BYMA

Conversion de fechas

from datetime import datetime, timezone
# Unix seconds -> datetime
dt = datetime.fromtimestamp(ts, tz=timezone.utc)
# datetime -> Unix seconds
ts = int(datetime(2026, 6, 5, tzinfo=timezone.utc).timestamp())

---

Estructura del skill

skills/byma/
├── SKILL.md                          # Este archivo (guia rapida)
├── references/
│   └── REFERENCE.md                  # Documentacion completa de todos los endpoints
└── scripts/
    └── fetch_byma.py                 # Script principal

---

Documentacion detallada: Consultar references/REFERENCE.md
para documentacion exhaustiva de cada endpoint, schemas JSON, codigos
de settlementType/securityType, manejo del cert SSL, paginacion y
consideraciones tecnicas.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.