The baskets
Common rules: a ~900-name liquid universe (≥5), point-in-time month-end rebalances (a rebalance only uses information available on its date), buy-and-hold drift between rebalances — no daily re-ranking, which would leak turnover-free alpha. Each construction is validated against a reference ETF: the momentum long leg runs ~0.91 daily correlation to MTUM, high beta ~0.95 to SPHB, low vol ~0.97 to SPLV.
The L/S spreads are market-neutral by construction; the two long baskets are measured vs SPY wherever a relative read matters (the vs SPY / Abs toggle switches this on the chart).
The Read
A regime-classified executive summary at the top of the page — computed from the page’s own tables, never an LLM. The banner color is the severity: green (Quiet tape — nothing beyond 2σ), amber (Elevated moves / Rotation in motion / Vol regime shift — a 2σ move, a confirmed flip, or a 2σ vol reading), red (a 3σ or record-percentile move, labeled by what’s actually moving: Momentum unwind, De-grossing, Squeeze on, Risk-off bid). Each row fires only when its threshold is met: the most extreme move (1D–1Y) vs that series’ own 4-year survivorship-corrected history, a Vol row when a basket’s 21d vol runs ≥2σ vs its own vol history, leadership and confirmed rotation events, crowding (strongest correlation pair), a Quality row when a basket’s 1Y Sharpe or drawdown goes ≥2σ extreme (the “good year, ugly ride” read), the widest long/short breadth split in the books, and the calendar-YTD standings.Analogs — the expectancy layer
When a basket’s 5-day or 1-month move crosses the 2σ detector bar, the daily compute runs an event study over that basket’s own history: every prior print at least as extreme in the same direction (declustered to one event per episode, with the current episode excluded — it doesn’t get to grade itself), and the median forward return 5 / 21 / 63 sessions later, with the up-count. The result shows up as the Analogs row in The Read, inside the pulse’s FACTOR observations, and in the factor table the daily briefings read — all quoting the same persisted numbers. The sample sizes are small by construction (a 2σ bar over ~4 years yields a handful of episodes), so every quote carries its n and reads as context, not conviction. That’s deliberate: “the last 4 unwinds this deep kept bleeding” is decision-relevant even when it isn’t statistically bulletproof.Performance
All five baskets on one chart, rebased % over the selected window (1M – All), with the standard engine moves — crosshair, scroll-zoom, pan. Click a legend entry to hide/show a basket (the rotation quadrant follows). The legend doubles as a scoreboard with each basket’s window return. Two strips ride under the price pane, sharing its crosshair, zoom, and timeframe:- Realized vol — rolling 21-session volatility, annualized, one line per visible basket. This is the “when did the regime shift” read: an unwind week lights up as a synchronized vol spike.
- 1D % — a Bloomberg-style daily-change histogram (green up days, red down days) for one basket at a time; click the strip to cycle through baskets. Clustering jumps out here — a de-grossing episode reads as a run of deep red bars.
Scoreboard
One row per basket × 1D / 5D / 1M / 3M / 6M / 1Y / calendar-YTD, plus three stat columns: Sharpe (trailing-1Y annualized return ÷ vol), MaxDD (worst peak-to-trough inside the trailing year), and Vol (current 21-day realized vol, annualized — the “trading fat or calm?” read). Each stat is ranked against that basket’s own rolling history of the same stat, so their σ·p lines mean the same thing the return ones do. There’s deliberately no since-inception column — the backfill’s start date is a data-provider artifact, not an economic anchor. Every cell carries the return (or vol level) plus z and percentile against that series’ own overlapping history — fat-tail honest, exactly the math the pulse detector uses. Cells read like−3.3σ · p0 — see σ and p notation. Cells at |z| ≥ 2 get an amber flag. A whole row lighting up is a de-grossing or squeeze day.
Rotation
Two views of the same question, side by side:- Ranked bars — trailing 21-session returns, best to worst, plus confirmed leadership flips and rank jumps (bottom-2 → top-2 or the reverse). Both use anti-flicker rules: a flip must hold 3 consecutive sessions before it counts, and flags persist 10 sessions.
- The rotation quadrant (RRG) — each basket plotted by relative strength vs its own trend (x) and momentum (y), with an 8-week fading trail. Same math and vocabulary as the thematic rotation view: the clock runs Leading → Weakening → Lagging → Improving. The trail is the story — a momentum unwind shows as a dot marching from Leading down through Weakening into Lagging while Low Vol traces the mirror path. Watching a dot curl from Lagging toward Improving is the early re-risk tell.
Correlations
Trailing-60-session correlations of the baskets’ daily returns, color-coded — blue moves together, red opposes. This is the “is it one trade?” check: when momentum|high-beta reads 0.8+, an unwind in one is an unwind in the other.Monthly quilt
Calendar-month returns ranked best → worst per column, across the baskets’ full ~4-year history (the row scrolls, landing on the newest months), with a pinned calendar-YTD column at the right. Hover any cell to trace that basket across every month — the rest dim, so one basket’s year reads as a path instead of a scavenger hunt. Click a cell to pin the trace (it survives moving the mouse away); click the same basket again to unpin, or another basket to switch. Monthly on purpose — a daily quilt reshuffles too much to read; the daily action lives in the scoreboard and rotation views.The books
The part no external dashboard can do. Expand any basket for its full membership:- Long and short legs with company logos, tenure (“in this book since March” — a name that survived four rebalances is a different animal from one that just rotated in), and last-rebalance turnover
- ▲/▼ 50DMA marker per name and a breadth stat per leg — a factor rally where the long book is 26% above its 50-day while the short book sits at 68% is an unwind with its own confirmation
- Corpus badges — 🎯 tracked calls and 📄 research pieces on each member, so you can see which basket names your writers are actually talking about
- Click any name → the full stock pop-out
Where else the baskets show up
Book membership travels to every place a single name is judged:- Stock pop-out — a Factor Books section in the company panel: which books hold the name, which side, since when (a ⚡ marks Most Shorted members — squeeze-prone crowded shorts)
- Calls page — the same chips on every call row, plus a squeeze risk badge when a writer is short a name sitting in the Most Shorted basket: the thesis may be right, but the positioning is crowded
-
AskAura — a
get_factor_contexttool, so “is ASTS a crowded short?” gets answered from the actual books, with the basket’s current state and analogs attached - Portfolio → Risk Analysis — the Factor Lens panel maps your holdings against the books: the share of your portfolio in each book, the member names, and each basket’s trailing-month move — so on a big factor day you can see whether the factor is your P&L (“25% of the portfolio sits in High Beta long-book names; that basket is −17% over the last month”)
- Equities page — the Factor Rotation panel runs on these baskets (bars, line chart, and correlation-matrix views), and they’re selectable on the main comparison chart under Baskets (L/S)
- Market Pulse & Daily Recap — a computed factor table feeds both prompts every cycle, and extreme moves fire as detector observations (“Momentum L/S −17.9% over 1M — most extreme on record”)
- Writers × books — a FOLLOW-graded writer taking a fresh position against a basket leg is its own pulse observation
Survivorship
Survivorship bias is measured and corrected, not assumed away:- Going forward — each month’s universe screen inputs (market caps, sector classification) are frozen at month-end, so every future rebalance is fully point-in-time: a name that later dies stays in the history it earned.
- The backfill — names that delisted inside the window are re-included from Polygon’s delisted reference: ~660 dead companies (each worth ≥$1B at some point in the window) re-enter the rebalances they were alive for, with their full price collapse and point-in-time market caps. Hundreds of them pass through the momentum, high-beta, and low-vol books — exactly where survivorship flattered the short legs before.
- The audit — the page footer reports the live counts, and validation is sliced per year: momentum’s 2023 slice runs lower vs MTUM than other years precisely because MTUM only ever held survivors — the divergence is the correction showing up.
Honest residual limits: pre-2026 rebalances still screen survivors with today’s market caps (dead names use adjusted close × last-known shares); Most Shorted can’t recover dead names (their FINRA short-interest history wasn’t archived); dead-company filing coverage for Non-Profitable Tech is patchy. Series are daily (no intraday). Most-Shorted updates on FINRA’s bi-monthly publication cycle, same as the bank versions. Still a live regime gauge first, a backtest second.