The ALAN Indicator distills each chart into one calibrated BULL / BEAR / NEUTRAL read. This page publishes exactly how accurate those reads have been — measured by replaying twenty years of market history through the same code that runs in the product, caveats included. No cherry-picking, no hidden methodology changes.
Twenty years of market history, replayed through the exact indicator that runs on this page. These are the published results — built by ALAN, measured honestly, updated with every calibration.
| Read | Share of days | Hit rate · 1M | Any-day odds | Edge | Median 1M move | Episodes |
|---|---|---|---|---|---|---|
| BULL | 1.7% | 67.2% | 58.8% | +8.4pp | +3.8% | 609 |
| BEAR | 0.19% | 59.4% | 41.1% | +18.3pp | -1.4% | 132 |
| NEUTRAL | 98.1% | — | — | — | +1.6% | — |
Reading the table: over these twenty years, any random day had a 58.8% chance of finishing the next month higher — the market drifts up. On days the indicator read BULL, stocks finished the month higher 67.2% of the time, 8.4 points better than chance. BEAR reads are rarer and carried the larger edge: price fell 59.4% of the time against a 41.1% any-day down-rate — 18.3 points of edge — and the median BEAR month was negative in a market that usually rises.
The indicator is calibrated separately on every bar size the chart offers — each row below is that interval's own replay on its own bars, over the history the data source honestly provides. Short histories publish fewer setups and carry reduced confidence; they are never backfilled from the daily model.
| Bar size | Forward window | Evaluated bars | BULL hit / odds | BEAR hit / odds | Published setups |
|---|---|---|---|---|---|
| 1d | 21 sessions (about 1 month) | 204,057 | 67.2% / 58.8% | 59.4% / 41.1% | 50 |
| 1m | 21 bars (about half a session) | 343,866 | no reads | 95.0% / 50.0% | 50 |
| 5m | 21 bars (about 1.75 hours) | 133,978 | 0.0% / 49.5% | 100.0% / 50.3% | 51 |
| 15m | 21 bars (about 1 session) | 30,000 | no reads | no reads | 41 |
| 1h | 21 bars (about 3 sessions) | 151,775 | 68.3% / 54.2% | 63.6% / 45.7% | 52 |
| 1wk | 21 bars (about 5 months) | 64,128 | no reads | no reads | 41 |
| 1mo | 21 bars (about 21 months) | 6,563 | no reads | no reads | 16 |
A read flags a chart where the month-ahead odds have historically tilted — it is a reason to look closer, not an instruction to act. Confirm against the support/resistance levels and your own research before positioning.
The indicator reads NEUTRAL about 98% of the time. That is by design: no edge is itself information. A chart without a read is a chart where history offers no tilt — do not force a position onto it.
BULL appears on roughly 1.7% of ticker-days and BEAR on 0.2%. When one appears, the historical evidence cleared a high bar — rarity is what keeps the published hit rates meaningful.
Every published number is measured 21 trading sessions ahead, close to close. The indicator speaks to the coming month — it is not an intraday timing tool, and it says nothing about tomorrow.
The conviction number next to a read scales with how far that setup's historical hit rate cleared the market's own odds. Use it to rank reads against each other — a higher conviction earned more evidence.
BULL reads have been right 67.2% of the time — which means roughly one in 3 was wrong. Size positions so that a miss is survivable; no read is a guarantee.
| Signal | Direction | n (1M) | Hit 1M | Median move | Worst decile | Sessions to resolve |
|---|---|---|---|---|---|---|
| falling-wedge | BULL | 892 | 68.2% | +3.5% | -11.1% | 3 |
| bb-reversal | BULL | 4963 | 60.8% | +2.2% | -14.6% | 2 |
| bull-harami | BULL | 1060 | 61.2% | +2.3% | -12.5% | 3 |
| doji | BULL | 8700 | 59.1% | +1.7% | -13.2% | 3 |
| bull-engulfing | BULL | 2868 | 59.7% | +1.9% | -13.5% | 3 |
| double-bottom | BULL | 2033 | 60.0% | +1.8% | -11.1% | 3 |
| rsi-extreme-exit | BULL | 1954 | 59.7% | +1.9% | -16.9% | 2 |
| exhaustion-gap-reversal | BULL | 1243 | 60.1% | +2.0% | -15.6% | 2 |
| neckline-approach | BULL | 2128 | 59.1% | +1.4% | -11.0% | 3 |
| descending-channel | BULL | 346 | 61.9% | +2.5% | -12.4% | 3 |
| inverse-head-and-shoulders | BULL | 1432 | 59.1% | +1.5% | -10.8% | 3 |
| macd-bull-divergence | BULL | 1657 | 58.7% | +2.0% | -13.9% | 3 |
ALAN backtest v2026-07c · calibrated as-of 2026-07-16 · replayed through 2026-07-16 · 204,057 ticker-days · in-sample: reads are evaluated on the same history the indicator was calibrated from · publication threshold n ≥ 30 on the 21-session horizon, close-to-close, incomplete horizons dropped. Survivorship caveat, stated plainly: the basket is today's liquid large-caps, so these statistics describe behavior on surviving names — the population most users trade. Historical statistics, not investment advice.
Backtested performance. Generated by applying a model to historical data with the benefit of hindsight; no client funds were managed using this model during the period shown. Results do not reflect liquidity constraints, slippage, transaction costs, fees, or taxes, and may differ materially from actual results. Past performance does not guarantee future results.
Want to see today’s reads? Create a free account and open any ticker under Research → Technicals.
Yes — and it is published with its caveats. Hit rates and edge-over-base-rate figures come from replaying twenty years of market history through the same production code, with the in-sample calibration and survivorship limitations disclosed per signal on this page — miss rates included. Buckets with too little history publish no likelihood at all.
A free ALAN account puts the calibrated BULL / BEAR / NEUTRAL read, the signal scanner, and support/resistance levels on every ticker you research.