Credit Spreads
A composite signal measuring corporate funding stress from ICE BofA option‑adjusted spreads.
Why: Show corporate funding stress. Add: US High Yield OAS (BAMLH0A0HYM2) and US Corporate Master OAS (BAMLC0A0CM). Source: FRED. Integrate with the Financial Stress Index.
Abstract
We build a monthly Credit Spreads Composite (CSC) from ICE BofA US High Yield OAS and US Corporate Master OAS. Level and momentum features are robust‑standardised and combined into a composite that maps to regimes—EASY, NORMAL, TIGHTENING, STRESSED. The CSC feeds into the broader Financial Stress Index (FSI) as a key sub‑pillar alongside Liquidity, VIX, and Funding indicators.
1) Data (FRED Identifiers)
- BAMLH0A0HYM2 — ICE BofA US High Yield Index Option‑Adjusted Spread (pct points).
- BAMLC0A0CM — ICE BofA US Corporate Master Option‑Adjusted Spread (pct points).
Frequency: daily; we aggregate to month‑end or week‑end snapshots. Units are percentage points (bps/100). Titles and last‑obs dates are logged.
2) Data Quality & Validation
- Staleness: flag if last observation > 7 days old (daily series).
- Forward‑fill: bounded alignment fill ≤ 5 business days for calendar snaps.
- Winsorisation: 0.5–99.5th percentiles to reduce crisis‑era leverage in z‑scores.
- Minimum history: ≥ 120 months preferred; adaptive ≥ 60 months allowed.
data_quality_flag records staleness, ffill count, and window adaptations.
3) Component Transforms
For spread series s_t (pct points):
Constructed components for HY and Corp Master: hy_level, hy_d3m_ann, hy_d12m, hy_pct_rank, and analogues for ig_*.
4) Standardisation (Rolling z-scores)
Compute rolling z‑scores using robust median/MAD; fallback to mean/std if MAD=0 or short history.
Suggested windows: W=120 months for levels; W=60 months for momentum.
5) Composite & Weighting
We emphasise the High Yield level and percentile, as HY is more sensitive to stress, with supporting weight from changes and IG spreads. Missing inputs are renormalised out.
{
"hy_level_z": 0.30, "hy_pct_rank": 0.20, "hy_d3m_ann_z": 0.15, "hy_d12m_z": 0.10,
"ig_level_z": 0.15, "ig_pct_rank": 0.05, "ig_d3m_ann_z": 0.03, "ig_d12m_z": 0.02
}
6) Scaling & Regime Mapping
Regimes communicate stress levels using composite z‑scores and absolute spread bands:
- EASY: HY < 3.5% and CSC z < −0.5
- NORMAL: 3.5% ≤ HY < 5% and CSC z in [−0.5, +0.5)
- TIGHTENING: HY rising > 50 bps in 3 months or CSC z ≥ +0.5
- STRESSED: HY ≥ 6.5% or CSC z ≥ +1.0
We also publish a 0–100 score via rolling min–max over 10 years.
7) Integration with Financial Stress Index (FSI)
- CSC enters the FSI as the Credit pillar alongside Liquidity, Volatility (VIX), and Funding/TED measures.
- When VIX is ELEVATED/STRESSED and CSC is TIGHTENING/STRESSED, the FSI upgrades to higher stress regimes.
- Divergences (e.g., calm VIX but widening spreads) are flagged in “Risk Checks & Contradictions.”
8) Implementation Notes (Python)
# FRED series (daily)
hy = fred.get_series("BAMLH0A0HYM2") # HY OAS (pct points)
ig = fred.get_series("BAMLC0A0CM") # Corp Master OAS (pct points)
# Resample to month-end with bounded ffill (<=5b)
hy_m = hy.resample("M").last().ffill(limit=5)
ig_m = ig.resample("M").last().ffill(limit=5)
def ann_3m(s): return 4*(s - s.shift(3))
components = {
"hy_level": hy_m, "hy_d3m_ann": ann_3m(hy_m), "hy_d12m": hy_m - hy_m.shift(12),
"ig_level": ig_m, "ig_d3m_ann": ann_3m(ig_m), "ig_d12m": ig_m - ig_m.shift(12),
}
# Percentile ranks over 120 months; robust rolling z-scores; weights -> CSC; map regimes.
9) Reproducibility & Monitoring
- Persist FRED IDs, retrieval timestamps, resampling policy, and windows.
- Log winsorisation bounds, staleness flags, and window adaptations.
- Store panels: raw, transforms, z-scores, contributions, composite, regimes.
10) Interpretation & Applications
Credit spreads price default and liquidity premia. Rising HY spreads typically precede equity drawdowns and slower capex. Use CSC in concert with VIX and Liquidity to calibrate risk appetite and stress testing.
11) Governance & Change Control
- Quarterly review of components, thresholds, and weights vs backtests.
- Document methodology updates; maintain semantic versioning.