Signal: wrong. The rationale predicted META would drift down on the $40 bn penalty headline, but the stock rose ~1.9% from entry (728.18 → 741.75); it was already up +1.22% on the day at decision time, meaning the market was not selling the news even before the short was placed, and it kept rallying through the next close.
Timing: not really the issue — the predicted downward move never happened at all, so there was nothing to be "late" to; the pre-entry strength was a warning sign against the thesis, not evidence of a missed move.
Exit: the mechanical next-close exit landed at -1.86%, near the -2.50% worst, after a +1.64% favorable excursion had been available at some point (the data doesn't say when). The dominant factor is bluntly the signal: a regulatory-penalty short into a stock that was already rising, and the fixed-hold exit simply recorded the loss.
📖 Glossary
S1 primary — trades the alert's primary ticker in the direction the article itself indicates; exits at the same day's close.
S2 counterparty — trades the inferred counterparty ticker (weakest signal, LLM-inferred sympathy); exits at the same day's close.
S3 peer — trades an inferred peer ticker (also LLM-inferred sympathy); exits at the same day's close.
S4 overnight — holds the primary ticker from today's close to the NEXT day's close.
Verdicts are decided top-to-bottom, first match wins; REPRICING is also the fallback when nothing else matches (2026-08-08 #220).
UNKNOWN — a needed price input (move since close or move in the last 30m) is missing.
PRICED — |move since previous close| ≥ 2.0%: already reflected in price.
REPRICING — |move in the last 30m| ≥ 0.5%: the tape is actively moving on it. Also covers a quieter move — |move since previous close| in [1.0, 2.0) with a quiet last-30m tape: still developing, not yet priced.
FRESH — |move since previous close| < 1.0%: a genuinely new move.
materiality — how market-moving the story was judged, 0-100 — alerts require materiality ≥ 70.