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} with 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 │ Date │ 1 │ 2 │ 3 │ 4 │ 5 │ ⋯
│ │ │ 0.562079 │ 0.28245 │ 0.366282 │ 0.508997 │ 0.74837 │ 0.41 ⋯
├─────┼────────────┼──────────┼─────────┼──────────┼──────────┼─────────┼───────
│ 1 │ 2001-01-01 │ 0.0698 │ 0.0412 │ 0.1374 │ 0.3681 │ 0.2770 │ 0. ⋯
│ 2 │ 2001-02-01 │ 0.0340 │ 0.0875 │ 0.0233 │ 0.3086 │ 0.4847 │ 0. ⋯
│ 3 │ 2001-03-01 │ 0.2654 │ 0.3605 │ 0.0562 │ 0.3763 │ 0.0057 │ 0. ⋯
│ 4 │ 2001-04-01 │ 0.3294 │ 0.1326 │ 0.3217 │ 0.0198 │ 0.3184 │ 0. ⋯
│ 5 │ 2001-05-01 │ 0.0602 │ 0.4691 │ 0.3638 │ 0.2051 │ 0.1709 │ 0. ⋯
│ 6 │ 2001-06-01 │ 0.2239 │ 0.0452 │ 0.2947 │ 0.1247 │ 0.1118 │ 0. ⋯
│ 7 │ 2001-07-01 │ 0.3224 │ 0.0338 │ 0.4411 │ 0.2365 │ 0.0469 │ 0. ⋯
│ 8 │ 2001-08-01 │ 0.0762 │ 0.2435 │ 0.3364 │ 0.0380 │ 0.1876 │ 0. ⋯
│ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋮ ⋱
│ 114 │ 2010-06-01 │ 0.2146 │ 0.2231 │ 0.2987 │ 0.4709 │ 0.2924 │ 0. ⋯
│ 115 │ 2010-07-01 │ 0.1666 │ 0.2570 │ 0.3999 │ 0.3034 │ 0.3691 │ 0. ⋯
│ 116 │ 2010-08-01 │ 0.4721 │ 0.2964 │ 0.2186 │ 0.0766 │ 0.1511 │ 0. ⋯
│ 117 │ 2010-09-01 │ 0.1236 │ 0.3975 │ 0.3837 │ 0.3759 │ 0.3564 │ 0. ⋯
│ 118 │ 2010-10-01 │ 0.4266 │ 0.1676 │ 0.0035 │ 0.0724 │ 0.4179 │ 0. ⋯
│ 119 │ 2010-11-01 │ 0.1124 │ 0.3740 │ 0.1083 │ 0.1786 │ 0.4544 │ 0. ⋯
│ 120 │ 2010-12-01 │ 0.3615 │ 0.2158 │ 0.2356 │ 0.0737 │ 0.3607 │ 0. ⋯
└─────┴────────────┴──────────┴─────────┴──────────┴──────────┴─────────┴───────
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 │ Date │ 1 │ 2 │ 3 │ 4 │ 5 │ ⋯
│ │ │ 0.284077 │ 0.705524 │ 0.709153 │ 0.540332 │ 0.212387 │ 0. ⋯
├─────┼────────────┼──────────┼──────────┼──────────┼──────────┼──────────┼─────
│ 1 │ 2011-01-01 │ 0.4497 │ 0.2829 │ 0.2603 │ 0.0663 │ 0.1896 │ ⋯
│ 2 │ 2011-02-01 │ 0.0675 │ 0.0783 │ 0.0471 │ 0.2030 │ 0.3200 │ ⋯
│ 3 │ 2011-03-01 │ 0.0541 │ 0.1969 │ 0.4518 │ 0.4263 │ 0.2954 │ ⋯
│ 4 │ 2011-04-01 │ 0.3477 │ 0.4087 │ 0.4189 │ 0.4492 │ 0.0037 │ ⋯
│ 5 │ 2011-05-01 │ 0.0933 │ 0.2554 │ 0.0443 │ 0.4439 │ 0.4367 │ ⋯
│ 6 │ 2011-06-01 │ 0.2866 │ 0.3926 │ 0.4382 │ 0.1000 │ 0.0713 │ ⋯
│ 7 │ 2011-07-01 │ 0.1282 │ 0.1792 │ 0.1676 │ 0.1406 │ 0.4996 │ ⋯
│ 8 │ 2011-08-01 │ 0.0306 │ 0.1833 │ 0.2127 │ 0.3442 │ 0.4580 │ ⋯
│ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋮ │ ⋱
│ 114 │ 2020-06-01 │ 0.1587 │ 0.0095 │ 0.0077 │ 0.3287 │ 0.2163 │ ⋯
│ 115 │ 2020-07-01 │ 0.4830 │ 0.3595 │ 0.4314 │ 0.1752 │ 0.4906 │ ⋯
│ 116 │ 2020-08-01 │ 0.0957 │ 0.3355 │ 0.4236 │ 0.2252 │ 0.1438 │ ⋯
│ 117 │ 2020-09-01 │ 0.4652 │ 0.4328 │ 0.0363 │ 0.4901 │ 0.0014 │ ⋯
│ 118 │ 2020-10-01 │ 0.3574 │ 0.2566 │ 0.3493 │ 0.3614 │ 0.0874 │ ⋯
│ 119 │ 2020-11-01 │ 0.2009 │ 0.4744 │ 0.1929 │ 0.4859 │ 0.0306 │ ⋯
│ 120 │ 2020-12-01 │ 0.2945 │ 0.1696 │ 0.0464 │ 0.0164 │ 0.3819 │ ⋯
└─────┴────────────┴──────────┴──────────┴──────────┴──────────┴──────────┴─────
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.23751
100.4843
100.7454
101.01449
101.24962
101.49682
101.72555
101.97304
102.22432
102.49463
⋮
178.53387
178.97734
179.45734
179.89046
180.36044
180.81688
181.29083
181.7479
182.20778
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.018248
3.0434728
3.0313134
3.026104
3.0225873
3.042221
3.04662
3.0792236
3.079939
3.085637
⋮
3.0497432
3.0636668
3.0745268
3.085649
3.1029105
3.091848
3.0982375
3.109324
3.1028628