Search history
Price & overlays
RSI (14)
MACD (12, 26, 9)
Indicators
Signals
Tip: the verdict reflects multi-week trend (SMAs, RSI, MACD, Bollinger). A stock can be down today but still "bullish" if the longer-term trend is intact — see the Learn tab for what each indicator means.
Market Sectors
11 SPDR sector ETFs as headlines, with ~15 top large-cap components per sector. Verdicts use the same 3-month indicator read as the Analysis tab.
Movers & Signals
Today's biggest movers, a technical-signal scan across our sector universe, and upcoming earnings. Surfacing notable activity — not predictions.
📈 Today's Movers
🎯 Technical Signals
📅 Earnings This Week
🔔 Signal alerts
A roster of intraday strategies scans the watchlist every pass — tap to see what each one looks for. Fresh signals post to Slack; new strategies run signals-only until their stats earn auto-trading. Educational, not investment advice.
Alert watchlist
Tickers scanned every minute for Purgatory signals. Separate from the Quotes tab, which just tracks prices.
Signal leaderboard?
Ranked by the Wilson lower bound by default: the win rate we can be 95% sure a pair at least has, given how few signals it has. A 100% pair with 4 signals ranks below a 65% pair with 60. Momentum says whether the recent record is beating the pair's own history.
Recent signals
🤖 Alpaca auto-trader
Places an options order on every fresh Purgatory signal and closes it after the hold window. Everything the bot does shows up here.
Strategies
P&L performance
Realized P&L
Stop-rule study?
What the paper book would have made under a different stop, replayed on real option quotes. The current rule is highlighted. No stop means the hold timer is the only exit. Paths are sampled once per scan, so thresholds tighter than the current stop sit on a coarse grid.
Daily retros (last 14 days)
🎯 Bullseye daily predictions
Every weekday after the close, a friend's machine-learning model looks at the last 40 daily bars of each watchlist ticker and calls BUY, HOLD or SELL for where the stock will be 5 trading days later. This page keeps score. Nothing trades on these calls.
▸How to read this page
1 · The call. BUY means the model expects the close 5 sessions out to be more than +1.65% above the as-of close. SELL means more than 1.05% below. HOLD means somewhere in between. Those cut-offs come from how the model was trained, so it's graded on its own terms.
2 · The grade. Once the target session has closed, the server computes the realized % move from the as-of close to the target close, turns it into an actual label with the same cut-offs, and marks the call ✓ if it matched or ✗ if not. … means the target session hasn't closed yet.
3 · Backfilled vs forward-only. Rows marked ↺ were replayed from history in one batch after the fact. They're useful for a first look, but the model may have been trained on those dates, so they can flatter it. Forward-only rows were posted the same evening the call was made, before anyone knew the outcome — that's the honest test. Tick forward-only to see just those.
4 · What counts as good. Accuracy on its own is misleading because outcomes aren't evenly split. Two lazy strategies set the bar: always-HOLD (call HOLD every time) and majority class (always call whatever outcome has been commonest). The model has to beat both, on forward-only rows, with enough calls that the gap isn't luck. The read-out below tracks exactly that.
Educational measurement only — not investment advice.
Plain-English read?
Hit rate?
By call?
By ticker?
Predictions?
How to read this app
Ticker Tracker computes a small set of widely-used technical indicators on a stock's recent price action and rolls them up into an overall verdict — bullish, leaning bullish, neutral, leaning bearish, or bearish. Each indicator below contributes ±1 to a score; the score maps to the verdict. Indicators measure different things, so they can disagree — that's normal, and the spread is itself information.
None of this is investment advice. Indicators describe past price behavior; markets do not reliably repeat. Always pair technicals with fundamentals and risk management.
📈 Trend — Moving Averages
The unweighted average of the last N closing prices. SMA 20 uses 20 bars, SMA 50 uses 50, SMA 200 uses 200.
▸ Price above a moving average = uptrend (bullish). Below = downtrend (bearish). Short SMA above long SMA confirms the trend (the classic "golden cross" / "death cross" setup).
Same idea as SMA but recent prices are weighted more heavily, so EMA reacts faster. Used as the inputs to MACD.
Linear regression slope of the SMA20 over the period, in % per bar. Positive = the short-term trend is rising; negative = falling; near zero = consolidation.
⚡ Momentum — RSI
Compares the average size of recent up moves to recent down moves on a 0-100 scale. 14-bar window is the standard.
▸ ≥ 70 overbought (move is stretched, possible pullback). ≤ 30 oversold (selloff is stretched, possible bounce). 30-70 neutral. RSI works best in range-bound markets — in strong trends it can stay overbought/oversold for weeks.
🌊 Momentum — MACD
The MACD line is the difference between the 12-bar and 26-bar EMAs. The signal line is a 9-bar EMA of the MACD line. The histogram is the gap between them.
▸ MACD crossing above signal = bullish. MACD crossing below signal = bearish. A growing histogram = momentum is building in that direction; a shrinking histogram = it's fading.
🎯 Volatility — Bollinger Bands
A volatility envelope around price. The middle line is the SMA20; the upper/lower bands are 2σ above/below.
▸ Price pinned to upper band (≥ 95% of the way up) = stretched, possible mean reversion. Pinned to lower band = oversold. Bands squeezing tight = volatility is compressed and a breakout is likely (direction not specified).
📊 Volume
Today's volume compared to the 20-bar average.
▸ ≥ 1.5× avg = high conviction (the move has buyers/sellers behind it). ≤ 0.6× avg = light volume (move is less reliable; can be reversed easily).
🧱 Support & Resistance
Resistance is the highest high in the period — past sellers stepped in there. Support is the lowest low — past buyers stepped in.
▸ Watch these as price approaches them. A clean break + retest typically signals trend continuation; failure to break = trend exhaustion.
🧮 How the verdict is scored
Each indicator contributes ±1 to a running score:
- Price above SMA20 → +1, below → −1
- SMA20 above SMA50 → +1, below → −1
- Price above SMA200 → +1, below → −1 (only if 200 bars are available)
- RSI ≥ 70 → −1 (overbought is bearish), ≤ 30 → +1 (oversold is bullish)
- MACD line above signal → +1, below → −1
- Price ≥ 95% of BB range → −1, ≤ 5% → +1
Final score → verdict: ≥ 3 bullish · 1-2 leaning bullish · 0 neutral · -1 to -2 leaning bearish · ≤ -3 bearish.
🗺️ How to read the charts (Analysis tab)
The blue filled line is closing price. The dashed lines are SMAs (20=amber, 50=green, 200=cyan). The grey channel is the Bollinger Band envelope. Look for: where price sits in the channel, whether it's above/below SMAs, whether SMAs are stacked in trend order.
A 0-100 oscillator. The two dashed lines are 70 (red, overbought) and 30 (green, oversold). Sustained moves above/below are momentum extremes. Divergence vs price (RSI making lower highs while price makes higher highs, or vice versa) is a classic reversal warning.
Blue = MACD line, amber = signal line. Histogram bars are the gap between them — green when MACD > signal, red when below. Watch for crossovers (sign change in the histogram) and for the histogram expanding vs shrinking.