How the track record is counted.
Every public recommendation on AlphaYou is timestamped before its results land. This page describes the rules: what gets counted, what gets hidden, how returns are measured, and how the gate decides which signals reach the public surface.
What counts as a public recommendation.
AlphaYou publishes more signals internally than it shows to the public. Only signals that pass the Signal Quality Gate appear in the public feed, get counted in the headline track record, and earn the “Public Recommendation” label.
The current launch posture is clean, long-only public recommendations. Three tiers exist:
- PUBLIC. Counted in the headline track record. Shown in /signals and on per-ticker pages.
- WATCH.Clean long signals that didn't clear the public-recommendation score floor. Shown as context on per-ticker pages, not counted in the headline.
- INTERNAL. Hidden from public surfaces (short signals while SHORT public recommendations are disabled, sub-$5 names, warrants, suppressed cohorts, low-confidence band, etc.). The direct proof page at
/signal/:idstill resolves so the cryptographic receipt remains verifiable, with a banner that explains why it is not a public recommendation.
One recommendation per ticker, direction, and UTC issue date.
Repeat alerts on the same name within the same day are not counted twice. The first signal in a group is the measured entry; later matching signals become supporting context for the same recommendation.
This rule keeps a noisy cluster of related events from inflating the public count, and it prevents a single fresh insider filing from changing the entry price after the recommendation has already been timestamped.
key = (ticker, direction, DATE(issued_at AT TIME ZONE ‘UTC’))
The entry price is locked at publication.
The issued price is the market quote at the moment a recommendation is published. It is written into the recommendation's canonical hash and is not editable after issue.
When checkpoints land, return math anchors to the issued price and applies the issuance-bar adjustment factor. Stock splits and dividends do not distort the recorded return.
Terminal events (delisting, halt-to-zero) mark to the last real traded close rather than fabricating a –100% number.
Three reference points for every recommendation.
Each walk-forward checkpoint records the recommendation's return alongside three benchmark returns over the same window, so the same data answers three different questions:
- SPY— the broad S&P 500 baseline. This is the primary published benchmark.
- QQQ— the Nasdaq-100 view. Surfaced where the checkpoint has it (newer calls always do; older ones backfilled as data permits).
- Sector ETF— an SPDR sector ETF mapped from the ticker's sector at issuance (XLK, XLF, XLE, XLV, XLI, XLP, XLY, XLB, XLU, XLRE, XLC). Strips broad sector beta out of the “alpha” number; a tech name beating SPY only because tech rallied looks honest under this comparison.
The headline /track-record page shows all three side by side so a visitor can pick the comparison that matters to them.
Walk-forward checkpoints, not point-in-time guesses.
Every recommendation is scheduled for checkpoints at D7, D15, D30, D60, D120, D180, and D365 after issue. A checkpoint lands when the calendar window is complete and price data has settled; it then sits permanently in the public log.
D7 is currently the only horizon with enough mature gated recommendations to publish honestly. D15 and D30 are shown as maturity placeholders until at least 50 public recommendations have reached each window. Longer horizons fill in as the public set ages.
Wins and misses both stay visible. A checkpoint that lands at –8% does not disappear; it is part of the record by construction.
The headline number is the middle, not the average.
One large outlier — a single recommendation that ran +30% in a week — can lift the mean of the whole record without saying anything about whether the rest of the calls worked. The median is the value that survives a small outlier set: half the recommendations did better, half did worse.
Median is the primary headline number on each performance card. Mean, hit rate, and benchmark return are shown as secondary stats next to it. The mean is published for completeness, not as the marketing claim.
Historical reconstructions never move the headline.
Some historical signals exist in the database for model calibration. They have is_backfill = true and are excluded from every live-alpha headline number on /track-record.
Backfill rows can appear in the public proof log when they carry a real cryptographic receipt, but they are not counted in the public performance stats. The live-only filter is applied automatically in every aggregation query.
Hash, timestamp, Bitcoin block.
Each signal's canonical payload (ticker, direction, signal type, breakdown, why-now, target range, horizon, confidence, issued price, issued-at, benchmark) is hashed using a deterministic SHA-256 scheme at publish time. The hash is unique to that exact published payload.
The hash is submitted to OpenTimestamps. When the calendar batches into a Bitcoin block, the proof attests that the exact payload existed before that block, and therefore before its results. The block height becomes part of the receipt; anyone can re-verify it offline against the Bitcoin chain.
Direct /signal/:id proof pages expose the canonical hash, the issued price, the OpenTimestamps URL, the Bitcoin block height (once confirmed), the walk-forward checkpoint schedule, and the gate status. The page resolves whether the signal is PUBLIC, WATCH, or INTERNAL.
The portfolio claim has a stricter gate than the signal cards.
Per-signal alpha and a tradable portfolio are different claims. A signal card asks whether a recommendation beat its benchmark at a fixed checkpoint. A portfolio policy asks whether a fixed execution rule could buy the public recommendation set and beat SPY and QQQ buy-and-hold over the same dates.
The current candidate policy is frozen as prospective_7d_50_v1. It is not public marketing evidence unless its promotion gate clears.
- Eligible set
- PUBLIC, live, LONG recommendations only; backfills and WATCH/INTERNAL signals are excluded.
- Score floor
- Conviction score >= 14.
- Capacity
- Maximum 50 open positions, filled by conviction score with deterministic tie-breaks.
- Execution
- Next trading day's adjusted open, not the receipt price. Entry and exit both include 10 bps adversarial slippage.
- Hold window
- 7 calendar days from entry, with scheduled exits and terminal-event handling.
- Benchmarks
- SPY and QQQ buy-and-hold over the same start and end dates as the strategy curve.
- Promotion bar
- At least 5 fresh market-day runs, D15 and D30 maturity >= 50, every evaluated run >= 50 closed trades, zero missing bars, max drawdown no worse than -8%, and every run >= 2.0x vs both SPY and QQQ.
Until that stricter promotion gate clears, AlphaYou can discuss the candidate internally as a monitored policy, but public copy should stay with receipts, source coverage, and walk-forward signal accountability.
Current promotion gate
BLOCKED
- Fresh days
- 1 / 5
- D15 maturity
- 38 / 50
- D30 maturity
- 0 / 50
Latest fresh run: strategy +6.57%, SPY +2.40% (2.73x), QQQ +3.87% (1.70x), closed 81, drawdown -2.03%.
- D15 maturity 38/50 is below promotion floor
- D30 maturity 0/50 is below promotion floor
- fresh market-day runs 1/5 is below promotion floor
- b2484152-e023-40ce-a714-ebd02295a627 (2026-05-29): QQQ multiple 1.70x < 2.00x
Promotion gate timeline
Recent candidate-policy audit runs are kept as durable evidence. The gate only treats fresh market-day runs as promotion evidence; cached runs remain visible so regressions and data freshness are auditable.
| Run | Source | Strategy | SPY | QQQ | Trades | Drawdown | Gate | Snapshot |
|---|---|---|---|---|---|---|---|---|
May 29, 2026 captured May 29, 07:10 PM UTC b2484152-e023-40ce-a714-ebd02295a627 | fresh | +6.57% | +2.40% 2.73x | +3.87% 1.70x | 81 closed 121 entries · 40 open | -2.03% | PASS | dc1cea5ed0d7 prospective_7d_50_v1 |
May 29, 2026 captured May 29, 05:44 PM UTC d0c26be1-cdad-4fa3-9bf1-dc6f2a9b732a | cached | +6.57% | +2.40% 2.73x | +3.87% 1.70x | 81 closed 121 entries · 40 open | -2.03% | PASS | 120397e0ec7e prospective_7d_50_v1 |
What it takes to be a public recommendation today.
A signal becomes a public recommendation only when every criterion below is satisfied at publish time. The gate is re-evaluated at backfill, so historical signals that no longer satisfy a criterion get demoted automatically.
- Direction
- LONG only. SHORT public recommendations are disabled until walk-forward evidence at D15 and D30 supports promoting them.
- Conviction score
- Score ≥ 14 (upper-WEAK band and above). Calibrated 2026-05-28 from a 90-day sweep against the gated cohort.
- Confidence band
- Never LOW. A LOW classification is always demoted regardless of score.
- Issued price
- ≥ $5 at issue. Sub-$5 names dominate the variance tail in both directions and are kept internal.
- Ticker type
- No warrants, units, or rights. Detected via ticker-suffix patterns (standalone W / WS / RT, dot-separated .U / .R / -W, etc.) and AlphaVantage AssetType when available.
- Coverage
- For LONG, AlphaVantage OVERVIEW must exist for the ticker. Tickers we cannot fundamentally cover are kept internal.
- Suppress cohorts
- Source-combination + sector cohorts with confirmed D7+D15 underperformance against SPY, QQQ, and sector ETF are demoted. Active rules are listed in the gate service and revisited on cadence.
When any criterion fails, the signal is still written and still has its proof receipt. It just does not appear in public-headline counts or in /signals. WATCH-tier signals appear on per-ticker pages as context.
The public log is the source of truth.
Headline numbers come straight from the gated public- recommendation set + walk-forward checkpoints. If a number ever does not reconcile, the per-signal proof page wins.