Costa Rica EMBI directed graphs
Monthly — is the current spread priced?
rich
Costa Rica EMBI looks rich at 142 bp vs fair 153 bp (-10 bp tight).
The EMBI tightened 27 bp over the last 6 months (165 → 137 bp). Last month it widened another 10 bp. Last month’s move was led by US high-yield spreads (+15 bp, wider); USD broad (+5 bp, wider). It looks rich because the market print (142 bp) is tighter than macro fair value (153 bp, gap -10 bp).
- US high-yield spreads widened, which put downward pressure on the local policy rate, which typically widens the EMBI spread. That does not appear to have been incorporated into the current spread.
- USD broad increased, which put upward pressure on the local exchange rate, which typically widens the EMBI spread. That does not appear to have been incorporated into the current spread.
- The local policy–Fed funds gap tightened, which typically widens the EMBI spread. That does not appear to have been incorporated into the current spread.
| Current EMBI | 142 bp (2026-10-15) |
|---|---|
| Macro fair value | 153 bp (month-end 2026-09-30) |
| Rich / cheap | rich |
| Gap (current − fair) | -10 bp (-0.562σ) |
| Month-end residual | -16 bp |
| Residual σ | 19 bp |
| In-sample R² | 0.929 |
4 monthly print(s) may not yet have been tradable at the last EMBI date.
| Parent | Δ last month | Contrib bp | Typical print lag (d) |
|---|---|---|---|
| us_hy_oas (t) | 0.490 | +15.4 | 0 |
| dxy (t) | 2.401 | +5.3 | 0 |
| tot_gap (t) | -0.000 | +0.4 | 45 |
| tot (t) | 0.000 | +0.0 | 45 |
| debt_gap (t) | 0.000 | +0.0 | 35 |
| current_account (t) | 0.000 | +0.0 | 25 |
Has EMBI had time to trade the prints?
| Input | Est. release | Traded after print? | Days since |
|---|---|---|---|
| us_hy_oas | 2026-09-30 | yes | 15 |
| tot | 2026-11-14 | pending | -30 |
| tot_gap | 2026-11-14 | pending | -30 |
| dxy | 2026-09-30 | yes | 15 |
| debt_gap | 2026-11-04 | pending | -20 |
| current_account | 2026-10-25 | pending | -10 |
Monthly DAG
Narrative edges (strongest first)
| From | To | Lag | β (z) | Child R² | |
|---|---|---|---|---|---|
| public_debt_gdp | → | debt_gap | t | +1.000 | -7.197 |
| reer | → | reer_gap | t | +0.941 | -0.001 |
| nominal_deficit | → | primary_balance | t | +0.883 | -11.074 |
| oil | → | tot | t | -0.863 | -4628.398 |
| fx | → | reer_gap | t | -0.854 | -0.001 |
| fx | → | reer | t | -0.811 | -155.423 |
| copper | → | tot_gap | t | -0.783 | -14.824 |
| cpi | → | policy_fed_gap | t | +0.755 | 0.817 |
| oil | → | tot_gap | t | -0.726 | -14.824 |
| industrial_prod | → | exports_growth | t | +0.716 | -35.213 |
| ust_short | → | policy_rate | t | +0.683 | -0.155 |
| sp500 | → | policy_fed_gap | t | -0.649 | 0.817 |
| dxy | → | policy_fed_gap | t | -0.629 | 0.817 |
| fed_funds | → | policy_rate | t | +0.607 | -0.155 |
| primary_balance | → | embi_bra | t | -0.603 | 0.311 |
| nominal_deficit | → | policy_rate | t | +0.590 | -0.155 |
| vix | → | embi_bra | t | +0.587 | 0.311 |
| oil | → | embi_bra | t | -0.582 | 0.311 |
| policy_rate | → | embi_bra | t | -0.577 | 0.311 |
| policy_rate | → | policy_fed_gap | t | +0.549 | 0.817 |
| current_account | → | reserves | t | +0.542 | -7.077 |
| fx | → | embi_bra | t | +0.520 | 0.311 |
| reer_gap | → | embi_bra | t | -0.518 | 0.311 |
| copper | → | exports_growth | t | +0.513 | -35.213 |
| primary_balance | → | policy_rate | t | +0.510 | -0.155 |
| primary_balance | → | public_debt_gdp | t | +0.510 | -0.605 |
| primary_balance | → | debt_gap | t | +0.510 | -7.197 |
| tot_gap | → | fx | t | -0.509 | -109.246 |
| oil | → | primary_balance | t | +0.504 | -11.074 |
| us_hy_oas | → | embi_bra | t | +0.496 | 0.311 |
| tot | → | embi_bra | t | +0.480 | 0.311 |
| tot_gap | → | reer | t | +0.479 | -155.423 |
| tot_gap | → | primary_balance | t | -0.448 | -11.074 |
| cpi | → | policy_rate | t | +0.446 | -0.155 |
| tot_gap | → | current_account | t | -0.445 | -1.852 |
| vix | → | fx | t | +0.426 | -109.246 |
| copper | → | embi_bra | t | -0.423 | 0.311 |
| dxy | → | fx | t | +0.409 | -109.246 |
| dxy | → | reer_gap | t | +0.401 | -0.001 |
| reer_gap | → | policy_rate | t | +0.390 | -0.155 |
| reer | → | embi_bra | t | -0.384 | 0.311 |
| reserves | → | fx | t | -0.379 | -109.246 |
| reserves_growth | → | embi_bra | t | -0.367 | 0.311 |
| copper | → | tot | t | -0.358 | -4628.398 |
| debt_gap | → | policy_fed_gap | t | -0.355 | 0.817 |
| fed_funds | → | policy_fed_gap | t | -0.331 | 0.817 |
| us_hy_oas | → | policy_fed_gap | t | +0.325 | 0.817 |
| tot | → | fx | t | +0.279 | -109.246 |
| fed_funds_chg | → | policy_rate | t | +0.275 | -0.155 |
| current_account | → | embi_bra | t | -0.272 | 0.311 |
| exports_growth | → | current_account | t | +0.262 | -1.852 |
| cpi | → | fx | t | +0.260 | -109.246 |
| tot_gap | → | embi_bra | t | +0.243 | 0.311 |
| us_hy_oas | → | policy_rate | t | -0.238 | -0.155 |
| reer | → | policy_fed_gap | t | -0.238 | 0.817 |
| reer_gap | → | policy_fed_gap | t | -0.234 | 0.817 |
| us_hy_oas | → | fx | t | -0.229 | -109.246 |
| fx | → | policy_rate | t | -0.225 | -0.155 |
| reserves | → | reserves_growth | t | +0.213 | -0.267 |
| fed_funds_chg | → | policy_fed_gap | t | +0.209 | 0.817 |
ΔEMBI engine (holdout score)
Ridge on ΔEMBI: 1 risk (HY or VIX or S&P) + 1 rates/USD + 1 commodity + 1 local + 1 stock. Ranked by holdout R², not quintile lift. Best: theory|lags=[1] · parents: us_hy_oas, dxy, oil, exports_growth, nominal_deficit · 152 train / 20 test through 2026-10-31.
| From | To | Lag | β (z) | Child R² | |
|---|---|---|---|---|---|
| dxy | → | embi_bra | t−1 | +0.080 | 0.042 |
| oil | → | embi_bra | t−1 | -0.050 | 0.042 |
| exports_growth | → | embi_bra | t−1 | -0.027 | 0.042 |
| us_hy_oas | → | embi_bra | t−1 | -0.018 | 0.042 |
| nominal_deficit | → | embi_bra | t−1 | +0.000 | 0.042 |
| Method | Lags | OOS R² | σ-quintile | Lift vs naive | Naive middle | ±1 bin | 3-class | Sign | RMSE Δ | Edges | Parents |
|---|---|---|---|---|---|---|---|---|---|---|---|
| theory|lags=[1] ← best | [1] | -0.083 | 50.0% | -0.100 | 60.0% | 95.0% | 55.0% | 40.0% | 0.147 | 21 | 5 |
| pc|lags=[1] | [1] | -0.083 | 50.0% | -0.100 | 60.0% | 95.0% | 55.0% | 40.0% | 0.147 | 40 | 5 |
| pc_strict|lags=[1] | [1] | -0.083 | 50.0% | -0.100 | 60.0% | 95.0% | 55.0% | 40.0% | 0.147 | 38 | 5 |
| tan|lags=[1] | [1] | -0.083 | 50.0% | -0.100 | 60.0% | 95.0% | 55.0% | 40.0% | 0.147 | 15 | 5 |
| hybrid|lags=[1] | [1] | -0.083 | 50.0% | -0.100 | 60.0% | 95.0% | 55.0% | 40.0% | 0.147 | 43 | 5 |
| theory|lags=[0, 1, 2] | [0, 1, 2] | -0.107 | 45.0% | -0.150 | 60.0% | 95.0% | 50.0% | 55.0% | 0.149 | 21 | 15 |
| pc|lags=[0, 1, 2] | [0, 1, 2] | -0.107 | 45.0% | -0.150 | 60.0% | 95.0% | 50.0% | 55.0% | 0.149 | 40 | 15 |
| pc_strict|lags=[0, 1, 2] | [0, 1, 2] | -0.107 | 45.0% | -0.150 | 60.0% | 95.0% | 50.0% | 55.0% | 0.149 | 38 | 15 |
| tan|lags=[0, 1, 2] | [0, 1, 2] | -0.107 | 45.0% | -0.150 | 60.0% | 95.0% | 50.0% | 55.0% | 0.149 | 15 | 15 |
| hybrid|lags=[0, 1, 2] | [0, 1, 2] | -0.107 | 45.0% | -0.150 | 60.0% | 95.0% | 50.0% | 55.0% | 0.149 | 43 | 15 |
| theory|lags=[1, 3] | [1, 3] | -0.235 | 50.0% | -0.100 | 60.0% | 90.0% | 55.0% | 40.0% | 0.157 | 21 | 10 |
| pc|lags=[1, 3] | [1, 3] | -0.235 | 50.0% | -0.100 | 60.0% | 90.0% | 55.0% | 40.0% | 0.157 | 40 | 10 |
| pc_strict|lags=[1, 3] | [1, 3] | -0.235 | 50.0% | -0.100 | 60.0% | 90.0% | 55.0% | 40.0% | 0.157 | 38 | 10 |
| tan|lags=[1, 3] | [1, 3] | -0.235 | 50.0% | -0.100 | 60.0% | 90.0% | 55.0% | 40.0% | 0.157 | 15 | 10 |