Beta version 1.0 · Independent research website. It does not represent any official institution and is not investment advice. Every figure comes with its source.

Methodology and data

Independent research website. It does not represent any official institution and is not investment advice. Every figure comes with its source.

Climate indicators

Climate risk and financial stress indices

Both indices use a weighted principal component analysis: variables are oriented so that higher values mean more risk, robustly scaled (median and interquartile range), the first two components are weighted by their variance shares (the second in absolute value), then normalised to [0, 100]. The financial stress index uses eight variables (bank solvency, non-performing loans, public debt, reserves, budget balance, current account, MASI growth, market capitalisation); the climate risk index uses three (temperature, precipitation, carbon intensity of GDP).

Parameters are estimated over 1998–2025 and then frozen: new years use the same parameters and the published history does not change. A year is computed only when all its components are available. The displayed level ("normal", "high"…) uses the 70th, 85th and 95th percentiles of the reference distribution; it is not an official alert threshold.

Note: Germanwatch publishes a different international index also called Climate Risk Index; it differs from this one in method and data.

Forecasts and scenarios

Forecasts: three models (naive, linear, SVR) evaluated out of sample with an expanding window; each is compared with the naive model using the Diebold-Mariano test with the Harvey, Leybourne and Newbold correction. Scenarios: quantile regression and VAR(1) coefficients estimated over 1999–2025, shown as they are without re-estimation.

Economic data and update rules

Agreement between automatic sources and reference series

VariableAutomatic sourcenCorrelationMean absolute difference
BANK_SOLVSaisie annuelle (Bank Al-Maghrib)0——
NPLSaisie annuelle (Bank Al-Maghrib)0——
DEBT_GDPBanque mondiale GC.DOD.TOTL.GD.ZS0——
RES_GDPBanque mondiale FI.RES.TOTL.CD / NY.GDP.MKTP.CD280.6782.087
BUDGET_BALBanque mondiale GC.NLD.TOTL.GD.ZS0——
CURR_ACCBanque mondiale BN.CAB.XOKA.GD.ZS280.9860.127
MASI_GROWTHSaisie annuelle (Bourse de Casablanca)0——
MARKET_CAPBanque mondiale CM.MKT.LCAP.GD.ZS160.9880.425
TEMPOpen-Meteo (ERA5), 28,5°N 10°O280.9420.528
POpen-Meteo (ERA5), 28,5°N 10°O280.8139.932
CO2Banque mondiale EN.GHG.CO2.RT.GDP.PP.KD (t-1)280.9950.044

Source status

SourceStatusLast successDetail
openmeteoPartial failure—ori: HTTPSConnectionPool(host='archive-api.open-meteo.com', port=443): Read timed out. (read timeout=180); bmk: HTTPSConnectionPool(host='archive-api.open-meteo.com', port=443): Read timed out. (read timeout=180); msa: HTTPSConnectionPool(host='archive-api.open-meteo.com', port=443): Read timed out.
worldbankOK2026-10-21T20:22:54Z
componentsPartial failure—DEBT_GDP: 403 Client Error: Forbidden for url: https://www.imf.org/external/datamapper/api/v1/GGXWDG_NGDP/MAR; BUDGET_BAL: 403 Client Error: Forbidden for url: https://www.imf.org/external/datamapper/api/v1/GGXCNL_NGDP/MAR

Glossary

SPEI
Standardised drought index: compares the balance between rainfall and evapotranspiration with what is normal for the same period. Below −1 moderate, below −1.5 severe, below −2 extreme drought. The number 3 or 12 is the number of months accumulated.
Temperature anomaly
Difference between the observed mean temperature and the 1991–2020 average for the same month. A positive value means a warmer-than-normal month.
Climate risk index (CRI)
Annual composite index (temperature, rainfall, CO₂ emissions) built by principal component analysis, on a 0–100 scale relative to 1998–2025.
Financial stress index (FSI)
Annual composite index (banks, stock market, public finances, external sector). Higher values mean more stress on the financial system. 0–100 scale relative to 1998–2025.
Very hot day
A day when the maximum temperature exceeds the 90th percentile for the same month in 1991–2020, i.e. among the 10% usually hottest days of that month.