Overview
This page explains how to read the terminal and how each forecast is calculated. The goal is to give you the concepts in plain language — not the internal code structure — so you can interpret any ticker run with confidence.
🔎 The Core Checkpoint: Out-of-Sample Validation
Before evaluating any trade setup, look at the Validation block. This is the ultimate guardrail for your capital.
- What it does: The terminal uses expanding-window walk-forward validation. It steps through history one period at a time, makes out-of-sample predictions, and scores them against "climatology" — the historical base rates of the asset — using log-loss, Brier and ranked probability scores, with a block-bootstrap significance test.
- The Blend Rule: When the network's historical predictions are uncertain, the forecast is automatically shrunk toward the historical prior. The blend weight is chosen by whichever mix performed best in the walk-forward test.
How to read the badge:
The out-of-sample test cleared 95% confidence (z-score above 1.64). The indicators showed a measurable edge over the stock's historical average.
Not enough evidence to claim an edge at 95% confidence. This is a normal result. The forecast leans toward the stock's historical average.
The indicators added no value out of sample, so the forecast is the stock's historical average.
Why most stocks show "No proven edge"
A strict 95% confidence bar
Daily price moves are noisy. Instead of tuning indicators until a backtest looks impressive, every ticker goes through a walk-forward test on data the model has not seen. A ticker only gets "Edge detected" when its edge passes a one-sided z-score of 1.64 (p < 0.05).
Why a handful out of 100 is normal
"Edge detected" is not an up/down call, so it isn't compared with a 50/50 coin flip. It is a significance test. Even on pure noise, a 95% bar lets through about 5 in 100 by luck. Most stocks trade efficiently on daily horizons, and simple price indicators carry no reliable edge on the large majority of them. A tool that claimed a strong edge on 70 out of 100 random tickers would almost certainly be overfitted, and those results tend to fall apart with real money.
The safeguard: falling back to the historical average
When the evidence is weak, the model doesn't make up confidence. It leans toward the stock's long-term historical average instead. The terminal isn't meant to push a trade on every ticker. It works as a filter that picks out the few cases where past price behaviour has given a measurable advantage.
📊 Posterior Forecast Engine
The terminal pulls completed daily sessions (split- and dividend-adjusted) for the ticker and aligns them with the Nasdaq-100 (QQQ) as a market benchmark. Six market conditions are grouped into simple states:
| QQQ 20-day | The broader market's 20-day return, scaled by its own volatility: down, flat or up. |
|---|---|
| 5-day momentum | The stock's short-term move, scaled by its own volatility: down, flat or up. |
| 20-day momentum | The stock's medium-term move, scaled the same way. |
| RSI(14) | Oversold (<35), Neutral (35–65) or Overbought (>65). |
| Volume ratio | Low (<0.8×), Normal (0.8–1.5×) or Spike (>1.5×) versus the 20-day average. |
| Volatility | Low / mid / high, measured against this stock's own last two years (504 sessions). |
The forecast gives three probabilities for each horizon: down, flat or up. "Flat" is not a fixed percentage. It scales with how much the stock normally moves: threshold = 0.5 × 20-day volatility × √(horizon / 252). For a calm stock (15% annual volatility) a 20-day "up" means roughly +2.3%; for a volatile one (60%) it means roughly +9.2%. This keeps quiet and wild stocks comparable.
The model uses at most the most recent 3,000 sessions (about 12 years). The report shows the first date it actually used.
🎯 Choosing Drivers & Staying Close to the Average
Not every condition carries information. The terminal measures each one with mutual information, corrected for the false signal that small samples naturally produce. It picks the strongest driver first, then adds others only if they bring new information beyond those already chosen. It stops when the extra information is negligible (under 0.002 bits) or the maximum is reached.
It is perfectly valid to pick zero drivers. The report then says "No reliable drivers found for this stock", and the forecast equals the stock's historical base rate.
Probabilities are smoothed toward the stock's historical average with a fixed strength of 12 virtual observations. A condition seen only a few times barely moves the forecast; a never-seen condition returns the historical average exactly.
⏳ Historical Analogues
Analogues are past days that matched today on the drivers the model chose for that horizon. Days within 10 sessions of each other count as one episode, so one long trend cannot pose as many independent examples.
- Relaxing the match: if fewer than 8 episodes match, the weakest driver is dropped one at a time (never below one). The report says what was matched and whether it was relaxed.
- Baseline and lift: analogue results are compared against all historical days. "Lift" is the difference. Hit rates include an 80% confidence range.
- Low confidence: under 8 episodes the section is flagged and the median path is hidden, because it would be mostly noise.
📐 Key Levels & Scenario Planner
- Support & resistance: a price ladder built from swing pivots and volume-by-price clusters over the last year, each with a strength score.
- Scenario planner: neutral Upside and Downside scenarios built from those levels, each showing the modelled chance of touching the target before the stop. It is shown whenever levels exist, with the validation badge beside it.
- Simulation: 20,000 simulated price paths at the stock's current volatility, using a fixed seed so the same inputs always give the same numbers. "Touch" means the price reached the level at any point, not that it finished there.
- Your own levels: enter an entry, stop and target on the run screen to get a simulation for your exact setup, including the average outcome per trade.
🗂️ Data Coverage Tiers
- Full (500+ usable sessions): all features, normal driver selection and model weight.
- Limited (300–499): at most 2 drivers and a model weight capped at 0.20, to avoid overfitting short histories.
- Descriptive only (under 300): price, volume and level analysis only. Forecasts are hidden, and the report estimates how many more trading days are needed.
⚠️ Honest Analytical Limits
Always remember the boundaries of pure mathematical models:
- 1. Technical Boundary: The model only sees price action, volume metrics, and index states. It cannot see unannounced macro shocks, earnings reports, corporate restructuring, or regulatory shifts.
- 2. The Context Filter: Use the optional News Overlay to bridge this gap. If the math shows a strong technical edge, but live headlines indicate severe fundamental overvaluation or catalyst risk, adapt your trade thesis accordingly.
Research tool, not investment advice. Past patterns do not guarantee future results.
🗳️ Vote on What's Next
These are the features we're considering. Click "Want this" on anything you'd actually use — your votes decide what we build first.
Upload your broker trade CSV or enter your win rate and reward-to-risk. Simulate 10,000 challenge runs against firm rules (daily loss limit, trailing drawdown, profit target) to see your pass probability and a safe risk per trade.
One-click calculator pre-filled from any report's entry, stop and target. Works out share size, money at risk and fractional Kelly sizing for your account balance.
Import closed trades from your broker statement or CSV into a clean journal with performance review, R-multiple tracking and mistake tags.
Lightweight email alerts when a stock on your watchlist closes past a key upside or downside level from its report.
See how a stock has historically moved around earnings days, including gap sizes and the spread of outcomes, before holding through a report.
One vote per feature per person. Results are public on this page.