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/ph.json ADDED
@@ -0,0 +1,309 @@
1
+ {
2
+ "country": "PH",
3
+ "index": {
4
+ "base_period": "2010",
5
+ "rebased_at": null
6
+ },
7
+ "provenance": [
8
+ {
9
+ "from": "2010-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": "2009"
19
+ },
20
+ {
21
+ "from": "2010",
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": 1.1289570744394,
45
+ "1961": 1.1469710861261,
46
+ "1962": 1.21345701083502,
47
+ "1963": 1.28172063406434,
48
+ "1964": 1.38660484683975,
49
+ "1965": 1.42215881727406,
50
+ "1966": 1.49895539340232,
51
+ "1967": 1.5926993621043,
52
+ "1968": 1.63026805752857,
53
+ "1969": 1.66214811768373,
54
+ "1970": 1.90118931222233,
55
+ "1971": 2.30810739199867,
56
+ "1972": 2.49746531031043,
57
+ "1973": 2.91154586453827,
58
+ "1974": 3.90623450399154,
59
+ "1975": 4.17035074939091,
60
+ "1976": 4.55399078719985,
61
+ "1977": 5.00477902299168,
62
+ "1978": 5.37185583863149,
63
+ "1979": 6.31372122897355,
64
+ "1980": 7.46285072380537,
65
+ "1981": 8.43918552245876,
66
+ "1982": 9.30181603920786,
67
+ "1983": 10.2347283365258,
68
+ "1984": 15.3867857404087,
69
+ "1985": 18.9416113416321,
70
+ "1986": 19.1590871369295,
71
+ "1987": 19.9388174273859,
72
+ "1988": 22.7023513139696,
73
+ "1989": 25.4817980636238,
74
+ "1990": 28.584806362379,
75
+ "1991": 34.0906569847856,
76
+ "1992": 37.0398409405256,
77
+ "1993": 39.5275518672199,
78
+ "1994": 43.6330705394191,
79
+ "1995": 46.6140802213001,
80
+ "1996": 50.0989972337483,
81
+ "1997": 52.8996611341632,
82
+ "1998": 57.7849100968188,
83
+ "1999": 61.2167842323652,
84
+ "2000": 63.6514522821577,
85
+ "2001": 67.0539419087137,
86
+ "2002": 68.8796680497925,
87
+ "2003": 70.4564315352697,
88
+ "2004": 73.8589211618257,
89
+ "2005": 78.6721991701245,
90
+ "2006": 82.9875518672199,
91
+ "2007": 85.3941908713693,
92
+ "2008": 92.448132780083,
93
+ "2009": 96.3485477178423,
94
+ "2010": 78.9797,
95
+ "2011": 82.7062,
96
+ "2012": 85.2097,
97
+ "2013": 87.4104,
98
+ "2014": 90.5553,
99
+ "2015": 91.1658,
100
+ "2016": 92.3088,
101
+ "2017": 94.9425,
102
+ "2018": 99.9833,
103
+ "2019": 102.375,
104
+ "2020": 104.825,
105
+ "2021": 108.9417,
106
+ "2022": 115.2833,
107
+ "2023": 122.175,
108
+ "2024": 126.1,
109
+ "2025": 128.1917
110
+ },
111
+ "monthly": {
112
+ "2010-01": 77.70102646308449,
113
+ "2010-02": 78.09444938188491,
114
+ "2010-03": 78.2255903548184,
115
+ "2010-04": 78.68458376008556,
116
+ "2010-05": 78.61901327361883,
117
+ "2010-06": 78.81572473301904,
118
+ "2010-07": 79.07800667888598,
119
+ "2010-08": 79.40585911121968,
120
+ "2010-09": 79.40585911121968,
121
+ "2010-10": 79.34028862475294,
122
+ "2010-11": 80.06156397588705,
123
+ "2010-12": 80.32384592175401,
124
+ "2011-01": 80.78283932702118,
125
+ "2011-02": 81.76639662402225,
126
+ "2011-03": 82.0286785698892,
127
+ "2011-04": 82.3565310022229,
128
+ "2011-05": 82.48767197515637,
129
+ "2011-06": 82.94666538042352,
130
+ "2011-07": 82.94666538042352,
131
+ "2011-08": 83.077806353357,
132
+ "2011-09": 83.14337683982374,
133
+ "2011-10": 83.47122927215744,
134
+ "2011-11": 83.79908170449113,
135
+ "2011-12": 83.66794073155765,
136
+ "2012-01": 83.99579316389134,
137
+ "2012-02": 84.08098159509204,
138
+ "2012-03": 84.25135845749344,
139
+ "2012-04": 84.84767747589835,
140
+ "2012-05": 84.76248904469765,
141
+ "2012-06": 85.10324276950045,
142
+ "2012-07": 85.35880806310254,
143
+ "2012-08": 86.04031551270816,
144
+ "2012-09": 86.04031551270816,
145
+ "2012-10": 86.04031551270816,
146
+ "2012-11": 86.04031551270816,
147
+ "2012-12": 85.95512708150746,
148
+ "2013-01": 86.38106923751097,
149
+ "2013-02": 86.55144609991237,
150
+ "2013-03": 86.55144609991237,
151
+ "2013-04": 86.72182296231377,
152
+ "2013-05": 86.72182296231377,
153
+ "2013-06": 87.23295354951799,
154
+ "2013-07": 87.40333041191938,
155
+ "2013-08": 87.57370727432078,
156
+ "2013-09": 87.9996494303243,
157
+ "2013-10": 88.08483786152499,
158
+ "2013-11": 88.51078001752849,
159
+ "2013-12": 89.1922874671341,
160
+ "2014-01": 89.61822962313761,
161
+ "2014-02": 89.70341805433831,
162
+ "2014-03": 89.61822962313761,
163
+ "2014-04": 89.87379491673971,
164
+ "2014-05": 90.21454864154252,
165
+ "2014-06": 90.55530236634532,
166
+ "2014-07": 91.06643295354954,
167
+ "2014-08": 91.23680981595093,
168
+ "2014-09": 91.40718667835233,
169
+ "2014-10": 91.32199824715163,
170
+ "2014-11": 91.15162138475023,
171
+ "2014-12": 90.89605609114813,
172
+ "2015-01": 90.98124452234883,
173
+ "2015-02": 91.06643295354954,
174
+ "2015-03": 90.98124452234883,
175
+ "2015-04": 91.15162138475023,
176
+ "2015-05": 91.06643295354954,
177
+ "2015-06": 91.06643295354954,
178
+ "2015-07": 91.23680981595093,
179
+ "2015-08": 91.23680981595093,
180
+ "2015-09": 91.06643295354954,
181
+ "2015-10": 91.15162138475023,
182
+ "2015-11": 91.40718667835233,
183
+ "2015-12": 91.57756354075374,
184
+ "2016-01": 91.66275197195444,
185
+ "2016-02": 91.49237510955304,
186
+ "2016-03": 91.49237510955304,
187
+ "2016-04": 91.74794040315514,
188
+ "2016-05": 91.91831726555654,
189
+ "2016-06": 92.25907099035935,
190
+ "2016-07": 92.42944785276075,
191
+ "2016-08": 92.42944785276075,
192
+ "2016-09": 92.59982471516216,
193
+ "2016-10": 92.77020157756355,
194
+ "2016-11": 93.28133216476776,
195
+ "2016-12": 93.62208588957056,
196
+ "2017-01": 93.96283961437337,
197
+ "2017-02": 94.30359333917617,
198
+ "2017-03": 94.30359333917617,
199
+ "2017-04": 94.64434706397898,
200
+ "2017-05": 94.55915863277828,
201
+ "2017-06": 94.55915863277828,
202
+ "2017-07": 94.64434706397898,
203
+ "2017-08": 94.81472392638038,
204
+ "2017-09": 95.4110429447853,
205
+ "2017-10": 95.6666082383874,
206
+ "2017-11": 96.0925503943909,
207
+ "2017-12": 96.348115687993,
208
+ "2018-01": 97.2,
209
+ "2018-02": 97.9,
210
+ "2018-03": 98.4,
211
+ "2018-04": 98.8,
212
+ "2018-05": 99.0,
213
+ "2018-06": 99.4,
214
+ "2018-07": 100.2,
215
+ "2018-08": 101.1,
216
+ "2018-09": 102.1,
217
+ "2018-10": 102.3,
218
+ "2018-11": 102.0,
219
+ "2018-12": 101.4,
220
+ "2019-01": 101.5,
221
+ "2019-02": 101.6,
222
+ "2019-03": 101.7,
223
+ "2019-04": 102.0,
224
+ "2019-05": 102.2,
225
+ "2019-06": 102.1,
226
+ "2019-07": 102.4,
227
+ "2019-08": 102.5,
228
+ "2019-09": 102.6,
229
+ "2019-10": 102.9,
230
+ "2019-11": 103.2,
231
+ "2019-12": 103.8,
232
+ "2020-01": 104.5,
233
+ "2020-02": 104.1,
234
+ "2020-03": 103.9,
235
+ "2020-04": 103.8,
236
+ "2020-05": 103.8,
237
+ "2020-06": 104.4,
238
+ "2020-07": 104.9,
239
+ "2020-08": 104.8,
240
+ "2020-09": 104.9,
241
+ "2020-10": 105.3,
242
+ "2020-11": 106.3,
243
+ "2020-12": 107.2,
244
+ "2021-01": 108.4,
245
+ "2021-02": 108.5,
246
+ "2021-03": 108.2,
247
+ "2021-04": 108.1,
248
+ "2021-05": 108.1,
249
+ "2021-06": 108.3,
250
+ "2021-07": 108.8,
251
+ "2021-08": 109.4,
252
+ "2021-09": 109.3,
253
+ "2021-10": 109.5,
254
+ "2021-11": 110.2,
255
+ "2021-12": 110.5,
256
+ "2022-01": 111.7,
257
+ "2022-02": 111.8,
258
+ "2022-03": 112.5,
259
+ "2022-04": 113.4,
260
+ "2022-05": 113.9,
261
+ "2022-06": 114.9,
262
+ "2022-07": 115.8,
263
+ "2022-08": 116.3,
264
+ "2022-09": 116.8,
265
+ "2022-10": 117.9,
266
+ "2022-11": 119.0,
267
+ "2022-12": 119.4,
268
+ "2023-01": 121.4,
269
+ "2023-02": 121.4,
270
+ "2023-03": 121.1,
271
+ "2023-04": 120.9,
272
+ "2023-05": 120.9,
273
+ "2023-06": 121.1,
274
+ "2023-07": 121.2,
275
+ "2023-08": 122.5,
276
+ "2023-09": 123.9,
277
+ "2023-10": 123.7,
278
+ "2023-11": 123.9,
279
+ "2023-12": 124.1,
280
+ "2024-01": 124.8,
281
+ "2024-02": 125.5,
282
+ "2024-03": 125.6,
283
+ "2024-04": 125.5,
284
+ "2024-05": 125.6,
285
+ "2024-06": 125.6,
286
+ "2024-07": 126.5,
287
+ "2024-08": 126.6,
288
+ "2024-09": 126.3,
289
+ "2024-10": 126.5,
290
+ "2024-11": 127.0,
291
+ "2024-12": 127.7,
292
+ "2025-01": 128.4,
293
+ "2025-02": 128.1,
294
+ "2025-03": 127.8,
295
+ "2025-04": 127.3,
296
+ "2025-05": 127.2,
297
+ "2025-06": 127.3,
298
+ "2025-07": 127.7,
299
+ "2025-08": 128.5,
300
+ "2025-09": 128.5,
301
+ "2025-10": 128.6,
302
+ "2025-11": 128.9,
303
+ "2025-12": 130.0,
304
+ "2026-01": 131.0,
305
+ "2026-02": 131.2,
306
+ "2026-03": 133.0
307
+ }
308
+ }
309
+ }