CPIDataBase
Este paquete provee estructuras de datos y operaciones básicas para el análisis desagregado del Índice de Precios al Consumidor (IPC). El objetivo de este paquete es proveer una herramienta de análisis y consulta de los datos desagregados a nivel de gasto básico del IPC de cualquier país para estudios relacionados con la inflación.
Estructura de datos del IPC
La estructura principal de datos es un contenedor de tipo CountryStructure
. Supongamos que los datos del IPC de un país ficticio, llamado Macronia, se encuentran disponibles en la constante countrydata
:
using CPIDataBase
# Cargar o construir countrydata
# (...)
countrydata
UniformCountryStructure{2, Float32, Float32} con 2 bases
└─→ VarCPIBase{Float32, Float32}: 120 periods × 218 items Jan-01-Dec-10
└─→ VarCPIBase{Float32, Float32}: 120 periods × 279 items Jan-11-Dec-20
Este contenedor posee los datos del IPC de Macronia de las últimas dos décadas. Está dividido en dos estructuras de datos denominadas VarCPIBase
. Cada estructura contiene las variaciones intermensuales de los números índices de precios de los gastos básicos individuales del IPC de Macronia. A su vez, el IPC de Macronia está dividido históricamente en dos bases del IPC, cada una conlleva una metodología diferente, con diferentes gastos básicos y ponderaciones en la canasta de consumo:
Por ejemplo, estos son los datos históricos de Macronia en la década del 2000:
countrydata[1]
VarCPIBase{Float32, Float32}: 120 periods × 218 items Jan-01-Dec-10
┌─────┬────────────┬──────────┬──────────┬──────────┬──────────┬──────────┬─────
│ Row │ Dates │ 1 │ 2 │ 3 │ 4 │ 5 │ ⋯
│ │ │ 0.651763 │ 0.456681 │ 0.612421 │ 0.857528 │ 0.551051 │ 0. ⋯
├─────┼────────────┼──────────┼──────────┼──────────┼──────────┼──────────┼─────
│ 1 │ 2001-01-01 │ 0.2580 │ 0.0419 │ 0.3220 │ 0.2971 │ 0.0859 │ ⋯
│ 2 │ 2001-02-01 │ 0.0111 │ 0.4550 │ 0.5000 │ 0.4027 │ 0.3825 │ ⋯
│ 3 │ 2001-03-01 │ 0.3464 │ 0.0108 │ 0.2686 │ 0.0572 │ 0.2276 │ ⋯
│ 4 │ 2001-04-01 │ 0.2931 │ 0.4726 │ 0.2449 │ 0.0535 │ 0.4032 │ ⋯
│ 5 │ 2001-05-01 │ 0.1467 │ 0.2803 │ 0.2226 │ 0.1968 │ 0.2601 │ ⋯
│ 6 │ 2001-06-01 │ 0.1675 │ 0.2099 │ 0.4322 │ 0.3306 │ 0.4920 │ ⋯
│ 7 │ 2001-07-01 │ 0.3232 │ 0.3003 │ 0.3833 │ 0.4470 │ 0.3877 │ ⋯
│ 8 │ 2001-08-01 │ 0.4247 │ 0.1252 │ 0.3796 │ 0.4734 │ 0.2822 │ ⋯
│ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋱
│ 114 │ 2010-06-01 │ 0.0317 │ 0.1831 │ 0.0228 │ 0.1825 │ 0.2340 │ ⋯
│ 115 │ 2010-07-01 │ 0.3651 │ 0.2857 │ 0.0598 │ 0.4985 │ 0.4464 │ ⋯
│ 116 │ 2010-08-01 │ 0.3418 │ 0.1520 │ 0.1478 │ 0.1681 │ 0.4425 │ ⋯
│ 117 │ 2010-09-01 │ 0.2202 │ 0.3196 │ 0.4324 │ 0.4508 │ 0.3661 │ ⋯
│ 118 │ 2010-10-01 │ 0.0810 │ 0.1329 │ 0.1993 │ 0.0186 │ 0.3604 │ ⋯
│ 119 │ 2010-11-01 │ 0.3648 │ 0.0802 │ 0.3553 │ 0.0285 │ 0.0579 │ ⋯
│ 120 │ 2010-12-01 │ 0.1880 │ 0.2143 │ 0.4538 │ 0.2047 │ 0.2988 │ ⋯
└─────┴────────────┴──────────┴──────────┴──────────┴──────────┴──────────┴─────
213 columns and 105 rows omitted
Y estos son los datos históricos de Macronia en la década del 2010:
countrydata[2]
VarCPIBase{Float32, Float32}: 120 periods × 279 items Jan-11-Dec-20
┌─────┬────────────┬──────────┬──────────┬────────────┬──────────┬──────────┬───
│ Row │ Dates │ 1 │ 2 │ 3 │ 4 │ 5 │ ⋯
│ │ │ 0.414438 │ 0.292588 │ 0.00550835 │ 0.344338 │ 0.548554 │ ⋯
├─────┼────────────┼──────────┼──────────┼────────────┼──────────┼──────────┼───
│ 1 │ 2011-01-01 │ 0.3243 │ 0.3451 │ 0.4973 │ 0.1283 │ 0.4625 │ ⋯
│ 2 │ 2011-02-01 │ 0.2736 │ 0.0464 │ 0.4652 │ 0.2997 │ 0.0757 │ ⋯
│ 3 │ 2011-03-01 │ 0.4943 │ 0.0056 │ 0.4488 │ 0.2900 │ 0.4029 │ ⋯
│ 4 │ 2011-04-01 │ 0.3515 │ 0.0370 │ 0.1886 │ 0.1348 │ 0.1732 │ ⋯
│ 5 │ 2011-05-01 │ 0.4307 │ 0.1479 │ 0.4897 │ 0.4083 │ 0.1998 │ ⋯
│ 6 │ 2011-06-01 │ 0.4368 │ 0.1169 │ 0.4964 │ 0.0181 │ 0.2005 │ ⋯
│ 7 │ 2011-07-01 │ 0.0262 │ 0.4391 │ 0.4696 │ 0.1790 │ 0.3394 │ ⋯
│ 8 │ 2011-08-01 │ 0.2967 │ 0.0346 │ 0.1964 │ 0.2816 │ 0.1717 │ ⋯
│ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋱
│ 114 │ 2020-06-01 │ 0.1574 │ 0.1299 │ 0.0615 │ 0.0117 │ 0.2666 │ ⋯
│ 115 │ 2020-07-01 │ 0.1120 │ 0.0707 │ 0.0025 │ 0.3823 │ 0.3474 │ ⋯
│ 116 │ 2020-08-01 │ 0.4643 │ 0.3880 │ 0.4577 │ 0.3145 │ 0.2069 │ ⋯
│ 117 │ 2020-09-01 │ 0.0082 │ 0.3185 │ 0.2690 │ 0.1330 │ 0.1208 │ ⋯
│ 118 │ 2020-10-01 │ 0.3866 │ 0.1928 │ 0.2379 │ 0.1122 │ 0.1519 │ ⋯
│ 119 │ 2020-11-01 │ 0.2008 │ 0.1774 │ 0.2514 │ 0.2768 │ 0.0444 │ ⋯
│ 120 │ 2020-12-01 │ 0.3821 │ 0.1652 │ 0.2495 │ 0.4045 │ 0.1852 │ ⋯
└─────┴────────────┴──────────┴──────────┴────────────┴──────────┴──────────┴───
274 columns and 105 rows omitted
Vea la documentación de FullCPIBase
para conocer cómo crear la estructura de datos del IPC necesaria. Los datos de un FullCPIBase
pueden ser convertidos a un VarCPIBase
. La estructura principal de datos de este paquete es un contenedor de tipo CountryStructure
, el cual permite realizar cómputos de diferentes metodologías de inflación.
Cómputo del IPC
Con la estructura countrydata
es posible computar el Índice de Precios al Consumidor encadenado automáticamente entre las dos bases del IPC:
inflfn = InflationTotalCPI()
inflfn(countrydata, CPIIndex())
240-element Vector{Float32}:
100.270584
100.53216
100.791885
101.06144
101.312386
101.55695
101.819954
102.062675
102.32216
102.57742
⋮
178.9764
179.41493
179.86911
180.32135
180.77304
181.19852
181.65437
182.08377
182.48575
En este ejemplo, la variable inflfn
denota una "función de inflación". Utilizando diferentes funciones de inflación podemos computar diferentes medidas de inflación con los datos desagregados del IPC. Por ejemplo, el siguiente código computa la variación interanual del IPC, ampliamente utilizada como una medida de inflación en las economías del mundo:
inflfn = InflationTotalCPI()
inflfn(countrydata)
229-element Vector{Float32}:
3.0753136
3.0733705
3.078866
3.0676842
3.03334
3.0423284
3.055644
3.0453205
3.0618787
3.0547261
⋮
3.0424237
3.0521512
3.0589342
3.056097
3.0666232
3.0490994
3.0496597
3.0243635
2.9875517