W-1 (“funding stress → bond funds”) ran live on this page as a watch signal. Our own adversarial re-check of the same numbers found a data-alignment bug behind the headline stats, not a market pattern. We fixed the bug and are regrading the ledger.
Nothing here is investment advice, and as of today nothing from W-1 is a claim.
When it gets expensive for banks to borrow overnight (SOFR, repo, CP/CD rates, and treasury-auction yields all pushing up together), bond funds like LQD, SHY, TLT, IEF, and HYG tend to fall over the following days. We measured this across five funding-stress feeds and five bond instruments at 1–5 day horizons. The strongest pairing looked strong: a t-stat of −4.24 on 201 observations — enough to put it on a live watchlist.
Every signal here runs through an adversarial re-verification pass before it can stay live — the same process that already killed 26 of 27 pairings on /leadlag. On W-1 it found a bug in forward_pairs, the code that lines up a signal date with the price move that follows it: for any signal date older than an instrument’s stored price history, the bug silently paired that date with the same first-week return, over and over. In the worst-hit pairings, more than half the “observations” behind the t-stat were one repeated data point wearing different dates. One pairing (auction yield → TLT, published t=−3.44) can’t even be reproduced anymore — the price series it was scored against was overwritten in a later update.
None survived a clean re-check once the alignment bug was fixed — here’s the before/after on the six strongest pairings.
| Pairing | Published t | Clean re-check t | Note |
|---|---|---|---|
| SOFR z20 → LQD, k=4 | −4.24 | −0.93 | — |
| SOFR z20 → SHY, k=3 | −3.54 | −0.21 | — |
| Auction yield → TLT, k=2 | −3.44 | unreproducible | price series retired |
| CP/CD rate → IEF, k=4 | −3.27 | −0.09 | — |
| CP/CD rate → HYG, k=2 | −3.17 | −0.20 | credit residual is exactly zero |
| SOFR 180d avg → LQD, k=2 | +2.75 | +1.63 | sign flips vs. 30d avg, same table |
All 17 watchlist entries in the W-1 cluster trace back to the same bug or a variant of it.
This is what the machine declares when a pairing fires — the data feed in, the call out. These are the exact pairings above; none cleared the bar, but this is the shape of a signal declaration.
| Data feed | What it measures | Signal → Instrument | Direction / horizon |
|---|---|---|---|
| SOFR (overnight funding rate) | cost for banks to borrow overnight | → LQD / SHY | funding stress up → bond funds down, ~1–4d |
| Treasury auction high-yield | demand at gov debt auctions | → TLT / IEF | weak demand → long bonds fall, ~2d |
| CP/CD rates (commercial paper) | short-term corporate funding cost | → IEF / HYG | funding stress up → credit down, ~2–4d |
| SOFR 30d/180d averages | smoothed funding trend | → LQD | trend up → investment-grade credit down, ~2d |
| Primary-dealer takedown | how much of an auction dealers absorb | → HYG | high takedown → weak-demand signal |
Same chart that shipped on the original live page — real LQD prices, real stress z-scores. What was never real was the significance attached to it; that came from the alignment bug, not this picture. Left up and relabeled, not deleted.
A vendor who never retracts is a vendor who never checks. Every published signal here has survived this pass — or it’s gone. See what actually survived at /leadlag and /track-record, or browse the Research Lab where candidates are tested in public at /demo.