Pipeline Retro — 2026-06-12 #
Pipeline stats #
- Cycle 2026-06-12: fresh 966-ticker screen (26m54s, first fresh run since Apr 20), 334 Graham passes, 5 screen deep dives + 3 watchlist-trigger deep dives, Reddit overlay (19,125 posts / 256,750 comments), 8 new predictions recorded. 0 GO calls (third consecutive cycle).
Prediction scorecard (21 resolved as of today) #
- Hit rate: 12/21 = 57% (bullish & up)
- Avg return: +2.1%
- vs VWCE: FAIL. Apr 20 cohort avg ≈ -8.4% vs VWCE +5.3%; May 5 cohort ≈ +0.3% vs VWCE +3.2%. Only 2 of 14 in those cohorts beat the benchmark (BKG.L +5.9%, UHR.SW +14.1%).
- Worst calls: BMW.DE -18.2% (MEDIUM), PRU.L -13.1% (MEDIUM-HIGH — the Apr cycle's TOP BUY), MOS -12.2%.
- Best calls: UHR.SW +14.1% (rated LOW), BKG.L +5.9% (MEDIUM_HIGH — the one conviction call that worked).
IC table (N=21, Spearman vs actual return) #
| Component |
IC |
Action |
| Framework composite |
+0.255 |
— (headline; encouraging but driven by ranking, not conviction labels) |
| Graham score |
-0.134 |
weight -10% (0.30 → 0.273) |
| LLM composite |
+0.055 |
weight +10% (0.30 → 0.333) |
| Reddit sentiment |
-0.025 |
weight -10% (0.10 → 0.091) |
| Magic formula |
n/a |
unchanged (component not stored per prediction — backfill from next cycle) |
| Schilit |
n/a |
unchanged (same) |
Weights v2 saved to output/pipeline/weights/weights.json.
Reddit divergence accuracy #
Only 1 divergence-flagged prediction to date — too few to score. The overlay has produced no actionable divergence in 3 cycles; its weight cut is consistent with its contribution.
Self-critique #
- Conviction labels remain anti-predictive. PRU.L (MEDIUM-HIGH) was the period's worst large call; UHR.SW (LOW) the best. The composite ranking has signal (+0.255) but the qualitative conviction overlay subtracts value. Implication: trust the gates (shr-043, insider checks, entry zones) over narrative conviction.
- The screen keeps surfacing trailing-data artifacts. This cycle: UHR.SW #1 on trough-P/B after a +66% run; DD #3 on spin-distorted GAAP; PSKY #6 on a pre-WBD entity that won't exist in Q3. Cross-checking against forward state (shr-017) did the real work in Phase 2 — all three failed it.
- shr-043 earned its keep again. It cleanly separated DG (revenue growing, margins recovering → near-GO) from DPZ/PAH3/PSKY (decelerating/accelerating-decline → defer/avoid). N is now ~5 applications; consider promoting from PROVISIONAL next refine pass.
- What worked: running the triggered-watchlist track in parallel with the screen. The two best candidates this cycle (DG, ADBE) came from standing alerts, not the screen — the screen's job increasingly looks like watchlist generation, not buy-list generation.
- Process win: fresh screen finally completed (background + direct log instead of TTY-buffered pipe). Keep this invocation pattern.
Decision recorded #
EUR 1,000 → VWCE (no candidate passed all gates; pipeline's own track record vs VWCE is negative). Standing orders: DG re-arm ≤$105; ADBE ≤$245 small starter (USD 300 max) no earlier than ~Jun 25 and only if no further C-suite departures; AKE.PA T2 at ≤EUR 52; RI.PA T2 gated on FY26 results (Aug/Sep).