Sovereign stress
A logistic score for a sovereign credit event within three years, using lagged public fiscal, external, monetary, and growth features.
- Registry slug:
- sovereign-stress
- Visible surface:
- /sovereign/stress
Data and implementation
Vintage
10,452 country-year scores for 237 economies from 1980 through 2024, with 17 stored coefficients, measured 2026-08-30
Data tables
- data/parquet/sovereign_stress.parquet
- data/parquet/sovereign_stress_eval.parquet
- data/parquet/sovereign_stress_coefficients.parquet
- data/parquet/sovereign_stress_univariate.parquet
- data/parquet/sovereign_stress_experiment.parquet
Engine
- engine/finweave_engine/layers/sovereign_stress.py
Producer
scripts/build/build_sovereign_stress.py
Outputs
- data/parquet/sovereign_stress.parquet
- data/parquet/sovereign_stress_eval.parquet
- data/parquet/sovereign_stress_coefficients.parquet
- data/parquet/sovereign_stress_univariate.parquet
- data/parquet/sovereign_stress_experiment.parquet
Source: Global Macro Database, release 2026_06; World Bank, total reserves including gold (FI.RES.TOTL.CD); Bank of Canada and Bank of England, Sovereign Default Database, 2025 edition; OECD, Country Risk Classifications of the Participants to the Arrangement on Officially Supported Export Credits
Method
The target is a sovereign default or distressed restructuring beginning in the model year or following two years. Fiscal, external, monetary, and growth features are observed with a lag; each economic term is winsorized on its training fold, median-imputed, standardized, and paired with a missing-indicator term.
The 17-term coefficient artifact contains the intercept, eight standardized economic-feature weights, and eight missing-indicator weights. A missing-indicator term activates when the underlying observation is absent, so the score can move because a country did not report a figure. Those terms remain visible on /sovereign/methodology through stressCoefficients(); no coefficient values are copied into this registry.
The score surface is /sovereign/stress, while /sovereign/methodology publishes the live coefficient groups. Both pages read the model artifacts rather than registry-copied weights.
Methodology evidence
| Path and lines | Evidence |
|---|---|
| engine/finweave_engine/layers/sovereign_stress.py:240-285 | fit_logistic() fits the design columns, and predict() maps the intercept plus economic and missing-indicator terms to a score. |
| scripts/build/build_sovereign_stress.py:255-299 | Writes the score, evaluation, coefficient, univariate, and natural-experiment outputs. |
| docs/sovereign_methodology.md:71-79 | Documents the live coefficient surface and the interpretation of economic and missingness terms. |
| src/components/sovereignStress/data.ts:95-102 | Queries the stored coefficient parquet for the live sovereign-methodology table. |
Equations
z = X @ beta + interceptscore = 1 / (1 + exp(-z))Validation
- The main output contains 10,452 observations for 237 economies from 1980 through 2024, and the coefficient output contains 17 rows.
- The producer publishes blocked walk-forward, natural-experiment, alternative-threshold, at-risk, and OECD-comparison results rather than selecting only favorable tests.
- The debt/GDP-only benchmark is stronger in every stored debt-ratio comparison. On the separate OECD Country Risk Classification subset, the model's small edge is treated as effectively a tie rather than a broad win.
Limitations
- The training crisis labels end in 2017, and 2020s defaults are absent from training. The natural experiment tests that limitation but does not repair it.
- The CRAG event rule misses small defaults relative to GDP, including Ethiopia's 2023 Eurobond default, and should not be special-cased after the fact.
- Missingness is predictive in this fitted model. Users must distinguish a missing-indicator contribution from a deterioration in a reported economic value.
- This is a conditional public-data model score, not a credit rating, market price, or event forecast for a named country.
References
Metadata endpoint
| Path | Method | Returns | Example |
|---|---|---|---|
| /api/methods/[slug] | GET | Registry metadata, implementation paths, measured vintage, methodology evidence, validation, and limitations. No model observations or parquet contents. | /api/methods/sovereign-stress |