BT Sovereign Signal · Validation Appendix
BT-SFS Validation Appendix v0.1
A first empirical check of the frozen BT-SFS v0.4 score against listed default/restructuring events and the current near-5-duration USD sovereign spread cross-section.
What This Tests
This appendix is the first empirical check of the frozen BT-SFS v0.4 score. It does not re-estimate the score weights. It asks whether the score behaves in the direction we would expect against two observable outcomes: listed future sovereign stress events and current near-5-duration USD spread levels. Here, 5D means the selected USD bond has modified duration close to five years.
The goal is exploratory validation, not optimization. The evidence below supports construct and concurrent validity: weak scores line up with stress outcomes and wider spreads in the data we can observe today. It does not establish predictive validity.
The historical series is a current-vintage backcast. It uses currently available IMF/World Bank history, not the exact data investors had in each historical year. Predictive validation would require point-in-time macro vintages and a larger historical 5D USD spread panel.
This analysis was not pre-registered. To reduce cherry-picking, the primary event statistic is the weakest-score-quartile event-rate lift, and the primary spread statistic is the full-sample Spearman rank correlation. AUC, classifier tables, raw-spread regressions, and sample filters are diagnostic.
Data Used
| Input | Coverage |
| BT-SFS historical score panel | 561 country-year rows |
| Countries in historical panel | 51 |
| Years in historical panel | 2016-2026 |
| Default/restructuring events in registry | 11 |
| Current spread cross-section | 49 countries |
| Current market date | 2026-06-25 |
Event-Risk Test
Rows are included only before the first listed default or restructuring event for each country. Lower BT-SFS means higher predicted risk. This rule prevents the same default/restructuring registry event from mechanically entering the score through the default penalty and then becoming the label.
The event-risk panel excludes rows at or after each country first registry event; no event-panel rows carry a non-zero default penalty from the same registry. Rows with non-zero default penalty in the event panel: 0; positive rows with non-zero default penalty: 0.
| Horizon | Rows | Positive rows | Event countries | AUC | Cluster CI | Bottom quartile | Rest |
| 3 years | 333 | 212.63 per event country | 8 | 0.898 | 0.821-0.962 | 21.7%18 / 83; 18.1x lift | 1.2%3 / 250 |
| 1 year | 418 | 81 per event country | 8 | 0.908 | 0.823-0.976 | 7.7%8 / 104; n/a lift | 0%0 / 314 |
Because a single future restructuring can label several prior country-years as positive, positive row counts should not be read as independent defaults. The three-year weakest-quartile lift is 18.1x, with a naive row-level 95% interval of 5.5-59.8. The country-cluster bootstrap interval is useful, but with only 8 distinct event countries, it remains fragile. The one-year horizon is shown only as a robustness view.
Early Robustness Checks
These checks preview the v0.2 robustness phase on the frozen three-year panel. They rule out single-country dependence, chance under full country clustering, and a composite that underperforms its own pillars. They do not address current-vintage revision leakage.
| Check | Result | How to read it |
| Leave-one-event-country-out | AUC range 0.888-0.916 across all 8 exclusions (baseline 0.898). | No single event country carries the separation. |
| Single-pillar benchmarks | Fiscal 0.83, external 0.698, macro 0.825, institutions 0.671. | The weighted composite beats every single pillar, so the aggregation adds signal. |
| Country-level permutation test | One row per country (50 countries, 8 event countries): min-score AUC 0.911; 20,000 seeded label permutations, p = 0.00005. | The separation is not chance under full country clustering. |
Metric-level and agency-rating benchmarks need a historical metric panel and ratings history; they stay in the v0.2 phase.
Tier-Exclusion Sensitivity (Spread Fit)
Rating tiers are descriptive agency composites (median of Moody's/S&P/Fitch as of 2026-07-03, mapped to the S&P scale) used only to slice this diagnostic — ratings are never model inputs. Each row re-runs the primary log-spread fit ln(spread) = a + b·BT-SFS on a subsample of the frozen cross-section.
| Sample | n | Log-fit R² | Slope |
| Full primary sample | 45 | 0.576 | -0.03528 |
| Ex-A | 40 | 0.472 | -0.03236 |
| Ex-BBB | 32 | 0.587 | -0.03649 |
| Ex-BB | 33 | 0.59 | -0.03574 |
| Ex-B | 35 | 0.532 | -0.02957 |
| Ex-CCC | 40 | 0.688 | -0.04246 |
| Within-A | 5 | 0.675 | -0.03366 |
| Within-BBB | 13 | 0.129 | -0.01156 |
| Within-BB | 12 | 0.338 | -0.03331 |
| Within-B | 10 | 0 | -0.00002 |
| Within-CCC | 5 | 0.61 | -0.10359 |
Three structural readings. First, the fit's explanatory power is concentrated between tiers, not within them: within single-B the fit explains essentially nothing (R² 0), so the score ranks credits across the quality spectrum and is not a within-tier relative-value signal. Second, the distressed tail sits off the single global curve: excluding the CCC-and-below cohort — recent default and restructuring credits — lifts the global R² from 0.576 to 0.688, while within that cohort the slope is roughly 2.9× the global one; one log-linear slope understates curvature at the distressed end. Third, the strong-fundamentals tail anchors the fit — excluding the A tier lowers R² to 0.472 — which argues for adding high-grade anchor countries in a future release.
Because the score separates rating tiers well, a fair question is whether it merely reconstructs agency ratings. It cannot by construction — no agency or market inputs enter the score — and this diagnostic shows where the two diverge: the score keeps discriminating inside the distressed cohort, where a tier label is flat.
Temporal-Split Sanity Check
This is the closest current approximation to the economist's suggestion, but it is not a true out-of-sample test because the macro history is current-vintage. Instead of re-estimating all BT-SFS weights, we estimate one simple cutoff on earlier rows and apply it to later rows.
Training years: 2016-2020
Test years: 2021-2022
Target: default/restructuring within the next 3 years
Rule: predict event if BT-SFS <= estimated cutoff
The temporal split inherits the same pre-event filter as the main event-risk panel. Countries with multiple registry events are cut off at the first event, so post-stress rows do not enter the panel under a later event label.
The cutoff chosen on the training sample is 43.86. This is a screening-burden view, not a production classifier.
| Sample | Rows | Positive rows | AUC | Flagged rows | Precision | False discovery | Recall |
| Train | 243 | 15 | 0.897 | 6727.6% flagged; 52 false positives | 22.4% | 77.6% | 100% |
| Test | 90 | 6 | 0.903 | 2527.8% flagged; 19 false positives | 24% | 76% | 100% |
This is a useful sanity check, but it is not enough to re-weight the model or claim forecast skill. The event sample is small, positive rows are clustered, and the false-discovery share remains high because event base rates are low.
Current Spread Cross-Section
The full finite-spread sample is shown first for rank correlation, so provisional outliers remain visible. The publishable sample is the quality-controlled fit because those rows have complete public BT-SFS scores. Provisional rows are separated because the public score definition treats them as not fully comparable, not because removing them improves the fit.
Publishable means the country has the required public macro inputs under BT-SFS v0.4 coverage rules. Provisional means at least one required public metric is missing or flagged. The gap between full-sample Spearman and Pearson is expected: rank ordering is robust, while Pearson and raw-spread fits are more sensitive to outliers such as Senegal.
| Sample | Rows | Spearman | Pearson | Log-spread slope | Log R² | Raw-spread R² |
| All finite spreads | 49 | -0.774 | -0.534 | -0.0371 -3.64% spread change per score point | 0.515 | 0.286 |
| Publishable quality-controlled | 46 | -0.768 | -0.761 | -0.0353 -3.47% spread change per score point | 0.576 | 0.58 |
| Good 5D proxies, publishable | 33 | -0.731 | -0.754 | -0.0377 -3.7% spread change per score point | 0.537 | 0.569 |
Weakest-score quartile average spread: 333.5 bps. Strongest-score quartile average spread: 66.3 bps.
Provisional Rows
These rows are excluded from the primary spread fit because they are not fully comparable with publishable rows.
- Côte d'Ivoire: BT-SFS 51.53, spread 213 bps, flags macro_coverage_88.9%; 1_missing_metrics
- Benin: BT-SFS 49.84, spread 293 bps, flags sparse_curve; macro_coverage_88.9%; 1_missing_metrics
- Senegal: BT-SFS 41.36, spread 1605 bps, flags macro_coverage_88.9%; 1_missing_metrics
These rows are informative diagnostics. They highlight cases where missing public inputs, curve quality, liquidity, or market-specific stress can create large differences between the fundamentals score and observed spreads. Senegal is a real divergence between the current provisional score and market pricing, and the West African reserve-data gap is exactly why the provisional label exists.
Conclusion
The first validation supports BT-SFS as a transparent fundamentals score with construct and concurrent validity. Lower scores are associated with later listed stress events in the current-vintage panel, and stronger scores generally line up with lower current USD spreads.
It does not establish predictive validity and does not justify statistically re-estimating the weights. For that, BT needs a historical near-5-duration USD spread panel and point-in-time source vintages.
Next Validation Phases
BT-SFS v0.1 should be read as a first validation layer, not the end state. The next phases are sequenced so each step answers a specific criticism before moving toward model selection.
| Phase | Focus | What it adds |
| v0.2 | Robustness | Event-country-level tests, leave-one-event-country-out checks, leave-one-pillar-out weight sensitivity, and a no-default-penalty variant. |
| v0.3 | Market history | Historical near-5-duration USD spread panel, monthly or quarterly spread snapshots, and log-spread residual history. |
| v0.4 | Point-in-time data | Archived macro source vintages and score runs using only data available at the time. |
| v1.0 | Model selection | Frozen training and holdout windows, candidate weights, and evidence on whether estimated weights improve on the hand-weighted benchmark. |
Validation Governance Checks
The validation keeps market prices outside score construction and separates public-score coverage from provisional diagnostics.
- Frozen BT-SFS v0.4 score weights.
- No spread, CDS, or agency-rating inputs in the score.
- Pre-event filter and default-penalty leakage check.
- Country-cluster bootstrap, quartile-lift counts, and screening-burden table.
- Full-sample Spearman, log-spread diagnostics, and provisional-row separation.
BT Sovereign Signal · Apéndice de validación
Apéndice de Validación BT-SFS v0.1
Primera revisión empírica del score BT-SFS v0.4 congelado contra eventos registrados de default/reestructuración y el corte transversal actual de spreads soberanos USD cerca de 5 años de duración.
Qué Prueba Esto
Este apéndice es la primera revisión empírica del score BT-SFS v0.4 congelado. No reestima los pesos del score. Pregunta si el score se comporta en la dirección esperada frente a dos resultados observables: futuros eventos soberanos de estrés registrados y niveles actuales de spread USD cerca de 5 años de duración. Aquí, 5D significa que el bono USD seleccionado tiene una duración modificada cercana a cinco años.
El objetivo es validación exploratoria, no optimización. La evidencia apoya validez de construcción y validez concurrente: scores débiles se alinean con eventos de estrés y spreads más amplios en los datos que podemos observar hoy. No establece validez predictiva.
La serie histórica es un backcast con vintage actual. Usa historia disponible hoy de IMF/World Bank, no los datos exactos que los inversores tenían en cada año histórico. Una validación predictiva exigiría vintages macro punto-en-el-tiempo y un panel histórico más grande de spreads USD 5D.
Este análisis no fue pre-registrado. Para reducir selección ex post, la estadística primaria de eventos es el lift de tasa de eventos del cuartil con score más débil, y la estadística primaria de spreads es la correlación de rangos Spearman de toda la muestra. AUC, tablas de screening, regresiones de spread crudo y filtros de muestra son diagnósticos.
Datos Usados
| Insumo | Cobertura |
| Panel histórico BT-SFS | 561 filas país-año |
| Países en el panel histórico | 51 |
| Años en el panel histórico | 2016-2026 |
| Eventos de default/reestructuración en el registro | 11 |
| Corte transversal actual de spreads | 49 países |
| Fecha de mercado actual | 2026-06-25 |
Prueba De Riesgo De Evento
Las filas se incluyen solo antes del primer evento listado de default o reestructuración de cada país. Menor BT-SFS significa mayor riesgo esperado. Esta regla evita que el mismo evento del registro entre mecánicamente al score por la penalidad de default y luego sea usado como etiqueta.
El panel de riesgo de evento excluye filas en o después del primer evento de cada país en el registro; ninguna fila del panel carga una penalidad de default distinta de cero desde ese mismo registro. Filas con penalidad de default distinta de cero en el panel: 0; filas positivas con penalidad de default distinta de cero: 0.
| Horizonte | Filas | Filas positivas | Países con evento | AUC | IC por clusters | Cuartil inferior | Resto |
| 3 años | 333 | 212.63 por país con evento | 8 | 0.898 | 0.821-0.962 | 21.7%18 / 83; lift 18.1x | 1.2%3 / 250 |
| 1 año | 418 | 81 por país con evento | 8 | 0.908 | 0.823-0.976 | 7.7%8 / 104; lift n/a | 0%0 / 314 |
Como una sola reestructuración futura puede marcar varios país-años previos como positivos, los conteos de filas positivas no deben leerse como defaults independientes. El lift del cuartil más débil a tres años es 18.1x, con un intervalo ingenuo fila-a-fila de 95% de 5.5-59.8. El intervalo bootstrap por clusters de país es útil, pero con solo 8 países con evento distintos sigue siendo frágil. El horizonte de un año se muestra solo como robustez.
Chequeos Tempranos De Robustez
Estos chequeos anticipan la fase de robustez v0.2 sobre el panel congelado de tres años. Descartan dependencia de un solo país, azar bajo clustering completo por país y un compuesto que rinda menos que sus propios pilares. No resuelven la fuga por revisiones de vintage actual.
| Chequeo | Resultado | Cómo leerlo |
| Leave-one-event-country-out | Rango de AUC 0.888-0.916 en las 8 exclusiones (base 0.898). | Ningún país con evento sostiene por sí solo la separación. |
| Benchmarks de pilar único | Fiscal 0.83, externo 0.698, macro 0.825, instituciones 0.671. | El compuesto ponderado supera a cada pilar individual, así que la agregación suma señal. |
| Prueba de permutación a nivel país | Una fila por país (50 países, 8 con evento): AUC de score mínimo 0.911; 20,000 permutaciones con semilla, p = 0.00005. | La separación no es azar bajo clustering completo por país. |
Los benchmarks a nivel métrica y contra ratings de agencias necesitan un panel histórico de métricas e historial de ratings; quedan en la fase v0.2.
Sensibilidad Por Exclusión De Tier (Ajuste De Spread)
Los tiers de rating son compuestos descriptivos de agencias (mediana de Moody's/S&P/Fitch al 2026-07-03, mapeada a la escala S&P) usados solo para cortar este diagnóstico — los ratings nunca son insumos del modelo. Cada fila reejecuta el ajuste primario log-spread ln(spread) = a + b·BT-SFS sobre una submuestra del corte transversal congelado.
| Muestra | n | R² del ajuste log | Pendiente |
| Muestra primaria completa | 45 | 0.576 | -0.03528 |
| Sin A | 40 | 0.472 | -0.03236 |
| Sin BBB | 32 | 0.587 | -0.03649 |
| Sin BB | 33 | 0.59 | -0.03574 |
| Sin B | 35 | 0.532 | -0.02957 |
| Sin CCC | 40 | 0.688 | -0.04246 |
| Solo A | 5 | 0.675 | -0.03366 |
| Solo BBB | 13 | 0.129 | -0.01156 |
| Solo BB | 12 | 0.338 | -0.03331 |
| Solo B | 10 | 0 | -0.00002 |
| Solo CCC | 5 | 0.61 | -0.10359 |
Tres lecturas estructurales. Primero, el poder explicativo del ajuste se concentra entre tiers, no dentro de ellos: dentro de single-B el ajuste no explica prácticamente nada (R² 0), así que el score ordena créditos a lo largo del espectro de calidad y no es una señal de valor relativo dentro de un tier. Segundo, la cola distressed queda fuera de la curva global única: excluir la cohorte CCC y peor — créditos con default o reestructuración recientes — sube el R² global de 0.576 a 0.688, mientras que dentro de esa cohorte la pendiente es aproximadamente 2.9× la global; una sola pendiente log-lineal subestima la curvatura en el extremo distressed. Tercero, la cola de fundamentos fuertes ancla el ajuste — excluir el tier A baja el R² a 0.472 — lo que respalda sumar países ancla de grado alto en una versión futura.
Como el score separa bien los tiers de rating, una pregunta justa es si solo reconstruye los ratings de agencias. No puede por construcción — ningún insumo de agencias ni de mercado entra al score — y este diagnóstico muestra dónde divergen: el score sigue discriminando dentro de la cohorte distressed, donde la etiqueta de tier es plana.
Chequeo De Corte Temporal
Esta es la aproximación actual más cercana a la sugerencia del economista, pero no es una verdadera prueba out-of-sample porque la historia macro usa vintage actual. En vez de reestimar todos los pesos de BT-SFS, estimamos un corte simple en filas anteriores y lo aplicamos a filas posteriores.
Años de entrenamiento: 2016-2020
Años de test: 2021-2022
Objetivo: default/reestructuración dentro de los próximos 3 años
Regla: predecir evento si BT-SFS <= corte estimado
El corte temporal hereda el mismo filtro pre-evento que el panel principal. Los países con múltiples eventos se cortan en el primer evento, por lo que las filas post-estrés no entran al panel bajo una etiqueta de evento posterior.
El corte elegido en la muestra de entrenamiento es 43.86. Esto es una vista de carga de screening, no un clasificador de producción.
| Muestra | Filas | Filas positivas | AUC | Filas marcadas | Precisión | Falso descubrimiento | Captura |
| Entrenamiento | 243 | 15 | 0.897 | 6727.6% marcadas; 52 falsos positivos | 22.4% | 77.6% | 100% |
| Test | 90 | 6 | 0.903 | 2527.8% marcadas; 19 falsos positivos | 24% | 76% | 100% |
Es un chequeo útil, pero no alcanza para repesar el modelo ni afirmar habilidad de pronóstico. La muestra de eventos es pequeña, las filas positivas están clusterizadas y la proporción de falsos descubrimientos sigue siendo alta porque la tasa base de eventos es baja.
Corte Transversal De Spreads Actuales
La muestra completa con spreads finitos se muestra primero para correlación de ranking, de modo que los outliers provisionales sigan visibles. La muestra publicable es el ajuste con control de calidad porque esas filas tienen scores públicos BT-SFS completos. Las filas provisionales se separan porque la definición de score público las trata como no plenamente comparables, no porque removerlas mejore el ajuste.
Publicable significa que el país tiene los insumos macro públicos requeridos bajo las reglas de cobertura BT-SFS v0.4. Provisional significa que falta o está marcada al menos una métrica pública requerida. La diferencia entre Spearman y Pearson en muestra completa es esperable: el ordenamiento por rangos es robusto, mientras que Pearson y los ajustes de spread crudo son más sensibles a outliers como Senegal.
| Muestra | Filas | Spearman | Pearson | Pendiente log-spread | Log R² | R² spread crudo |
| Todos los spreads finitos | 49 | -0.774 | -0.534 | -0.0371 -3.64% de cambio en spread por punto de score | 0.515 | 0.286 |
| Publicables con control de calidad | 46 | -0.768 | -0.761 | -0.0353 -3.47% de cambio en spread por punto de score | 0.576 | 0.58 |
| Buenos proxies 5D, publicables | 33 | -0.731 | -0.754 | -0.0377 -3.7% de cambio en spread por punto de score | 0.537 | 0.569 |
Spread promedio del cuartil con score más débil: 333.5 bps. Spread promedio del cuartil con score más fuerte: 66.3 bps.
Filas Provisionales
Estas filas se excluyen del ajuste primario de spreads porque no son plenamente comparables con las filas publicables.
- Côte d'Ivoire: BT-SFS 51.53, spread 213 bps, flags macro_coverage_88.9%; 1_missing_metrics
- Benin: BT-SFS 49.84, spread 293 bps, flags sparse_curve; macro_coverage_88.9%; 1_missing_metrics
- Senegal: BT-SFS 41.36, spread 1605 bps, flags macro_coverage_88.9%; 1_missing_metrics
Son diagnósticos informativos. Muestran casos donde insumos públicos faltantes, calidad de curva, liquidez o estrés específico de mercado pueden crear diferencias grandes entre el score de fundamentos y los spreads observados. Senegal es una divergencia real entre el score provisional actual y el pricing de mercado, y la brecha de datos de reservas en África Occidental es exactamente la razón por la que existe la etiqueta provisional.
Conclusión
La primera validación apoya BT-SFS como un score transparente de fundamentos con validez de construcción y concurrente. Scores más bajos se asocian con eventos registrados de estrés posteriores en el panel con vintage actual, y scores más fuertes generalmente se alinean con spreads USD actuales más bajos.
No establece validez predictiva ni justifica reestimar estadísticamente los pesos. Para eso, BT necesita un panel histórico de spreads USD cerca de 5 años de duración y vintages de fuentes punto-en-el-tiempo.
Próximas Fases De Validación
BT-SFS v0.1 debe leerse como una primera capa de validación, no como el estado final. Las fases siguientes están secuenciadas para que cada paso responda una crítica específica antes de avanzar hacia selección de modelo.
| Fase | Foco | Qué agrega |
| v0.2 | Robustez | Pruebas a nivel país-evento, chequeos leave-one-event-country-out, sensibilidad de pesos leave-one-pillar-out y una variante sin penalidad de default. |
| v0.3 | Historia de mercado | Panel histórico de spreads USD cerca de 5 años de duración, snapshots mensuales o trimestrales y residuales históricos de log-spread. |
| v0.4 | Datos punto-en-el-tiempo | Vintages archivados de fuentes macro y corridas del score usando solo datos disponibles en ese momento. |
| v1.0 | Selección de modelo | Ventanas congeladas de entrenamiento y holdout, pesos candidatos y evidencia sobre si pesos estimados mejoran el benchmark ponderado a mano. |
Controles De Gobernanza De Validación
La validación mantiene precios de mercado fuera de la construcción del score y separa la cobertura del score público de los diagnósticos provisionales.
- Pesos congelados del score BT-SFS v0.4.
- Sin spreads, CDS ni ratings de agencias como insumos del score.
- Filtro pre-evento y chequeo de contaminación por penalidad de default.
- Bootstrap por clusters de país, conteos de lift por cuartil y tabla de carga de screening.
- Spearman de muestra completa, diagnósticos de log-spread y separación de filas provisionales.