CONSAR / SAR¶
Sistema de Ahorro para el Retiro mexicano: 11 AFOREs, 34 endpoints.
→ Para uso narrado, ver Tutorial CONSAR.
Namespace¶
datos_mexico.endpoints.consar.ConsarNamespace ¶
Bases: BaseNamespace
Endpoints del dataset CONSAR/SAR (Sistema de Ahorro para el Retiro).
Cobertura completa de las 11 AFOREs activas, 327 puntos mensuales (1998-05 a 2025-06), 15 tipos de recurso y 11 SIEFOREs. Organizada en 12 grupos lógicos:
- Catálogos (4): AFOREs, tipos de recurso, métricas de cuentas y sensibilidad.
- Recursos administrados (6): totales, snapshot por AFORE, por componente, composición contable, IMSS vs ISSSTE, serie filtrable.
- PEA cotizantes (1): cobertura del SAR vs población económicamente activa.
- Comisiones (2): serie filtrable y snapshot.
- Flujos (2): entradas, salidas y flujo neto.
- Traspasos (2): cuentas cedidas/recibidas con identidad contable.
- Rendimientos (3): por AFORE, snapshot y promedio del sistema.
- Precios (NAV) (3): serie, snapshot, comparativo entre AFOREs.
- Precios de gestión (3): mismas tres formas con base de gestión.
- Cuentas (3): número de cuentas y montos por métrica.
- Medidas regulatorias (2): sensibilidad, VaR, duración, etc.
- Activo neto (3): por SIEFORE, snapshot, agregado por categoría.
Examples:
>>> from datos_mexico import DatosMexico
>>> with DatosMexico() as client:
... totales = client.consar.recursos_totales()
... print(f"Última fecha: {totales.fecha_max}")
... por_afore = client.consar.recursos_por_afore(fecha="2025-06-01")
... print(f"Total: ${por_afore.total_sistema_mm:,.0f} mdp")
afores ¶
Catálogo de las AFOREs registradas históricamente.
Endpoint: GET /api/v1/consar/afores
tipos_recurso ¶
Catálogo de tipos de recurso (RCV, vivienda, voluntario, etc.).
Endpoint: GET /api/v1/consar/tipos-recurso
metricas_cuenta ¶
Catálogo de métricas de cuentas disponibles.
Endpoint: GET /api/v1/consar/metricas-cuenta
metricas_sensibilidad ¶
Catálogo de métricas de sensibilidad/regulatorias.
Endpoint: GET /api/v1/consar/metricas-sensibilidad
recursos_totales ¶
Serie histórica del SAR total en mil millones de MXN corrientes.
Endpoint: GET /api/v1/consar/recursos/totales
recursos_por_afore ¶
Snapshot de recursos administrados por AFORE para una fecha.
Endpoint: GET /api/v1/consar/recursos/por-afore
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
fecha
|
date | str
|
Fecha del snapshot (día = 01). |
required |
Raises:
| Type | Description |
|---|---|
ValueError
|
Si |
NotFoundError
|
Si no hay datos para esa fecha. |
recursos_por_componente ¶
Snapshot de recursos por componente (tipo de recurso) para una fecha.
Endpoint: GET /api/v1/consar/recursos/por-componente
Notes
El array componentes es jerárquico, no una partición plana.
Contiene rows con categoria en {'total', 'aggregate',
'component', 'operativo'}:
total: filas resumen (incluyesar_totalmismo y sub-totales como "Recursos Administrados").aggregate: agregados intermedios (p. ej. "Vivienda" = INFONAVIT + FOVISSSTE).component: filas hoja (los componentes propiamente dichos).operativo: filas hoja del lado operativo (capital AFORES).
Para obtener la suma de componentes que iguale al sar_total_mm
agregado, filtrar a las hojas: solo rows con
categoria in {'component', 'operativo'}. Sumar todas las
filas indiscriminadamente sobre-cuenta el SAR ~3x.
La identidad contable canónica del observatorio es::
sum(component) + sum(operativo) ≈ recursos_por_afore.total_sistema_mm
Verificada al peso por el observatorio (ver
tests/integration/test_data_integrity.py).
recursos_composicion ¶
Composición contable: verifica que la suma cuadra al peso.
Endpoint: GET /api/v1/consar/recursos/composicion
recursos_imss_vs_issste ¶
Serie histórica del split RCV IMSS vs ISSSTE.
Endpoint: GET /api/v1/consar/recursos/imss-vs-issste
recursos_serie ¶
recursos_serie(
*,
codigo: str,
afore_codigo: str | None = None,
desde: date | str | None = None,
hasta: date | str | None = None,
) -> SerieResponse
Serie de un tipo de recurso específico, opcionalmente filtrada.
Endpoint: GET /api/v1/consar/recursos/serie
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
codigo
|
str
|
Código del tipo de recurso (ej. |
required |
afore_codigo
|
str | None
|
Si se especifica, filtra a una sola AFORE. |
None
|
desde
|
date | str | None
|
Fecha inicial del rango (día = 01). |
None
|
hasta
|
date | str | None
|
Fecha final del rango (día = 01). |
None
|
pea_cotizantes_serie ¶
Serie anual de cotizantes vs PEA: cobertura del SAR.
Endpoint: GET /api/v1/consar/pea-cotizantes/serie
comisiones_serie ¶
comisiones_serie(
*,
afore_codigo: str | None = None,
desde: date | str | None = None,
hasta: date | str | None = None,
) -> ComisionSerieResponse
Serie de comisiones (porcentaje cobrado mensualmente).
Endpoint: GET /api/v1/consar/comisiones/serie
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
afore_codigo
|
str | None
|
Si se especifica, filtra a una AFORE. |
None
|
desde
|
date | str | None
|
Fecha inicial del rango. |
None
|
hasta
|
date | str | None
|
Fecha final del rango. |
None
|
comisiones_snapshot ¶
Snapshot de comisiones por AFORE para una fecha.
Endpoint: GET /api/v1/consar/comisiones/snapshot
flujos_serie ¶
flujos_serie(
*,
afore_codigo: str | None = None,
desde: date | str | None = None,
hasta: date | str | None = None,
) -> FlujoSerieResponse
Serie de flujos (entradas, salidas, flujo neto).
Endpoint: GET /api/v1/consar/flujos/serie
flujos_snapshot ¶
Snapshot de flujos por AFORE para una fecha.
Endpoint: GET /api/v1/consar/flujos/snapshot
traspasos_serie ¶
traspasos_serie(
*,
afore_codigo: str | None = None,
desde: date | str | None = None,
hasta: date | str | None = None,
) -> TraspasoSerieResponse
Serie de traspasos (cuentas cedidas/recibidas/neto).
Endpoint: GET /api/v1/consar/traspasos/serie
traspasos_snapshot ¶
Snapshot de traspasos con verificación de identidad.
Endpoint: GET /api/v1/consar/traspasos/snapshot
rendimientos_serie ¶
rendimientos_serie(
*, afore_codigo: str, siefore_slug: str, plazo: str
) -> RendimientoSerieResponse
Serie de rendimientos para un par AFORE x SIEFORE x plazo.
Endpoint: GET /api/v1/consar/rendimientos/serie
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
afore_codigo
|
str
|
Código de la AFORE (requerido). |
required |
siefore_slug
|
str
|
Slug de la SIEFORE (requerido). |
required |
plazo
|
str
|
Plazo del rendimiento (ej. |
required |
rendimientos_snapshot ¶
Snapshot de rendimientos para un plazo en una fecha (cubre todas las SIEFORES).
Endpoint: GET /api/v1/consar/rendimientos/snapshot
rendimientos_sistema ¶
Serie de rendimiento promedio del sistema para una SIEFORE.
Endpoint: GET /api/v1/consar/rendimientos/sistema
precios_serie ¶
precios_serie(
*,
afore_codigo: str,
siefore_slug: str,
desde: date | str | None = None,
hasta: date | str | None = None,
) -> PrecioSerieResponse
Serie de precios (NAV) para un par AFORE x SIEFORE.
Endpoint: GET /api/v1/consar/precios/serie
precios_snapshot ¶
Snapshot de precios para una fecha (cubre todas las SIEFORES).
Endpoint: GET /api/v1/consar/precios/snapshot
precios_comparativo ¶
precios_comparativo(
*,
siefore_slug: str,
desde: date | str,
hasta: date | str,
) -> PrecioComparativoResponse
Comparación de precios de una SIEFORE entre AFOREs en un rango.
Endpoint: GET /api/v1/consar/precios/comparativo
precios_gestion_serie ¶
precios_gestion_serie(
*,
afore_codigo: str,
siefore_slug: str,
desde: date | str | None = None,
hasta: date | str | None = None,
) -> PrecioSerieResponse
Serie de precios de gestión (con base de gestión) para AFORE x SIEFORE.
Endpoint: GET /api/v1/consar/precios-gestion/serie
precios_gestion_snapshot ¶
Snapshot de precios de gestión para una fecha.
Endpoint: GET /api/v1/consar/precios-gestion/snapshot
precios_gestion_comparativo ¶
precios_gestion_comparativo(
*,
siefore_slug: str,
desde: date | str,
hasta: date | str,
) -> PrecioComparativoResponse
Comparación de precios de gestión entre AFOREs en un rango.
Endpoint: GET /api/v1/consar/precios-gestion/comparativo
cuentas_serie ¶
Serie de una métrica de cuentas para una AFORE.
Endpoint: GET /api/v1/consar/cuentas/serie
cuentas_snapshot ¶
Snapshot de cuentas para una fecha (cubre todas las métricas).
Endpoint: GET /api/v1/consar/cuentas/snapshot
cuentas_sistema ¶
Serie del sistema completo, etiquetada por categoría.
Endpoint: GET /api/v1/consar/cuentas/sistema
medidas_serie ¶
Serie de una medida regulatoria para AFORE x SIEFORE x métrica.
Endpoint: GET /api/v1/consar/medidas/serie
medidas_snapshot ¶
Snapshot de una métrica regulatoria para una fecha.
Endpoint: GET /api/v1/consar/medidas/snapshot
activo_neto_serie ¶
Serie de activo neto para un par AFORE x SIEFORE.
Endpoint: GET /api/v1/consar/activo-neto/serie
activo_neto_snapshot ¶
Snapshot de activo neto para una fecha (todas AFOREs x SIEFORES).
Endpoint: GET /api/v1/consar/activo-neto/snapshot
activo_neto_agregado ¶
Activo neto agregado a través de SIEFORES de una categoría para una AFORE.
Endpoint: GET /api/v1/consar/activo-neto/agregado
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
afore_codigo
|
str
|
Código de la AFORE. |
required |
categoria
|
str
|
Categoría de SIEFORES a sumar (ej. |
required |
Modelos¶
Modelos Pydantic para el dataset CONSAR/SAR.
Cobertura: catálogos, recursos administrados, PEA cotizantes, comisiones, flujos, traspasos, rendimientos, precios (NAV), precios de gestión, cuentas (número de cuentas y montos), medidas regulatorias, y activo neto por SIEFORE.
Convenciones:
- Campos monetarios y porcentuales (
_mm,_pct,precio,valorde medidas, comisiones) se exponen comoDecimalpara preservar precisión y permitir aritmética exacta. - Campos de fecha (
fecha,desde,hasta,fecha_*,desde_fecha) se exponen comodate. - Campos que pueden ser
nullpara fechas/AFOREs sin datos están tipados comoOptional[T]. unites siempre un texto descriptivo del unidad (ej."MXN_mm","pct").
AforeRow ¶
AforesResponse ¶
TipoRecursoRow ¶
TiposRecursoResponse ¶
MetricaCuentaRow ¶
MetricasCuentaResponse ¶
MetricaSensibilidadRow ¶
MetricasSensibilidadResponse ¶
TotalSarPunto ¶
TotalesSarResponse ¶
Bases: DatosMexicoModel
Respuesta de GET /api/v1/consar/recursos/totales.
Serie histórica del SAR completo en mil millones de MXN corrientes.
AforeSnapshotRow ¶
PorAforeResponse ¶
ComponenteSnapshotRow ¶
PorComponenteResponse ¶
ComposicionItem ¶
ComposicionResponse ¶
Bases: DatosMexicoModel
Respuesta de GET /api/v1/consar/recursos/composicion.
Verifica la identidad contable: la suma de los 8 componentes principales
debe coincidir con el total del SAR reportado. cierre_al_peso es
True cuando el delta absoluto es despreciable.
ImssVsIsssteePunto ¶
ImssVsIsssteeResponse ¶
SerieAforeRef ¶
SerieTipoRecursoRef ¶
SerieRango ¶
SeriePunto ¶
SerieResponse ¶
Bases: DatosMexicoModel
Respuesta de GET /api/v1/consar/recursos/serie.
Serie de un tipo de recurso (rcv, vivienda, voluntario, etc.).
Si se filtra por afore_codigo, afore está poblado; si no, es
None (serie del sistema).
PeaCotizantesPunto ¶
PeaCotizantesResponse ¶
ComisionAforeRef ¶
ComisionPunto ¶
ComisionSerieResponse ¶
ComisionSnapshotRow ¶
ComisionSnapshotResponse ¶
FlujoAforeRef ¶
FlujoPunto ¶
FlujoSerieResponse ¶
FlujoSnapshotRow ¶
FlujoSnapshotResponse ¶
TraspasoAforeRef ¶
TraspasoPunto ¶
TraspasoSerieResponse ¶
TraspasoIdentidad ¶
TraspasoSnapshotRow ¶
TraspasoSnapshotResponse ¶
RendimientoAforeRef ¶
RendimientoSieforeRef ¶
RendimientoMappingMeta ¶
RendimientoPunto ¶
RendimientoSerieResponse ¶
RendimientoSnapshotRow ¶
RendimientoSnapshotResponse ¶
RendimientoSistemaPunto ¶
RendimientoSistemaResponse ¶
PrecioAforeRef ¶
PrecioSieforeRef ¶
PrecioPunto ¶
PrecioSerieResponse ¶
PrecioSnapshotRow ¶
PrecioSnapshotResponse ¶
Bases: DatosMexicoModel
Respuesta de GET /api/v1/consar/precios/snapshot y precios-gestión/snapshot.
PrecioComparativoSerieAfore ¶
PrecioComparativoResponse ¶
Bases: DatosMexicoModel
Respuesta de GET /api/v1/consar/precios/comparativo.
Comparación de precios de una SIEFORE entre todas las AFOREs en un rango de fechas.
CuentaAforeRef ¶
CuentaMetricaRef ¶
CuentaPunto ¶
CuentaSerieResponse ¶
CuentaSnapshotRow ¶
CuentaSnapshotResponse ¶
CuentaSistemaEtiquetaRef ¶
CuentaSistemaPunto ¶
CuentaSistemaResponse ¶
MedidaAforeRef ¶
MedidaSieforeRef ¶
MedidaMetricaRef ¶
MedidaMappingMeta ¶
MedidaPunto ¶
MedidaSerieResponse ¶
MedidaSnapshotRow ¶
MedidaSnapshotResponse ¶
ActivoNetoAforeRef ¶
ActivoNetoSieforeRef ¶
ActivoNetoMappingMeta ¶
ActivoNetoPunto ¶
ActivoNetoSerieResponse ¶
ActivoNetoSnapshotRow ¶
ActivoNetoSnapshotResponse ¶
ActivoNetoAggPunto ¶
ActivoNetoAggregadoResponse ¶
Bases: DatosMexicoModel
Respuesta de GET /api/v1/consar/activo-neto/agregado.
Activo neto sumado a través de las SIEFORES de una categoría
(ej. "basicas" agrega todas las básicas) para una AFORE.