Overview
SynthesisNVDA held above the 50-day after the earnings beat; bulls cite data-center demand, bears flag a stretched forward multiple.
The shared visual language behind trd.fun. Token-driven, theme-safe, and built to compose into the surfaces you see on /coach#signals, the research workspace, and the Cmd+K palette. Read the guide in docs/DESIGN.md.
trd.fun ships two themes (dark default + warm-sandy light) over a single CSS-custom-property layer. Always reference tokens by name — never hard-coded hex — so theme switching is automatic.
Two stacks: IBM Plex Sans for UI copy, and the mono stack via var(--font-mono) for every numeric or symbol-anchored value (prices, P/E, change %). Numeric content always uses tabular-nums so columns line up.
A small, consistent motion vocabulary. Everything respects prefers-reduced-motion: reduce via the global override in app/globals.css. Hit replay to re-trigger.
.og-anim-fade350ms ease-outHero blocks.og-anim-scale320ms ease-outPop-in elements.og-anim-pulse2.4s infiniteLive indicators.og-anim-bob2.6s infiniteIdle visualsWrap N children in .og-stagger to slide them in with escalating animation-delay (0ms → 420ms in 60ms steps).
Primitive components that compose into every screen. All tone-aware, all theme-safe, all importable from @/app/components/ui.
overviewThe same primitive used by the onboarding stock picker. Click to toggle selection — the whole card is the hit target.
How the primitives compose into the recurring shapes you'll see across trd.fun. These are the canonical recipes — copy them, don't re-roll them.
Glass shell · commandk-enter motion · 2-px left-edge accent on the active row · group labels in tracked-out tertiary mono · ↑ ↓ to navigate · ↵ to select · ESC to close.
Two complementary treatments for entry-point screens. Rich (live at /login) is the design system at its most expressive. Flat (live at /onboarding) is the calm, in-product feel. The hand-off from rich → flat after sign-in is intentional — it signals “you're in the product now”.
Two-column hero: gradient headline + sub-line + chip strip on the left, glass sign-in (or primary CTA) card on the right. The card shares its shell with the Cmd+K palette and Modal so the motion + chrome read as one family across the app.
Real-time prices · multi-source synthesis · IBKR-aware research.
app/login/page.tsx + app/login/styles.tsxThe hero ships a faked-but-realistic KPI strip whose numbers jitter every 2.4s so the surface reads as “live” without becoming distracting. Use it on public surfaces where you want to hint at the real product's motion without exposing live user data.
app/login/components/LiveDataPeek.tsxSix (or fewer) raised cards in a 3-col responsive grid. Each row opens with an IconTile, ends with a dotted-divider meta footer in mono. Wrap the grid in og-stagger to slide cards in with escalating delays on first paint.
Three solid-surface cards with floating gradient number pills. Use sparingly — the cards work best as the “and now what?” beat between the hero and the bottom CTA.
The closer for marketing pages. Gradient backdrop, large headline + sub-line, primary action paired with a ghost alternative. Stretches full-width inside the page shell.
The public /stock/<symbol> page — cached and SEO-crawlable. An editorial, magazine-style layout: a big mono symbol, an at-a-glance stats band, an AI-research brief with four cache states, and a discovery rail. Blue accent throughout. Mocks below are flat re-renders using global tokens only.
What it is: the page masthead — identity, live quote, actions, and a cached one-line TLDR. Used on: /stock/<symbol>.
Datacenter demand stays red-hot as Blackwell ramps; Street eyes margin durability and China headwinds into the next print.
— cached tldrWhat it is: a slim figure strip under the hero. Tiles are omitted (not dashed) when a value is missing. Momentum chips colour by sign.
What it is: the cache-shared AI brief. Its header badge encodes one of four states. Stale shows the SAME content (never hidden) with an amber badge; only none swaps in a teaser / generating notice.
What it is: the right-hand rail — valuation + momentum key/value cards and blue theme chips. Each card hides entirely when its data is empty.
The condensed editorial one-pager at /theme/<slug>. A theme is a basket of tickers framed by a generated brief, laid out top→bottom as a big editorial header, a 7-stat bar, a "The take" lead block, a 3-card thesis row, and a dense roster of tradeable cards with private / pre-IPO names folded in as badged tiles. Below are flat re-renders of each pattern — global tokens only, no scoped theme-page CSS.
Mono eyebrow (EyebrowLabel) → oversized title (clamp(40px,6vw,62px), weight 800, letter-spacing -.03em) → bold sub-headline (the AI headline) → an intro overview paragraph as prose (not bullets) → a N stocks · curated/AI theme meta line. Used on: /theme/<slug>.
AI's power hunger is reviving an industry left for dead — and the re-rating has only just begun.
Hyperscaler datacenter demand is reopening shuttered plants and underwriting new small-modular-reactor builds, while uranium spot has tripled off its lows as utilities scramble to re-contract supply. Government de-risking — loan guarantees and streamlined licensing — has shortened the runway to revenue.
A full-width strip of seven KPI tiles: 1D basket move, real 1-yr growth, aggregate cap, company count, median P/E, and 30D / 90D basket moves. Momentum / valuation figures are computed client-side from the loaded fundamentals. Signed values colour via var(--green) / var(--red). Composes the shared StatTile primitive. Used on: /theme/<slug>.
A full-width synthesis of the brief's whyItMatters / overview: a mono section label, a bold lead line, and a bulleted body. The editorial anchor of the page. Used on: /theme/<slug>.
Power — not chips — is now the binding constraint on AI scale, and the nuclear fuel cycle is structurally under-supplied through the decade.
Three raised cards (Card variant="raised"): the bull case (green, TrendingUp), the catch (amber, AlertTriangle), and outlook · 12mo (blue, Compass). Each = a tinted IconTile with a monochrome lucide line icon → heading → bullets → a dashed-divider mono keyword footer tinted to the card's tone. One tone per card (DS §5). Used on: /theme/<slug>.
Selectable cards (toggle into the watchlist). The big-player card is dense — symbol, live price, 1D chip, 1D/30D/90D momentum strip, market cap + sector role chip, and a USP tagline. The rising-star card is a compact two-momentum-cell variant. Selection affordance is BLUE (DS §5), never green. Used on: /theme/<slug>.
The "More in this theme" roster folds two card kinds into one dense grid. Public names render as selectable, solid-border roster cards (left). Private / pre-IPO names are info-only — a gold status badge flags the stage and the figure is a last-round valuation (dotted underline), not a live price. Used on: /theme/<slug>.
The single shared, presentational research deck — <ResearchView> in app/components/research/ResearchView.tsx. One component composes the whole research library: header · provider chip strip · RUN/MODEL/SOURCES meta line · accent-left-border synthesis sections with type chips · sources drawer · follow-up chips · ask box. The public stock page renders the same component, so this is the look it must match. The accent is --rv-accent (default gold), overridable per variant. This block is a flat re-render using global tokens only.
Header (ticker + company + live price + refresh/expand/close icons) → provider chips → meta line → synthesis rows → sources drawer → follow-up chips → ask box. Live: ResearchView (variant="panel").
The synthesis bar, type chip, send button, and follow-up borders all read from --rv-accent, which defaults to the gold --rp-accent (#d8b765). A call site can re-tint an entire instance — e.g. an embedded variant — by setting --rv-accent once on the wrapper, with no component fork.
The whole-universe Live Signals board — <SignalsBoard> in app/components/signals/board/, the canonical /signals. Composites: BoardHero (live status + verdict tallies) · FilterBar (scope toggle + theme menu) · SignalTape / SignalRow (the tape) · SignalRowDetail (the expanded drill-down) · ThemesStrip (heating-up momentum chips). Every selector is namespaced under .sb-board via <SignalsBoardStyles/>, so these are the LIVE components rendered on deterministic fixture data (SAMPLE_BOARD_ROWS).
The pulsing market pill (phase-aware), the recompute / updated / universe meta line, the H1 headline, the AI subhead, and the four verdict tally tiles (Long / Exit / Short / Wait).
A realtime green / amber / red verdict computed live on our own engine — then the AI reads Reddit, X and the news to tell you whether the crowd buys it. Live, not delayed.
The “Ready to buy” title + “N firing now” bull chip, the [Watched | All universe] segmented control with the theme dropdown, and the tape itself. Click a row to expand its drill-down; the theme menu and scope toggle are live.
| SYM | PRICE | CALL | CONF | BB | RSI | STOCH | QUADRANT | AGE · SRC |
|---|---|---|---|---|---|---|---|---|
| 142.18 | LONG | 88 | Oversold + Bullish | 3s ago · worker | ||||
LONGconf 88/100 Bullish RSI ↑Bearish RSI ↓ Oversold + Bullish Overbought + Bullish Oversold + Bearish Overbought + Bearish OversoldOverbought Oversold + Bullish — highest-conviction long. Cheap on the band, regime still bullish. Buy shares, a bull call spread, or sell a CSP at the lower-band strike. Why — engine verdict
| ||||||||
| 28.74 | LONG | 81 | Oversold + Bullish | 2s ago · worker | ||||
| 911.40 | LONG | 74 | Oversold + Bullish | 5s ago · worker | ||||
| 118.05 | LONG | 66 | Oversold + Bullish | 8s ago · worker | ||||
| 41.92 | EXIT | 71 | Overbought + Bullish | 4s ago · worker | ||||
| 241.30 | EXIT | 63 | Overbought + Bullish | 11s ago · worker | ||||
| 187.62 | SHORT | 69 | Overbought + Bearish | 6s ago · worker | ||||
| 213.55 | WAIT | 22 | Neutral | 19s ago · yahoo | ||||
| 428.90 | WAIT | 18 | Neutral | 7s ago · worker | ||||
The expanded accordion: large VerdictPill + confidence, the three traffic lights, the LABELED 2×2 quadrant matrix with its guidance line, the two link-out buttons, and the left-aligned “Why — engine verdict” reasons list (leading › marker).
The reusable atoms the row and drill-down compose from. The quadrant matrix labels its axes (Oversold→Overbought, Bullish→Bearish) and fills the active named cell in its tone color.
“Heating up · 30D momentum” — ranked theme chips (name + signed % + arrow), each a link to its /theme/<slug> AI deck.
Each opens an AI deck: bull case · the catch · 12-mo outlook · catalysts.
The multi-source AI research deck. Used on /research/<symbol> (owner only) — a three-column cockpit: session rail · synthesis · pricing rail, with a sticky chat dock at the bottom. The live surface is scoped behind .research-root with --rp-* tokens; these blocks are flat re-renders using global tokens only.
The five research sources — news · x · reddit · fundamentals · portfolio — in canonical order. Each chip carries a colored provider icon, an uppercase label, an age figure (tabular-nums), and a status dot: fresh · stale · tertiary empty · failed · pulsing gold loading. Live: ProviderChipStrip.
One row per provider section: a 2-px left-edge gradient bar in that provider's accent fades from solid to transparent, a heading + a tinted tag, and a body paragraph (sans prose, not mono). The first row is always the cross-source Synthesis · Overview, tagged gold. Live: SynthesisBlock.
NVDA held above the 50-day after the earnings beat; bulls cite data-center demand, bears flag a stretched forward multiple.
Two analyst upgrades and a supply-chain note dominate the last 24h of coverage.
You hold 40 shares at $612 avg — current spot is +6.4% on cost.
Left rail of past runs grouped by recency (Today / Yesterday / This week). Each card: a status dot (complete / partial / failed), a when · cost meta row (mono figures), a 2-line query, and a sources count. The active card gets a gold-tinted fill + ring. Live: SessionRail.
A compact run-metadata strip — run age · model · sources loaded · cost · tokens as label/value cells (mono) — with export actions pushed right. Below it, the sticky input dock: a row of quick-prompt pills over a composer with a gold send button. Live: BundleMetaStrip + QuickPrompts.
The flat system reserves var(--blue) for primary accents. The research workspace is the one documented exception: it scopes a warm gold accent (--rp-accent: #d8b765) behind .research-root for the active session ring, synthesis tag, send button, and quick-prompt borders. It never leaks out of the route. Light-theme darkens it to #806000 for WCAG AA.
The redesigned /lab console — <OperatorSurface> in app/components/lab/operator/. A full-bleed tab bar with exactly ONE section in the DOM at a time, replacing the ~1970px single scroll that rendered all four wizard stages, sixteen strategy cards and two collapsed accordions at once. It is built from the dashboard's own primitives, not a second visual language: DashboardNav's tab row (hairline underneath, active tab underlined in --blue, count written into the label), WatchlistGroup's uppercase section labels, and StockRow's cell density — px-1.5 py-0, 12px identifier over 10px secondary, hairline rows, tabular numerals, a sticky-left identity column. Panels: OverviewPanel (what needs you) · StrategiesPanel (the sixteen members as one sortable table) · ExperimentsPanel (the view the live page does not have) · NewComparisonPanel (the only place wizard framing appears) · AdvancedPanel (machinery, receipts, danger zone). Every selector is namespaced under .lab-op via <LabOperatorStyles/>, and every state word comes from vocabulary.ts rather than the database.
fixtures.ts and is meaningless in value, realistic only in shape. No control on this page does anything — the wizard's “start” and the danger zone's “stop” both print a receipt saying so.comparability_hash, not cohort_id. The projection takes p_cohort_id as an argument and folds it into the hash without ever emitting it, so a cohort id is simply not available to read. One consequence shapes this UI: the list endpoint calls the projection with p_cohort_id = null, so every run read that way arrives with no hash at all — which is why “runs in no comparison” is a first-class panel and never hidden.OperatorView and none of these files change.<OperatorSurface/> with no props: it provides its own .lab-op root, a horizontal bar of five real buttons in DashboardNav's idiom carrying aria-current="page", and one identity strip holding the two-word Paper only marker. Click a tab — it is the only way between sections, and only the active one exists in the DOM.
The count lives inside the tab. “Strategies 14/16” and “Experiments 9” are written where you choose the view, exactly as the dashboard writes “ACTIVE 26” beside a section name; the bare number is always paired with a screen-reader sentence. That is what let the eight stat tiles go — a count belongs next to the thing it counts, not in a grid of bordered boxes that leaves the reader working out which numbers relate. The bar scrolls sideways rather than wrapping, so it is one line at 1440px and at 390px alike.
Legacy SPY-only paper test. It is a simulation only: it places no broker orders and moves no money.
This page has not yet been upgraded to run multi-stock graduates from the historical tournament. See historical tests →
One thing is blocking today’s numbers, and 2 more are worth a look.
Paper onlyEverything here is simulated. This lab places no broker orders, moves no money, and the numbers it shows are not live trading performance.
Blocking: Strategy 7 stopped itself for safety
Strategy 7 — It stopped itself because its recorded positions stopped matching its account, and its price data is 15 minutes old.
NextOpen Strategies, expand this row, and review it before you rely on today’s numbers.
Needs a look: A finished comparison produced no ordering
Comparison 67d463 — All 12 runs finished, but account values went stale before it closed, so none of them can be placed against the others.
NextOpen Experiments, expand the group, and re-run the comparison once fresh account values exist.
Needs a look: A start request was left in flight
Comparison 07f53b — You asked to start a comparison 6 minutes ago and the page never saw it confirmed, so it is not known whether it started.
NextRefresh the comparison’s status before starting it again — starting twice would run it twice.
One thing. A headline sentence coloured by its own tone, then exactly two standing lines — the safety disclosure said ONCE in full, and the price feed with its provider and age — then the attention list: blocking first, each row stating what it is, why it matters, a NEXT action, and a control that jumps to the section that fixes it. Hairline-separated rows at table density, not bordered cards.
The eight stat tiles are gone. Four LIVE/PAUSED/FINISHED/NOT-STARTED tiles beside four CONFIGURED/REPORTING/NEED-ATTENTION/CADENCE tiles was eight numbers with no hierarchy — and nothing told the reader that “9 comparison groups” and “14 of 16 strategies” were two unrelated things. Every one of those counts now lives where it belongs: the totals in the tab labels, the live/paused/finished split in the Experiments table's Status column, and reporting, attention and cadence in the Strategies table's own columns.
One thing is blocking today’s numbers, and 2 more are worth a look.
Paper onlyEverything here is simulated. This lab places no broker orders, moves no money, and the numbers it shows are not live trading performance.
Blocking: Strategy 7 stopped itself for safety
Strategy 7 — It stopped itself because its recorded positions stopped matching its account, and its price data is 15 minutes old.
NextOpen Strategies, expand this row, and review it before you rely on today’s numbers.
Needs a look: A finished comparison produced no ordering
Comparison 67d463 — All 12 runs finished, but account values went stale before it closed, so none of them can be placed against the others.
NextOpen Experiments, expand the group, and re-run the comparison once fresh account values exist.
Needs a look: A start request was left in flight
Comparison 07f53b — You asked to start a comparison 6 minutes ago and the page never saw it confirmed, so it is not known whether it started.
NextRefresh the comparison’s status before starting it again — starting twice would run it twice.
Sixteen stacked cards replaced by a nine-column sortable table. All eight data columns sort, and the sorts are semantic rather than alphabetical: state sorts by real session lifecycle order, health worst-first, and rows that have reported nothing sink to the bottom in BOTH directions instead of topping a descending sort. Numeric columns are tabular, money is formatted from lossless decimal strings, and an absent value is an em-dash plus a spoken “not reported” — never a zero.
Every strategy here trades one symbol — SPY — on Alpaca SIP market data. Nothing on this page picks stocks.
All sixteen run the same idea: buy SPY when a fall looks like it is turning back up. Five things have to line up — the stochastic RSI is oversold, its two lines cross upward, price has stretched past the lower Bollinger band, the RSI itself turns up, and volume confirms the turn.
The sixteen versions differ on four settings only, each with two options: 5 or 15 minute bars, 4 or 5 of the checks required, an exact band touch or within 0.25%, and at least 1.0x or 1.25x usual volume. Two options across four settings gives sixteen. Each row below shows its own four.
Every version is only ever holding SPY or holding nothing. None of them sells short, and none of them uses borrowed money.
Strategy 15 min · all 5 checks · exact band touch · ≥1.0x volume | 5 min | Configured | Session ended | Fine | 78 | 3 | $100,412.55 |
Strategy 25 min · all 5 checks · exact band touch · ≥1.25x volume | 5 min | Configured | Session ended | Fine | 78 | 1 | $100,118.20 |
Strategy 35 min · all 5 checks · within 0.25% of band · ≥1.0x volume | 5 min | Configured | Session ended | Fine | 78 | 4 | $99,871.05 |
Strategy 45 min · all 5 checks · within 0.25% of band · ≥1.25x volume | 5 min | Configured | No position | Fine | 74 | 0 | $100,000.00 |
Strategy 55 min · 4 of 5 checks (Stoch RSI required) · exact band touch · ≥1.0x volume | 5 min | Configured | Holding | Fine | 81 | 5 | $100,963.40 |
Strategy 65 min · 4 of 5 checks (Stoch RSI required) · exact band touch · ≥1.25x volume | 5 min | Configured | Closing | Worth a look | 80 | 6 | $100,244.75 |
Strategy 75 min · 4 of 5 checks (Stoch RSI required) · within 0.25% of band · ≥1.0x volume | 5 min | Configured | Paused for safety | Needs attention | 46 | 2 | $98,204.10 |
Strategy 85 min · 4 of 5 checks (Stoch RSI required) · within 0.25% of band · ≥1.25x volume | 5 min | Configured | Evaluating | Fine | 77 | 1 | $100,077.90 |
Strategy 915 min · all 5 checks · exact band touch · ≥1.0x volume | 15 min | Configured | Session ended | Fine | 26 | 1 | $100,305.60 |
Strategy 1015 min · all 5 checks · exact band touch · ≥1.25x volume | 15 min | Configured | Session ended | Fine | 26 | 0 | $100,000.00 |
Strategy 1115 min · all 5 checks · within 0.25% of band · ≥1.0x volume | 15 min | Configured | No position | Fine | 25 | 0 | $100,000.00 |
Strategy 1215 min · all 5 checks · within 0.25% of band · ≥1.25x volume | 15 min | Configured | Waiting for a quote | Worth a look | 24 | 0 | $100,000.00 |
Strategy 1315 min · 4 of 5 checks (Stoch RSI required) · exact band touch · ≥1.0x volume | 15 min | Configured | Starting | Worth a look | 3 | 0 | —not reported |
Strategy 1415 min · 4 of 5 checks (Stoch RSI required) · exact band touch · ≥1.25x volume | 15 min | Configured | Not reporting | Unknown | not reported | not reported | —not reported |
Strategy 1515 min · 4 of 5 checks (Stoch RSI required) · within 0.25% of band · ≥1.0x volume | 15 min | Not configured | Not reporting | Needs attention | not reported | not reported | —not reported |
Strategy 1615 min · 4 of 5 checks (Stoch RSI required) · within 0.25% of band · ≥1.25x volume | 15 min | Not configured | Not reporting | Needs attention | not reported | not reported | —not reported |
The same table with two rows opened via initialExpanded — member 1 reporting normally and member 7, the specimen's unhealthy one (paused for safety, prices fifteen minutes stale, positions mismatched, day report incomplete). Expanding is a genuine detail view, not a repeat of the row: newest bar, newest decision, newest simulated fill with its modelled cost, account value split into booked and open, the day report, price-data age, paper account, settings, then plain-language “what this means” notes. Every toggle carries aria-expanded and aria-controls.
Every strategy here trades one symbol — SPY — on Alpaca SIP market data. Nothing on this page picks stocks.
All sixteen run the same idea: buy SPY when a fall looks like it is turning back up. Five things have to line up — the stochastic RSI is oversold, its two lines cross upward, price has stretched past the lower Bollinger band, the RSI itself turns up, and volume confirms the turn.
The sixteen versions differ on four settings only, each with two options: 5 or 15 minute bars, 4 or 5 of the checks required, an exact band touch or within 0.25%, and at least 1.0x or 1.25x usual volume. Two options across four settings gives sixteen. Each row below shows its own four.
Every version is only ever holding SPY or holding nothing. None of them sells short, and none of them uses borrowed money.
Strategy 15 min · all 5 checks · exact band touch · ≥1.0x volume | 5 min | Configured | Session ended | Fine | 78 | 3 | $100,412.55 |
| |||||||
Strategy 25 min · all 5 checks · exact band touch · ≥1.25x volume | 5 min | Configured | Session ended | Fine | 78 | 1 | $100,118.20 |
Strategy 35 min · all 5 checks · within 0.25% of band · ≥1.0x volume | 5 min | Configured | Session ended | Fine | 78 | 4 | $99,871.05 |
Strategy 45 min · all 5 checks · within 0.25% of band · ≥1.25x volume | 5 min | Configured | No position | Fine | 74 | 0 | $100,000.00 |
Strategy 55 min · 4 of 5 checks (Stoch RSI required) · exact band touch · ≥1.0x volume | 5 min | Configured | Holding | Fine | 81 | 5 | $100,963.40 |
Strategy 65 min · 4 of 5 checks (Stoch RSI required) · exact band touch · ≥1.25x volume | 5 min | Configured | Closing | Worth a look | 80 | 6 | $100,244.75 |
Strategy 75 min · 4 of 5 checks (Stoch RSI required) · within 0.25% of band · ≥1.0x volume | 5 min | Configured | Paused for safety | Needs attention | 46 | 2 | $98,204.10 |
What this means Stopped itself for safety after its recorded positions stopped matching its account. Its price data is 15 minutes old, so today’s numbers cannot be relied on. Next: review this strategy under Advanced, then re-enable it. Leave it out of any comparison until its day report is complete. | |||||||
Strategy 85 min · 4 of 5 checks (Stoch RSI required) · within 0.25% of band · ≥1.25x volume | 5 min | Configured | Evaluating | Fine | 77 | 1 | $100,077.90 |
Strategy 915 min · all 5 checks · exact band touch · ≥1.0x volume | 15 min | Configured | Session ended | Fine | 26 | 1 | $100,305.60 |
Strategy 1015 min · all 5 checks · exact band touch · ≥1.25x volume | 15 min | Configured | Session ended | Fine | 26 | 0 | $100,000.00 |
Strategy 1115 min · all 5 checks · within 0.25% of band · ≥1.0x volume | 15 min | Configured | No position | Fine | 25 | 0 | $100,000.00 |
Strategy 1215 min · all 5 checks · within 0.25% of band · ≥1.25x volume | 15 min | Configured | Waiting for a quote | Worth a look | 24 | 0 | $100,000.00 |
Strategy 1315 min · 4 of 5 checks (Stoch RSI required) · exact band touch · ≥1.0x volume | 15 min | Configured | Starting | Worth a look | 3 | 0 | —not reported |
Strategy 1415 min · 4 of 5 checks (Stoch RSI required) · exact band touch · ≥1.25x volume | 15 min | Configured | Not reporting | Unknown | not reported | not reported | —not reported |
Strategy 1515 min · 4 of 5 checks (Stoch RSI required) · within 0.25% of band · ≥1.0x volume | 15 min | Not configured | Not reporting | Needs attention | not reported | not reported | —not reported |
Strategy 1615 min · 4 of 5 checks (Stoch RSI required) · within 0.25% of band · ≥1.25x volume | 15 min | Not configured | Not reporting | Needs attention | not reported | not reported | —not reported |
Groups keyed by comparability_hash, with a status pill that finally separates live from finished. Where members disagree the row states the split (“18 live · 3 paused · 3 finished”), and a group that finished without producing an ordering says exactly that rather than showing a blank placing. Expanding gives the fingerprint and its help text, when it ran, capital, trading assumption, evidence and placing counts, then the member runs in a nested table capped at six with a control for the rest. Where every member is outstanding for the same reason the sentence is stated once above the table and rows read “As above”, so forty identical sentences cannot bury the one that differs. The seven runs in no comparison group get their own labelled panel — never hidden.
Every saved paper comparison in this lab. Comparison groups have no names — this label is the first characters of the group’s fingerprint.
A paper comparison puts several simulated runs on equal starting terms. Each keeps separate paper capital and modelled fills, and the settings are fixed when the comparison is locked.
Runs in a group never compete with each other for the same shares, so one run cannot take a fill away from another.
The historical tournament is the earlier qualification stage. Its automatic graduation hand-off is not deployed, so tournament candidates cannot enter this legacy paper lab today.
Comparison 445bb6 | Paused | 8 | 8 of 8 | 23 hours ago13 Aug 2026 | ||||||||||||||||||||||||||||||||||||||||||
Comparison d9dbe6 | Not started | 6 | 0 of 6No ordering yet | 23 hours ago13 Aug 2026 | ||||||||||||||||||||||||||||||||||||||||||
Comparison 2b2d18 | Paper running | 20 | 20 of 20 | 2 days ago12 Aug 2026 | ||||||||||||||||||||||||||||||||||||||||||
Comparison e3cc2f | Paper running2 paper running · 1 not started | 3 | 3 of 3 | 3 days ago11 Aug 2026 | ||||||||||||||||||||||||||||||||||||||||||
Comparison 07f53b | Paper running18 paper running · 3 paused · 3 finished | 24 | 24 of 24 | 5 days ago9 Aug 2026 | ||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||
Comparison 50e20e | Not started | 4 | 0 of 4No ordering yet | 6 days ago8 Aug 2026 | ||||||||||||||||||||||||||||||||||||||||||
Comparison 67d463 | Finished | 12 | 0 of 12No ordering produced | 2 weeks ago1 Aug 2026 | ||||||||||||||||||||||||||||||||||||||||||
This group produced no ordering. The account value is too old to rely on. Wait for the next valuation, then re-check. Until that is resolved the runs below are described but never placed against each other.
| ||||||||||||||||||||||||||||||||||||||||||||||
Comparison 89c2bc | Finished | 40 | 40 of 40 | 3 weeks ago25 Jul 2026 | ||||||||||||||||||||||||||||||||||||||||||
Comparison c2488c | Finished | 2 | 2 of 2 | 1 month ago11 Jul 2026 | ||||||||||||||||||||||||||||||||||||||||||
These runs exist and can be inspected, but nothing places them against anything. That is the normal state for a run until you add it to a group — start one under New comparison.
Every run below is outstanding for the same reason: This run is not in any comparison. Add it to one to have it placed.
| Run | State | Evidence | Placing | Started | What is outstanding |
|---|---|---|---|---|---|
| spy-5check-01efe080e8…f2e085a1 | Finished | Evidence incomplete | Description only | 4 hours ago | As above |
| spy-5check-02db6a90e5…d86a8c2c | Finished | Evidence incomplete | Description only | 13 hours ago | As above |
| spy-5check-03c5b76c62…c4b76acf | Finished | Evidence incomplete | Description only | 22 hours ago | As above |
| spy-5check-0430a2e21f…31a2e3b2 | Paper running | Evidence incomplete | Description only | 1 day ago | As above |
| spy-5check-052c198394…2f19884d | Paused | Evidence incomplete | Description only | 2 days ago | As above |
| spy-5check-069704f951…9404f498 | Not started | Evidence incomplete | Description only | 2 days ago | As above |
| spy-5check-0701529e4e…00529cbb | Not started | Evidence incomplete | Description only | 2 days ago | As above |
The audit found a <ol> of <li> that looked like navigation and moved nothing, above four stages all rendering their forms at once while stage 1 still read NOT CONNECTED. Here the stage nav is four real buttons with aria-current="step"; exactly one stage renders its form and the others collapse to a single line — done stages recap what you chose, blocked stages state their prerequisite and the action that clears it. “Tenant identifier” and “Lab identifier” became Workspace and Lab, with placeholders, a <datalist> of the values that exist, and help text saying where each comes from. Editing either drops the downstream selection and returns you to step 1.
Step 1 of 4 — the two fields the audit called out. Both are pre-filled with a real value rather than presented blank, and the help text under each says where the value comes from (the Workspace is shown at the top of Advanced; the Lab is picked from the ones that workspace already holds). Note that revisiting a finished step does not lie about where you are: step 1 is expanded but still badged Done, and Now stays on step 2 — the step you have left to do.
Pick a lab, choose the runs, check what each one has recorded, then start. A step you have not reached yet stays visible so you can see what is coming, but it cannot be worked in until its prerequisite is met.
Pick which lab’s runs you want to compare.
The workspace that owns your paper accounts. Shown at the top of Advanced; it is the same value every time.
The lab whose runs you want to load. Pick from the labs already in this workspace, listed under Advanced.
Select at least 2 runs. Select 20 or more if you want the scheduler to run them for you.
Pick the runs first — evidence is checked against the set you locked.
Finish step 2, then review each run here and drop any that cannot be compared.
Step 3 has to confirm every run’s evidence before anything can start.
Finish step 3, then start the comparison. You can stop it at any point from Advanced.
The default mount — step 1 recapped, step 2 active, steps 3 and 4 blocked with their prerequisites showing. Nothing is chosen yet, so the count pill is amber and the forward control states exactly how many more runs are needed rather than simply refusing.
Pick a lab, choose the runs, check what each one has recorded, then start. A step you have not reached yet stays visible so you can see what is coming, but it cannot be worked in until its prerequisite is met.
Loaded 7 runs from spy-intraday-2026. Change the lab above to load a different one.
Choose the runs that will be compared against each other.
| Run | State | Evidence | Started |
|---|---|---|---|
spy-5check-01efe080e8…f2e085a1 | Finished | Evidence incomplete | 4 hours ago |
spy-5check-02db6a90e5…d86a8c2c | Finished | Evidence incomplete | 13 hours ago |
spy-5check-03c5b76c62…c4b76acf | Finished | Evidence incomplete | 22 hours ago |
spy-5check-0430a2e21f…31a2e3b2 | Paper running | Evidence incomplete | 1 day ago |
spy-5check-052c198394…2f19884d | Paused | Evidence incomplete | 2 days ago |
spy-5check-069704f951…9404f498 | Not started | Evidence incomplete | 2 days ago |
spy-5check-0701529e4e…00529cbb | Not started | Evidence incomplete | 2 days ago |
Pick the runs first — evidence is checked against the set you locked.
Finish step 2, then review each run here and drop any that cannot be compared.
Step 3 has to confirm every run’s evidence before anything can start.
Finish step 3, then start the comparison. You can stop it at any point from Advanced.
The same panel mounted at the last step via initialStage / initialSelectedRunIds / initialEvidenceReviewed, so the end of the flow is judgeable without clicking through it. Steps 1–3 are recapped in one line each and the start control is the only live thing on screen — pressing it prints an explicit “nothing was started” receipt, because this is a prototype. Step 3, the evidence review, is one click away in this specimen: every step behind you stays reachable.
Pick a lab, choose the runs, check what each one has recorded, then start. A step you have not reached yet stays visible so you can see what is coming, but it cannot be worked in until its prerequisite is met.
Loaded 7 runs from spy-intraday-2026. Change the lab above to load a different one.
Select at least 2 runs. Select 20 or more if you want the scheduler to run them for you.
Finish step 2, then review each run here and drop any that cannot be compared.
Start the comparison and follow it while it runs.
Starting begins simulating every chosen run against incoming market data. You can hold or finish it at any point from Advanced.
Everything precise lives here and nowhere else. The four identifiers an operator must physically copy keep their exact values but gain plain labels and help text — change counter, stop count, comparison reference, comparison fingerprint — and the fingerprint is cross-referenced to the name Experiments gives the same group, so the two sections agree. Receipts are a newest-first table. Both destructive paths read as destructive and neither fires on one click: the armed one needs a typed STOP plus a recorded reason before its button enables (shown open here via initialOpenAction), and the blocked one shows a disabled control with the prerequisite that would arm it.
The two values every other screen is scoped to. These are the ones New comparison asks you for.
The thing that hands work to each run in a comparison, and the exact set of runs it holds.
| Action | What it proves | When | Request fingerprint |
|---|---|---|---|
| Finished runs for good | Finished 3 runs in Comparison 07f53b for good. | 6 hours ago14 Aug 2026 | d8819425…d1818920 |
| Held runs | Held 3 runs in Comparison 07f53b. | 7 hours ago14 Aug 2026 | 15f15d2b…1af1650a |
| Started a comparison | Started Comparison 07f53b with 24 runs. | 5 days ago9 Aug 2026 | 1b5e3e56…1e5e430f |
| Re-ran from the recorded setup | Re-ran Comparison 67d463 from its recorded setup; the result matched. | 2 weeks ago1 Aug 2026 | 960ac1c6…990ac67f |
Both of these end something permanently. Neither can be undone, and neither can be triggered by a single click.
Stop this comparison for good
Every run in the comparison finishes immediately and none of them can be restarted. Results already recorded are kept.
Recorded with the stop so the decision can be explained later. Required.
Typed out in full so this cannot happen by mis-clicking. Nothing else will do.
Finish a single run for good
That one run ends immediately and cannot be restarted. The rest of the comparison keeps going.
Select a run in Experiments first, then come back here.
The audit found armed, running, paused, stopped, active, complete and killed printed straight to the operator. Every state word the console can show is defined once in vocabulary.ts as a Record<Union, StateCopy>, so adding a database state and forgetting its label is a compile error rather than a raw token on screen. Each pill below shows the human label, the raw wire value it translates, and the one-line meaning used for its hover title and its accessible description. A pill is never colour-only: the label always carries the meaning and the dot only reinforces it.
Twelve translation tables, 47 states. Nothing on any operator screen is written by hand.
Run state
RUN_STATE_COPY
Where one paper run is in its life. The four values the database stores are the four the audit found printed raw.
armedconfigured, but no trading has begun
runningsimulating trades on incoming market data right now
pausedheld deliberately; it will resume from where it stopped
stoppedover for good; it cannot be restarted
Comparison status
EXPERIMENT_STATUS_COPY
Derived for a whole group from its members: any live → live, else any paused → paused, else all stopped → finished.
liveat least one simulated run in this comparison reports that it is running
pausedthe comparison is held; no run in it is trading
finishedevery run in this comparison is over
not_startedthe comparison is set up but no run in it has begun
Strategy session state
RUNTIME_STATE_COPY
What one member is doing inside today’s session. Nine values, and none of them reach the screen as written.
warmingbuilding up enough history to make a decision
evaluatingchecking the newest market data now
signal_pending_bboready to act, waiting on a current bid and ask
longholding a simulated position
flatteningclosing its simulated position
flatwatching, holding nothing
day_sealedthe day is over and its report is final
paused_safetystopped itself because something looked wrong
unknownno status has come back from this strategy
Market data
INGESTION_STATE_COPY
The price feed behind every decision. Shown once on Overview, because a stale feed invalidates the whole console.
healthyprices are arriving on time
stalethe newest price is older than it should be
gappedsome prices never arrived
repairingmissing prices are being backfilled now
warmingthe price feed is still connecting
unknownno status has come back from the price feed
Strategy health
STRATEGY_HEALTH_COPY
Our own judgement, not a stored field: worth-a-look and needs-attention are what drive the row rules and the attention list.
okreporting normally with nothing outstanding
watchstill working, but something is late or partial
attentionnot working as intended and will not fix itself
unknownnothing has come back, so there is nothing to judge
Scheduler state
SCHEDULER_STATE_COPY
The machinery that keeps a comparison’s members running. Only ever shown under Advanced.
activethe scheduler is issuing work to its runs
completedevery run reached its end and the scheduler closed itself
killedsomeone stopped it on purpose before it finished
Evidence
CLAIM_STATE_COPY
Whether a run recorded everything a fair comparison needs. Screaming caps in the wire values; sentences on screen.
ELIGIBLEevery check this run needs has been recorded
INELIGIBLEa recorded check failed, so this run cannot be compared
INSUFFICIENT_EVIDENCEsomething this run needs was never recorded
Placing
RANK_STATE_COPY
Whether a run can be placed against the others. Description-only is the normal case for anything read through the list endpoint.
RANKEDthis run can be placed against the others in its comparison
UNRANKABLEin a comparison, but missing what a fair placing would require
DESCRIPTIVE_ONLYnot in a comparison, so it is never placed against anything
Day report
RECEIPT_STATE_COPY
Whether today’s numbers for a member are final. Incomplete is the one that must never read as complete.
pendingthe day is not closed out yet
completethe day closed out and the numbers are final
incompletethe day closed out with something missing
Set-up
BINDING_STATE_COPY
Whether a member has its own paper account. Nothing can run or be compared until it does.
boundhas its own paper account and is ready to run
missinghas no paper account yet, so it cannot run
Wizard step
STAGE_STATE_COPY
Used by the stage nav. A blocked step always states its prerequisite and the action that clears it.
donethis step is complete and recorded
currentthis is the step to work on
blockedan earlier step has to finish first
Attention severity
ATTENTION_SEVERITY_COPY
Sorts the Overview attention list blocking-first, and picks the glyph beside each item.
criticalnothing will progress until this is dealt with
warningwork continues, but something is off
infono action required, but you should know
SPEC_EMPTY_VIEW is the same shape with nothing in it, so the day-one lab is judgeable without a second fixture. Each empty state says what is missing, why nothing can happen yet, and where to go — and none of them lies: a 0-of-0 family never claims to be fully comparable, and an unknown price feed never reads as healthy.
Nothing is running. Set up a new comparison when you are ready.
Paper onlyEverything here is simulated. This lab places no broker orders, moves no money, and the numbers it shows are not live trading performance.
Nothing needs you right now — every configured strategy is reporting, and no comparison is waiting on you.
Every strategy here trades one symbol — SPY — on Alpaca SIP market data. Nothing on this page picks stocks.
All sixteen run the same idea: buy SPY when a fall looks like it is turning back up. Five things have to line up — the stochastic RSI is oversold, its two lines cross upward, price has stretched past the lower Bollinger band, the RSI itself turns up, and volume confirms the turn.
The sixteen versions differ on four settings only, each with two options: 5 or 15 minute bars, 4 or 5 of the checks required, an exact band touch or within 0.25%, and at least 1.0x or 1.25x usual volume. Two options across four settings gives sixteen. Each row below shows its own four.
Every version is only ever holding SPY or holding nothing. None of them sells short, and none of them uses borrowed money.
No strategy is reporting.
Either the lab could not be read just now, or none of the sixteen has its own paper account yet. Nothing is filled in from a guess either way — the Attention tab says which of the two it is.
Every saved paper comparison in this lab. Comparison groups have no names — this label is the first characters of the group’s fingerprint.
A paper comparison puts several simulated runs on equal starting terms. Each keeps separate paper capital and modelled fills, and the settings are fixed when the comparison is locked.
Runs in a group never compete with each other for the same shares, so one run cannot take a fill away from another.
The historical tournament is the earlier qualification stage. Its automatic graduation hand-off is not deployed, so tournament candidates cannot enter this legacy paper lab today.
No comparison groups yet.
A group appears here once you pick two or more runs and lock them together. Start one under New comparison.
These runs exist and can be inspected, but nothing places them against anything. That is the normal state for a run until you add it to a group — start one under New comparison.
Every run belongs to a comparison group.
Nothing is sitting outside a group, so every run in this lab is being placed against others.
The second of the two lab systems — <TournamentSurface> in app/components/lab/tournament/. It replays sealed past sessions from a fixed corpus, against many strategy variants, across many instruments, under preregistered waves that draw on a cumulative alpha budget. It is built from the same primitives as the operator console rather than a second visual language: the dashboard's tab row with the count written into the label, uppercase section labels over hairline rules, and StockRow's cell density — px-1.5 py-0, 12px identifier over 10px secondary, tabular numerals, a sticky-left identity column. Every selector is namespaced under .tour via <TournamentStyles/>.
Lab operator — is the forward system: live SPY, sixteen frozen strategies, running against market data as it arrives. This one is historical: sealed past sessions, many instruments, preregistered waves. They share a vocabulary and nothing else, and conflating them was the single biggest source of confusion in the old UI. A wave is not a comparison group, an attempt is not a run, and a consistency score is not a live result. Both sentences are printed in the surface's own headline band, on every tab.fixtures.ts and is meaningless in value, realistic only in shape — but it is derived: an attempt count is variants x instruments x grids, a component's numerator is the readouts that held, and a budget is the sum of the waves that spent it, so a headline can never disagree with the table under it.lib/paper/intraday/tournament/instrument-universe.ts and v4.ts, because those modules seal and hash and throw and this prototype runs in a browser. When the surface is wired, the real modules produce these shapes and none of these components change.<TournamentSurface/> with no props: its own .tour root, an identity strip carrying the standing Research only marker, a headline band that names both systems and rules one out, and three real tabs in the dashboard's idiom with aria-current="page". Click a tab — it is the only way between sections, and only the active one exists in the DOM. The count lives inside the tab label, exactly as the dashboard writes “ACTIVE 26”, and each bare number is paired with a screen-reader sentence.
What this page does: This page tests strategy settings against locked historical market data. It is a simulation, not a live trading screen.
It places no orders and moves no money. It is the historical qualification stage; only an exact strategy + stock combination that passes a separate check, independent review, and owner sign-off may later enter the forward paper LAB.
Current boundary: Existing SPY-only v2 records are an immutable legacy archive. SPY is excluded from new graduation packages. The multi-stock hand-off exists, but a package remains stopped until its evidence, release, Machine attestation, and explicit owner start all agree.
320 of 500 basis points spent across 2 sealed waves — 180 left, and it cannot be topped up.
Choose the stocks and time interval. The totals update before anything is run.
At 10,000 bootstrap resamples the smallest p-value the test can ever report is 1/(R+1), so Holm's strictest step caps the whole series at 500 attempts — across every wave, forever. One basis point buys one attempt. This view uses 10,000 bootstrap resamples and a total allowance of 500 basis points. One basis point maps to one tested combination here.
Accepted · 160 attempts fits
8 variants x 20 instruments x 1 bar grid = 160 attempts, against a ceiling of 500. It would cost 160 of the 500 basis points this series may ever spend, and leave 340 attempts of headroom for every wave after it.
Worth knowing · 2 instruments below the session floor
SNDK, SMCI have fewer than 126 sealed sessions in this corpus. They will still be replayed and will still cost budget, but their cell can never count as held or failed — only as underpowered, and named as such on every score.
Testing interval
Choose how strategy decisions are grouped through each day. The locked test plan uses M15. Adding another interval tests every selected stock again.
| Sector | Note | ||||
|---|---|---|---|---|---|
Alphabet | Unlevered spot | Named | Megacap platform | 492 | — |
Micron Technology | Unlevered spot | Named | Semiconductors | 492 | — |
NVIDIA | Unlevered spot | Named | Semiconductors | 492 | — |
SanDisk | Unlevered spot | Named | Semiconductors | 74 | Began trading separately after the 2026 separation, so its sealed corpus is short. It is a live example of why the instrument identity, not the ticker, is what has to survive. |
Tesla | Unlevered spot | Named | High beta | 492 | — |
S&P 500 index fund | Unlevered spot | Control | Broad index | 492 | The CONTROL. It is in the universe — it is an attempt, it costs a basis point and it is corrected like every other cell — but it is held out of the cross-sectional sample, because a control averaged into the sample it exists to interpret is not a control. |
Apple | Unlevered spot | Supporting | Megacap platform | 492 | — |
Advanced Micro Devices | Unlevered spot | Supporting | Semiconductors | 492 | — |
Amazon | Unlevered spot | Supporting | Megacap platform | 492 | — |
Arm Holdings | Unlevered spot | Supporting | Semiconductors | 412 | — |
Broadcom | Unlevered spot | Supporting | Semiconductors | 492 | — |
Boeing | Unlevered spot | Supporting | Industrials | 492 | — |
Coinbase | Unlevered spot | Supporting | High beta | 492 | — |
Intel | Unlevered spot | Supporting | Semiconductors | 492 | — |
Meta Platforms | Unlevered spot | Supporting | Megacap platform | 492 | — |
Marvell Technology | Unlevered spot | Supporting | Semiconductors | 492 | — |
Microsoft | Unlevered spot | Supporting | Megacap platform | 492 | — |
Netflix | Unlevered spot | Supporting | Megacap platform | 492 | — |
Palantir | Unlevered spot | Supporting | High beta | 492 | — |
Nasdaq 100 index fund | Unlevered spot | Supporting | Broad index | 492 | — |
Super Micro Computer | Unlevered spot | Supporting | High beta | 119 | Only 119 sealed sessions in the specimen corpus, seven short of the 126-session floor, so it can never count as held or failed — only as underpowered. |
Snowflake | Unlevered spot | Supporting | Software | 492 | — |
Uber Technologies | Unlevered spot | Supporting | High beta | 492 | — |
Nasdaq 100 2x daily | 2x daily reset | Leveraged | Broad index | 492 | The same mechanism as SSO on a different index, so the two share a class with each other and with nothing else. |
S&P 500 −2x daily | −2x daily reset | Leveraged | Broad index | 492 | A −2x daily-reset inverse. Its decay accrues against a short exposure, so on the same tape it moves opposite to SSO. It is a THIRD class, not a corner of the second. |
S&P 500 2x daily | 2x daily reset | Leveraged | Broad index | 492 | A 2x daily-reset product. Its multi-day payoff compounds the multiple rather than the return, so it cannot share a family with unlevered spot. |
The strategy versions, stocks, and research limit locked before testing.
At 10,000 bootstrap resamples, one basis point buys one tested combination:320 of 500 used and 180 left. The largest test batch that still fits is 180 combinations. The allowance cannot be topped up after results are read.
| Test batch | Status | Interval | Strategy versions | Stocks | Combinations | Budget used | Replays |
|---|---|---|---|---|---|---|---|
Test batch 1The saturated factorial, M15 | Complete | M15 | 8 | 20 | 160 | 160 units | 77,760 / 77,760 · 100% |
Test batch 2The same factorial, M5 | Running | M5 | 8 | 20 | 160 | 160 units | 41,208 / 77,760 · 53% |
Test batch 3Six survivors, twelve high-volatility names | Planned | M5 | 6 | 12 | 72 | 72 units | 0 / 34,992 · 0% |
The answer to “the new different stocks that we can choose from” — MU, SNDK, NVDA, GOOGL and TSLA by name, fourteen more liquid single names, SPY as an explicit control, and three leveraged products that belong to different comparability classes. A picker that only picked would be the wrong answer, so the consequence sits above the control that causes it and moves as you tick: attempts, the ceiling, the headroom left for every later wave, and the basis points this selection would cost.
The default selection is wave 1's twenty on the M15 grid — 160 attempts against a ceiling of 500, so it is accepted, with one warning about the two instruments whose sealed corpus is below the 126-session floor. Tick a leveraged product, or turn on a second bar grid, and watch the readouts move.
Choose the stocks and time interval. The totals update before anything is run.
At 10,000 bootstrap resamples the smallest p-value the test can ever report is 1/(R+1), so Holm's strictest step caps the whole series at 500 attempts — across every wave, forever. One basis point buys one attempt. This view uses 10,000 bootstrap resamples and a total allowance of 500 basis points. One basis point maps to one tested combination here.
Accepted · 160 attempts fits
8 variants x 20 instruments x 1 bar grid = 160 attempts, against a ceiling of 500. It would cost 160 of the 500 basis points this series may ever spend, and leave 340 attempts of headroom for every wave after it.
Worth knowing · 2 instruments below the session floor
SNDK, SMCI have fewer than 126 sealed sessions in this corpus. They will still be replayed and will still cost budget, but their cell can never count as held or failed — only as underpowered, and named as such on every score.
Testing interval
Choose how strategy decisions are grouped through each day. The locked test plan uses M15. Adding another interval tests every selected stock again.
| Sector | Note | ||||
|---|---|---|---|---|---|
Alphabet | Unlevered spot | Named | Megacap platform | 492 | — |
Micron Technology | Unlevered spot | Named | Semiconductors | 492 | — |
NVIDIA | Unlevered spot | Named | Semiconductors | 492 | — |
SanDisk | Unlevered spot | Named | Semiconductors | 74 | Began trading separately after the 2026 separation, so its sealed corpus is short. It is a live example of why the instrument identity, not the ticker, is what has to survive. |
Tesla | Unlevered spot | Named | High beta | 492 | — |
S&P 500 index fund | Unlevered spot | Control | Broad index | 492 | The CONTROL. It is in the universe — it is an attempt, it costs a basis point and it is corrected like every other cell — but it is held out of the cross-sectional sample, because a control averaged into the sample it exists to interpret is not a control. |
Apple | Unlevered spot | Supporting | Megacap platform | 492 | — |
Advanced Micro Devices | Unlevered spot | Supporting | Semiconductors | 492 | — |
Amazon | Unlevered spot | Supporting | Megacap platform | 492 | — |
Arm Holdings | Unlevered spot | Supporting | Semiconductors | 412 | — |
Broadcom | Unlevered spot | Supporting | Semiconductors | 492 | — |
Boeing | Unlevered spot | Supporting | Industrials | 492 | — |
Coinbase | Unlevered spot | Supporting | High beta | 492 | — |
Intel | Unlevered spot | Supporting | Semiconductors | 492 | — |
Meta Platforms | Unlevered spot | Supporting | Megacap platform | 492 | — |
Marvell Technology | Unlevered spot | Supporting | Semiconductors | 492 | — |
Microsoft | Unlevered spot | Supporting | Megacap platform | 492 | — |
Netflix | Unlevered spot | Supporting | Megacap platform | 492 | — |
Palantir | Unlevered spot | Supporting | High beta | 492 | — |
Nasdaq 100 index fund | Unlevered spot | Supporting | Broad index | 492 | — |
Super Micro Computer | Unlevered spot | Supporting | High beta | 119 | Only 119 sealed sessions in the specimen corpus, seven short of the 126-session floor, so it can never count as held or failed — only as underpowered. |
Snowflake | Unlevered spot | Supporting | Software | 492 | — |
Uber Technologies | Unlevered spot | Supporting | High beta | 492 | — |
Nasdaq 100 2x daily | 2x daily reset | Leveraged | Broad index | 492 | The same mechanism as SSO on a different index, so the two share a class with each other and with nothing else. |
S&P 500 −2x daily | −2x daily reset | Leveraged | Broad index | 492 | A −2x daily-reset inverse. Its decay accrues against a short exposure, so on the same tape it moves opposite to SSO. It is a THIRD class, not a corner of the second. |
S&P 500 2x daily | 2x daily reset | Leveraged | Broad index | 492 | A 2x daily-reset product. Its multi-day payoff compounds the multiple rather than the return, so it cannot share a family with unlevered spot. |
Every unlevered instrument in the catalogue, on all three bar grids: 552 attempts against a ceiling of 500. This does not merely render red. At 10,000 bootstrap resamples the smallest p-value the test can ever report is 1/(R+1); Holm's strictest step needs one below alpha/n; past the ceiling the floor sits above the threshold and the family cannot produce a significant result at any effect size. So the verdict is a refusal with the reason, and three remedies that are each a real number: how many instruments to drop, what a grid costs, and the resample count that would make this count resolvable.
Choose the stocks and time interval. The totals update before anything is run.
At 10,000 bootstrap resamples the smallest p-value the test can ever report is 1/(R+1), so Holm's strictest step caps the whole series at 500 attempts — across every wave, forever. One basis point buys one attempt. This view uses 10,000 bootstrap resamples and a total allowance of 500 basis points. One basis point maps to one tested combination here.
Refused · 552 attempts is past the resolvable ceiling of 500
At 10,000 bootstrap resamples the smallest p-value the test can EVER report is 1/(R+1) = 1.00e-4. Holm's strictest step needs a p-value below alpha/n, which at 552 attempts is 9.06e-5. The floor is above the threshold, so this family cannot produce a significant result at ANY effect size. It is refused, not warned: running it would spend the budget on a question the arithmetic has already answered.
Testing interval
Choose how strategy decisions are grouped through each day. Each extra interval tests every selected stock again and uses more of the fixed research limit.
| Sector | Note | ||||
|---|---|---|---|---|---|
Alphabet | Unlevered spot | Named | Megacap platform | 492 | — |
Micron Technology | Unlevered spot | Named | Semiconductors | 492 | — |
NVIDIA | Unlevered spot | Named | Semiconductors | 492 | — |
SanDisk | Unlevered spot | Named | Semiconductors | 74 | Began trading separately after the 2026 separation, so its sealed corpus is short. It is a live example of why the instrument identity, not the ticker, is what has to survive. |
Tesla | Unlevered spot | Named | High beta | 492 | — |
S&P 500 index fund | Unlevered spot | Control | Broad index | 492 | The CONTROL. It is in the universe — it is an attempt, it costs a basis point and it is corrected like every other cell — but it is held out of the cross-sectional sample, because a control averaged into the sample it exists to interpret is not a control. |
Apple | Unlevered spot | Supporting | Megacap platform | 492 | — |
Advanced Micro Devices | Unlevered spot | Supporting | Semiconductors | 492 | — |
Amazon | Unlevered spot | Supporting | Megacap platform | 492 | — |
Arm Holdings | Unlevered spot | Supporting | Semiconductors | 412 | — |
Broadcom | Unlevered spot | Supporting | Semiconductors | 492 | — |
Boeing | Unlevered spot | Supporting | Industrials | 492 | — |
Coinbase | Unlevered spot | Supporting | High beta | 492 | — |
Intel | Unlevered spot | Supporting | Semiconductors | 492 | — |
Meta Platforms | Unlevered spot | Supporting | Megacap platform | 492 | — |
Marvell Technology | Unlevered spot | Supporting | Semiconductors | 492 | — |
Microsoft | Unlevered spot | Supporting | Megacap platform | 492 | — |
Netflix | Unlevered spot | Supporting | Megacap platform | 492 | — |
Palantir | Unlevered spot | Supporting | High beta | 492 | — |
Nasdaq 100 index fund | Unlevered spot | Supporting | Broad index | 492 | — |
Super Micro Computer | Unlevered spot | Supporting | High beta | 119 | Only 119 sealed sessions in the specimen corpus, seven short of the 126-session floor, so it can never count as held or failed — only as underpowered. |
Snowflake | Unlevered spot | Supporting | Software | 492 | — |
Uber Technologies | Unlevered spot | Supporting | High beta | 492 | — |
Nasdaq 100 2x daily | 2x daily reset | Leveraged | Broad index | 492 | The same mechanism as SSO on a different index, so the two share a class with each other and with nothing else. |
S&P 500 −2x daily | −2x daily reset | Leveraged | Broad index | 492 | A −2x daily-reset inverse. Its decay accrues against a short exposure, so on the same tape it moves opposite to SSO. It is a THIRD class, not a corner of the second. |
S&P 500 2x daily | 2x daily reset | Leveraged | Broad index | 492 | A 2x daily-reset product. Its multi-day payoff compounds the multiple rather than the return, so it cannot share a family with unlevered spot. |
The wave-1 twenty plus SSO, a 2x daily-reset product. A daily reset compounds the multiple rather than the return, so its multi-day payoff is path dependent with a volatility-decay drag that scales with the square of the ratio and flips sign below zero — a −2x, a +2x and an unlevered 1x are three different processes and may not share one significance claim. The class is derived from the mechanism and cannot be relabelled, so the selection is refused and the row carries a red identity rule. Note that the control is shown, not hidden: hiding it teaches nothing, and refusing it with a reason teaches the rule in one click.
Choose the stocks and time interval. The totals update before anything is run.
At 10,000 bootstrap resamples the smallest p-value the test can ever report is 1/(R+1), so Holm's strictest step caps the whole series at 500 attempts — across every wave, forever. One basis point buys one attempt. This view uses 10,000 bootstrap resamples and a total allowance of 500 basis points. One basis point maps to one tested combination here.
Refused · Two comparability classes cannot share one family
This selection mixes Unlevered spot (MU, SNDK, NVDA, GOOGL, TSLA, SPY, AAPL, AMD, AMZN, AVGO, BA, COIN, INTC, META, MRVL, MSFT, NFLX, PLTR, SMCI, UBER) and 2x daily reset (SSO). A daily-reset product compounds the MULTIPLE rather than the return, so its multi-day payoff is path dependent with a volatility-decay drag that scales with the square of the ratio and flips sign below zero. A −2x, a +2x and an unlevered 1x are three different processes; a result measured on one does not transfer to another, so they may not share a significance claim. The class is derived from the mechanism and cannot be relabelled.
Testing interval
Choose how strategy decisions are grouped through each day. The locked test plan uses M15. Adding another interval tests every selected stock again.
| Sector | Note | ||||
|---|---|---|---|---|---|
Alphabet | Unlevered spot | Named | Megacap platform | 492 | — |
Micron Technology | Unlevered spot | Named | Semiconductors | 492 | — |
NVIDIA | Unlevered spot | Named | Semiconductors | 492 | — |
SanDisk | Unlevered spot | Named | Semiconductors | 74 | Began trading separately after the 2026 separation, so its sealed corpus is short. It is a live example of why the instrument identity, not the ticker, is what has to survive. |
Tesla | Unlevered spot | Named | High beta | 492 | — |
S&P 500 index fund | Unlevered spot | Control | Broad index | 492 | The CONTROL. It is in the universe — it is an attempt, it costs a basis point and it is corrected like every other cell — but it is held out of the cross-sectional sample, because a control averaged into the sample it exists to interpret is not a control. |
Apple | Unlevered spot | Supporting | Megacap platform | 492 | — |
Advanced Micro Devices | Unlevered spot | Supporting | Semiconductors | 492 | — |
Amazon | Unlevered spot | Supporting | Megacap platform | 492 | — |
Arm Holdings | Unlevered spot | Supporting | Semiconductors | 412 | — |
Broadcom | Unlevered spot | Supporting | Semiconductors | 492 | — |
Boeing | Unlevered spot | Supporting | Industrials | 492 | — |
Coinbase | Unlevered spot | Supporting | High beta | 492 | — |
Intel | Unlevered spot | Supporting | Semiconductors | 492 | — |
Meta Platforms | Unlevered spot | Supporting | Megacap platform | 492 | — |
Marvell Technology | Unlevered spot | Supporting | Semiconductors | 492 | — |
Microsoft | Unlevered spot | Supporting | Megacap platform | 492 | — |
Netflix | Unlevered spot | Supporting | Megacap platform | 492 | — |
Palantir | Unlevered spot | Supporting | High beta | 492 | — |
Nasdaq 100 index fund | Unlevered spot | Supporting | Broad index | 492 | — |
Super Micro Computer | Unlevered spot | Supporting | High beta | 119 | Only 119 sealed sessions in the specimen corpus, seven short of the 126-session floor, so it can never count as held or failed — only as underpowered. |
Snowflake | Unlevered spot | Supporting | Software | 492 | — |
Uber Technologies | Unlevered spot | Supporting | High beta | 492 | — |
Nasdaq 100 2x daily | 2x daily reset | Leveraged | Broad index | 492 | The same mechanism as SSO on a different index, so the two share a class with each other and with nothing else. |
S&P 500 −2x daily | −2x daily reset | Leveraged | Broad index | 492 | A −2x daily-reset inverse. Its decay accrues against a short exposure, so on the same tape it moves opposite to SSO. It is a THIRD class, not a corner of the second. |
S&P 500 2x daily | 2x daily reset | Leveraged | Broad index | 492 | A 2x daily-reset product. Its multi-day payoff compounds the multiple rather than the return, so it cannot share a family with unlevered spot. |
A wave is one preregistered run: its variants, its universe, its attempt count and its share of a cumulative alpha budget fixed at 500 basis points for the whole series. That is why the panel leads with the budget and not with the list. The honest argument for letting an operator test new variants later — after seeing what the last wave produced — rests entirely on the budget being fixed in advance: reading a result and choosing what to test next is itself a look at the data, and under a cumulative budget that look is paid for.
So the runway has to be visible, and it has to shrink. 320 bp spent across 2 sealed waves, 72 bp reserved by the one preregistered wave, 108 bp uncommitted — and 1 further wave of the reference size that still fits. The meter is the one place in this surface where a fill is spent, because a meter is a chart: a quantity drawn as a length.
The strategy versions, stocks, and research limit locked before testing.
At 10,000 bootstrap resamples, one basis point buys one tested combination:320 of 500 used and 180 left. The largest test batch that still fits is 180 combinations. The allowance cannot be topped up after results are read.
| Test batch | Status | Interval | Strategy versions | Stocks | Combinations | Budget used | Replays |
|---|---|---|---|---|---|---|---|
Test batch 1The saturated factorial, M15 | Complete | M15 | 8 | 20 | 160 | 160 units | 77,760 / 77,760 · 100% |
Test batch 2The same factorial, M5 | Running | M5 | 8 | 20 | 160 | 160 units | 41,208 / 77,760 · 53% |
Test batch 3Six survivors, twelve high-volatility names | Planned | M5 | 6 | 12 | 72 | 72 units | 0 / 34,992 · 0% |
The same table with the running wave and the preregistered one opened via initialExpanded. Expanding is a genuine detail view rather than a repeat of the row: what the status means, the declared universe and its provenance, when it was preregistered and when it was sealed, work units as a count and a share, the control held out of the cross-section, the fingerprint, why the wave exists — then the preregistered variants with their three settings each, and the full symbol list. Note the preregistered wave says its alpha has not left the budget, because it has not: until a wave is sealed it is a plan.
The strategy versions, stocks, and research limit locked before testing.
At 10,000 bootstrap resamples, one basis point buys one tested combination:320 of 500 used and 180 left. The largest test batch that still fits is 180 combinations. The allowance cannot be topped up after results are read.
| Test batch | Status | Interval | Strategy versions | Stocks | Combinations | Budget used | Replays | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Test batch 1The saturated factorial, M15 | Complete | M15 | 8 | 20 | 160 | 160 units | 77,760 / 77,760 · 100% | |||||||||||||||||||||||||||
Test batch 2The same factorial, M5 | Running | M5 | 8 | 20 | 160 | 160 units | 41,208 / 77,760 · 53% | |||||||||||||||||||||||||||
Technical identityTest-set ID: The 8 locked strategy versions
Stocks in this test batch MU · SNDK · NVDA · GOOGL · TSLA · SPY · AAPL · AMD · AMZN · AVGO · BA · COIN · INTC · META · MRVL · MSFT · NFLX · PLTR · SMCI · UBER | ||||||||||||||||||||||||||||||||||
Test batch 3Six survivors, twelve high-volatility names | Planned | M5 | 6 | 12 | 72 | 72 units | 0 / 34,992 · 0% | |||||||||||||||||||||||||||
Technical identityTest-set ID: The 6 locked strategy versions
Stocks in this test batch MU · SNDK · NVDA · GOOGL · TSLA · AMD · AVGO · MRVL · PLTR · COIN · SMCI · SPY | ||||||||||||||||||||||||||||||||||
One row per variant, sortable on every column and on each of the four components individually — the header for the component strip is four sort controls sitting in the same four columns as the values beneath them. The composite is the minimum of hit rate, regime breadth, stability across time blocks and instrument breadth, each credited at min(measured, evidence ratio) so thin evidence downgrades rather than inflates. A mean would let a strong component pay for a failed one, which is exactly how a regime bet acquires a consistency score.
The components travel with the composite in every row. A component drawn in red contains a partition that came out strictly negative — a regime, a time block or an instrument the variant actually lost in — and it is marked whether or not it is the one doing the binding, because a strong composite hiding a failed component is the precise failure a minimum exists to prevent. 6 of 8 variants below have one, and 6 are rankable.
Compare completed historical tests, then inspect the evidence before anything can graduate.
Legacy family-level results · not eligible for graduation
These scores combine several stocks. Graduation requires a separate validation result for each exact strategy + stock combination, followed by an independent check and owner sign-off.
How to read the results
Each component is credited at the lower of its measurement and evidence ratio. The composite is the minimum of those four credited components. 6 strategy versions below has at least one negative partition.
| Comparison status | |||||||
|---|---|---|---|---|---|---|---|
stack4-touch-relvol1004 of 5 checks · exact band touch · at least 1.00x usual volume | 63.7%no evidence cap | 64%Hit rate 64%, credited 64% 100%Regime breadth 100%, credited 100% 100%Stability over time 100%, credited 100% 89%Instrument breadth 89%, credited 89% | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 465 | 19 | 363 |
stack4-near-relvol1004 of 5 checks · within 0.25% of the band · at least 1.00x usual volume | 58.9%no evidence cap | 59%Hit rate 59%, credited 59% 88%Regime breadth 88%, credited 88%, 1 partitions strictly negative 100%Stability over time 100%, credited 100% 89%Instrument breadth 89%, credited 89% | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 466 | 19 | 336 |
stack4-touch-relvol1254 of 5 checks · exact band touch · at least 1.25x usual volume | 58.5%no evidence cap | 58%Hit rate 58%, credited 58% 88%Regime breadth 88%, credited 88%, 1 partitions strictly negative 100%Stability over time 100%, credited 100% 89%Instrument breadth 89%, credited 89% | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 460 | 24 | 276 |
stack4-near-relvol1254 of 5 checks · within 0.25% of the band · at least 1.25x usual volume | 50.0%capped at 50% | 61%Hit rate 61%, credited 61% 50%Regime breadth 50%, credited 50%, evidence gate unmet 100%Stability over time 100%, credited 100% 89%Instrument breadth 89%, credited 89% | Needs more evidence. The statistics computed, but at least one gate is unmet. It is a read-out, not a ranking, and the row says exactly what is missing.1 check incomplete | Not rankable | 158 | 8 | 117 |
stack5-near-relvol1005 of 5 checks · within 0.25% of the band · at least 1.00x usual volume | 37.5%no evidence cap | 51%Hit rate 51%, credited 51% 38%Regime breadth 38%, credited 38%, 4 partitions strictly negative 50%Stability over time 50%, credited 50%, 2 partitions strictly negative 53%Instrument breadth 53%, credited 53%, 7 partitions strictly negative | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 459 | 24 | 239 |
stack5-touch-relvol1255 of 5 checks · exact band touch · at least 1.25x usual volume | 37.5%capped at 50% | 54%Hit rate 54%, credited 54% 38%Regime breadth 38%, credited 38%, 1 partitions strictly negative, evidence gate unmet 50%Stability over time 50%, credited 50%, 2 partitions strictly negative 58%Instrument breadth 58%, credited 58%, 6 partitions strictly negative | Read-only result. There was no opportunity or no execution power, so the components are not a measurement of anything and nothing here may be ordered.1 check incomplete | Read-out only | 204 | 281 | 33 |
stack5-touch-relvol1005 of 5 checks · exact band touch · at least 1.00x usual volume | 5.3%no evidence cap | 48%Hit rate 48%, credited 48% 25%Regime breadth 25%, credited 25%, 5 partitions strictly negative 50%Stability over time 50%, credited 50%, 2 partitions strictly negative 5%Instrument breadth 5%, credited 5%, 16 partitions strictly negative | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 460 | 24 | 193 |
stack5-near-relvol1255 of 5 checks · within 0.25% of the band · at least 1.25x usual volume | 0.0%no evidence cap | 42%Hit rate 42%, credited 42% 13%Regime breadth 13%, credited 13%, 7 partitions strictly negative 0%Stability over time 0%, credited 0%, 4 partitions strictly negative 0%Instrument breadth 0%, credited 0%, 17 partitions strictly negative | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 460 | 24 | 212 |
Two rows opened via initialExpanded: stack4-touch-relvol100, the rankable leader with no failed partition anywhere, and stack5-touch-relvol100, which one instrument carries entirely — NVDA held up and 16 instruments failed, so its instrument breadth is 1/19 and its composite collapses to that. The per-instrument table is what makes the question answerable at a glance, and the eight regime cells are listed whether or not they were observed: a denominator of “the cells we happened to see” is how a regime bet passes for a consistent strategy.
Compare completed historical tests, then inspect the evidence before anything can graduate.
Legacy family-level results · not eligible for graduation
These scores combine several stocks. Graduation requires a separate validation result for each exact strategy + stock combination, followed by an independent check and owner sign-off.
How to read the results
Each component is credited at the lower of its measurement and evidence ratio. The composite is the minimum of those four credited components. 6 strategy versions below has at least one negative partition.
| Comparison status | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
stack4-touch-relvol1004 of 5 checks · exact band touch · at least 1.00x usual volume | 63.7%no evidence cap | 64%Hit rate 64%, credited 64% 100%Regime breadth 100%, credited 100% 100%Stability over time 100%, credited 100% 89%Instrument breadth 89%, credited 89% | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 465 | 19 | 363 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Stack 4 · exact band touch · relvol ≥ 1.00x held up in 8 of 8 regime cells, 4 of 4 time blocks and 17 of 19 instruments, over 465 opportunity sessions. Its composite is the MINIMUM of the four, so it is exactly as consistent as its weakest dimension. Descriptive only — never promotion evidence, never evidence of profitability.
Technical result identitySaved-result fingerprint: Trading-day breakdown
A session with no decidable bar is not a session with no edge. On the M15 grid an early close carries 14 bars against a 20-bar relative-volume baseline, so no bar is ever decidable and half the roster legitimately gets no chance to trade. Those sessions are counted and excluded from every rate; a session where the strategy evaluated and stood aside is counted IN. The four components
Market conditions · 8 of 8 held up Every planned condition is listed, including conditions with too little data. A condition below 20 trading days is too thin to judge and counts as neither.
Time periods · 4 of 4 held up
Per stock · 17 held up · 0 failed · 2 underpowered
A stock counts as held up or failed only once its own track clears 126 complete trading days. Below that it is too thin to judge. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack4-near-relvol1004 of 5 checks · within 0.25% of the band · at least 1.00x usual volume | 58.9%no evidence cap | 59%Hit rate 59%, credited 59% 88%Regime breadth 88%, credited 88%, 1 partitions strictly negative 100%Stability over time 100%, credited 100% 89%Instrument breadth 89%, credited 89% | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 466 | 19 | 336 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack4-touch-relvol1254 of 5 checks · exact band touch · at least 1.25x usual volume | 58.5%no evidence cap | 58%Hit rate 58%, credited 58% 88%Regime breadth 88%, credited 88%, 1 partitions strictly negative 100%Stability over time 100%, credited 100% 89%Instrument breadth 89%, credited 89% | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 460 | 24 | 276 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack4-near-relvol1254 of 5 checks · within 0.25% of the band · at least 1.25x usual volume | 50.0%capped at 50% | 61%Hit rate 61%, credited 61% 50%Regime breadth 50%, credited 50%, evidence gate unmet 100%Stability over time 100%, credited 100% 89%Instrument breadth 89%, credited 89% | Needs more evidence. The statistics computed, but at least one gate is unmet. It is a read-out, not a ranking, and the row says exactly what is missing.1 check incomplete | Not rankable | 158 | 8 | 117 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack5-near-relvol1005 of 5 checks · within 0.25% of the band · at least 1.00x usual volume | 37.5%no evidence cap | 51%Hit rate 51%, credited 51% 38%Regime breadth 38%, credited 38%, 4 partitions strictly negative 50%Stability over time 50%, credited 50%, 2 partitions strictly negative 53%Instrument breadth 53%, credited 53%, 7 partitions strictly negative | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 459 | 24 | 239 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack5-touch-relvol1255 of 5 checks · exact band touch · at least 1.25x usual volume | 37.5%capped at 50% | 54%Hit rate 54%, credited 54% 38%Regime breadth 38%, credited 38%, 1 partitions strictly negative, evidence gate unmet 50%Stability over time 50%, credited 50%, 2 partitions strictly negative 58%Instrument breadth 58%, credited 58%, 6 partitions strictly negative | Read-only result. There was no opportunity or no execution power, so the components are not a measurement of anything and nothing here may be ordered.1 check incomplete | Read-out only | 204 | 281 | 33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack5-touch-relvol1005 of 5 checks · exact band touch · at least 1.00x usual volume | 5.3%no evidence cap | 48%Hit rate 48%, credited 48% 25%Regime breadth 25%, credited 25%, 5 partitions strictly negative 50%Stability over time 50%, credited 50%, 2 partitions strictly negative 5%Instrument breadth 5%, credited 5%, 16 partitions strictly negative | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 460 | 24 | 193 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Stack 5 · exact band touch · relvol ≥ 1.00x held up in 2 of 8 regime cells, 2 of 4 time blocks and 1 of 19 instruments, over 460 opportunity sessions. Its composite is the MINIMUM of the four, so it is exactly as consistent as its weakest dimension, and regime breadth and stability over time and instrument breadth contain a partition that came out strictly negative. Descriptive only — never promotion evidence, never evidence of profitability.
Technical result identitySaved-result fingerprint: Trading-day breakdown
A session with no decidable bar is not a session with no edge. On the M15 grid an early close carries 14 bars against a 20-bar relative-volume baseline, so no bar is ever decidable and half the roster legitimately gets no chance to trade. Those sessions are counted and excluded from every rate; a session where the strategy evaluated and stood aside is counted IN. The four components
Market conditions · 2 of 8 held up Every planned condition is listed, including conditions with too little data. A condition below 20 trading days is too thin to judge and counts as neither.
Time periods · 2 of 4 held up
Per stock · 1 held up · 16 failed · 2 underpowered
A stock counts as held up or failed only once its own track clears 126 complete trading days. Below that it is too thin to judge. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack5-near-relvol1255 of 5 checks · within 0.25% of the band · at least 1.25x usual volume | 0.0%no evidence cap | 42%Hit rate 42%, credited 42% 13%Regime breadth 13%, credited 13%, 7 partitions strictly negative 0%Stability over time 0%, credited 0%, 4 partitions strictly negative 0%Instrument breadth 0%, credited 0%, 17 partitions strictly negative | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 460 | 24 | 212 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack4-near-relvol125 reads PROVISIONAL: its statistics computed, but its window is 166 sessions rather than 484, so only four of the eight regime cells reach the per-cell floor. The row does not round that away — it names the gate, caps the composite at the evidence ratio, and says how many cells short it is.
stack5-touch-relvol125 is the other failure to tell apart: 281 of its 485 sealed sessions carried no decidable bar at all, 9 of them early closes — on the M15 grid an early close has 14 bars against a 20-bar relative-volume baseline, so half a roster legitimately gets no chance to trade. That is not a day with no edge, and the census in the expanded row keeps the two apart: a no-decidable-bar session is counted and excluded from every rate, and a session where the strategy evaluated and stood aside is counted in. With 33 modelled fills against a floor of 60, the whole row is a read-out and refuses to be ordered against its peers.
Compare completed historical tests, then inspect the evidence before anything can graduate.
Legacy family-level results · not eligible for graduation
These scores combine several stocks. Graduation requires a separate validation result for each exact strategy + stock combination, followed by an independent check and owner sign-off.
How to read the results
Each component is credited at the lower of its measurement and evidence ratio. The composite is the minimum of those four credited components. 6 strategy versions below has at least one negative partition.
| Comparison status | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
stack4-touch-relvol1004 of 5 checks · exact band touch · at least 1.00x usual volume | 63.7%no evidence cap | 64%Hit rate 64%, credited 64% 100%Regime breadth 100%, credited 100% 100%Stability over time 100%, credited 100% 89%Instrument breadth 89%, credited 89% | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 465 | 19 | 363 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack4-near-relvol1004 of 5 checks · within 0.25% of the band · at least 1.00x usual volume | 58.9%no evidence cap | 59%Hit rate 59%, credited 59% 88%Regime breadth 88%, credited 88%, 1 partitions strictly negative 100%Stability over time 100%, credited 100% 89%Instrument breadth 89%, credited 89% | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 466 | 19 | 336 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack4-touch-relvol1254 of 5 checks · exact band touch · at least 1.25x usual volume | 58.5%no evidence cap | 58%Hit rate 58%, credited 58% 88%Regime breadth 88%, credited 88%, 1 partitions strictly negative 100%Stability over time 100%, credited 100% 89%Instrument breadth 89%, credited 89% | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 460 | 24 | 276 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack4-near-relvol1254 of 5 checks · within 0.25% of the band · at least 1.25x usual volume | 50.0%capped at 50% | 61%Hit rate 61%, credited 61% 50%Regime breadth 50%, credited 50%, evidence gate unmet 100%Stability over time 100%, credited 100% 89%Instrument breadth 89%, credited 89% | Needs more evidence. The statistics computed, but at least one gate is unmet. It is a read-out, not a ranking, and the row says exactly what is missing.1 check incomplete | Not rankable | 158 | 8 | 117 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Stack 4 · 25bp band tolerance · relvol ≥ 1.25x held up in 4 of 8 regime cells, 4 of 4 time blocks and 17 of 19 instruments, over 158 opportunity sessions. Its composite is the MINIMUM of the four, so it is exactly as consistent as its weakest dimension. Descriptive only — never promotion evidence, never evidence of profitability.
Technical result identitySaved-result fingerprint: Trading-day breakdown
A session with no decidable bar is not a session with no edge. On the M15 grid an early close carries 14 bars against a 20-bar relative-volume baseline, so no bar is ever decidable and half the roster legitimately gets no chance to trade. Those sessions are counted and excluded from every rate; a session where the strategy evaluated and stood aside is counted IN. The four components
Evidence · what is still needed
Market conditions · 4 of 8 held up Every planned condition is listed, including conditions with too little data. A condition below 20 trading days is too thin to judge and counts as neither.
Time periods · 4 of 4 held up
Per stock · 17 held up · 0 failed · 2 underpowered
A stock counts as held up or failed only once its own track clears 126 complete trading days. Below that it is too thin to judge. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack5-near-relvol1005 of 5 checks · within 0.25% of the band · at least 1.00x usual volume | 37.5%no evidence cap | 51%Hit rate 51%, credited 51% 38%Regime breadth 38%, credited 38%, 4 partitions strictly negative 50%Stability over time 50%, credited 50%, 2 partitions strictly negative 53%Instrument breadth 53%, credited 53%, 7 partitions strictly negative | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 459 | 24 | 239 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack5-touch-relvol1255 of 5 checks · exact band touch · at least 1.25x usual volume | 37.5%capped at 50% | 54%Hit rate 54%, credited 54% 38%Regime breadth 38%, credited 38%, 1 partitions strictly negative, evidence gate unmet 50%Stability over time 50%, credited 50%, 2 partitions strictly negative 58%Instrument breadth 58%, credited 58%, 6 partitions strictly negative | Read-only result. There was no opportunity or no execution power, so the components are not a measurement of anything and nothing here may be ordered.1 check incomplete | Read-out only | 204 | 281 | 33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Stack 5 · exact band touch · relvol ≥ 1.25x is a read-out only: 33 modelled fills against a floor of 60, so its components are not a measurement of anything. Most of its sealed sessions carried no decidable bar at all. On the M15 grid a regular session has 26 bars and the relative-volume baseline consumes the first 20, leaving six; this variant needs all five checks AND a volume premium on one of those six, and in this specimen corpus that almost never happens. Nine of the sessions are early closes, where the 14 bars an early close carries are consumed by the baseline outright and nothing is even attempted. A day with no decidable bar is NOT a day with no edge: it is excluded from every rate below rather than counted as a loss, because a strategy that was never given a chance did not fail.
Technical result identitySaved-result fingerprint: Trading-day breakdown
A session with no decidable bar is not a session with no edge. On the M15 grid an early close carries 14 bars against a 20-bar relative-volume baseline, so no bar is ever decidable and half the roster legitimately gets no chance to trade. Those sessions are counted and excluded from every rate; a session where the strategy evaluated and stood aside is counted IN. The four components
Evidence · what is still needed
Market conditions · 3 of 8 held up Every planned condition is listed, including conditions with too little data. A condition below 20 trading days is too thin to judge and counts as neither.
Time periods · 2 of 4 held up
Per stock · 11 held up · 6 failed · 2 underpowered
A stock counts as held up or failed only once its own track clears 126 complete trading days. Below that it is too thin to judge. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack5-touch-relvol1005 of 5 checks · exact band touch · at least 1.00x usual volume | 5.3%no evidence cap | 48%Hit rate 48%, credited 48% 25%Regime breadth 25%, credited 25%, 5 partitions strictly negative 50%Stability over time 50%, credited 50%, 2 partitions strictly negative 5%Instrument breadth 5%, credited 5%, 16 partitions strictly negative | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 460 | 24 | 193 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stack5-near-relvol1255 of 5 checks · within 0.25% of the band · at least 1.25x usual volume | 0.0%no evidence cap | 42%Hit rate 42%, credited 42% 13%Regime breadth 13%, credited 13%, 7 partitions strictly negative 0%Stability over time 0%, credited 0%, 4 partitions strictly negative 0%Instrument breadth 0%, credited 0%, 17 partitions strictly negative | Complete evidence. Every gate is met, so this score may be ranked against its peers. | Rankable | 460 | 24 | 212 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The first-arrival path. A score exists only once every work unit of a sealed wave has been replayed, so a wave that is still running has no results — and this says so rather than showing a partial one or an empty table with eight blank rows.
Historical results appear only after a complete test is saved.
No test batch has produced a saved result.
A result appears only after every planned replay finishes. This page does not guess or show an incomplete test as if it were finished.