timeprice 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +53 -0
  3. data/README.md +41 -1
  4. data/data/cpi/au.json +2 -2
  5. data/data/cpi/br.json +529 -0
  6. data/data/cpi/ca.json +3 -3
  7. data/data/cpi/ch.json +549 -0
  8. data/data/cpi/cn.json +10 -10
  9. data/data/cpi/cz.json +500 -0
  10. data/data/cpi/eu.json +1 -1
  11. data/data/cpi/hk.json +351 -0
  12. data/data/cpi/hu.json +537 -0
  13. data/data/cpi/id.json +550 -0
  14. data/data/cpi/il.json +549 -0
  15. data/data/cpi/in.json +549 -0
  16. data/data/cpi/jp.json +2 -2
  17. data/data/cpi/kr.json +36 -35
  18. data/data/cpi/mx.json +550 -0
  19. data/data/cpi/my.json +429 -0
  20. data/data/cpi/no.json +549 -0
  21. data/data/cpi/nz.json +94 -0
  22. data/data/cpi/ph.json +309 -0
  23. data/data/cpi/pl.json +539 -0
  24. data/data/cpi/ru.json +2 -2
  25. data/data/cpi/se.json +549 -0
  26. data/data/cpi/sg.json +369 -0
  27. data/data/cpi/th.json +309 -0
  28. data/data/cpi/tr.json +549 -0
  29. data/data/cpi/uk.json +1 -1
  30. data/data/cpi/us.json +1007 -5
  31. data/data/cpi/vn.json +10 -10
  32. data/data/cpi/za.json +549 -0
  33. data/data/fx/usd/1999.json +5201 -261
  34. data/data/fx/usd/2000.json +5982 -257
  35. data/data/fx/usd/2001.json +6121 -256
  36. data/data/fx/usd/2002.json +6145 -257
  37. data/data/fx/usd/2003.json +6145 -257
  38. data/data/fx/usd/2004.json +6241 -261
  39. data/data/fx/usd/2005.json +6193 -259
  40. data/data/fx/usd/2006.json +6145 -257
  41. data/data/fx/usd/2007.json +6144 -257
  42. data/data/fx/usd/2008.json +6155 -258
  43. data/data/fx/usd/2009.json +5912 -258
  44. data/data/fx/usd/2010.json +5958 -260
  45. data/data/fx/usd/2011.json +5935 -259
  46. data/data/fx/usd/2012.json +5912 -258
  47. data/data/fx/usd/2013.json +5889 -257
  48. data/data/fx/usd/2014.json +5889 -257
  49. data/data/fx/usd/2015.json +5912 -258
  50. data/data/fx/usd/2016.json +5935 -259
  51. data/data/fx/usd/2017.json +5889 -257
  52. data/data/fx/usd/2018.json +6123 -257
  53. data/data/fx/usd/2019.json +6145 -257
  54. data/data/fx/usd/2020.json +6193 -259
  55. data/data/fx/usd/2021.json +6217 -260
  56. data/data/fx/usd/2022.json +6193 -259
  57. data/data/fx/usd/2023.json +6145 -257
  58. data/data/fx/usd/2024.json +6169 -258
  59. data/data/fx/usd/2025.json +6145 -257
  60. data/data/fx/usd/2026.json +2196 -92
  61. data/data/fx/usd/_annual.json +2 -2
  62. data/data/manifest.json +488 -73
  63. data/lib/timeprice/cli/presenters/compare.rb +44 -8
  64. data/lib/timeprice/cli.rb +21 -4
  65. data/lib/timeprice/compare/series.rb +120 -0
  66. data/lib/timeprice/compare.rb +77 -17
  67. data/lib/timeprice/cpi_lookup.rb +11 -5
  68. data/lib/timeprice/forecast/cagr.rb +96 -0
  69. data/lib/timeprice/forecast/cpi_forecaster.rb +90 -0
  70. data/lib/timeprice/forecast/fx_forecaster.rb +173 -0
  71. data/lib/timeprice/forecast.rb +21 -0
  72. data/lib/timeprice/sources.rb +1 -1
  73. data/lib/timeprice/supported.rb +16 -0
  74. data/lib/timeprice/version.rb +1 -1
  75. data/lib/timeprice.rb +34 -2
  76. metadata +26 -2
data/data/cpi/my.json ADDED
@@ -0,0 +1,429 @@
1
+ {
2
+ "country": "MY",
3
+ "index": {
4
+ "base_period": "2010",
5
+ "rebased_at": null
6
+ },
7
+ "provenance": [
8
+ {
9
+ "from": "2000-01",
10
+ "provider": "imf",
11
+ "series": "monthly",
12
+ "to": "2026-03"
13
+ },
14
+ {
15
+ "from": "1960",
16
+ "provider": "world_bank",
17
+ "series": "annual",
18
+ "to": "1999"
19
+ },
20
+ {
21
+ "from": "2000",
22
+ "provider": "imf",
23
+ "series": "annual",
24
+ "to": "2025"
25
+ }
26
+ ],
27
+ "providers": [
28
+ {
29
+ "fetched_at": "2026-05-16",
30
+ "id": "world_bank",
31
+ "label": "World Bank FP.CPI.TOTL (annual)",
32
+ "status": "ok"
33
+ },
34
+ {
35
+ "fetched_at": "2026-05-16",
36
+ "id": "imf",
37
+ "label": "IMF Data Portal CPI dataflow (monthly) + World Bank FP.CPI.TOTL (annual)",
38
+ "status": "ok"
39
+ }
40
+ ],
41
+ "schema_version": 4,
42
+ "series": {
43
+ "annual": {
44
+ "1960": 21.3092412797334,
45
+ "1961": 21.2707977630436,
46
+ "1962": 21.2938638731113,
47
+ "1963": 21.9550923595525,
48
+ "1964": 21.8666722711776,
49
+ "1965": 21.8436061611484,
50
+ "1966": 22.0550455027883,
51
+ "1967": 23.0641878148471,
52
+ "1968": 23.0276664740477,
53
+ "1969": 22.9334798581942,
54
+ "1970": 23.3563585414548,
55
+ "1971": 23.7331050045995,
56
+ "1972": 24.5000531617548,
57
+ "1973": 27.0873018323506,
58
+ "1974": 31.781255215535,
59
+ "1975": 33.2075096832608,
60
+ "1976": 34.0820996870785,
61
+ "1977": 35.7140269689273,
62
+ "1978": 37.4497517457152,
63
+ "1979": 38.8183409385794,
64
+ "1980": 41.4094339608595,
65
+ "1981": 45.4261490550629,
66
+ "1982": 48.0694512559551,
67
+ "1983": 49.8500569163408,
68
+ "1984": 51.7928495263723,
69
+ "1985": 51.9722904068005,
70
+ "1986": 52.3553276711112,
71
+ "1987": 52.5071622623698,
72
+ "1988": 53.8495180799345,
73
+ "1989": 55.3644132056691,
74
+ "1990": 56.8137433942992,
75
+ "1991": 59.2898757105672,
76
+ "1992": 62.1163594444336,
77
+ "1993": 64.3131575223467,
78
+ "1994": 66.7088037021399,
79
+ "1995": 69.0106410694247,
80
+ "1996": 71.4181183158851,
81
+ "1997": 73.3196361410336,
82
+ "1998": 77.1838317213788,
83
+ "1999": 79.302189298518,
84
+ "2000": 80.5327,
85
+ "2001": 81.6737,
86
+ "2002": 83.1502,
87
+ "2003": 84.0563,
88
+ "2004": 85.251,
89
+ "2005": 87.7872,
90
+ "2006": 90.9557,
91
+ "2007": 92.7997,
92
+ "2008": 97.8487,
93
+ "2009": 98.4195,
94
+ "2010": 100.0167,
95
+ "2011": 103.1917,
96
+ "2012": 104.9083,
97
+ "2013": 107.1167,
98
+ "2014": 110.4833,
99
+ "2015": 112.8083,
100
+ "2016": 115.1667,
101
+ "2017": 119.625,
102
+ "2018": 120.6833,
103
+ "2019": 121.4833,
104
+ "2020": 120.1,
105
+ "2021": 123.075,
106
+ "2022": 127.2333,
107
+ "2023": 130.4,
108
+ "2024": 132.7917,
109
+ "2025": 134.625
110
+ },
111
+ "monthly": {
112
+ "2000-01": 80.297785191881,
113
+ "2000-02": 80.3783245952831,
114
+ "2000-03": 80.297785191881,
115
+ "2000-04": 80.297785191881,
116
+ "2000-05": 80.3783245952831,
117
+ "2000-06": 80.3783245952831,
118
+ "2000-07": 80.45886399868517,
119
+ "2000-08": 80.45886399868517,
120
+ "2000-09": 80.45886399868517,
121
+ "2000-10": 80.78102161229353,
122
+ "2000-11": 80.94210041909771,
123
+ "2000-12": 81.26425803270607,
124
+ "2001-01": 81.50587624291232,
125
+ "2001-02": 81.66695504971649,
126
+ "2001-03": 81.50587624291232,
127
+ "2001-04": 81.5864156463144,
128
+ "2001-05": 81.66695504971649,
129
+ "2001-06": 81.5864156463144,
130
+ "2001-07": 81.5864156463144,
131
+ "2001-08": 81.50587624291232,
132
+ "2001-09": 81.5864156463144,
133
+ "2001-10": 81.50587624291232,
134
+ "2001-11": 82.15019147012902,
135
+ "2001-12": 82.2307308735311,
136
+ "2002-01": 82.39180968033529,
137
+ "2002-02": 82.63342789054154,
138
+ "2002-03": 83.19720371435615,
139
+ "2002-04": 83.11666431095406,
140
+ "2002-05": 83.19720371435615,
141
+ "2002-06": 83.27774311775823,
142
+ "2002-07": 83.27774311775823,
143
+ "2002-08": 83.19720371435615,
144
+ "2002-09": 83.27774311775823,
145
+ "2002-10": 83.19720371435615,
146
+ "2002-11": 83.4388219245624,
147
+ "2002-12": 83.59990073136659,
148
+ "2003-01": 83.76097953817076,
149
+ "2003-02": 83.92205834497494,
150
+ "2003-03": 83.76097953817076,
151
+ "2003-04": 83.92205834497494,
152
+ "2003-05": 84.00259774837701,
153
+ "2003-06": 83.92205834497494,
154
+ "2003-07": 84.08313715177911,
155
+ "2003-08": 84.00259774837701,
156
+ "2003-09": 84.1636765551812,
157
+ "2003-10": 84.24421595858328,
158
+ "2003-11": 84.32475536198537,
159
+ "2003-12": 84.56637357219164,
160
+ "2004-01": 84.56637357219164,
161
+ "2004-02": 84.64691297559372,
162
+ "2004-03": 84.56637357219164,
163
+ "2004-04": 84.7274523789958,
164
+ "2004-05": 84.96907058920208,
165
+ "2004-06": 85.04960999260416,
166
+ "2004-07": 85.21068879940833,
167
+ "2004-08": 85.21068879940833,
168
+ "2004-09": 85.53284641301669,
169
+ "2004-10": 86.0160828334292,
170
+ "2004-11": 86.17716164023338,
171
+ "2004-12": 86.33824044703755,
172
+ "2005-01": 86.57985865724382,
173
+ "2005-02": 86.66766784452297,
174
+ "2005-03": 86.66766784452297,
175
+ "2005-04": 86.84328621908126,
176
+ "2005-05": 87.54575971731448,
177
+ "2005-06": 87.7213780918728,
178
+ "2005-07": 87.7213780918728,
179
+ "2005-08": 88.33604240282685,
180
+ "2005-09": 88.51166077738516,
181
+ "2005-10": 88.68727915194346,
182
+ "2005-11": 89.03851590106007,
183
+ "2005-12": 89.12632508833921,
184
+ "2006-01": 89.38975265017667,
185
+ "2006-02": 89.47756183745582,
186
+ "2006-03": 90.79469964664311,
187
+ "2006-04": 90.79469964664311,
188
+ "2006-05": 90.97031802120141,
189
+ "2006-06": 91.1459363957597,
190
+ "2006-07": 91.32155477031802,
191
+ "2006-08": 91.23374558303887,
192
+ "2006-09": 91.40936395759717,
193
+ "2006-10": 91.40936395759717,
194
+ "2006-11": 91.67279151943463,
195
+ "2006-12": 91.84840989399294,
196
+ "2007-01": 92.2874558303887,
197
+ "2007-02": 92.2874558303887,
198
+ "2007-03": 92.19964664310955,
199
+ "2007-04": 92.19964664310955,
200
+ "2007-05": 92.2874558303887,
201
+ "2007-06": 92.46307420494699,
202
+ "2007-07": 92.8143109540636,
203
+ "2007-08": 92.9899293286219,
204
+ "2007-09": 93.07773851590106,
205
+ "2007-10": 93.16554770318021,
206
+ "2007-11": 93.78021201413426,
207
+ "2007-12": 94.04363957597172,
208
+ "2008-01": 94.39487632508833,
209
+ "2008-02": 94.74611307420494,
210
+ "2008-03": 94.74611307420494,
211
+ "2008-04": 95.0095406360424,
212
+ "2008-05": 95.79982332155477,
213
+ "2008-06": 99.5756183745583,
214
+ "2008-07": 100.7171378091873,
215
+ "2008-08": 100.8927561837456,
216
+ "2008-09": 100.7171378091873,
217
+ "2008-10": 100.2780918727915,
218
+ "2008-11": 99.13657243816255,
219
+ "2008-12": 98.17067137809187,
220
+ "2009-01": 98.08286219081272,
221
+ "2009-02": 98.25848056537102,
222
+ "2009-03": 98.08286219081272,
223
+ "2009-04": 97.90724381625441,
224
+ "2009-05": 98.08286219081272,
225
+ "2009-06": 98.17067137809187,
226
+ "2009-07": 98.25848056537102,
227
+ "2009-08": 98.43409893992931,
228
+ "2009-09": 98.69752650176677,
229
+ "2009-10": 98.78533568904594,
230
+ "2009-11": 99.0487632508834,
231
+ "2009-12": 99.2243816254417,
232
+ "2010-01": 99.4,
233
+ "2010-02": 99.4,
234
+ "2010-03": 99.4,
235
+ "2010-04": 99.4,
236
+ "2010-05": 99.6,
237
+ "2010-06": 99.7,
238
+ "2010-07": 100.0,
239
+ "2010-08": 100.3,
240
+ "2010-09": 100.4,
241
+ "2010-10": 100.6,
242
+ "2010-11": 100.8,
243
+ "2010-12": 101.2,
244
+ "2011-01": 101.8,
245
+ "2011-02": 102.3,
246
+ "2011-03": 102.4,
247
+ "2011-04": 102.6,
248
+ "2011-05": 102.9,
249
+ "2011-06": 103.2,
250
+ "2011-07": 103.4,
251
+ "2011-08": 103.6,
252
+ "2011-09": 103.8,
253
+ "2011-10": 104.0,
254
+ "2011-11": 104.1,
255
+ "2011-12": 104.2,
256
+ "2012-01": 104.5,
257
+ "2012-02": 104.5,
258
+ "2012-03": 104.5,
259
+ "2012-04": 104.5,
260
+ "2012-05": 104.7,
261
+ "2012-06": 104.8,
262
+ "2012-07": 104.8,
263
+ "2012-08": 105.0,
264
+ "2012-09": 105.2,
265
+ "2012-10": 105.4,
266
+ "2012-11": 105.5,
267
+ "2012-12": 105.5,
268
+ "2013-01": 105.9,
269
+ "2013-02": 106.1,
270
+ "2013-03": 106.2,
271
+ "2013-04": 106.3,
272
+ "2013-05": 106.6,
273
+ "2013-06": 106.7,
274
+ "2013-07": 106.9,
275
+ "2013-08": 107.0,
276
+ "2013-09": 107.9,
277
+ "2013-10": 108.3,
278
+ "2013-11": 108.6,
279
+ "2013-12": 108.9,
280
+ "2014-01": 109.5,
281
+ "2014-02": 109.8,
282
+ "2014-03": 109.9,
283
+ "2014-04": 109.9,
284
+ "2014-05": 110.0,
285
+ "2014-06": 110.2,
286
+ "2014-07": 110.3,
287
+ "2014-08": 110.5,
288
+ "2014-09": 110.7,
289
+ "2014-10": 111.3,
290
+ "2014-11": 111.9,
291
+ "2014-12": 111.8,
292
+ "2015-01": 110.6,
293
+ "2015-02": 109.9,
294
+ "2015-03": 110.9,
295
+ "2015-04": 111.9,
296
+ "2015-05": 112.3,
297
+ "2015-06": 113.0,
298
+ "2015-07": 113.9,
299
+ "2015-08": 113.9,
300
+ "2015-09": 113.6,
301
+ "2015-10": 114.1,
302
+ "2015-11": 114.8,
303
+ "2015-12": 114.8,
304
+ "2016-01": 114.5,
305
+ "2016-02": 114.5,
306
+ "2016-03": 113.8,
307
+ "2016-04": 114.3,
308
+ "2016-05": 114.6,
309
+ "2016-06": 114.8,
310
+ "2016-07": 115.1,
311
+ "2016-08": 115.6,
312
+ "2016-09": 115.3,
313
+ "2016-10": 115.7,
314
+ "2016-11": 116.9,
315
+ "2016-12": 116.9,
316
+ "2017-01": 118.2,
317
+ "2017-02": 119.7,
318
+ "2017-03": 119.6,
319
+ "2017-04": 119.3,
320
+ "2017-05": 119.1,
321
+ "2017-06": 118.9,
322
+ "2017-07": 118.8,
323
+ "2017-08": 119.9,
324
+ "2017-09": 120.3,
325
+ "2017-10": 120.0,
326
+ "2017-11": 120.8,
327
+ "2017-12": 120.9,
328
+ "2018-01": 121.3,
329
+ "2018-02": 121.3,
330
+ "2018-03": 120.9,
331
+ "2018-04": 120.9,
332
+ "2018-05": 121.1,
333
+ "2018-06": 119.6,
334
+ "2018-07": 119.8,
335
+ "2018-08": 120.0,
336
+ "2018-09": 120.5,
337
+ "2018-10": 120.7,
338
+ "2018-11": 121.0,
339
+ "2018-12": 121.1,
340
+ "2019-01": 120.5,
341
+ "2019-02": 120.8,
342
+ "2019-03": 121.1,
343
+ "2019-04": 121.1,
344
+ "2019-05": 121.4,
345
+ "2019-06": 121.4,
346
+ "2019-07": 121.5,
347
+ "2019-08": 121.8,
348
+ "2019-09": 121.8,
349
+ "2019-10": 122.0,
350
+ "2019-11": 122.1,
351
+ "2019-12": 122.3,
352
+ "2020-01": 122.4,
353
+ "2020-02": 122.4,
354
+ "2020-03": 120.9,
355
+ "2020-04": 117.6,
356
+ "2020-05": 117.9,
357
+ "2020-06": 119.1,
358
+ "2020-07": 119.9,
359
+ "2020-08": 120.1,
360
+ "2020-09": 120.1,
361
+ "2020-10": 120.2,
362
+ "2020-11": 120.0,
363
+ "2020-12": 120.6,
364
+ "2021-01": 122.1,
365
+ "2021-02": 122.5,
366
+ "2021-03": 122.9,
367
+ "2021-04": 123.1,
368
+ "2021-05": 123.1,
369
+ "2021-06": 123.2,
370
+ "2021-07": 122.5,
371
+ "2021-08": 122.5,
372
+ "2021-09": 122.8,
373
+ "2021-10": 123.7,
374
+ "2021-11": 124.0,
375
+ "2021-12": 124.5,
376
+ "2022-01": 124.9,
377
+ "2022-02": 125.2,
378
+ "2022-03": 125.6,
379
+ "2022-04": 125.9,
380
+ "2022-05": 126.6,
381
+ "2022-06": 127.4,
382
+ "2022-07": 127.9,
383
+ "2022-08": 128.2,
384
+ "2022-09": 128.3,
385
+ "2022-10": 128.6,
386
+ "2022-11": 129.0,
387
+ "2022-12": 129.2,
388
+ "2023-01": 129.5,
389
+ "2023-02": 129.8,
390
+ "2023-03": 129.9,
391
+ "2023-04": 130.0,
392
+ "2023-05": 130.2,
393
+ "2023-06": 130.4,
394
+ "2023-07": 130.5,
395
+ "2023-08": 130.7,
396
+ "2023-09": 130.8,
397
+ "2023-10": 130.9,
398
+ "2023-11": 130.9,
399
+ "2023-12": 131.2,
400
+ "2024-01": 131.4,
401
+ "2024-02": 132.1,
402
+ "2024-03": 132.2,
403
+ "2024-04": 132.4,
404
+ "2024-05": 132.8,
405
+ "2024-06": 133.0,
406
+ "2024-07": 133.1,
407
+ "2024-08": 133.2,
408
+ "2024-09": 133.2,
409
+ "2024-10": 133.4,
410
+ "2024-11": 133.3,
411
+ "2024-12": 133.4,
412
+ "2025-01": 133.6,
413
+ "2025-02": 134.1,
414
+ "2025-03": 134.1,
415
+ "2025-04": 134.3,
416
+ "2025-05": 134.4,
417
+ "2025-06": 134.5,
418
+ "2025-07": 134.7,
419
+ "2025-08": 134.9,
420
+ "2025-09": 135.2,
421
+ "2025-10": 135.1,
422
+ "2025-11": 135.1,
423
+ "2025-12": 135.5,
424
+ "2026-01": 135.7,
425
+ "2026-02": 136.0,
426
+ "2026-03": 136.4
427
+ }
428
+ }
429
+ }