Retracted · Signal W-1 · 2026-07-15

Retracted: Signal W-1

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.

What W-1 claimed

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.

What we found when we checked our own work

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.

The numbers, before and after

None survived a clean re-check once the alignment bug was fixed — here’s the before/after on the six strongest pairings.

PairingPublished tClean re-check tNote
SOFR z20 → LQD, k=4−4.24−0.93
SOFR z20 → SHY, k=3−3.54−0.21
Auction yield → TLT, k=2−3.44unreproducibleprice series retired
CP/CD rate → IEF, k=4−3.27−0.09
CP/CD rate → HYG, k=2−3.17−0.20credit residual is exactly zero
SOFR 180d avg → LQD, k=2+2.75+1.63sign 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.

The data, and the signal it would output

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 feedWhat it measuresSignal → InstrumentDirection / horizon
SOFR (overnight funding rate)cost for banks to borrow overnight→ LQD / SHYfunding stress up → bond funds down, ~1–4d
Treasury auction high-yielddemand at gov debt auctions→ TLT / IEFweak demand → long bonds fall, ~2d
CP/CD rates (commercial paper)short-term corporate funding cost→ IEF / HYGfunding stress up → credit down, ~2–4d
SOFR 30d/180d averagessmoothed funding trend→ LQDtrend up → investment-grade credit down, ~2d
Primary-dealer takedownhow much of an auction dealers absorb→ HYGhigh takedown → weak-demand signal
The artifact we caught
493 trading days · real prices, real z-scores
LQD priceFunding stress (z)2024202520262026
LQD (bond fund price)Funding stress (z-score)Stress spike (z > 1.5)

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.

What we did about it
This is the process working

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.