Saltar a contenido

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

ConsarNamespace(http: HttpClient)

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

afores() -> AforesResponse

Catálogo de las AFOREs registradas históricamente.

Endpoint: GET /api/v1/consar/afores

tipos_recurso

tipos_recurso() -> TiposRecursoResponse

Catálogo de tipos de recurso (RCV, vivienda, voluntario, etc.).

Endpoint: GET /api/v1/consar/tipos-recurso

metricas_cuenta

metricas_cuenta() -> MetricasCuentaResponse

Catálogo de métricas de cuentas disponibles.

Endpoint: GET /api/v1/consar/metricas-cuenta

metricas_sensibilidad

metricas_sensibilidad() -> MetricasSensibilidadResponse

Catálogo de métricas de sensibilidad/regulatorias.

Endpoint: GET /api/v1/consar/metricas-sensibilidad

recursos_totales

recursos_totales() -> TotalesSarResponse

Serie histórica del SAR total en mil millones de MXN corrientes.

Endpoint: GET /api/v1/consar/recursos/totales

recursos_por_afore

recursos_por_afore(fecha: date | str) -> PorAforeResponse

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 fecha no es válida o el día no es 01.

NotFoundError

Si no hay datos para esa fecha.

recursos_por_componente

recursos_por_componente(
    fecha: date | str,
) -> PorComponenteResponse

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 (incluye sar_total mismo 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

recursos_composicion(
    fecha: date | str,
) -> ComposicionResponse

Composición contable: verifica que la suma cuadra al peso.

Endpoint: GET /api/v1/consar/recursos/composicion

recursos_imss_vs_issste

recursos_imss_vs_issste() -> ImssVsIsssteeResponse

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. "rcv", "vivienda").

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

pea_cotizantes_serie() -> PeaCotizantesResponse

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

comisiones_snapshot(
    fecha: date | str,
) -> ComisionSnapshotResponse

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

flujos_snapshot(fecha: date | str) -> FlujoSnapshotResponse

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

traspasos_snapshot(
    fecha: date | str,
) -> TraspasoSnapshotResponse

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. "36meses").

required

rendimientos_snapshot

rendimientos_snapshot(
    *, fecha: date | str, plazo: str
) -> RendimientoSnapshotResponse

Snapshot de rendimientos para un plazo en una fecha (cubre todas las SIEFORES).

Endpoint: GET /api/v1/consar/rendimientos/snapshot

rendimientos_sistema

rendimientos_sistema(
    *, siefore_slug: str, plazo: str
) -> RendimientoSistemaResponse

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

precios_snapshot(
    fecha: date | str,
) -> PrecioSnapshotResponse

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

precios_gestion_snapshot(
    fecha: date | str,
) -> PrecioSnapshotResponse

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

cuentas_serie(
    *, afore_codigo: str, metrica: str
) -> CuentaSerieResponse

Serie de una métrica de cuentas para una AFORE.

Endpoint: GET /api/v1/consar/cuentas/serie

cuentas_snapshot

cuentas_snapshot(
    fecha: date | str,
) -> CuentaSnapshotResponse

Snapshot de cuentas para una fecha (cubre todas las métricas).

Endpoint: GET /api/v1/consar/cuentas/snapshot

cuentas_sistema

cuentas_sistema(*, metrica: str) -> CuentaSistemaResponse

Serie del sistema completo, etiquetada por categoría.

Endpoint: GET /api/v1/consar/cuentas/sistema

medidas_serie

medidas_serie(
    *, afore_codigo: str, siefore_slug: str, metrica: str
) -> MedidaSerieResponse

Serie de una medida regulatoria para AFORE x SIEFORE x métrica.

Endpoint: GET /api/v1/consar/medidas/serie

medidas_snapshot

medidas_snapshot(
    *, fecha: date | str, metrica: str
) -> MedidaSnapshotResponse

Snapshot de una métrica regulatoria para una fecha.

Endpoint: GET /api/v1/consar/medidas/snapshot

activo_neto_serie

activo_neto_serie(
    *, afore_codigo: str, siefore_slug: str
) -> ActivoNetoSerieResponse

Serie de activo neto para un par AFORE x SIEFORE.

Endpoint: GET /api/v1/consar/activo-neto/serie

activo_neto_snapshot

activo_neto_snapshot(
    fecha: date | str,
) -> ActivoNetoSnapshotResponse

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(
    *, afore_codigo: str, categoria: str
) -> ActivoNetoAggregadoResponse

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. "basicas").

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, valor de medidas, comisiones) se exponen como Decimal para preservar precisión y permitir aritmética exacta.
  • Campos de fecha (fecha, desde, hasta, fecha_*, desde_fecha) se exponen como date.
  • Campos que pueden ser null para fechas/AFOREs sin datos están tipados como Optional[T].
  • unit es siempre un texto descriptivo del unidad (ej. "MXN_mm", "pct").

AforeRow

Bases: DatosMexicoModel

Item del catálogo de AFOREs.

AforesResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/afores.

TipoRecursoRow

Bases: DatosMexicoModel

Item del catálogo de tipos de recurso (RCV, vivienda, voluntario, etc.).

TiposRecursoResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/tipos-recurso.

MetricaCuentaRow

Bases: DatosMexicoModel

Item del catálogo de métricas de cuentas.

MetricasCuentaResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/metricas-cuenta.

MetricaSensibilidadRow

Bases: DatosMexicoModel

Item del catálogo de métricas de sensibilidad.

MetricasSensibilidadResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/metricas-sensibilidad.

TotalSarPunto

Bases: DatosMexicoModel

Punto mensual de la serie del SAR total.

TotalesSarResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/recursos/totales.

Serie histórica del SAR completo en mil millones de MXN corrientes.

AforeSnapshotRow

Bases: DatosMexicoModel

Fila de un snapshot por AFORE.

PorAforeResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/recursos/por-afore.

ComponenteSnapshotRow

Bases: DatosMexicoModel

Fila de snapshot por componente (tipo de recurso).

PorComponenteResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/recursos/por-componente.

ComposicionItem

Bases: DatosMexicoModel

Item de la composición contable del SAR para una fecha.

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

Bases: DatosMexicoModel

Punto mensual de la serie RCV IMSS vs ISSSTE.

ImssVsIsssteeResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/recursos/imss-vs-issste.

SerieAforeRef

Bases: DatosMexicoModel

Referencia de AFORE en una serie filtrada por afore.

SerieTipoRecursoRef

Bases: DatosMexicoModel

Referencia de tipo de recurso en una serie.

SerieRango

Bases: DatosMexicoModel

Rango temporal cubierto por una serie.

SeriePunto

Bases: DatosMexicoModel

Punto mensual de una serie genérica de recursos.

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

Bases: DatosMexicoModel

Punto anual de cotizantes vs PEA.

PeaCotizantesResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/pea-cotizantes/serie.

ComisionAforeRef

Bases: DatosMexicoModel

Referencia de AFORE para series de comisiones.

ComisionPunto

Bases: DatosMexicoModel

Punto mensual de comisión cobrada (porcentaje).

ComisionSerieResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/comisiones/serie.

ComisionSnapshotRow

Bases: DatosMexicoModel

Fila de snapshot de comisiones por AFORE.

ComisionSnapshotResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/comisiones/snapshot.

FlujoAforeRef

Bases: DatosMexicoModel

Referencia de AFORE para series de flujos.

FlujoPunto

Bases: DatosMexicoModel

Punto mensual de flujos (entradas/salidas/neto).

FlujoSerieResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/flujos/serie.

FlujoSnapshotRow

Bases: DatosMexicoModel

Fila de snapshot de flujos por AFORE.

FlujoSnapshotResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/flujos/snapshot.

TraspasoAforeRef

Bases: DatosMexicoModel

Referencia de AFORE para series de traspasos.

TraspasoPunto

Bases: DatosMexicoModel

Punto mensual de traspasos (cuentas).

TraspasoSerieResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/traspasos/serie.

TraspasoIdentidad

Bases: DatosMexicoModel

Identidad contable de traspasos: cedidos == recibidos a nivel sistema.

TraspasoSnapshotRow

Bases: DatosMexicoModel

Fila de snapshot de traspasos por AFORE.

TraspasoSnapshotResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/traspasos/snapshot.

RendimientoAforeRef

Bases: DatosMexicoModel

Referencia de AFORE para series de rendimientos.

RendimientoSieforeRef

Bases: DatosMexicoModel

Referencia de SIEFORE.

RendimientoMappingMeta

Bases: DatosMexicoModel

Provenance del mapping AFORExSIEFORE para rendimientos.

RendimientoPunto

Bases: DatosMexicoModel

Punto mensual de rendimiento (porcentaje).

RendimientoSerieResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/rendimientos/serie.

RendimientoSnapshotRow

Bases: DatosMexicoModel

Fila de snapshot de rendimientos.

RendimientoSnapshotResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/rendimientos/snapshot.

RendimientoSistemaPunto

Bases: DatosMexicoModel

Punto mensual de rendimiento del sistema (promedio).

RendimientoSistemaResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/rendimientos/sistema.

PrecioAforeRef

Bases: DatosMexicoModel

Referencia de AFORE para series de precios.

PrecioSieforeRef

Bases: DatosMexicoModel

Referencia de SIEFORE para series de precios.

PrecioPunto

Bases: DatosMexicoModel

Punto diario/mensual de precio (NAV).

PrecioSerieResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/precios/serie y precios-gestión/serie.

PrecioSnapshotRow

Bases: DatosMexicoModel

Fila de snapshot de precios.

PrecioSnapshotResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/precios/snapshot y precios-gestión/snapshot.

PrecioComparativoSerieAfore

Bases: DatosMexicoModel

Serie de precios para una AFORE en una comparación cross-AFORE.

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

Bases: DatosMexicoModel

Referencia de AFORE para series de cuentas.

CuentaMetricaRef

Bases: DatosMexicoModel

Referencia de métrica de cuentas.

CuentaPunto

Bases: DatosMexicoModel

Punto mensual de una métrica de cuentas (entero).

CuentaSerieResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/cuentas/serie.

CuentaSnapshotRow

Bases: DatosMexicoModel

Fila de snapshot de cuentas para una AFORE x métrica.

CuentaSnapshotResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/cuentas/snapshot.

CuentaSistemaEtiquetaRef

Bases: DatosMexicoModel

Referencia de etiqueta de cuenta a nivel sistema.

CuentaSistemaPunto

Bases: DatosMexicoModel

Punto mensual del sistema completo, etiquetado por categoría.

CuentaSistemaResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/cuentas/sistema.

MedidaAforeRef

Bases: DatosMexicoModel

Referencia de AFORE para series de medidas.

MedidaSieforeRef

Bases: DatosMexicoModel

Referencia de SIEFORE para series de medidas.

MedidaMetricaRef

Bases: DatosMexicoModel

Referencia de métrica regulatoria (sensibilidad, VaR, duración, etc.).

MedidaMappingMeta

Bases: DatosMexicoModel

Provenance del mapping AFORExSIEFORE para medidas.

MedidaPunto

Bases: DatosMexicoModel

Punto mensual de una medida regulatoria.

MedidaSerieResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/medidas/serie.

MedidaSnapshotRow

Bases: DatosMexicoModel

Fila de snapshot de medidas (AFORE x SIEFORE para una métrica).

MedidaSnapshotResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/medidas/snapshot.

ActivoNetoAforeRef

Bases: DatosMexicoModel

Referencia de AFORE para series de activo neto.

ActivoNetoSieforeRef

Bases: DatosMexicoModel

Referencia de SIEFORE para series de activo neto.

ActivoNetoMappingMeta

Bases: DatosMexicoModel

Provenance del mapping AFORExSIEFORE para activo neto.

ActivoNetoPunto

Bases: DatosMexicoModel

Punto mensual de activo neto por (AFORE x SIEFORE).

ActivoNetoSerieResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/activo-neto/serie.

ActivoNetoSnapshotRow

Bases: DatosMexicoModel

Fila de snapshot de activo neto por (AFORE x SIEFORE).

ActivoNetoSnapshotResponse

Bases: DatosMexicoModel

Respuesta de GET /api/v1/consar/activo-neto/snapshot.

ActivoNetoAggPunto

Bases: DatosMexicoModel

Punto mensual de activo neto agregado por categoría.

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.