# FX & Macro Research — El Niño-relevant currencies and food inflation

Compiled 2026-08-09. All series monthly, saved as JSON under `data/macro/`, raw downloads under `data/macro/raw/`.

## Series obtained

| File | Series | Range | Rows | Source | Quote convention |
|---|---|---|---|---|---|
| `audusd.json` | AUD/USD spot (FRED DEXUSAL) | 1971-01 – 2026-07 | 667 | FRED | **USD per AUD** — falls when AUD weakens. Pre-1983 values are fixed-regime (peak 1.486 in 1973); post-float range ≈ 0.48–1.11 |
| `usdbrl.json` | USD/BRL (FRED DEXBZUS) | 1995-01 – 2026-07 | 379 | FRED | **BRL per USD** — rises when BRL weakens |
| `usdinr.json` | USD/INR (FRED DEXINUS) | 1973-01 – 2026-07 | 643 | FRED | **INR per USD** — rises when INR weakens |
| `usdjpy.json` | USD/JPY (FRED DEXJPUS) | 1971-01 – 2026-07 | 667 | FRED | **JPY per USD** — rises when JPY weakens |
| `usdidr.json` | USD/IDR | 1999-01 – 2026-08 | 332 | Frankfurter API (ECB reference rates, USD base); monthly mean of daily fixings | **IDR per USD** — rises when IDR weakens |
| `fao_ffpi.json` | FAO Food Price Index (nominal, 2014-16=100) | 1990-01 – 2026-07 | 439 | Official FAO CSV | Index level |
| `us_cpi_food.json` | US CPI: Food (CPIUFDSL) | 1947-01 – 2026-06 | 953 | FRED | Index, 1982-84=100, NSA |
| `us_cpi_headline.json` | US CPI: All Items (CPIAUCSL) | 1947-01 – 2026-06 | 953 | FRED | Index, 1982-84=100, SA |
| `us_pce.json` | US PCE price index (PCEPI) | 1959-01 – 2026-06 | 810 | FRED | Index, 2017=100, SA |
| `world_food_price_index_imf.json` | IMF Global Food Price Index (PFOODINDEXM) | 1992-01 – 2026-06 | 414 | FRED | Index, 2016=100 — world wholesale food price proxy alongside FFPI |

## Missing

- **USD/PEN (Peru sol)** — not in ECB reference rates (Frankfurter has no PEN); FRED has no PEN series; IMF legacy API (`dataservices.imf.org`) no longer resolves and the new `api.imf.org` SDMX endpoint returns HTTP 500 for IFS exchange-rate queries; BCRP open API responded but the known interbank series codes (PD04637PD/PD04638PD) return `n.d.` and further probing hit Incapsula bot protection. Fallback if needed later: World Bank `PA.NUS.FCRF` (annual only).
- **Fertilizer/agri equities (MOS, NTR, ADM)** — Stooq now enforces a JavaScript SHA-256 proof-of-work challenge; solving it still yielded "Access denied" then connection timeouts (IP-level blocking). No other keyless/curl-friendly monthly equity source found.
- **World food CPI (retail)** — no free monthly global retail food CPI; covered by FAO FFPI + IMF food index (wholesale) instead.

## Exact source URLs

- FRED (all): `https://fred.stlouisfed.org/graph/fredgraph.csv?id=<ID>&fq=Monthly` — IDs: `DEXUSAL`, `DEXBZUS`, `DEXINUS`, `DEXJPUS`, `CPIUFDSL`, `CPIAUCSL`, `PCEPI`, `PFOODINDEXM`. FRED monthly aggregation of the daily DEX* series is the arithmetic average of daily noon buying rates.
- USD/IDR: `https://api.frankfurter.dev/v1/1999-01-04..2026-08-08?base=USD&symbols=IDR` (note: old host `api.frankfurter.app` now 301-redirects to `api.frankfurter.dev/v1/`). Daily ECB reference rates; aggregated here to calendar-month means.
- FAO FFPI: `https://www.fao.org/media/docs/worldfoodsituationlibraries/default-document-library/food_price_indices_data.csv` (linked from https://www.fao.org/worldfoodsituation/foodpricesindex/en/). CSV also carries Meat/Dairy/Cereals/Oils/Sugar sub-indices — only the headline FFPI was extracted.

## Spot checks (passed)

- FFPI 2022-03 = 160.2 (the known all-time peak ≈ 160); 2008-06 = 132.7.
- AUD/USD: 2001-03 = 0.5031 (historic low era), 2011-07 = 1.0781 (parity era), 2020-03 = 0.6218 (COVID crash) — all consistent with history.
- USD/INR 2023-06 ≈ 82.2; USD/IDR 2024-06 ≈ 16,355; USD/JPY 2012-01 ≈ 77; USD/BRL 2011-07 ≈ 1.56, 2020-05 ≈ 5.64 — all consistent.
- All 10 JSON files parse; format `{"series","unit","source","frequency","data":[["YYYY-MM", number], ...]}` plus `quote_convention` on FX files.

## El Niño relevance notes

- **AUD**: El Niño typically brings drought to eastern Australia, cutting wheat/meat exports and worsening terms of trade → AUD softness; also a global risk-off channel (AUD is the classic risk proxy).
- **INR / IDR**: both are large food importers (palm oil is an Indonesian export, but India imports edible oils and pulses); El Niño-driven spikes in rice, sugar and vegetable-oil prices transmit to food CPI and FX depreciation pressure, sometimes forcing export bans (India rice 2023) that amplify global prices.
- **BRL**: Brazil is a top exporter of soy, sugar, coffee, corn and beef; El Niño tends to bring rain to the Center-South and drought to the North/Northeast — mixed production effects but a clear agricultural-terms-of-trade channel into BRL.
- **Food CPI pass-through**: FFPI (wholesale) leads retail food CPI (CPIUFDSL) by roughly 6–12 months; El Niño years (1997-98, 2010-11, 2015-16, 2023-24) line up with FFPI upswings — FFPI and IMF food index are the series to use for pass-through modeling.
- **JPY**: mostly a safe-haven/funding currency — included as a control rather than a direct El Niño exposure.
