Global commodity price index signals (IMF PCPS: energy/metals/food momentum, dislocation spreads, anomalies)
Monthly/quarterly signals derived from the IMF Primary Commodity Price System indices (redistributed by FRED): 30-period annualized change volatility, ~3-month momentum, year-over-year change, 3-sigma anomaly flags vs a trailing 12-month baseline, naive-drift 1-month forecasts, a per-date cross-index volatility rank, and the energy-vs-food YoY spread (the commodity dislocation gauge). Covers the global energy, metals and food price indices plus the all-commodities index. All rows are normalized to country_code WLD (global benchmarks) so they join cleanly with other world macro data. Underlying data: International Monetary Fund, Primary Commodity Price System.
Quality
Attribution
Federal Reserve Bank of St. Louis (FRED; underlying data: International Monetary Fund, Primary Commodity Price System; derived signals by Frontier Data Hub)
Schema
| Column | Type | Description |
|---|---|---|
| date | string | Observation date (FRED API field date; YYYY-MM-DD). |
| country | string | |
| country_code | string | |
| series_id | string | FRED series ID (PNRGINDEXM, PMETAINDEXM, PFOODINDEXM, PALLFNFINDEXQ); FRED IDs resolve to the series page at https://fred.stlouisfed.org/series/<id>. |
| series_label | string | Official FRED/IMF series title as published for the series (International Monetary Fund, Primary Commodity Price System). |
| value | float | IMF commodity price index value (Index 2016 = 100): benchmark prices representative of the global market, period averages in nominal U.S. dollars; see the series notes for methodology. |
| volatility_30d | float | |
| momentum_3m | float | |
| yoy_change_pct | float | |
| anomaly_flag | integer | |
| forecast_1m | float | |
| rank | integer | |
| energy_food_spread | float |
Sample rows
| date | country | country_code | series_id | series_label | value | volatility_30d | momentum_3m | yoy_change_pct | anomaly_flag | forecast_1m | rank | energy_food_spread |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1992-01-01 | World | WLD | PALLFNFINDEXQ | Global Price Index of All Commodities | 47.92810153194743 | — | — | — | 0 | — | — | — |
| 1992-01-01 | World | WLD | PFOODINDEXM | Global price of Food index | 57.73063636179108 | — | — | — | 0 | — | — | — |
| 1992-01-01 | World | WLD | PMETAINDEXM | Global price of Metal index | 46.94867280617911 | — | — | — | 0 | — | — | — |
| 1992-01-01 | World | WLD | PNRGINDEXM | Global price of Energy index | 44.45223524509338 | — | — | — | 0 | — | — | — |
| 1992-02-01 | World | WLD | PFOODINDEXM | Global price of Food index | 57.83864076602855 | — | — | — | 0 | — | — | — |
Download sample data
Download the full sample snapshot for this dataset (sample rows, not the complete dataset).
Use with an LLM
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
cURL
curl "https://datazimuts.com/v1/datasets/imf_commodity_signals/global_commodity_price_index_signals" | jq '{title, rows, columns_count, license}'Python
import requests
ds = requests.get("https://datazimuts.com/v1/datasets/imf_commodity_signals/global_commodity_price_index_signals").json()
print(ds["title"], ds["rows"], "rows")
# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
print(row)API endpoint: https://datazimuts.com/v1/datasets/imf_commodity_signals/global_commodity_price_index_signals
Tip: fetch /llms.txt for the full machine-readable catalog.