API
CPIDataBase.CPIDataBase
— ModuleCPIDataBase
Librería base para tipos y funcionalidad básica para manejo de los datos desagregados del IPC a nivel de república.
Tipos CPIBase
CPIDataBase.CODETYPE
— Typeconst CODETYPE = Union{Vector{String}, Nothing}
Tipos posibles para los códigos en el campo codes
de un FullCPIBase
.
CPIDataBase.DATETYPE
— Typeconst DATETYPE = Union{StepRange{Date, Month}, Vector{Date}}
Tipos posibles para el campo de fechas dates
de un AbstractCPIBase
.
CPIDataBase.DESCTYPE
— Typeconst DESCTYPE = Union{Vector{String}, Nothing}
Tipos posibles para los nombres en el campo names
de un FullCPIBase
.
CPIDataBase.AbstractCPIBase
— Typeabstract type AbstractCPIBase{T <: AbstractFloat}
Tipo abstracto para representar conjuntos de colecciones de datos del IPC.
Vea también: FullCPIBase
, VarCPIBase
e IndexCPIBase
.
CPIDataBase.FullCPIBase
— TypeFullCPIBase{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
ynames
.
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}
.
CPIDataBase.FullCPIBase
— MethodFullCPIBase(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:
- La primera columna contiene los códigos de las columnas del DataFrame
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
CPIDataBase.IndexCPIBase
— TypeIndexCPIBase{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}
.
CPIDataBase.IndexCPIBase
— MethodIndexCPIBase(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
.
CPIDataBase.VarCPIBase
— TypeVarCPIBase{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
CPIDataBase.VarCPIBase
— MethodVarCPIBase(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
.
CPIDataBase.periods
— Methodperiods(base::VarCPIBase)
Computa el número de períodos (meses) en las base de variaciones intermensuales.
Tipos CountryStructure
CPIDataBase.CountryStructure
— TypeCountryStructure{N, T <: AbstractFloat}
Tipo abstracto que representa el conjunto de bases del IPC de un país.
CPIDataBase.MixedCountryStructure
— TypeMixedCountryStructure{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.
CPIDataBase.UniformCountryStructure
— TypeUniformCountryStructure{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.
Base.eltype
— Methodeltype(::CountryStructure{N, T})
Tipo de dato de punto flotante del contenedor de la estructura de país CountryStructure
.
Base.getindex
— Methodgetindex(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
.
Base.getindex
— Methodgetindex(cst::CountryStructure, finaldate::Date)
Devuelve una copia del CountryStructure
hasta la fecha indicada por finaldate
.
Base.getindex
— Methodgetindex(cst::CountryStructure, i::Int)
Devuelve la base número i
de un contenedor CountryStructure
.
CPIDataBase.getunionalltype
— Methodgetunionalltype(::MixedCountryStructure)
Devuelve el tipo MixedCountryStructure
. Utilizado al llamar getunionalltype
sobre un CountryStructure
para obtener el tipo concreto UnionAll
.
CPIDataBase.getunionalltype
— Methodgetunionalltype(::UniformCountryStructure)
Devuelve el tipo UniformCountryStructure
. Utilizado al llamar getunionalltype
sobre un CountryStructure
para obtener el tipo concreto UnionAll
.
CPIDataBase.infl_dates
— Methodinfl_periods(cst::CountryStructure)
Fechas correspondientes a la trayectorias de inflación computadas a partir un CountryStructure
.
CPIDataBase.infl_periods
— Methodinfl_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.
CPIDataBase.periods
— Methodperiods(cst::CountryStructure)
Computa el número de períodos (meses) en las bases de variaciones intermensuales de la estructura de país.
Tipos y funciones de inflación
CPIDataBase.CPIIndex
— TypeTipo concreto único para obtener el índice de una función de inflación
CPIDataBase.CPIResult
— TypeTipo abstracto para manejar el despacho de las funciones de inflación
CPIDataBase.CPIVarInterm
— TypeTipo concreto único para obtener la variación intermensual de una función de inflación
CPIDataBase.InflationFunction
— Typeabstract 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.
CPIDataBase.measure_name
— Methodmeasure_name(inflfn::InflationFunction)
Este método permite obtener el nombre convencional de una medida de inflación.
CPIDataBase.measure_tag
— Methodmeasure_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.
CPIDataBase.num_measures
— Methodnum_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.
CPIDataBase.params
— Methodparams(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.
CPIDataBase.CombinationFunction
— TypeCombinationFunction{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
.
CPIDataBase.InflationCombination
— TypeInflationCombination <: EnsembleInflationFunction <: InflationFunction
Alias para CombinationFunction
.
CPIDataBase.components
— Methodcomponents(inflfn::CombinationFunction)
Devuelve un DataFrame
con las componentes de la función de combinación lineal y las ponderaciones asociadas.
CPIDataBase.weights
— Methodweights(combfn::CombinationFunction)
Devuelve el vector de ponderaciones de una CombinationFunction
.
CPIDataBase.EnsembleFunction
— TypeEnsembleFunction{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, ...
.
CPIDataBase.EnsembleInflationFunction
— TypeEnsembleInflationFunction <: InflationFunction <: InflationFunction
Tipo abstracto para conformar conjuntos de medidas de inflación
CPIDataBase.InflationEnsemble
— TypeInflationEnsemble <: EnsembleInflationFunction <: InflationFunction
Alias para EnsembleFunction
.
CPIDataBase.components
— Methodcomponents(inflfn::EnsembleFunction)
Devuelve un DataFrame
con las componentes del EnsembleFunction
.
Operaciones
CPIDataBase.capitalize
— Functioncapitalize(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
.
CPIDataBase.capitalize!
— Functioncapitalize!(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
.
CPIDataBase.capitalize
— Methodcapitalize(base::VarCPIBase)
Esto devuelve una nueva instancia (copia) de tipo IndexCPIBase
de un objeto VarCPIBase
.
CPIDataBase.varinterm
— Functionvarinterm(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!
CPIDataBase.varinterm!
— Functionvarinterm!([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
.
CPIDataBase.varinterm
— Methodvarinterm(base::IndexCPIBase)
Devuelve una nueva copia de tipo VarCPIBase
de un IndexCPIBase
.
CPIDataBase.varinteran
— Functionvarinteran(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 decpimat
. El vectorbase_index
debe tener la misma cantidad de columnas quecpimat
.
CPIDataBase.varinteran!
— Functionvarinteran!(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 queidx
.
CPIDataBase.getdates
— Methodgetdates(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
.
CPIDataBase.getdates
— Methodgetdates(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