cafci
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCAFCI — 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 , ,
fue discontinuada en 2026-04 (HTTP 403 "Route not
allowed"). El unico path que sigue activo en ese host es .
api.pub.cafci.org.ar/tipo-renta/fondo/{id}/estadisticas/.../pb_getEsta skill usa las 4 fuentes alternativas que la reemplazaron:
- (catalogo completo)
/consulta-de-fondos.json - (XLSX diario)
/pb_get - (ficha markdown)
defuddle.md/.../fondos/{F}?clase={C} - (HTML para composicion de cartera)
.../fondos/{F}?clase={C}
REST API 、、已于2026年4月停用(返回HTTP 403 "Route not allowed")。该主机上唯一仍可用的路径为。
api.pub.cafci.org.ar/tipo-renta/fondo/{id}/estadisticas/.../pb_get本Skill使用以下4个替代数据源:
- (完整目录)
/consulta-de-fondos.json - (每日XLSX文件)
/pb_get - (Markdown详情页)
defuddle.md/.../fondos/{F}?clase={C} - (用于获取投资组合构成的HTML页面)
.../fondos/{F}?clase={C}
Scripts
脚本
| Script | Descripcion |
|---|---|
| fetch_cafci.py | Script principal: todos los endpoints + funciones de consulta |
Requiere: (para parsear el XLSX diario).
pip install openpyxl| 脚本 | 描述 |
|---|---|
| fetch_cafci.py | 主脚本:包含所有端点调用及查询功能 |
依赖: (用于解析每日XLSX文件)。
pip install openpyxlUso rapido
快速使用
bash
undefinedbash
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
可用端点
| Modo | Data | URL |
|---|---|---|
| Catalogo: 1152 fondos, 4615 clases, IDs, honorarios, metadata | |
| Snapshot diario: VCP, patrimonio, market share, variaciones | |
| Ficha markdown: rendimientos TNA por periodo | |
| Composicion de cartera (top activos + %) | |
| Buscar fondos por nombre parcial | (local, sobre catalogo) |
| Resolver fondoId/claseId desde nombre | (local, sobre catalogo) |
| Top N por patrimonio en una categoria | (local, sobre diario) |
| Ficha completa todo-en-uno (combina los 4 endpoints) | (local + 4 requests) |
| Snapshot catalogo + diario | (local + 2 requests) |
Total: 4 endpoints HTTP + 5 funciones de consulta sobre cache.
| 模式 | 数据内容 | URL |
|---|---|---|
| 完整目录:1152只基金、4615个份额类别,包含ID、费用、元数据 | |
| 每日快照:VCP、资产规模、市场份额、涨跌幅 | |
| Markdown详情页:各时间段TNA收益率 | |
| 投资组合构成(顶级资产 + 占比) | |
| 根据基金名称模糊搜索 | (本地,基于目录缓存) |
| 通过基金名称解析fondoId/claseId | (本地,基于目录缓存) |
| 按类别查询资产规模Top N的基金 | (本地,基于每日快照缓存) |
| 完整基金详情(整合4个端点数据) | (本地缓存 + 4次请求) |
| 目录+每日快照组合快照 | (本地缓存 + 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-cacheTipos de renta soportados
支持的收益类型
| Tipo | Cantidad fondos |
|---|---|
| Renta Fija | 542 |
| Renta Mixta | 271 |
| Mercado de Dinero | 96 |
| Renta Variable | 76 |
| PyMes | 65 |
| Retorno Total | 42 |
| Infraestructura | 23 |
| Fondos Cerrados | 22 |
| ASG | 10 |
| RG900 | 5 |
| 类型 | 基金数量 |
|---|---|
| 固定收益 | 542 |
| 混合类 | 271 |
| 货币市场 | 96 |
| 权益类 | 76 |
| 中小企业 | 65 |
| 总回报 | 42 |
| 基础设施 | 23 |
| 封闭式基金 | 22 |
| ASG | 10 |
| RG900 | 5 |
Categorias del DIARIO (para top
)
top每日快照的类别(用于top
命令)
topLas categorias del diario combinan como
string. Ejemplos comunes:
tipo_renta + moneda + region| Categoria | Cobertura |
|---|---|
| Acciones argentinas |
| Money Market $ |
| Bonos $ |
| Bonos USD argentinos |
| Fondos mixtos $ |
| Total return $ |
Para ver lista completa:py scripts/fetch_cafci.py diario -q | jq '.categorias'
每日快照的类别由组合而成。常见示例:
收益类型 + 货币 + 地区| 类别 | 覆盖范围 |
|---|---|
| 阿根廷本土股票 |
| 阿根廷比索货币市场 |
| 阿根廷比索债券 |
| 阿根廷美元计价债券 |
| 阿根廷比索混合类基金 |
| 阿根廷比索总回报类基金 |
查看完整类别列表:py scripts/fetch_cafci.py diario -q | jq '.categorias'
Consideraciones tecnicas
技术说明
Datos devueltos por catalogo
catalogocatalogo
返回的数据
catalogoTop-level:
| Campo | Descripcion |
|---|---|
| Timestamp ISO del catalogo. |
| Contadores. |
| Catalogos de enums: |
| Array de fondos. |
Cada 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[].
fondos[]Cada 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.
clases[]⚠️son strings (no floats). Castear conhonorarios.*antes de comparar.float()
顶层字段:
| 字段 | 描述 |
|---|---|
| 目录生成的ISO时间戳。 |
| 统计数量。 |
| 枚举目录: |
| 基金数组。 |
每个包含id、名称、codigo_cnv(CNV代码)、状态、投资目标、货币类型、估值方式、赎回天数、成立日期、基金管理人、托管人、货币、收益类型、地区、久期、基准、投资期限以及clases[](份额类别数组)。
fondos[]每个包含id、名称、货币、最低投资额、honorarios(费用:申购费、赎回费、转换费、管理费、托管费、日常运营费)、申购规则、流动性、rg384合规标识、开放状态、彭博代码、ISIN代码。
clases[]⚠️字段为字符串类型(非浮点数)。比较前需用honorarios.*转换类型。float()
Datos devueltos por diario
diariodiario
返回的数据
diariojson
{
"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
carteracartera
返回的数据
carterajson
{
"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 +agrupado. La fecha de cartera tiene delay de ~2-3 semanas vs el diario."Resto de Activos"
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左右的顶级资产 + 合并后的(其他资产)。 投资组合的日期比每日快照延迟约2-3周。"Resto de Activos"
Datos devueltos por fondo
(todo-en-uno)
fondofondo
返回的数据(整合所有信息)
fondojson
{
"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:
- → lista de fondos
top "<categoria>" --limit N - Para cada ,
nombrepara conseguirresolvefondo_id, clase_id - Buscar honorarios en por
catalogoexactoclases[].nombre
B) Ficha completa de un fondo:
- → conseguir IDs
resolve "<query>" - → todo-en-uno
fondo FONDO_ID CLASE_ID
C) Cuando el usuario no especifica clase:
- Usar o
buscary mostrar las clases disponiblesresolve - Si hay una sola, continuar automaticamente con esa
A) 带费用的资产规模Top N基金:
- 执行→ 获取基金列表
top "<类别>" --limit N - 对每个基金名称,执行获取
resolvefondo_id, clase_id - 在中通过
catalogo精确匹配查询费用信息clases[].nombre
B) 获取单只基金的完整详情:
- 执行→ 获取基金ID
resolve "<查询关键词>" - 执行→ 获取整合后的完整详情
fondo FONDO_ID CLASE_ID
C) 用户未指定份额类别时:
- 使用或
buscar查询并显示可用的份额类别resolve - 若仅有一种份额类别,则自动使用该类别继续查询
Flags
参数选项
| Flag | Descripcion |
|---|---|
| Cantidad de resultados ( |
| Forzar refetch de catalogo/diario (ignorar cache local) |
| Guardar output a archivo JSON o markdown |
| Modo silencioso (solo JSON/markdown, sin logs) |
| 参数 | 描述 |
|---|---|
| 设置返回结果数量(仅 |
| 强制重新获取目录/每日快照数据(忽略本地缓存) |
| 将输出保存为JSON或Markdown文件 |
| 静默模式(仅输出JSON/Markdown,不显示日志) |
Rate limiting
请求频率限制
No hay rate limiting documentado. Recomendado:
- Minimo 0.3 segundos entre requests a CAFCI.
- Para (proxy externo), esperar mas si hay timeouts.
defuddle.md - Para batches grandes, usar pool de concurrencia max 5.
无官方文档说明的请求频率限制。建议:
- 向CAFCI发起请求的间隔至少为0.3秒。
- 对于(外部代理),若出现超时则延长等待时间。
defuddle.md - 批量请求时,并发数最大不超过5。
Manejo de errores
错误处理
| Status | Causas tipicas |
|---|---|
| 200 | OK |
403 | Path discontinuado de la API REST anterior |
403 (en | Faltan headers de browser (Origin, Referer) — el script ya los envia |
| 404 | URL mal formada o IDs inexistentes |
Timeout en | Proxy externo lento — reintentar |
| 状态码 | 常见原因 |
|---|---|
| 200 | 请求成功 |
403 | 旧版REST API的路径已停用 |
403(针对 | 缺少浏览器请求头(Origin、Referer)——脚本已自动添加这些头 |
| 404 | URL格式错误或ID不存在 |
| 外部代理响应缓慢——请重试 |
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=FalseEstructura 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 principalDocumentacion 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架构中。