cafci

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

CAFCI — Fondos Comunes de Inversion Argentinos

CAFCI — 阿根廷共同基金

Skill para consultar informacion publica de fondos comunes de inversion en Argentina via las 4 fuentes oficiales de CAFCI (Camara Argentina de Fondos Comunes de Inversion).
Cubre 1152 fondos y 4615 clases activas al 2026-06: Money Market, Renta Fija, Renta Variable, Renta Mixta, PyMes, Retorno Total, Infraestructura, Fondos Cerrados, ASG, RG900.

本Skill用于通过CAFCI(阿根廷共同基金协会)的4个官方数据源查询阿根廷共同基金的公开信息。
截至2026年6月,涵盖1152只基金4615个活跃份额类别,包括货币市场、固定收益、权益类、混合类、中小企业、总回报、基础设施、封闭式基金、ASG、RG900。

⚠️ Aviso Legal

⚠️ 法律声明

  • API publica sin documentacion oficial. Los endpoints pueden cambiar sin aviso (como paso con la API REST anterior, discontinuada en 2026-04).
  • Respetar terminos de uso del CAFCI.
  • Los datos son delayed (cierre del dia habil, ~18hs ART).
  • Para uso comercial intensivo, contactar al CAFCI para feeds oficiales.
  • Rendimientos pasados no garantizan rendimientos futuros.

  • 无官方文档的公开API。端点可能会无预警变更(如2026年4月停用的旧版REST API)。
  • 请遵守CAFCI的使用条款。
  • 数据为延迟数据(交易日收盘后,约阿根廷时间18点更新)。
  • 如需大规模商业使用,请联系CAFCI获取官方数据馈送。
  • 过往业绩不代表未来收益。

📌 Importante: API REST anterior DISCONTINUADA

📌 重要提示:旧版REST API已停用

La API REST
api.pub.cafci.org.ar/tipo-renta
,
/fondo/{id}
,
/estadisticas/...
fue discontinuada en 2026-04 (HTTP 403 "Route not allowed"). El unico path que sigue activo en ese host es
/pb_get
.
Esta skill usa las 4 fuentes alternativas que la reemplazaron:
  1. /consulta-de-fondos.json
    (catalogo completo)
  2. /pb_get
    (XLSX diario)
  3. defuddle.md/.../fondos/{F}?clase={C}
    (ficha markdown)
  4. .../fondos/{F}?clase={C}
    (HTML para composicion de cartera)

REST API
api.pub.cafci.org.ar/tipo-renta
/fondo/{id}
/estadisticas/...
已于2026年4月停用(返回HTTP 403 "Route not allowed")。该主机上唯一仍可用的路径为
/pb_get
本Skill使用以下4个替代数据源
  1. /consulta-de-fondos.json
    (完整目录)
  2. /pb_get
    (每日XLSX文件)
  3. defuddle.md/.../fondos/{F}?clase={C}
    (Markdown详情页)
  4. .../fondos/{F}?clase={C}
    (用于获取投资组合构成的HTML页面)

Scripts

脚本

ScriptDescripcion
fetch_cafci.pyScript principal: todos los endpoints + funciones de consulta
Requiere:
pip install openpyxl
(para parsear el XLSX diario).

脚本描述
fetch_cafci.py主脚本:包含所有端点调用及查询功能
依赖:
pip install openpyxl
(用于解析每日XLSX文件)。

Uso rapido

快速使用

bash
undefined
bash
undefined

── DATASETS ENTEROS (con cache local diario) ──────────────────────────

── 完整数据集(含每日本地缓存) ──────────────────────────

Catalogo completo: 1152 fondos, 4615 clases con IDs, honorarios, metadata

完整目录:1152只基金、4615个份额类别,包含ID、费用、元数据

py scripts/fetch_cafci.py catalogo py scripts/fetch_cafci.py catalogo -o catalogo.json # guarda 2.7MB py scripts/fetch_cafci.py catalogo --no-cache # fuerza refetch
py scripts/fetch_cafci.py catalogo py scripts/fetch_cafci.py catalogo -o catalogo.json # 保存为2.7MB的文件 py scripts/fetch_cafci.py catalogo --no-cache # 强制重新获取数据

Snapshot diario: VCP, patrimonio, variaciones (dia/mes/YTD/12m)

每日快照:VCP、资产规模、涨跌幅(日/月/年初至今/12个月)

py scripts/fetch_cafci.py diario py scripts/fetch_cafci.py diario -o diario.json py scripts/fetch_cafci.py diario --no-cache
py scripts/fetch_cafci.py diario py scripts/fetch_cafci.py diario -o diario.json py scripts/fetch_cafci.py diario --no-cache

── CONSULTAS SOBRE EL CACHE ───────────────────────────────────────────

── 基于缓存的查询 ───────────────────────────────────────────

Buscar fondo por nombre (parcial, case-insensitive)

根据基金名称模糊搜索(不区分大小写)

py scripts/fetch_cafci.py buscar "ahorro" py scripts/fetch_cafci.py buscar "delta" py scripts/fetch_cafci.py buscar "renta fija"
py scripts/fetch_cafci.py buscar "ahorro" py scripts/fetch_cafci.py buscar "delta" py scripts/fetch_cafci.py buscar "renta fija"

Resolver IDs (mas compacto: solo fondo_id, clase_id, nombres)

解析ID(精简输出:仅fondo_id、clase_id、名称)

py scripts/fetch_cafci.py resolve "ieb estrategico" py scripts/fetch_cafci.py resolve "1810"
py scripts/fetch_cafci.py resolve "ieb estrategico" py scripts/fetch_cafci.py resolve "1810"

Top N por patrimonio en una categoria del diario

按类别查询资产规模Top N的基金

py scripts/fetch_cafci.py top "Mercado de Dinero Peso Argentina" py scripts/fetch_cafci.py top "Mercado de Dinero Peso Argentina" --limit 20 py scripts/fetch_cafci.py top "Renta Variable Peso Argentina" py scripts/fetch_cafci.py top "Renta Fija Peso Argentina" --limit 5
py scripts/fetch_cafci.py top "Mercado de Dinero Peso Argentina" py scripts/fetch_cafci.py top "Mercado de Dinero Peso Argentina" --limit 20 py scripts/fetch_cafci.py top "Renta Variable Peso Argentina" py scripts/fetch_cafci.py top "Renta Fija Peso Argentina" --limit 5

── FICHAS INDIVIDUALES ────────────────────────────────────────────────

── 单个基金详情 ────────────────────────────────────────────────

Ficha markdown (rendimientos TNA: 7d/1m/90d/180d/YTD/12m + datos del fondo)

Markdown详情页(TNA收益率:7天/1个月/90天/180天/年初至今/12个月 + 基金基础数据)

py scripts/fetch_cafci.py ficha 304 308 # 1810 Ahorro py scripts/fetch_cafci.py ficha 1717 5772 # otro fondo py scripts/fetch_cafci.py ficha 304 308 -o ficha.md # guarda markdown
py scripts/fetch_cafci.py ficha 304 308 # 1810 Ahorro基金 py scripts/fetch_cafci.py ficha 1717 5772 # 另一只基金 py scripts/fetch_cafci.py ficha 304 308 -o ficha.md # 保存为Markdown文件

Composicion de cartera (top activos + porcentaje)

投资组合构成(顶级资产 + 占比)

py scripts/fetch_cafci.py cartera 304 308 py scripts/fetch_cafci.py cartera 1717 5772
py scripts/fetch_cafci.py cartera 304 308 py scripts/fetch_cafci.py cartera 1717 5772

Ficha COMPLETA todo-en-uno (combina catalogo + diario + ficha + cartera)

完整基金详情(整合目录+每日快照+详情页+投资组合)

py scripts/fetch_cafci.py fondo 304 308 py scripts/fetch_cafci.py fondo 304 308 -o 1810_ahorro_completo.json
py scripts/fetch_cafci.py fondo 304 308 py scripts/fetch_cafci.py fondo 304 308 -o 1810_ahorro_completo.json

── COMBINADO ──────────────────────────────────────────────────────────

── 组合查询 ──────────────────────────────────────────────────────────

Catalogo + diario juntos (sin fichas individuales)

目录+每日快照组合(不含单个基金详情)

py scripts/fetch_cafci.py all -o cafci_snapshot.json
py scripts/fetch_cafci.py all -o cafci_snapshot.json

── OUTPUT ─────────────────────────────────────────────────────────────

── 输出设置 ─────────────────────────────────────────────────────────────

Modo silencioso (solo JSON/markdown, sin logs)

静默模式(仅输出JSON/Markdown,无日志)

py scripts/fetch_cafci.py top "Mercado de Dinero Peso Argentina" -q

---
py scripts/fetch_cafci.py top "Mercado de Dinero Peso Argentina" -q

---

Endpoints disponibles

可用端点

ModoDataURL
catalogo
Catalogo: 1152 fondos, 4615 clases, IDs, honorarios, metadata
GET /consulta-de-fondos.json
diario
Snapshot diario: VCP, patrimonio, market share, variaciones
GET /pb_get
(XLSX)
ficha FONDO CLASE
Ficha markdown: rendimientos TNA por periodo
GET defuddle.md/.../fondos/{F}?clase={C}
cartera FONDO CLASE
Composicion de cartera (top activos + %)
GET .../fondos/{F}?clase={C}
(HTML)
buscar QUERY
Buscar fondos por nombre parcial(local, sobre catalogo)
resolve QUERY
Resolver fondoId/claseId desde nombre(local, sobre catalogo)
top CATEGORIA
Top N por patrimonio en una categoria(local, sobre diario)
fondo FONDO CLASE
Ficha completa todo-en-uno (combina los 4 endpoints)(local + 4 requests)
all
Snapshot catalogo + diario(local + 2 requests)
Total: 4 endpoints HTTP + 5 funciones de consulta sobre cache.

模式数据内容URL
catalogo
完整目录:1152只基金、4615个份额类别,包含ID、费用、元数据
GET /consulta-de-fondos.json
diario
每日快照:VCP、资产规模、市场份额、涨跌幅
GET /pb_get
(XLSX格式)
ficha FONDO CLASE
Markdown详情页:各时间段TNA收益率
GET defuddle.md/.../fondos/{F}?clase={C}
cartera FONDO CLASE
投资组合构成(顶级资产 + 占比)
GET .../fondos/{F}?clase={C}
(HTML格式)
buscar QUERY
根据基金名称模糊搜索(本地,基于目录缓存)
resolve QUERY
通过基金名称解析fondoId/claseId(本地,基于目录缓存)
top CATEGORIA
按类别查询资产规模Top N的基金(本地,基于每日快照缓存)
fondo FONDO CLASE
完整基金详情(整合4个端点数据)(本地缓存 + 4次请求)
all
目录+每日快照组合快照(本地缓存 + 2次请求)
总计:4个HTTP端点 + 5个基于缓存的查询功能。

Cache local

本地缓存

Los datasets pesados (catalogo + diario) se cachean una vez por dia en el directorio temporal del sistema:
$TMP/cafci-catalog-YYYY-MM-DD.json    (~2.7 MB)
$TMP/cafci-daily-YYYY-MM-DD.json      (~1-2 MB)
  • Windows:
    C:\Users\<user>\AppData\Local\Temp\
  • Linux/Mac:
    /tmp/
Si vas a hacer multiples consultas en el dia (typical workflow), reusan el cache automaticamente. Forzar refetch con
--no-cache
.

大型数据集(目录+每日快照)会每日缓存一次到系统临时目录:
$TMP/cafci-catalog-YYYY-MM-DD.json    (~2.7 MB)
$TMP/cafci-daily-YYYY-MM-DD.json      (~1-2 MB)
  • Windows系统:
    C:\Users\<user>\AppData\Local\Temp\
  • Linux/Mac系统:
    /tmp/
若当日需多次查询(常规使用场景),会自动复用缓存。使用
--no-cache
参数可强制重新获取数据。

Tipos de renta soportados

支持的收益类型

TipoCantidad fondos
Renta Fija542
Renta Mixta271
Mercado de Dinero96
Renta Variable76
PyMes65
Retorno Total42
Infraestructura23
Fondos Cerrados22
ASG10
RG9005

类型基金数量
固定收益542
混合类271
货币市场96
权益类76
中小企业65
总回报42
基础设施23
封闭式基金22
ASG10
RG9005

Categorias del DIARIO (para
top
)

每日快照的类别(用于
top
命令)

Las categorias del diario combinan
tipo_renta + moneda + region
como string. Ejemplos comunes:
CategoriaCobertura
Renta Variable Peso Argentina
Acciones argentinas
Mercado de Dinero Peso Argentina
Money Market $
Renta Fija Peso Argentina
Bonos $
Renta Fija Dolar Estadounidense Argentina
Bonos USD argentinos
Renta Mixta Peso Argentina
Fondos mixtos $
Retorno Total Peso Argentina
Total return $
Para ver lista completa:
py scripts/fetch_cafci.py diario -q | jq '.categorias'

每日快照的类别由
收益类型 + 货币 + 地区
组合而成。常见示例:
类别覆盖范围
Renta Variable Peso Argentina
阿根廷本土股票
Mercado de Dinero Peso Argentina
阿根廷比索货币市场
Renta Fija Peso Argentina
阿根廷比索债券
Renta Fija Dolar Estadounidense Argentina
阿根廷美元计价债券
Renta Mixta Peso Argentina
阿根廷比索混合类基金
Retorno Total Peso Argentina
阿根廷比索总回报类基金
查看完整类别列表:
py scripts/fetch_cafci.py diario -q | jq '.categorias'

Consideraciones tecnicas

技术说明

Datos devueltos por
catalogo

catalogo
返回的数据

Top-level:
CampoDescripcion
generated_at
Timestamp ISO del catalogo.
total_fondos
,
total_clases
Contadores.
filtros
Catalogos de enums:
tipo_renta
,
region
,
moneda
,
benchmark
,
duration
,
horizonte
,
sociedad_gerente
,
tipo_dinero
,
tipo_renta_mixta
.
fondos[]
Array de fondos.
Cada
fondos[]
tiene id, nombre, codigo_cnv, estado, objetivo, tipo_dinero, valuacion, dias_liquidacion, inicio, sociedad_gerente, sociedad_depositaria, moneda, tipo_renta, region, duration, benchmark, horizonte y clases[].
Cada
clases[]
tiene id, nombre, moneda, inversion_minima, honorarios (ingreso, rescate, transferencia, administracion_gerente, administracion_depositaria, gasto_ordinario_gestion), suscripcion, liquidez, rg384, log_abierto, ticker_bloomberg, ticker_isin.
⚠️
honorarios.*
son strings (no floats). Castear con
float()
antes de comparar.
顶层字段:
字段描述
generated_at
目录生成的ISO时间戳。
total_fondos
,
total_clases
统计数量。
filtros
枚举目录:
tipo_renta
(收益类型)、
region
(地区)、
moneda
(货币)、
benchmark
(基准)、
duration
(久期)、
horizonte
(投资期限)、
sociedad_gerente
(基金管理人)、
tipo_dinero
(货币类型)、
tipo_renta_mixta
(混合收益类型)。
fondos[]
基金数组。
每个
fondos[]
包含id、名称、codigo_cnv(CNV代码)、状态、投资目标、货币类型、估值方式、赎回天数、成立日期、基金管理人、托管人、货币、收益类型、地区、久期、基准、投资期限以及clases[](份额类别数组)。
每个
clases[]
包含id、名称、货币、最低投资额、honorarios(费用:申购费、赎回费、转换费、管理费、托管费、日常运营费)、申购规则、流动性、rg384合规标识、开放状态、彭博代码、ISIN代码。
⚠️
honorarios.*
字段为字符串类型(非浮点数)。比较前需用
float()
转换类型。

Datos devueltos por
diario

diario
返回的数据

json
{
  "fecha_reporte": "2026-06-04",
  "categorias": ["Renta Variable Peso Argentina", ...],
  "fondos": [
    {
      "nombre": "Allaria Equity Selection - Clase A",
      "categoria": "Renta Variable Peso Argentina",
      "moneda": "ARS",
      "region": "Arg",
      "horizonte": "Cor",
      "fecha": "2026-06-04",
      "vcp_actual": 1642.85,
      "vcp_anterior": 1628.345,
      "variacion_dia_pct": 0.891,
      "vcp_reexp_pesos": 1642.85,
      "variacion_mes_pct": -1.181,
      "variacion_ytd_pct": 11.939,
      "variacion_12m_pct": 61.542,
      "cantidad_cuotapartes": 1276470413.29,
      "patrimonio": 2097049572.01,
      "market_share": 0.107,
      "depositaria": "Banco Comafi S.A.",
      "codigo_cnv": "1603"
    }
  ]
}
json
{
  "fecha_reporte": "2026-06-04",
  "categorias": ["Renta Variable Peso Argentina", ...],
  "fondos": [
    {
      "nombre": "Allaria Equity Selection - Clase A",
      "categoria": "Renta Variable Peso Argentina",
      "moneda": "ARS",
      "region": "Arg",
      "horizonte": "Cor",
      "fecha": "2026-06-04",
      "vcp_actual": 1642.85,
      "vcp_anterior": 1628.345,
      "variacion_dia_pct": 0.891,
      "vcp_reexp_pesos": 1642.85,
      "variacion_mes_pct": -1.181,
      "variacion_ytd_pct": 11.939,
      "variacion_12m_pct": 61.542,
      "cantidad_cuotapartes": 1276470413.29,
      "patrimonio": 2097049572.01,
      "market_share": 0.107,
      "depositaria": "Banco Comafi S.A.",
      "codigo_cnv": "1603"
    }
  ]
}

Datos devueltos por
cartera

cartera
返回的数据

json
{
  "fondo_id": 304,
  "clase_id": 308,
  "fecha_cartera": "15/05/2026",
  "composicion": [
    {"nombre": "Cta Cte $ Rem Bco Credico", "porcentaje": 17.4},
    {"nombre": "Pzo Fi $ Bco Nacion", "porcentaje": 14.8},
    ...
    {"nombre": "Resto de Activos", "porcentaje": 29.2}
  ]
}
CAFCI publica solo los top ~14 activos +
"Resto de Activos"
agrupado. La fecha de cartera tiene delay de ~2-3 semanas vs el diario.
json
{
  "fondo_id": 304,
  "clase_id": 308,
  "fecha_cartera": "15/05/2026",
  "composicion": [
    {"nombre": "Cta Cte $ Rem Bco Credico", "porcentaje": 17.4},
    {"nombre": "Pzo Fi $ Bco Nacion", "porcentaje": 14.8},
    ...
    {"nombre": "Resto de Activos", "porcentaje": 29.2}
  ]
}
CAFCI仅公布前14左右的顶级资产 + 合并后的
"Resto de Activos"
(其他资产)。 投资组合的日期比每日快照延迟约2-3周。

Datos devueltos por
fondo
(todo-en-uno)

fondo
返回的数据(整合所有信息)

json
{
  "meta": { ...del catalogo... },
  "diario": { ...del XLSX... },
  "ficha_md": "...markdown defuddle...",
  "cartera": { ...composicion... }
}
json
{
  "meta": { ...del catalogo... },
  "diario": { ...del XLSX... },
  "ficha_md": "...markdown defuddle...",
  "cartera": { ...composicion... }
}

Workflows recomendados

推荐使用流程

A) Top N por patrimonio con fees:
  1. top "<categoria>" --limit N
    → lista de fondos
  2. Para cada
    nombre
    ,
    resolve
    para conseguir
    fondo_id, clase_id
  3. Buscar honorarios en
    catalogo
    por
    clases[].nombre
    exacto
B) Ficha completa de un fondo:
  1. resolve "<query>"
    → conseguir IDs
  2. fondo FONDO_ID CLASE_ID
    → todo-en-uno
C) Cuando el usuario no especifica clase:
  • Usar
    buscar
    o
    resolve
    y mostrar las clases disponibles
  • Si hay una sola, continuar automaticamente con esa
A) 带费用的资产规模Top N基金:
  1. 执行
    top "<类别>" --limit N
    → 获取基金列表
  2. 对每个基金名称,执行
    resolve
    获取
    fondo_id, clase_id
  3. catalogo
    中通过
    clases[].nombre
    精确匹配查询费用信息
B) 获取单只基金的完整详情:
  1. 执行
    resolve "<查询关键词>"
    → 获取基金ID
  2. 执行
    fondo FONDO_ID CLASE_ID
    → 获取整合后的完整详情
C) 用户未指定份额类别时:
  • 使用
    buscar
    resolve
    查询并显示可用的份额类别
  • 若仅有一种份额类别,则自动使用该类别继续查询

Flags

参数选项

FlagDescripcion
--limit N
Cantidad de resultados (
top
). Default: 10
--no-cache
Forzar refetch de catalogo/diario (ignorar cache local)
-o archivo
Guardar output a archivo JSON o markdown
-q
/
--quiet
Modo silencioso (solo JSON/markdown, sin logs)
参数描述
--limit N
设置返回结果数量(仅
top
命令可用)。默认值:10
--no-cache
强制重新获取目录/每日快照数据(忽略本地缓存)
-o archivo
将输出保存为JSON或Markdown文件
-q
/
--quiet
静默模式(仅输出JSON/Markdown,不显示日志)

Rate limiting

请求频率限制

No hay rate limiting documentado. Recomendado:
  • Minimo 0.3 segundos entre requests a CAFCI.
  • Para
    defuddle.md
    (proxy externo), esperar mas si hay timeouts.
  • Para batches grandes, usar pool de concurrencia max 5.
无官方文档说明的请求频率限制。建议:
  • 向CAFCI发起请求的间隔至少为0.3秒
  • 对于
    defuddle.md
    (外部代理),若出现超时则延长等待时间。
  • 批量请求时,并发数最大不超过5。

Manejo de errores

错误处理

StatusCausas tipicas
200OK
403
Route not allowed
Path discontinuado de la API REST anterior
403 (en
/pb_get
)
Faltan headers de browser (Origin, Referer) — el script ya los envia
404URL mal formada o IDs inexistentes
Timeout en
defuddle.md
Proxy externo lento — reintentar
状态码常见原因
200请求成功
403
Route not allowed
旧版REST API的路径已停用
403(针对
/pb_get
缺少浏览器请求头(Origin、Referer)——脚本已自动添加这些头
404URL格式错误或ID不存在
defuddle.md
请求超时
外部代理响应缓慢——请重试

Encoding

编码格式

UTF-8 valido. Las consolas Windows muestran
?
para acentos pero los archivos UTF-8 se guardan correctamente (el script usa
ensure_ascii=False
).

使用有效的UTF-8编码。Windows控制台可能会将特殊字符显示为
?
,但UTF-8文件会正确保存(脚本已设置
ensure_ascii=False
)。

Estructura del skill

Skill结构

skills/cafci/
├── SKILL.md                          # Este archivo (guia rapida)
├── references/
│   └── REFERENCE.md                  # Documentacion completa de los 4 endpoints + cache
└── scripts/
    └── fetch_cafci.py                # Script principal

Documentacion detallada: Consultar references/REFERENCE.md para schemas JSON completos, tablas de campos exhaustivas, codigos de tipo_renta/region/horizonte/moneda, cache local, manejo de errores y consideraciones tecnicas.
Inspirado en: ferminrp/agent-skills/cafci-fondos-comunes-argentina — esta implementacion porta el mismo diseño de 4 fuentes a la arquitectura SKILL.md / references/REFERENCE.md / scripts/fetch_*.py del repo.
skills/cafci/
├── SKILL.md                          # 本文件(快速指南)
├── references/
│   └── REFERENCE.md                  # 4个端点及缓存的完整文档
└── scripts/
    └── fetch_cafci.py                # 主脚本

详细文档: 请查看references/REFERENCE.md,获取完整JSON Schema、详尽字段表、收益类型/地区/投资期限/货币代码、本地缓存说明、错误处理及技术细节。
灵感来源: ferminrp/agent-skills/cafci-fondos-comunes-argentina — 本实现将原有的4数据源设计移植到了本仓库的SKILL.md / references/REFERENCE.md / scripts/fetch_*.py架构中。