API

CPIDataBase.CPIDataBaseModule
CPIDataBase

Librería base para tipos y funcionalidad básica para manejo de los datos desagregados del IPC a nivel de república.

source

Tipos CPIBase

    CPIDataBase.FullCPIBaseType
    FullCPIBase{T, B} <: AbstractCPIBase{T}
    
    FullCPIBase(ipc::Matrix{T}, v::Matrix{T}, w::Vector{T}, dates::DATETYPE, baseindex::B, codes::CODETYPE, names::DESCTYPE) where {T, B}
    FullCPIBase(df::DataFrame, gb::DataFrame)

    Contenedor completo para datos desagregados del IPC de un país. Se representa por:

    • Matriz de índices de precios ipc que incluye la fila con los índices del número base.
    • Matriz de variaciones intermensuales v. En las filas contiene los períodos y en las columnas contiene los gastos básicos.
    • Vector de ponderaciones w de los gastos básicos.
    • Fechas correspondientes dates (por meses).
    • Índices base baseindex.
    • Códigos y nombres de los gastos básicos en codes y names.

    El tipo T representa el tipo de datos para representar los valores de punto flotante. El tipo B representa el tipo del campo baseindex; por ejemplo, Float32 o Vector{Float32}.

    source
    CPIDataBase.FullCPIBaseMethod
    FullCPIBase(df::DataFrame, gb::DataFrame)

    Este método constructor devuelve una estructura FullCPIBase a partir de los DataFrames de índices de precios df y de descripción de los gastos básicos gb.

    • El DataFrame df posee la siguiente estructura:
      • Contiene en la primera columna las fechas o períodos de los datos. En las siguientes columnas, debe contener los códigos de cada una de las categorías o gastos básicos de la estructura del IPC, junto con la serie de tiempo con los índices de precios individuales.
      • En las filas del DataFrame contiene los períodos por meses. La primera fila del DataFrame se utiliza para obtener el índice base. Si el valor es el mismo para todos los gastos básicos, se tomará únicamente este valor escalar (por ejemplo 100.0 como un Float64). En algunos casos, es posible que no se disponga de la información completa, por lo que los índices base podrían ser diferentes entre sí. En este caso, baseindex almacenará el vector de índices base originales.
      • Un ejemplo de cómo puede verse este DataFrame es el siguiente:
    121×219 DataFrame
     Row │ Date         _011111  _011121  _011131  _011141  _011142  _011151  _011152 ⋯
         │ Date         Float64  Float64  Float64  Float64  Float64  Float64  Float64 ⋯
    ─────┼─────────────────────────────────────────────────────────────────────────────
       1 │ 2000-12-01   100.0    100.0    100.0    100.0    100.0    100.0    100.0   ⋯
       2 │ 2001-01-01   100.55   103.23   101.66   106.47   100.36   100.0    102.57   
       3 │ 2001-02-01   101.47   104.82   102.73   108.38   101.37   100.0    103.35   
       4 │ 2001-03-01   101.44   107.74   104.9    103.76   101.32   100.0    104.27   
       5 │ 2001-04-01   101.91   107.28   106.19   107.83   101.82   100.0    104.73  ⋯
       6 │ 2001-05-01   102.77   106.12   106.9    109.16   101.81   100.0    105.21   
       7 │ 2001-06-01   103.23   109.04   107.4    112.13   102.72   100.0    105.47   
       8 │ 2001-07-01   104.35   112.72   107.96   117.19   105.09   100.0    105.66   
      ⋮  │     ⋮          ⋮        ⋮        ⋮        ⋮        ⋮        ⋮        ⋮     ⋱
     114 │ 2010-05-01   218.45   501.39   200.28   477.5    179.0    215.0    164.16  ⋯
     115 │ 2010-06-01   219.28   503.35   203.88   476.26   180.94   214.02   164.97   
     116 │ 2010-07-01   219.1    503.78   205.19   478.34   181.78   217.6    165.9    
     117 │ 2010-08-01   218.52   507.45   206.87   486.72   181.51   223.76   166.46   
     118 │ 2010-09-01   218.9    505.8    206.45   501.23   182.04   228.34   166.04  ⋯
     119 │ 2010-10-01   219.51   504.41   205.78   504.4    182.35   221.98   166.3    
     120 │ 2010-11-01   219.11   509.63   205.41   502.88   182.16   217.01   166.34   
     121 │ 2010-12-01   218.79   511.38   205.09   506.04   182.14   218.63   165.99   
                                                       211 columns and 105 rows omitted
    • El DataFrame gb posee la siguiente estructura:
      • La primera columna contiene los códigos de las columnas del DataFrame df.
      • La segunda columna contiene el nombre o la descripción de cada una de las categorías en las columnas de df.
      • Y finalmente, la tercer columna, debe contener las ponderaciones asociadas a cada una de las categorías o gastos básicos de las columnas de df.
      • Los nombres de las columnas no son tomados en cuenta, solamente el orden y los tipos.
      • Un ejemplo de cómo puede verse este DataFrame es el siguiente:
    218×3 DataFrame
     Row │ Code     GoodOrService                       Weight
         │ String   String                              Float64     
    ─────┼────────────────────────────────────────────────────────
       1 │ _011111  Arroz                               0.483952
       2 │ _011121  Pan                                 2.82638
       3 │ _011131  Pastas frescas y secas              0.341395
       4 │ _011141  Productos de tortillería            1.69133
      ⋮  │   ⋮                     ⋮                     ⋮
     216 │ _093111  Gastos por seguros                  0.236691
     217 │ _093121  Gastos por servicios funerarios     0.289885
     218 │ _094111  Gastos por servicios diversos pa…   0.151793
                                                  211 rows omitted
    source
    CPIDataBase.IndexCPIBaseType
    IndexCPIBase{T, B} <: AbstractCPIBase{T}
    
    IndexCPIBase(ipc::Matrix{T}, w::Vector{T}, dates::DATETYPE, baseindex::B) where {T, B}

    Contenedor genérico de índices de precios del IPC de un país. Se representa por:

    • Matriz de índices de precios ipc que incluye la fila con los índices del númbero base.
    • Vector de ponderaciones w de los gastos básicos.
    • Fechas correspondientes dates (por meses).
    • Índices base baseindex.

    El tipo T representa el tipo de datos para representar los valores de punto flotante. El tipo B representa el tipo del campo baseindex; por ejemplo, Float32 o Vector{Float32}.

    source
    CPIDataBase.IndexCPIBaseMethod
    IndexCPIBase(df::DataFrame, gb::DataFrame)

    Este constructor devuelve una estructura IndexCPIBase a partir del DataFrame de índices de precios df, que contiene en las columnas las categorías o gastos básicos del IPC y en las filas los períodos por meses. Las ponderaciones se obtienen de la estructura gb, en la tercera columna de ponderaciones.

    Para conocer la estructura de los DataFrames necesarios, vea también: FullCPIBase.

    source
    CPIDataBase.VarCPIBaseType
    VarCPIBase{T, B} <: AbstractCPIBase{T}
    
    VarCPIBase(v::Matrix{T}, w::Vector{T}, dates::DATETYPE, baseindex::B) where {T, B}

    Contenedor genérico para de variaciones intermensuales de índices de precios del IPC de un país. Se representa por:

    • Matriz de variaciones intermensuales v. En las filas contiene los períodos y en las columnas contiene los gastos básicos.
    • Vector de ponderaciones w de los gastos básicos.
    • Fechas correspondientes dates (por meses).
    • Índices base baseindex.

    Este tipo es el utilizado en el contenedor de bases del IPC de un país, denominado CountryStructure, ya que con los datos de un VarCPIBase es suficiente para computar cualquier medida de inflación basada en índices de precios individuales o en un estadístico de resumen de las variaciones intermensuales (como un percentil, o una media truncada).

    El tipo T representa el tipo de datos para representar los valores de punto flotante. El tipo B representa el tipo del campo baseindex; por ejemplo, Float32 o Vector{Float32}.

    Ver también: CountryStructure, UniformCountryStructure, MixedCountryStructure

    source
    CPIDataBase.VarCPIBaseMethod
    VarCPIBase(df::DataFrame, gb::DataFrame)

    Este constructor devuelve una estructura VarCPIBase a partir del DataFrame de índices de precios df, que contiene en las columnas las categorías o gastos básicos del IPC y en las filas los períodos por meses. Las ponderaciones se obtienen de la estructura gb, en la tercera columna de ponderaciones.

    Para conocer la estructura de los DataFrames necesarios, vea también: FullCPIBase.

    source
    CPIDataBase.periodsMethod
    periods(base::VarCPIBase)

    Computa el número de períodos (meses) en las base de variaciones intermensuales.

    source

    Tipos CountryStructure

      CPIDataBase.MixedCountryStructureType
      MixedCountryStructure{N, T} <: CountryStructure{N, T}

      Estructura que representa el conjunto de bases del IPC de un país, posee el campo base, que es una tupla de la estructura VarCPIBase, cada una con su propio tipo de índices base B. Este tipo es una colección de un tipo abstracto.

      source
      CPIDataBase.UniformCountryStructureType
      UniformCountryStructure{N, T, B} <: CountryStructure{N, T}

      Estructura que representa el conjunto de bases del IPC de un país, posee el campo base, que es una tupla de la estructura VarCPIBase. Todas las bases deben tener el mismo tipo de índice base.

      source
      Base.eltypeMethod
      eltype(::CountryStructure{N, T})

      Tipo de dato de punto flotante del contenedor de la estructura de país CountryStructure.

      source
      Base.getindexMethod
      getindex(cst::CountryStructure, startdate::Date, finaldate::Date)

      Devuelve una copia del CountryStructure con las bases modificadas para tener observaciones entre las fechas indicada por startdate y finaldate.

      source
      Base.getindexMethod
      getindex(cst::CountryStructure, finaldate::Date)

      Devuelve una copia del CountryStructure hasta la fecha indicada por finaldate.

      source
      Base.getindexMethod
      getindex(cst::CountryStructure, i::Int)

      Devuelve la base número i de un contenedor CountryStructure.

      source
      CPIDataBase.getunionalltypeMethod
      getunionalltype(::MixedCountryStructure)

      Devuelve el tipo MixedCountryStructure. Utilizado al llamar getunionalltype sobre un CountryStructure para obtener el tipo concreto UnionAll.

      source
      CPIDataBase.getunionalltypeMethod
      getunionalltype(::UniformCountryStructure)

      Devuelve el tipo UniformCountryStructure. Utilizado al llamar getunionalltype sobre un CountryStructure para obtener el tipo concreto UnionAll.

      source
      CPIDataBase.infl_datesMethod
      infl_periods(cst::CountryStructure)

      Fechas correspondientes a la trayectorias de inflación computadas a partir un CountryStructure.

      source
      CPIDataBase.infl_periodsMethod
      infl_periods(cst::CountryStructure)

      Computa el número de períodos de inflación de la estructura de país. Corresponde al número de observaciones intermensuales menos las primeras 11 observaciones de la primera base del IPC.

      source
      CPIDataBase.periodsMethod
      periods(cst::CountryStructure)

      Computa el número de períodos (meses) en las bases de variaciones intermensuales de la estructura de país.

      source

      Tipos y funciones de inflación

        CPIDataBase.InflationFunctionType
        abstract type InflationFunction <: Function

        Tipo abstracto para representar las funciones de inflación que operan sobre CountryStructure y VarCPIBase. Permiten computar la medida de ritmo inflacionario interanual, el índice de precios dado por la metodología y las variaciones intermensuales del índice de precios.

        source
        CPIDataBase.measure_nameMethod
        measure_name(inflfn::InflationFunction)

        Este método permite obtener el nombre convencional de una medida de inflación.

        source
        CPIDataBase.measure_tagMethod
        measure_tag(inflfn::InflationFunction)

        Obtiene una etiqueta de la medida de inflación. Se puede utilizar para guardar como parámetro en archivos de resultados de evaluación.

        source
        CPIDataBase.num_measuresMethod
        num_measures(::InflationFunction)

        Devuelve la cantidad de medidas devueltas por la función de inflación. Las funciones de EnsembleFunction pueden computar varias medidas de inflación simultáneamente.

        source
        CPIDataBase.paramsMethod
        params(inflfn::InflationFunction)

        Método para obtener parámetros de la función de inflación. Devuelve una tupla con el conjunto de parámetros utilizado por la función de inflación inflfn. Este método debe redefinirse en las nuevas medidas de inflación si estas están parametrizadas.

        source
        CPIDataBase.CombinationFunctionType
        CombinationFunction{N, W} <: EnsembleInflationFunction <: InflationFunction
        
        CombinationFunction(ensemble, weights [, name, tag])
        CombinationFunction(inflfn1, inflfn2 [, ...], weights [, name, tag])

        Función de inflación para computar un promedio ponderado de un conjunto de N de medidas de inflación con tipo del vector de ponderaciones W.

        source
        CPIDataBase.componentsMethod
        components(inflfn::CombinationFunction)

        Devuelve un DataFrame con las componentes de la función de combinación lineal y las ponderaciones asociadas.

        source
        CPIDataBase.EnsembleFunctionType
        EnsembleFunction{N} <: EnsembleInflationFunction
        
        EnsembleFunction(inflfn1, inflfn2 [, ...])

        Función de inflación para computar un conjunto de N de medidas de inflación simultáneamente utilizando las funciones inflfn1, inflfn2, ....

        source

        Operaciones

          CPIDataBase.capitalizeFunction
          capitalize(v::AbstractVector, base_index::Real = 100)
          capitalize(vmat::AbstractMatrix, base_index::Real = 100)
          capitalize(vmat::AbstractMatrix, base_index::AbstractVector)

          Función para encadenar un vector o matriz con variaciones intermensuales de índices de precios v o vmat para conformar un índice de precios cuyo valor base sea base_index.

          source
          CPIDataBase.capitalize!Function
          capitalize!(idx:: AbstractVector, v::AbstractVector, base_index::Real)
          capitalize!(vmat::AbstractMatrix, base_index = 100)

          Función para encadenar un vector o matriz con variaciones intermensuales de índices de precios v o vmat para conformar un índice de precios cuyo valor base sea base_index y sea almacenado en idx o en la propia matriz vmat.

          source
          CPIDataBase.capitalizeMethod
          capitalize(base::VarCPIBase)

          Esto devuelve una nueva instancia (copia) de tipo IndexCPIBase de un objeto VarCPIBase.

          source
          CPIDataBase.varintermFunction
          varinterm(idx::AbstractVecOrMat, base_index = 100)

          Función para computar un vector o una matriz de variaciones intermensuales de los índices de precios en idx, utilizando como índice base base_index en la primera observación.

          Ver también: varinterm!

          source
          CPIDataBase.varinterm!Function
          varinterm!([v::AbstractVecOrMat, ] idx::AbstractVecOrMat, base_index = 100)

          Función para computar un vector o una matriz de variaciones intermensuales de los índices de precios en idx, utilizando como índice base base_index en la primera observación. Si idx es una matriz, v es opcional y el cómputo se realiza sobre la misma matriz. Si idx es un vector, es necesario proporcionar v para realizar el cómputo.

          Ver también: varinterm.

          source
          CPIDataBase.varinteranFunction
          varinteran(idx::AbstractVector, base_index::Real = 100) -> Vector{<:AbstractFloat}
          varinteran(cpimat::AbstractMatrix, base_index::Real = 100) -> Matrix{<:AbstractFloat}
          varinteran(cpimat::AbstractMatrix, base_index::AbstractVector) -> Matrix{<:AbstractFloat}

          Obtiene variaciones interanuales del vector idx o de la matriz cpimat utilizando como índice base el número o vector base_index.

          • Si base_index es un vector, se obtienen las variaciones interanuales utilizando diferentes índices base para cada columna de cpimat. El vector base_index debe tener la misma cantidad de columnas que cpimat.
          source
          CPIDataBase.varinteran!Function
          varinteran!(v::AbstractVector, idx::AbstractVector, base_index::Real = 100) -> Vector{<:AbstractFloat}

          Computa las variaciones interanuales del vector idx utilizando como índice base base_index. Si se provee v, los resultados son guardados en este vector, en vez del mismo idx.

          • El vector v tiene 11 observaciones menos que idx.
          source
          CPIDataBase.getdatesMethod
          getdates(startdate::Date, vmat::AbstractMatrix)

          Obtiene un rango de fechas a partir de una fecha inicial startdate y la cantidad de períodos en la matriz de variaciones intermensuales vmat.

          source
          CPIDataBase.getdatesMethod
          getdates(startdate::Date, periods::Int)

          Obtiene un rango de fechas a partir de una fecha inicial startdate y la cantidad de períodos de una matriz de variaciones intermensuales

          source