What (One-liner)
A per-ticker corporate distress screen on three honest axes — the daily Merton distance-to-default / risk-neutral PD path, the Altman Z'' (1995 non-manufacturer) annual trajectory, and the market-wide HY OAS percentile.
How to use
Set the ticker (or wire a price_factor upstream — per-symbol semantics) and run. Read the risk-neutral PD headline with the Altman zone badge, then the DD series chart for the path. Cross-read the OAS percentile: firm-specific distress inside market-wide credit stress means crowded exits. Wire it upstream of risk_management, bear_agent, or a distressed-credit institution seat. ⬇ CSV exports all three axes as separate sections.
Core formula
Merton: E = V·N(d1) − F·e^{−rT}·N(d2); σ_E·E = N(d1)·V·σ_V → solve (V, σ_V) per date
dd = [ln(V/F) + (r − σ_V²/2)]/σ_V; pd_rn = N(−dd); F = ST + 0.5×LT
Altman: Z'' = 6.56·X1 + 3.26·X2 + 6.72·X3 + 1.05·X4; zones >2.6 / 1.1–2.6 / <1.1
OAS: HY OAS (bp) + expanding percentile (FRED-available window)Assumptions & applicability
Assumptions: risk-neutral PD basis; current-shares approximation for the market-cap series; static debt face from the latest fiscal year; annual-filing granularity for Z''; DGS1 risk-free with a declared fallback.
Applicable: US-listed non-financial corporates; ranking/monitoring/path reading of distress.
Not applicable: physical PDs, banks/insurers, issuer-level bond analytics, manufacturing Z-score variants.
Input / Output contract
Inputs: symbol, vol_window (default 126), lookback_days (default 504).
Output: metrics (dd, pd_rn, asset_value, asset_vol, z_double_prime, z_zone, oas_bps, oas_percentile, equity_vol_ann, debt_face, n_days) + three axis namespaces — series (daily: dates, dd, pd_rn, equity_vol_ann), z_annual (fiscal_years, z, x1..x4, zone), oas (dates, oas_bps, percentile_expanding) — each carrying available:false + reason when its data source fails, plus a provenance block declaring every convention.
Known limitations
pd_rnis a risk-neutral proxy — never quote it as a physical default probability.- The DD series isolates the market-driven component: debt face and share count are held static across the window (declared).
- OAS is the market-wide index — a firm can be distressed in a calm market and vice versa; the two reads are deliberately separate.
- Pillars degrade independently and honestly; the screen never averages a missing pillar into a composite.

