Methodology Reference · Credit Dashboards
A daily read on the credit spreads of the 10 bonds funding the AI build-out — hyperscalers, neocloud providers, data-centre REITs and chipmakers. A spread is the extra yield a bond pays over US Treasuries; when investors turn cautious on a borrower they demand a wider one. The aim is to catch funding stress early — before the headlines — by watching where each spread sits versus its own history and how fast it is moving. Wider always means more stress.
01
Each bond is read two ways off the same number — its option-adjusted spread (OAS). One asks where the spread sits; the other asks how fast it is moving. Read together, they separate a bond that is simply at a wide level from one that is getting there fast.
LEVEL
Today's OAS ranked within the bond's full history — 0 = tightest ever, 100 = widest. Shaded red as it nears its own extreme.
▸ "How stressed vs its own past?"
CHANGE
The 1-day and 1-week move in OAS, each ranked against every past move of the same horizon. Big move at a high percentile = a real outlier.
▸ "Is today's move unusual?"
02
Left to right, grouped as current, level, change and history. The issuer column stays frozen as you scroll the rest sideways.
| Column | Group | What it means |
|---|---|---|
| Issuer / coupon / maturity | identity | The bond, with an IG or HY tier badge. Frozen in place when you scroll the table sideways. An amber no trade Nd badge means no fresh trade in N days. |
| Yrs | current | Years remaining to maturity. |
| Yield % | current | Yield-to-worst implied by the latest traded price. |
| OAS bp | current | The headline. Option-adjusted spread over Treasuries, in bp — the extra yield the bond pays once its embedded call is stripped out. Higher = more compensation demanded. |
| Level %ile | level | Where today's OAS sits in this bond's own history: 0 = tightest ever, 100 = widest. The cell reddens toward 100 — its most stressed on record. |
| 1-day Δ — Δbp / %ile | change | One-session change in OAS (bp) and where that move ranks against every past 1-day move (100 = most extreme widening ever). |
| 1-week Δ — Δbp / %ile | change | Same over 5 sessions. The “1w top decile” tile counts names with a 1-week move at their 90th percentile or above. |
| YTD Δbp | change | Change in OAS since 1 January. A * means issued this year, so measured since issue. |
| range bp | history | Min–max band of OAS across the bond's full history — how far today sits from its extremes. |
| trend (last 90) | history | Sparkline over the last 90 sessions — a common window for every bond (shorter if its history is). red ends higher (widening), green ends lower (tightening). |
| n | history | Observations behind the percentiles. A ⚠ shows when n < 60, where percentiles are suppressed as unreliable. |
Tip: on a phone, swipe the table left/right — the pinned issuer column keeps every number tied to its bond.
03
We pull FRED constant-maturity par yields (2/3/5/7/10y) and bootstrap a semi-annual zero curve — the risk-free discount factors each cash flow is measured against.
The OAS is the single constant spread that, added to every zero rate, reprices the bond's cash flows to its FINRA clean price:
dirty price = Σ CF_t / ( 1 + (z_t + OAS)/2 )^(2t) z_t = semi-annual zero rate at time t from the bootstrapped UST curve
The high-yield names are callable, so their spread must be stripped of the embedded call's value. We price that option on a Black-Derman-Toy short-rate lattice (CMT curve, the lognormal vol Bloomberg reports per name) and subtract it:
OAS = Z-spread − option value option = (spread with no call) − (spread with call) [BDT lattice]
For the other bonds the only call is a par call in the final weeks before maturity — worth well under a basis point — so their OAS equals the plain Z-spread. The lattice matters only for the high-coupon callables, where it trims a genuine 5–10 bp of option value that would otherwise inflate the spread.
04
Both the level and the change readings are ranked against the bond's own history with an
empirical percentile (Excel's PERCENTRANK.INC):
Level %ile = PERCENTRANK.INC( bond's OAS history , today's OAS ) Δ %ile = PERCENTRANK.INC( all past 1d/1w moves , today's move )
Percentiles are preferred to z-scores because these bonds have short, non-normal histories — several were issued within the past year, so a mean-and-standard-deviation gauge would be unstable and overstate precision. A percentile makes no distributional assumption. Readings are suppressed below 60 observations, where even a percentile is unreliable (flagged ⚠).
05
The tell is divergence: the high-yield names (CoreWeave 9.75, CoreWeave 9.0, SpaceX 5.35) blowing out — high level percentiles and 1-week moves in their top decile — while the investment-grade hyperscalers hold firm. When the frontier / neocloud borrowers widen sharply but the majors don't, the market is pricing rising risk in the most speculative corner of the AI build-out first.
06
History is seeded once from a Bloomberg export; from then on everything updates from free feeds, so no recurring terminal is needed:
DGS2/3/5/7/10), daily, no key.Published Tuesday–Saturday, 06:00 SGT (covering each US Monday–Friday close) to Discord, with a rolling archive of the last 130 reports linked from the header.
07
08
F. Fabozzi. The Handbook of Fixed Income Securities — Z-spread and option-adjusted spread definitions.
F. Black, E. Derman & W. Toy. A One-Factor Model of Interest Rates and Its Application to Treasury Bond Options, Financial Analysts Journal, 1990 — the lattice used for the callable names.
FINRA. TRACE / Fixed Income Data Center — public corporate-bond trade prices.
Federal Reserve (FRED). Constant-maturity Treasury yields, series DGS2/3/5/7/10.