InflationFunctions
Documentation for InflationFunctions.
InflationFunctions.InflationFunctionsInflationFunctions.InflationConstantInflationFunctions.InflationCoreMaiFInflationFunctions.InflationCoreMaiFGInflationFunctions.InflationCoreMaiGInflationFunctions.InflationDynamicExclusionInflationFunctions.InflationExpSmoothingInflationFunctions.InflationFixedExclusionInflationFunctions.InflationFixedExclusionCPIInflationFunctions.InflationGSEqInflationFunctions.InflationGSWeightedInflationFunctions.InflationMovingAverageInflationFunctions.InflationPercentileEqInflationFunctions.InflationPercentileEqInflationFunctions.InflationPercentileWeightedInflationFunctions.InflationPercentileWeightedInflationFunctions.InflationSimpleMeanInflationFunctions.InflationTrimmedMeanEqInflationFunctions.InflationTrimmedMeanWeightedInflationFunctions.InflationWeightedMeanInflationFunctions.LegacyMai.InflationCoreMaiInflationFunctions.LegacyMai.MaiFInflationFunctions.LegacyMai.MaiFGInflationFunctions.LegacyMai.MaiGInflationFunctions.MaiFInflationFunctions.MaiFPInflationFunctions.MaiGInflationFunctions.set_language!
InflationFunctions.InflationFunctions — Module
InflationFunctionsFunciones para computar estimadores muestrales de inflación.
InflationFunctions.InflationConstant — Type
InflationConstant <: InflationFunction
InflationConstant(c)Metodología de inflación constante con valor interanual c.
InflationFunctions.InflationCoreMaiF — Type
InflationCoreMaiF <: InflationCoreMai <: InflationFunction
InflationCoreMaiF(cst::CountryStructure, q::Vector{<:AbstractFloat})
InflationCoreMaiF(cst::CountryStructure, n::Int)
InflationCoreMaiF(vlp::Vector{T}, q::Vector{T})Defines the core inflation function that uses the Mai-F method.
InflationFunctions.InflationCoreMaiFG — Type
InflationCoreMaiFG <: InflationCoreMai <: InflationFunction
InflationCoreMaiFG(cst::CountryStructure, q::Vector{<:AbstractFloat})
InflationCoreMaiFG(cst::CountryStructure, n::Int)
InflationCoreMaiFG(vlp::Vector{T}, wlp::Vector{T}, q::Vector{T})Defines the core inflation function that uses the Mai-FG method.
InflationFunctions.InflationCoreMaiG — Type
InflationCoreMaiG <: InflationCoreMai <: InflationFunction
InflationCoreMaiG(cst::CountryStructure, q::Vector{<:AbstractFloat})
InflationCoreMaiG(cst::CountryStructure, n::Int)
InflationCoreMaiG(vlp::Vector{T}, wlp::Vector{T}, q::Vector{T})Defines the core inflation function that uses the MAI-G method.
InflationFunctions.InflationDynamicExclusion — Type
InflationDynamicExclusion <: InflationFunctionFunción para computar la inflación de exclusión dinámica dado el factor inferior (lower_factor) y factor superior (upper_factor).
Utilización
function (inflfn::InflationDynamicExclusion)(base::VarCPIBase)Define cómo opera InflationDynamicExclusion sobre un objeto de tipo VarCPIBase.
function (inflfn::InflationDynamicExclusion)(cs::CountryStructure)Define cómo opera InflationDynamicExclusion sobre un objeto de tipo CountryStructure.
Ejemplo
Cálculo el recorte dinámico simétrico (2, 2) la distribución de variaciones intermensuales ponderadas.
julia> dynExfn = InflationDynamicExclusion(2, 2)
(::InflationDynamicExclusion) (generic function with 5 methods)
julia>dynExfn(gtdata) #gtdata es de tipo UniformCountryStructure
231×1 Matrix{Float32}:
7.0480227
7.3734045
7.6767564
7.6933146
7.7317834
⋮
1.0896564
1.1332393
1.0305643
1.1091232InflationFunctions.InflationExpSmoothing — Type
InflationExpSmoothing{F <: InflationFunction} <: InflationFunctionFunción de inflación que computa la inflación con decaimiento exponencial con el parámetro `$\alpha$ (el parámetro del decaimiento ) de la trayectoria interanual dada por la medida de inflación inflfn almacenada.
Ejemplo
Para computar la inflación con decaimiento exponencial de la variación interanual del IPC:
julia> inflfn = InflationExpSmoothing(InflationTotalCPI(), 0.8)
(::InflationExpSmoothing{InflationTotalCPI}) (generic function with 5 methods)InflationFunctions.InflationFixedExclusion — Type
InflationFixedExclusion{N} <: InflationFunctionFunción de inflación para computar la inflación de exclusión fija de gastos básicos para N bases del IPC. Esta versión no utiliza la fórmula del IPC, como la función de inflación InflationFixedExclusionCPI.
Utilización
function (inflfn::InflationFixedExclusion)(base::VarCPIBase{T}, i::Int) where TDefine cómo opera InflationFixedExclusion sobre un objeto de tipo VarCPIBase, con i listas de exclusión de gastos básicos (posiciones en el IPC) para las bases 2000 y 2010.
function (inflfn::InflationFixedExclusion)(cs::CountryStructure, ::CPIVarInterm)Define cómo opera InflationFixedExclusion sobre un CountryStructure
Ejemplos
Instanciamos la función y le damos dos listas de exclusión, una por cada base en el CountryStructure. Se exclyen los gastos básicos con números de columnas [25,30,54,88] del primer VarCPIBase y los gastos básicos [65,95,85] del segundo VarCPIBase.
julia> InfExc = InflationFixedExclusion([25,30,54,88], [65,95,85])
(::InflationFixedExclusion{2}) (generic function with 6 methods)InflationFunctions.InflationFixedExclusionCPI — Type
InflationFixedExclusionCPI{N} <: InflationFunctionFunción de inflación para computar la inflación de exclusión fija de gastos básicos para N bases del IPC.
Utilización
function (inflfn::InflationFixedExclusionCPI)(base::VarCPIBase{T}, i::Int) where TDefine cómo opera InflationFixedExclusionCPI sobre un objeto de tipo VarCPIBase, con i listas de exclusión de gastos básicos (posiciones en el IPC) para las bases 2000 y 2010.
function (inflfn::InflationFixedExclusionCPI)(cs::CountryStructure, ::CPIVarInterm)Define cómo opera InflationFixedExclusionCPI sobre un CountryStructure
Ejemplos
Instanciamos la función y le damos dos listas de exclusión, una por cada base en el CountryStructure. Se exclyen los gastos básicos con números de columnas [25,30,54,88] del primer VarCPIBase y los gastos básicos [65,95,85] del segundo VarCPIBase.
julia> InfExc = InflationFixedExclusionCPI([25,30,54,88], [65,95,85])
(::InflationFixedExclusionCPI{2}) (generic function with 6 methods)Cuando gt00 es un VarCPIBase para la base 2000 y su vector de exclusión es el primero de la lista:
julia> InfExc(gt00, 1)
120-element Vector{Float32}:
1.4066696
0.7496357
0.5115509
0.39703846
⋮
0.23813248
0.27743578
0.46629906Cuando gt10 es un VarCPIBase para la base 2010 y su vector de exclusión es el segundo de la lista:
julia> InfExc(gt10, 2)Cuando gtdata es un CountryStructure:
julia> InfExc(gtdata)
231-element Vector{Float32}:
8.727622
8.73872
8.972383
9.031701
⋮
4.8354387
5.24472
6.0075045InflationFunctions.InflationGSEq — Type
InflationGSEq <: InflationFunction
InflationGSEq(k, s1, s2, r=2)Computes a Gaussian smoothing with equal weights according to quantile k, left-standard deviation s1, and right-standard deviation s2. The item at the position of the k quantile receives a higher weight and the items to the left or right are downweighted using a Gaussian bell function with different standard deviations to the left and right. The bell function is shaped by the power r.
If $k$ is the desired centering quantile, the standard deviation is a simple piecewise function defined by s(x,k) = x <= p ? 100s1 : 100s2 and the smoothing function by f(x,p,r) = exp(-abs((x-p) / s(x,p))^r).
InflationFunctions.InflationGSWeighted — Type
InflationGSWeighted <: InflationFunction
InflationGSWeighted(k, s1, s2, r=2)Computes a Gaussian smoothing to the weights according to quantile k, left-standard deviation s1, and right-standard deviation s2. The item at the position of the k quantile receives a higher weight and the items to the left or right are downweighted using a Gaussian bell function with different standard deviations to the left and right. The bell function is shaped by the power r.
If $k$ is the desired centering quantile, the standard deviation is a simple piecewise function defined by s(x,k) = x <= p ? 100s1 : 100s2 and the smoothing function by f(x,p,r) = exp(-abs((x-p) / s(x,p))^r).
InflationFunctions.InflationMovingAverage — Type
InflationMovingAverage{F <: InflationFunction} <: InflationFunctionFunción de inflación que computa el promedio móvil de k períodos de la trayectoria interanual de la medida de inflación inflfn almacenada.
Ejemplo
Para computar la media móvil de 6 meses de la variación interanual del IPC:
julia> inflfn = InflationMovingAverage(InflationTotalCPI(), 6)
(::InflationMovingAverage{InflationTotalCPI}) (generic function with 5 methods)InflationFunctions.InflationPercentileEq — Type
InflationPercentileEq <: InflationFunctionFunción de inflación para computar el percentil equiponderado k.
Utilización
function (inflfn::InflationPercentileEq)(base::VarCPIBase{T}) where TDefine cómo opera InflationPercentileEq sobre un objeto de tipo VarCPIBase.
function (inflfn::InflationPercentileEq)(cs::CountryStructure)Define cómo opera InflationPercentileEq sobre un objeto de tipo CountryStructure.
Ejemplo
Cálculo del percentil 70 de la distribución de variaciones intermensuales ponderadas
julia> percEqfn = InflationPercentileEq(70)
(::InflationPercentileEq) (generic function with 5 methods)
julia>percEqfn(gtdata) #gtdata es de tipo UniformCountryStructure
231-element Vector{Float32}:
9.812069
10.271847
10.382021
10.323441
10.427952
⋮
1.9042492
1.9850135
1.9871473
2.0293117
2.1856546InflationFunctions.InflationPercentileEq — Method
InflationPercentileEq(k::Int) = InflationPercentileEq(k = Float32(k) / 100)
InflationPercentileEq(q::T) where {T <: AbstractFloat}Permite utilizar valores de k que no necesariamente son de tipo de punto flotante, como por ejemplo: enteros, fracciones, Float32 y Float64.
Ejemplo
Se usa 0.70 en lugar de 70
julia> percEqfn = InflationPercentileEq(0.70)
(::InflationPercentileEq) (generic function with 5 methods)
julia>percEqfn(gtdata)
231-element Vector{Float32}:
9.812069
10.271847
10.382021
10.323441
10.427952
⋮
1.9042492
1.9850135
1.9871473
2.0293117
2.1856546Se obtienen los mismos resultados.
InflationFunctions.InflationPercentileWeighted — Type
InflationPercentileWeighted <: InflationFunctionFunción de inflación para computar el percentil ponderado k.
Utilización
function (inflfn::InflationPercentileWeighted)(base::VarCPIBase{T}) where TDefine cómo opera InflationPercentileWeighted sobre un objeto de tipo VarCPIBase.
function (inflfn::InflationPercentileWeighted)(cs::CountryStructure)Ejemplo
Cálculo del percentil 70 de la distribución de variaciones intermensuales ponderadas
julia> percfn = InflationPercentileWeighted(70)
(::InflationPercentileWeighted) (generic function with 5 methods)
julia>percfn(gtdata) #gtdata es de tipo UniformCountryStructure
231-element Vector{Float32}:
11.189365
11.571873
11.738467
11.552155
11.763763
⋮
1.8916845
2.074194
2.0474315
2.1219969
2.2268414InflationFunctions.InflationPercentileWeighted — Method
InflationPercentileWeighted(k::Int) = InflationPercentileWeighted(k = Float32(k) / 100)
InflationPercentileWeighted(q::T) where {T <: AbstractFloat}Permite utilizar valores de k que no necesariamente son de tipo de punto flotante, como por ejemplo: enteros, fracciones, Float32 y Float64.
Ejemplo
Se usa 0.70 en lugar de 70
julia> percfn = InflationPercentileWeighted(0.70)
(::InflationPercentileWeighted) (generic function with 5 methods)
julia>percfn(gtdata)
231-element Vector{Float32}:
11.189365
11.571873
11.738467
11.552155
11.763763
⋮
1.8916845
2.074194
2.0474315
2.1219969
2.2268414Se obtienen los mismos resultados
InflationFunctions.InflationSimpleMean — Type
InflationSimpleMean <: InflationFunctionFunción de inflación para computar la media simple interanual.
InflationFunctions.InflationTrimmedMeanEq — Type
InflationTrimmedMeanEq <: InflationFunction
InflationTrimmedMeanEq(l1::Real,l2::Real)
InflationTrimmedMeanWeighted(factor_vec::Vector{<:Real})Función de inflación para computar la media truncada equiponderada
Ejemplo
julia> mtfn = InflationTrimmedMeanEq(25, 75.5)
(::InflationTrimmedMeanEq) (generic function with 5 methods)InflationFunctions.InflationTrimmedMeanWeighted — Type
InflationTrimmedMeanWeighted <: InflationFunction
InflationTrimmedMeanWeighted(l1::Real, l2::Real)
InflationTrimmedMeanWeighted(factor_vec::Vector{<:Real})Función de inflación para computar la media truncada ponderada
Ejemplo
julia> mtfn = InflationTrimmedMeanWeighted(25,75.5)
(::InflationTrimmedMeanWeighted) (generic function with 5 methods)InflationFunctions.InflationWeightedMean — Type
InflationWeightedMean <: InflationFunctionFunción de inflación para computar la media ponderada.
InflationFunctions.MaiF — Type
MaiF{P} <: AbstractMaiMethod
MaiF(n::Int)
MaiF(p::Vector{<:AbstractFloat})InflationFunctions.MaiFP — Type
MaiFP{P} <: AbstractMaiMethod
MaiFP(n::Int)
MaiFP(p::Vector{<:AbstractFloat})InflationFunctions.MaiG — Type
MaiG{P} <: AbstractMaiMethod
MaiG(n::Int)
MaiG(p::Vector{<:AbstractFloat})InflationFunctions.set_language! — Method
set_language!(language::Symbol)Changes the measure name string language. Currently available only in :english and :spanish
InflationFunctions.LegacyMai.InflationCoreMai — Type
InflationCoreMai{T <: AbstractFloat, B, M <:AbstractMaiMethod}
<: InflationFunction
InflationCoreMai(vspace::StepRangeLen{T, B, B}, method::M)Función de inflación de la metodología de muestra ampliada implicítamente (MAI). Se parametriza en el tipo flotante T de los datos, B el tipo para representar la precisión de la grilla vspace en el algoritmo de cómputo y el método M de cómputo.
Los métodos de cómputo disponibles son:
- Metodología MAI-G: se transforma la distribución ponderada de variaciones intermensuales utilizando la distribución histórica de variaciones intermensuales ponderadas. Se debe dar como argumento el método
MaiG. - Metodología MAI-FG: se transforma la distribución de ocurrencias de variaciones intermensuales utilizando la distribución histórica de variaciones intermensuales ponderadas. Se debe dar como argumento el método
MaiFG. - Metodología MAI-F: se transforma la distribución de ocurrencias de variaciones intermensuales utilizando la distribución histórica de variaciones intermensuales equiponderadas. Es un equivalente directo de la metodología MAI-G, reemplazando todas las distribuciones por las versiones de ocurrencias. Se debe dar como argumento el método
MaiF.
InflationFunctions.LegacyMai.MaiF — Type
MaiF{P} <: AbstractMaiMethod
MaiF(n::Int)
MaiF(p::AbstractArray)Tipo para englobar la metodología de cómputo de inflación subyacente MAI-F, en la cual se transforma la distribución de ocurrencias de variaciones intermensuales utilizando la distribución histórica de variaciones intermensuales equiponderadas. Esta es la versión equivalente a la MAI-G, que utiliza todas las distribuciones de ocurrencias.
Se proporciona el número de segmentos de normalización, o bien, las posiciones de los cuantiles utilizados para llevar a cabo la transformación. Si se proporcionan las posiciones, la primera y la última posición deben ser el cuantil 0 y 1, respectivamente.
Ejemplos
- Utilizar los quintiles como puntos de referencia para normalización
julia> method = MaiF(5)
MaiF{StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}}}(5, 0.0:0.2:1.0)- Utilizar tres segmentos de normalización, en el primer y tercer cuartil:
julia> method = MaiF([0, 0.25, 0.75, 1])
MaiF{Vector{Float64}}(3, [0.0, 0.25, 0.75, 1.0])InflationFunctions.LegacyMai.MaiFG — Type
MaiFG{P} <: AbstractMaiMethod
MaiFG(n::Int)
MaiFG(p::AbstractArray)Tipo para englobar la metodología de cómputo de inflación subyacente MAI-FG, en la cual se transforma la distribución de ocurrencias (o equiponderada) de variaciones intermensuales utilizando la distribución histórica de variaciones intermensuales ponderadas.
Se proporciona el número de segmentos de normalización, o bien, las posiciones de los cuantiles utilizados para llevar a cabo la transformación. Si se proporcionan las posiciones, la primera y la última posición deben ser el cuantil 0 y 1, respectivamente.
Ejemplos
- Utilizar los quintiles como puntos de referencia para normalización
julia> method = MaiFG(5)
MaiFG{StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}}}(5, 0.0:0.2:1.0)- Utilizar tres segmentos de normalización, en el primer y tercer cuartil:
julia> method = MaiFG([0, 0.25, 0.75, 1])
MaiFG{Vector{Float64}}(3, [0.0, 0.25, 0.75, 1.0])InflationFunctions.LegacyMai.MaiG — Type
MaiG{P} <: AbstractMaiMethod
MaiG(n::Int)
MaiG(p::AbstractArray)Tipo para englobar la metodología de cómputo de inflación subyacente MAI-G, en la cual se transforma la distribución ponderada de variaciones intermensuales utilizando la distribución histórica de variaciones intermensuales ponderadas.
Se proporciona el número de segmentos de normalización, o bien, las posiciones de los cuantiles utilizados para llevar a cabo la transformación. Si se proporcionan las posiciones, la primera y la última posición deben ser el cuantil 0 y 1, respectivamente.
Ejemplos
- Utilizar los quintiles como puntos de referencia para normalización
julia> method = MaiG(5)
MaiG{StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}}}(5, 0.0:0.2:1.0)- Utilizar tres segmentos de normalización, en el primer y tercer cuartil:
julia> method = MaiG([0, 0.25, 0.75, 1])
MaiG{Vector{Float64}}(3, [0.0, 0.25, 0.75, 1.0])