InflationFunctions
Documentation for InflationFunctions.
InflationFunctions.InflationFunctions
InflationFunctions.InflationConstant
InflationFunctions.InflationCoreMai
InflationFunctions.InflationDynamicExclusion
InflationFunctions.InflationExpSmoothing
InflationFunctions.InflationFixedExclusion
InflationFunctions.InflationFixedExclusionCPI
InflationFunctions.InflationGSEq
InflationFunctions.InflationGSWeighted
InflationFunctions.InflationMovingAverage
InflationFunctions.InflationPercentileEq
InflationFunctions.InflationPercentileEq
InflationFunctions.InflationPercentileWeighted
InflationFunctions.InflationPercentileWeighted
InflationFunctions.InflationSimpleMean
InflationFunctions.InflationTrimmedMeanEq
InflationFunctions.InflationTrimmedMeanEq
InflationFunctions.InflationTrimmedMeanWeighted
InflationFunctions.InflationTrimmedMeanWeighted
InflationFunctions.InflationWeightedMean
InflationFunctions.MaiF
InflationFunctions.MaiFP
InflationFunctions.MaiG
CPIDataBase.measure_name
CPIDataBase.measure_name
CPIDataBase.measure_name
CPIDataBase.measure_name
CPIDataBase.measure_name
InflationFunctions.InflationFunctions
— ModuleInflationFunctions
Funciones para computar estimadores muestrales de inflación.
InflationFunctions.InflationConstant
— TypeInflationConstant <: InflationFunction
InflationConstant(c)
Metodología de inflación constante con valor interanual c
.
InflationFunctions.InflationCoreMai
— TypeInflationCoreMai{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-F: 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
MaiF
. - Metodología MAI-FP: 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
MaiFP
.
InflationFunctions.InflationDynamicExclusion
— TypeInflationDynamicExclusion <: InflationFunction
Funció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.1091232
InflationFunctions.InflationExpSmoothing
— TypeInflationExpSmoothing{F <: InflationFunction} <: InflationFunction
Funció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
— TypeInflationFixedExclusion{N} <: InflationFunction
Funció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 T
Define 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
— TypeInflationFixedExclusionCPI{N} <: InflationFunction
Funció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 T
Define 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.46629906
Cuando 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.0075045
InflationFunctions.InflationGSEq
— TypeInflationGSEq <: InflationFunction
InflationGSEq(k, s1, s2)
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.
There are $n$ items in the CPI database of monthly price changes. If $p$ is the index of the desired quantile, the standard deviation is defined by s(x,p) = x <= p ? s1*n : s2*n
and the smoothing function by f(x,p) = exp(-(x-p)^2 / s(x,p)^2)
.
InflationFunctions.InflationGSWeighted
— TypeInflationGSWeighted <: InflationFunction
InflationGSWeighted(k, s1, s2)
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.
There are $n$ items in the CPI database of monthly price changes. If $p$ is the index of the desired quantile, the standard deviation is defined by s(x,p) = x <= p ? s1*n : s2*n
and the smoothing function by f(x,p) = exp(-(x-p)^2 / s(x,p)^2)
.
InflationFunctions.InflationMovingAverage
— TypeInflationMovingAverage{F <: InflationFunction} <: InflationFunction
Funció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
— TypeInflationPercentileEq <: InflationFunction
Función de inflación para computar el percentil equiponderado k
.
Utilización
function (inflfn::InflationPercentileEq)(base::VarCPIBase{T}) where T
Define 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.1856546
InflationFunctions.InflationPercentileEq
— MethodInflationPercentileEq(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.1856546
Se obtienen los mismos resultados.
InflationFunctions.InflationPercentileWeighted
— TypeInflationPercentileWeighted <: InflationFunction
Función de inflación para computar el percentil ponderado k.
Utilización
function (inflfn::InflationPercentileWeighted)(base::VarCPIBase{T}) where T
Define 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.2268414
InflationFunctions.InflationPercentileWeighted
— MethodInflationPercentileWeighted(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.2268414
Se obtienen los mismos resultados
InflationFunctions.InflationSimpleMean
— TypeInflationSimpleMean <: InflationFunction
Función de inflación para computar la media simple interanual.
InflationFunctions.InflationTrimmedMeanEq
— TypeInflationTrimmedMeanEq <: InflationFunction
Función de inflación para computar la media truncada equiponderada
Utilización
function (inflfn::InflationTrimmedMeanEq)(base::VarCPIBase{T}) where T
Define cómo opera InflationTrimmedMeanEq sobre un objeto de tipo VarCPIBase.
Ejemplo
julia> mtfn = InflationTrimmedMeanEq(25, 75.5)
(::InflationTrimmedMeanEq) (generic function with 5 methods)
julia> mtfn(gt00) # gt00 es de tipo VarCPIBase
120-element Vector{Float32}:
1.3350569
0.81459785
0.5427902
0.44377768
0.3310551
0.6161327
⋮
0.284297
0.20947386
0.298732
0.25540668
0.2260508
0.3456037
InflationFunctions.InflationTrimmedMeanEq
— MethodInflationTrimmedMeanEq(l1::Real,l2::Real)
Nos permite utilizar recortes que no necesariamente son de tipos de punto flotante, como por ejemplo: enteros, fracciones, Float32 y Float64.
Ejemplo:
julia> mtfn = InflationTrimmedMeanEq(25, 75.5)
(::InflationTrimmedMeanEq) (generic function with 5 methods)
InflationFunctions.InflationTrimmedMeanWeighted
— TypeInflationTrimmedMeanWeighted <: InflationFunction
Función de inflación para computar la media truncada ponderada
Utilización
function (inflfn::InflationTrimmedMeanWeighted)(base::VarCPIBase{T}) where T
Define cómo opera InflationTrimmedMeanWeighted sobre un objeto de tipo VarCPIBase.
InflationFunctions.InflationTrimmedMeanWeighted
— MethodInflationTrimmedMeanWeighted(l1::Real,l2::Real)
Nos permite utilizar valores que no necesariamente son Float32, como enteros o Float64.
Ejemplo:
julia> mtfn = InflationTrimmedMeanWeighted(25,75.5)
(::InflationTrimmedMeanWeighted) (generic function with 5 methods)
InflationFunctions.InflationWeightedMean
— TypeInflationWeightedMean <: InflationFunction
Función de inflación para computar la media ponderada.
InflationFunctions.MaiF
— TypeMaiF{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 (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 = 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.MaiFP
— TypeMaiFP{P} <: AbstractMaiMethod
MaiFP(n::Int)
MaiFP(p::AbstractArray)
Tipo para englobar la metodología de cómputo de inflación subyacente MAI-FP, 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 = MaiFP(5)
MaiFP{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 = MaiFP([0, 0.25, 0.75, 1])
MaiFP{Vector{Float64}}(3, [0.0, 0.25, 0.75, 1.0])
InflationFunctions.MaiG
— TypeMaiG{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])
CPIDataBase.measure_name
— Methodmeasure_name(inflfn::InflationDynamicExclusion)
Indica qué medida se utiliza para una instancia de una función de inflación.
Ejemplo
julia> dynExfn = InflationDynamicExclusion(2, 2)
julia> measure_name(dynExfn)
"Inflación de exclusión dinámica (2.0, 2.0)"
CPIDataBase.measure_name
— Methodmeasure_name(inflfn::InflationPercentileEq)
Indica qué medida se utiliza para una instancia de una función de inflación.
Ejemplo
julia> percEqfn = InflationPercentileEq(0.70)
julia> measure_name(percEqfn)
"Percentil equiponderado 70.0"
CPIDataBase.measure_name
— Methodmeasure_name(inflfn::InflationPercentileWeighted)
Indica qué medida se utiliza para una instancia de una función de inflación.
Ejemplo
julia> percfn = InflationPercentileWeighted(0.70)
julia> measure_name(percfn)
"Percentil ponderado 70.0"
CPIDataBase.measure_name
— Methodmeasure_name(inflfn::InflationTrimmedMeanEq)
Nos indica qué medida se utiliza para una instancia de una función de inflación.
Ejemplo:
julia> mtfn = InflationTrimmedMeanEq(15.5,75.5)
julia> measure_name(mtfn)
"Media Truncada Equiponderada (15.5 , 75.5)"
CPIDataBase.measure_name
— Methodmeasure_name(inflfn::InflationTrimmedMeanWeighted)
Nos indica qué medida se utiliza para una instancia de una función de inflación.
Ejemplo:
julia> mtfn = InflationTrimmedMeanWeighted(15.5,75.5)
julia> measure_name(mtfn)
"Media Truncada Ponderada (15.5 , 75.5)"