mcpField
B
byma

byma

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

关于 byma

byma 是通过 BYMA 公共 API 获取阿根廷市场数据的命令行技能,无需 API 认证。它涵盖证券面板、历史价格和债券资料。

主要功能

  1. 01获取股票、CEDEAR 和债券面板
  2. 02查询回购及期权数据
  3. 03获取日、周、月 OHLCV 历史数据
  4. 04查询债券技术资料

适用场景

  1. 01查看 BYMA 各类证券的价格和交易字段
  2. 02获取股票代码或指数的历史价格
  3. 03查询债券到期日、摊还安排和发行方

安装

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

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

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

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

详细介绍

BYMA — 阿根廷证券交易所

用于从 BYMA 提取市场数据的技能, 通过其公开市场数据 API(open.bymadata.com.ar)——无需 API 密钥,无需身份验证。

BYMA 是阿根廷的主要证券交易所(Merval 的继任者),交易品种包括:

  • 领先股票(MERVAL 的 20 个成分股)。
  • CEDEARs(约 1143 个唯一品种 × 2 种结算方式)。
  • 主权公共债券 + LECAPs + BONCAPs(约 104 个唯一品种 × 6 种变体)。
  • 企业可转让债务(ON)(约 2117 项)。
  • SENEBI ON(双边交易板块,约 3160 项)。
  • 回购交易(133 项,格式为 DOLAR-DDMM-U-CT-USD)。
  • 期权(约 429 项,包含行权价、未平仓量和到期日)。
  • 指数:S&P MERVAL(M)、BURCAP(G)。
  • 所有工具的日线/周线/月线 OHLCV 历史数据。
  • 债券技术信息表(还本方式、阶梯式利息、ISIN、适用法律、发行方)。

⚠️ 法律声明

  • BYMA 的公开 API 没有官方文档。端点可能随时变更,恕不另行通知。
  • 请遵守 BYMA 的使用条款。每秒请求次数不得超过 1 次。
  • 数据存在延迟(阿根廷市场通常约 15 分钟)。
  • 如需大量商业用途,请联系 BYMA 获取官方许可。

🔒 SSL 证书说明

BYMA 使用的 SSL 证书,其 CA 中间证书未包含在 Python 标准的 certifi 证书包中。这会导致:

SSLError: CERTIFICATE_VERIFY_FAILED

脚本使用 verify=False——连接仍通过 TLS 加密,但会跳过证书链验证。这是 BYMA 公共库(pyhomebroker、bymadata 等)的标准做法。

如果你不想使用 verify=False,可以将 BYMA 的中间证书安装到系统信任存储区。


脚本

脚本描述
fetch_byma.py主脚本:所有可用端点

快速使用

# ── 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

可用端点

模式数据端点
panel leading-equityMERVAL 前 20 只股票 × 2 种结算方式(40 项)POST /leading-equity
panel cedearsCEDEARs(约 2000 项)POST /cedears
panel public-bonds主权债券 + LECAPs/BONCAPs(约 1018 项)POST /public-bonds
panel on企业 ON(约 2117 项)POST /negociable-obligations
panel cauciones回购交易(约 133 项)POST /cauciones
panel senebi-onSENEBI ON(约 3160 项,分页)POST /senebi-obligaciones-negociables
panel options期权(约 429 项)POST /options
historico <SYM>某工具的日线/周线/月线 OHLCVGET /chart/historical-series/history?symbol={...}
indice <COD>指数的 OHLCV(M=MERVAL,G=BURCAP)GET /chart/index-historical-series/history?symbol={...}
bond-info <TICKER>债券/LECAP/BONCAP/ON 技术信息表(还本方式、利息、ISIN、发行方)POST /bnown/fichatecnica/especies/general
all所有交易板块和指数的快照(组合)

已验证的公开端点共 10 个 ✅(8 个 POST + 2 个历史数据 GET)。

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

代码惯例

历史数据:格式为 TICKER 24HS

⚠️ 所有历史数据请求都必须带后缀 24HS(前面有空格)。 不带后缀会返回 HTTP 400。后缀 CI 也会返回 400(不支持)。 48HS 会返回 200,但数据点为 0。

类型示例
股票GGAL 24HS、ALUA 24HS、YPFD 24HS
CEDEAR ARSAAPL 24HS、MSFT 24HS
CEDEAR USDAAPLD 24HS、MSFTD 24HS
ARS 主权债券AL30 24HS、GD30 24HS、AE38 24HS
USD MEP 主权债券AL30D 24HS、GD30D 24HS
CCL 主权债券AL30C 24HS、GD30C 24HS
LECAP/BONCAPTY30P 24HS、TZX26 24HS
债券:按货币区分的后缀约定
后缀变体示例
(无)ARS — 以比索计价AL30
CCCL(Contado con Liquidacion / EXT)AL30C
DUSD MEPAL30D
X、Y、Z其他变体(盘中、替代结算等)AL30X
已知指数
代码指数
MS&P MERVAL
GBURCAP

其他代码(A、B、V 等)也可接受,但会返回全为零的序列——可能是已弃用的指数。


POST 面板中的常用筛选条件

筛选条件描述
T0=true仅包含 settlementType=1(CI / 即时结算)
T1=true仅包含 settlementType=2(24 小时)
T2=true仅包含 settlementType=3(48 小时 — 几乎没有数据)
page_size=5000一次调用获取整个数据集(建议用于 public-bonds 和 senebi-on)

⚠️ API 会忽略 page 参数(页码)—— 始终返回第 1 页。解决方法:使用较大的 page_size 或 --all 标志。


技术注意事项

panel 返回的数据(全部)

每个条目都包含:

字段类型描述
symbolstringBYMA 代码。
settlementTypestring"1"(CI)或 "2"(24 小时)。
securityTypestringCS(普通股)、CD(CEDEAR)、GO(政府债券)、CORP(ON)、QS(Caucion)、OPT(期权)。
denominationCcystringARS、USD、EXT。
marketstringBYMA 或 SENEBI。
tradefloat最新成交价。
closingPricefloat当日收盘价。
settlementPricefloat结算价。
openingPrice、tradingHighPrice、tradingLowPricefloat当日 OHL。
previousClosingPrice、previousSettlementPricefloat前一日收盘价/结算价。
imbalancefloat相对前一日的变动百分比(小数:-0.0098 = -0.98%)。
volume、tradeVolumefloat名义成交量。
volumeAmountfloat以货币计的实际金额。
vwapfloat成交量加权平均价。
bidPrice、offerPricefloat最优买价/卖价(非交易时段为 0)。
quantityBid、quantityOfferfloat买价/卖价数量。
numberOfOrdersint当日订单总数。
openInterestfloat未平仓量(期权/Caucion 中为实际值;股票中为 0)。
tickDirectionint-1 / 0 / +1(下跌 / 不变 / 上涨)。
tradeHourstring最新成交时间。
债券/ON/Caucion/期权中的额外字段
字段描述
maturityDate到期日(ISO YYYY-MM-DD)。
daysToMaturity距到期日的天数。
underlyingSymbol标的代码(仅适用于 Caucion 和期权)。
optionTypeCALL 或 PUT(仅适用于期权)。
historico 和 indice 返回的数据
{
  "s": "ok",
  "t": [unix_seconds, ...],
  "o": [opens, ...],
  "h": [highs, ...],
  "l": [lows, ...],
  "c": [closes, ...],
  "v": [volumes, ...]
}
字段描述
s状态:"ok"、"no_data"、"error"。
t[]Unix UTC 秒级时间戳(不是毫秒)。
o[]、h[]、l[]、c[]按索引对齐的 OHLC。
v[]成交量(指数中通常为 0)。
bond-info 返回的数据

返回 {content, data, empty, upgrade},其中 data[0](如果存在) 包含债券的技术资料。对于股票、期权和不存在的 ticker: data: [] 且 empty: true。

data[0] 的字段:

字段类型描述
leystring适用司法管辖区:Nacional、Extranjera、Nueva York、Inglaterra。对于区分 AL30(本地法律)和 GD30(纽约州法律)至关重要。
formaAmortizacionstring纯文本,包含摊还计划(期数、频率、日期、百分比)。对于到期一次还本:"Al vencimiento"。
interesstring纯文本,包含利息计提方案。对于阶梯利率,描述各利率区间。对于 CER,描述通胀调整。
denominacionMinimaint最低发行面额。
fechaEmisionstringYYYY-MM-DD HH:MM:SS.f。
fechaVencimientostringYYYY-MM-DD HH:MM:SS.f。
fechaDevenganInteresesstring开始计息日期(通常为空)。
codigoIsinstring该工具的 ISIN。
tipoEspeciestringTitulos Publicos、Obligaciones Negociables、Letras del Tesoro。
tipoObligacionstring监管分类:Valores Publicos Nacionales、Provinciales、Corporativos。
tipoGarantiastringComun 等。
defaultstring违约状态(正常履约时为空)。
montoNominalint已发行名义总额。
montoResidualint当前剩余金额(摊还后)。
denominacionstring债券的完整官方名称。
insTypestringBOND。
paisLeystring适用法律所属国家。
monedastringDolares、Pesos、Pesos Ajustables por CER、Dolar Linked。
emisorstringGobierno Nacional、Provincia de Buenos Aires、YPF S.A. 等。
dict 和 list 面板的区别
面板响应类型结构
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, ...]
其他标志
标志描述
--all强制设置 page_size=5000,通过一次调用获取全部数据
--t0仅获取 settlementType=1(CI)
--t1仅获取 settlementType=2(24hs)
--page N页码(API 会忽略 — 请使用 --all)
--page-size N每页条目数(默认:200)
--desde YYYY-MM-DD起始日期(历史数据)
--hasta YYYY-MM-DD截止日期(历史数据)
--resolution XD、W、M(默认:D)
-o archivo.json将输出保存到文件
-q / --quiet静默模式(仅输出 JSON)
速率限制

未记录速率限制。建议:

  • 请求间隔至少为 0.3 秒。
  • all 模式会自动使用 time.sleep(0.3)。
错误处理
状态码常见原因
400无效符号(缺少 24HS、未知 ticker)
401端点不存在(BYMA 使用通用的 401,而不是 404)
415Content-Type 错误(POST 必须使用 application/json)
500BYMA 内部错误
日期转换
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())

Skill 结构

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

详细文档: 请参阅 references/REFERENCE.md, 了解每个端点的完整文档、JSON 架构、settlementType/securityType 代码、 SSL 证书处理、分页和技术注意事项。

评论

支持 Markdown