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/hk.json ADDED
@@ -0,0 +1,351 @@
1
+ {
2
+ "country": "HK",
3
+ "index": {
4
+ "base_period": "2010",
5
+ "rebased_at": null
6
+ },
7
+ "provenance": [
8
+ {
9
+ "from": "2004-10",
10
+ "provider": "imf",
11
+ "series": "monthly",
12
+ "to": "2026-03"
13
+ },
14
+ {
15
+ "from": "1981",
16
+ "provider": "world_bank",
17
+ "series": "annual",
18
+ "to": "2004"
19
+ },
20
+ {
21
+ "from": "2005",
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
+ "1981": 28.9890925810347,
45
+ "1982": 32.1693305857052,
46
+ "1983": 35.3495685903757,
47
+ "1984": 38.4074897487127,
48
+ "1985": 39.752975058381,
49
+ "1986": 41.0984603680492,
50
+ "1987": 43.4224804483854,
51
+ "1988": 46.8473521457227,
52
+ "1989": 51.6177091527284,
53
+ "1990": 56.9996503914016,
54
+ "1991": 63.3601264007425,
55
+ "1992": 69.4759687174165,
56
+ "1993": 75.5918110340906,
57
+ "1994": 82.1969207360984,
58
+ "1995": 89.6582483624406,
59
+ "1996": 95.2848232937807,
60
+ "1997": 100.789081378787,
61
+ "1998": 103.724685690791,
62
+ "1999": 99.5659129154526,
63
+ "2000": 95.8964075254482,
64
+ "2001": 94.306288523113,
65
+ "2002": 91.4930010574429,
66
+ "2003": 89.0466641307732,
67
+ "2004": 88.8020304381063,
68
+ "2005": 66.2417,
69
+ "2006": 67.5667,
70
+ "2007": 68.9417,
71
+ "2008": 71.9083,
72
+ "2009": 72.325,
73
+ "2010": 73.9833,
74
+ "2011": 77.9083,
75
+ "2012": 81.0667,
76
+ "2013": 84.5833,
77
+ "2014": 88.325,
78
+ "2015": 90.9667,
79
+ "2016": 93.1583,
80
+ "2017": 94.55,
81
+ "2018": 96.825,
82
+ "2019": 99.6167,
83
+ "2020": 99.8667,
84
+ "2021": 101.4333,
85
+ "2022": 103.3417,
86
+ "2023": 105.5083,
87
+ "2024": 107.3333,
88
+ "2025": 108.875
89
+ },
90
+ "monthly": {
91
+ "2004-10": 65.8,
92
+ "2004-11": 65.9,
93
+ "2004-12": 65.9,
94
+ "2005-01": 65.7,
95
+ "2005-02": 65.9,
96
+ "2005-03": 65.9,
97
+ "2005-04": 66.1,
98
+ "2005-05": 66.0,
99
+ "2005-06": 66.2,
100
+ "2005-07": 66.3,
101
+ "2005-08": 66.2,
102
+ "2005-09": 66.5,
103
+ "2005-10": 66.6,
104
+ "2005-11": 66.7,
105
+ "2005-12": 66.8,
106
+ "2006-01": 66.9,
107
+ "2006-02": 66.7,
108
+ "2006-03": 67.0,
109
+ "2006-04": 67.3,
110
+ "2006-05": 67.4,
111
+ "2006-06": 67.6,
112
+ "2006-07": 67.8,
113
+ "2006-08": 67.8,
114
+ "2006-09": 67.9,
115
+ "2006-10": 68.0,
116
+ "2006-11": 68.1,
117
+ "2006-12": 68.3,
118
+ "2007-01": 68.2,
119
+ "2007-02": 67.3,
120
+ "2007-03": 68.6,
121
+ "2007-04": 68.2,
122
+ "2007-05": 68.2,
123
+ "2007-06": 68.5,
124
+ "2007-07": 68.9,
125
+ "2007-08": 68.9,
126
+ "2007-09": 69.0,
127
+ "2007-10": 70.1,
128
+ "2007-11": 70.5,
129
+ "2007-12": 70.9,
130
+ "2008-01": 70.4,
131
+ "2008-02": 71.5,
132
+ "2008-03": 71.5,
133
+ "2008-04": 71.9,
134
+ "2008-05": 72.1,
135
+ "2008-06": 72.7,
136
+ "2008-07": 73.2,
137
+ "2008-08": 72.1,
138
+ "2008-09": 71.1,
139
+ "2008-10": 71.4,
140
+ "2008-11": 72.6,
141
+ "2008-12": 72.4,
142
+ "2009-01": 72.6,
143
+ "2009-02": 72.1,
144
+ "2009-03": 72.3,
145
+ "2009-04": 72.3,
146
+ "2009-05": 72.2,
147
+ "2009-06": 72.1,
148
+ "2009-07": 72.1,
149
+ "2009-08": 70.9,
150
+ "2009-09": 71.4,
151
+ "2009-10": 73.2,
152
+ "2009-11": 73.2,
153
+ "2009-12": 73.5,
154
+ "2010-01": 73.5,
155
+ "2010-02": 74.2,
156
+ "2010-03": 73.9,
157
+ "2010-04": 74.2,
158
+ "2010-05": 74.1,
159
+ "2010-06": 74.2,
160
+ "2010-07": 72.5,
161
+ "2010-08": 72.5,
162
+ "2010-09": 72.8,
163
+ "2010-10": 75.0,
164
+ "2010-11": 75.2,
165
+ "2010-12": 75.7,
166
+ "2011-01": 76.1,
167
+ "2011-02": 76.9,
168
+ "2011-03": 77.1,
169
+ "2011-04": 77.6,
170
+ "2011-05": 78.0,
171
+ "2011-06": 78.4,
172
+ "2011-07": 78.3,
173
+ "2011-08": 76.7,
174
+ "2011-09": 77.0,
175
+ "2011-10": 79.3,
176
+ "2011-11": 79.5,
177
+ "2011-12": 80.0,
178
+ "2012-01": 80.7,
179
+ "2012-02": 80.5,
180
+ "2012-03": 80.9,
181
+ "2012-04": 81.3,
182
+ "2012-05": 81.3,
183
+ "2012-06": 81.3,
184
+ "2012-07": 79.6,
185
+ "2012-08": 79.6,
186
+ "2012-09": 79.9,
187
+ "2012-10": 82.3,
188
+ "2012-11": 82.5,
189
+ "2012-12": 82.9,
190
+ "2013-01": 83.1,
191
+ "2013-02": 84.0,
192
+ "2013-03": 83.8,
193
+ "2013-04": 84.6,
194
+ "2013-05": 84.5,
195
+ "2013-06": 84.6,
196
+ "2013-07": 85.1,
197
+ "2013-08": 83.2,
198
+ "2013-09": 83.6,
199
+ "2013-10": 85.9,
200
+ "2013-11": 86.1,
201
+ "2013-12": 86.5,
202
+ "2014-01": 86.9,
203
+ "2014-02": 87.3,
204
+ "2014-03": 87.1,
205
+ "2014-04": 87.7,
206
+ "2014-05": 87.6,
207
+ "2014-06": 87.7,
208
+ "2014-07": 88.5,
209
+ "2014-08": 86.5,
210
+ "2014-09": 89.1,
211
+ "2014-10": 90.3,
212
+ "2014-11": 90.5,
213
+ "2014-12": 90.7,
214
+ "2015-01": 90.4,
215
+ "2015-02": 91.2,
216
+ "2015-03": 90.9,
217
+ "2015-04": 90.2,
218
+ "2015-05": 90.2,
219
+ "2015-06": 90.3,
220
+ "2015-07": 90.8,
221
+ "2015-08": 89.1,
222
+ "2015-09": 90.9,
223
+ "2015-10": 92.3,
224
+ "2015-11": 92.5,
225
+ "2015-12": 92.8,
226
+ "2016-01": 92.7,
227
+ "2016-02": 93.9,
228
+ "2016-03": 93.5,
229
+ "2016-04": 92.6,
230
+ "2016-05": 92.5,
231
+ "2016-06": 92.5,
232
+ "2016-07": 92.9,
233
+ "2016-08": 93.0,
234
+ "2016-09": 93.3,
235
+ "2016-10": 93.4,
236
+ "2016-11": 93.7,
237
+ "2016-12": 93.9,
238
+ "2017-01": 93.9,
239
+ "2017-02": 93.8,
240
+ "2017-03": 94.0,
241
+ "2017-04": 94.5,
242
+ "2017-05": 94.4,
243
+ "2017-06": 94.3,
244
+ "2017-07": 94.7,
245
+ "2017-08": 94.8,
246
+ "2017-09": 94.6,
247
+ "2017-10": 94.9,
248
+ "2017-11": 95.2,
249
+ "2017-12": 95.5,
250
+ "2018-01": 95.5,
251
+ "2018-02": 96.7,
252
+ "2018-03": 96.4,
253
+ "2018-04": 96.3,
254
+ "2018-05": 96.4,
255
+ "2018-06": 96.6,
256
+ "2018-07": 96.9,
257
+ "2018-08": 97.0,
258
+ "2018-09": 97.2,
259
+ "2018-10": 97.4,
260
+ "2018-11": 97.6,
261
+ "2018-12": 97.9,
262
+ "2019-01": 97.8,
263
+ "2019-02": 98.7,
264
+ "2019-03": 98.4,
265
+ "2019-04": 99.1,
266
+ "2019-05": 99.0,
267
+ "2019-06": 99.7,
268
+ "2019-07": 100.1,
269
+ "2019-08": 100.3,
270
+ "2019-09": 100.3,
271
+ "2019-10": 100.6,
272
+ "2019-11": 100.7,
273
+ "2019-12": 100.7,
274
+ "2020-01": 98.5,
275
+ "2020-02": 101.0,
276
+ "2020-03": 100.9,
277
+ "2020-04": 101.0,
278
+ "2020-05": 100.7,
279
+ "2020-06": 100.6,
280
+ "2020-07": 97.7,
281
+ "2020-08": 99.9,
282
+ "2020-09": 97.8,
283
+ "2020-10": 100.2,
284
+ "2020-11": 100.3,
285
+ "2020-12": 99.8,
286
+ "2021-01": 101.1,
287
+ "2021-02": 101.4,
288
+ "2021-03": 101.5,
289
+ "2021-04": 101.8,
290
+ "2021-05": 101.6,
291
+ "2021-06": 101.3,
292
+ "2021-07": 101.4,
293
+ "2021-08": 101.5,
294
+ "2021-09": 99.2,
295
+ "2021-10": 102.0,
296
+ "2021-11": 102.2,
297
+ "2021-12": 102.2,
298
+ "2022-01": 102.3,
299
+ "2022-02": 103.1,
300
+ "2022-03": 103.3,
301
+ "2022-04": 103.1,
302
+ "2022-05": 102.9,
303
+ "2022-06": 103.2,
304
+ "2022-07": 103.3,
305
+ "2022-08": 103.4,
306
+ "2022-09": 103.5,
307
+ "2022-10": 103.8,
308
+ "2022-11": 104.0,
309
+ "2022-12": 104.2,
310
+ "2023-01": 104.8,
311
+ "2023-02": 104.9,
312
+ "2023-03": 105.0,
313
+ "2023-04": 105.2,
314
+ "2023-05": 105.0,
315
+ "2023-06": 105.2,
316
+ "2023-07": 105.2,
317
+ "2023-08": 105.2,
318
+ "2023-09": 105.6,
319
+ "2023-10": 106.7,
320
+ "2023-11": 106.6,
321
+ "2023-12": 106.7,
322
+ "2024-01": 106.6,
323
+ "2024-02": 107.1,
324
+ "2024-03": 107.1,
325
+ "2024-04": 106.4,
326
+ "2024-05": 106.2,
327
+ "2024-06": 106.7,
328
+ "2024-07": 107.8,
329
+ "2024-08": 107.8,
330
+ "2024-09": 107.9,
331
+ "2024-10": 108.1,
332
+ "2024-11": 108.1,
333
+ "2024-12": 108.2,
334
+ "2025-01": 108.7,
335
+ "2025-02": 108.6,
336
+ "2025-03": 108.6,
337
+ "2025-04": 108.5,
338
+ "2025-05": 108.2,
339
+ "2025-06": 108.3,
340
+ "2025-07": 108.9,
341
+ "2025-08": 109.0,
342
+ "2025-09": 109.1,
343
+ "2025-10": 109.4,
344
+ "2025-11": 109.4,
345
+ "2025-12": 109.8,
346
+ "2026-01": 110.0,
347
+ "2026-02": 110.5,
348
+ "2026-03": 110.5
349
+ }
350
+ }
351
+ }