The daily 21 EMA is the pivot of the Saty system — the core trend reference. Over 25 years, SPY has closed as far as +7.2% above and −18.5% below it. When price stretches beyond +4%, the reversion is predictable. The question is which signal tells you it's starting.
Across 6,583 daily bars from January 2000 to April 2026, SPY's closing price deviates from the daily 21 EMA in a heavily asymmetric way. The upside ceiling is about +7% — the downside floor is nearly three times deeper.
The asymmetry is structural. Crashes compress weeks of buying into days of selling. SPY can stretch 2.5× further below the 21 EMA than above it.
SPY spends most of its time in a narrow band above the 21 EMA. The median deviation is +0.68% — price naturally rests slightly above its trend. The distribution has a fat left tail from crash episodes.
Forward returns after extreme deviations confirm that the 21 EMA acts as a gravitational center. Oversold extremes (< −5%) produce the strongest bounce — +3.3% over 20 days. Overbought extremes (> +5%) revert too, but more gently.
| Deviation | n | 1-Day | 5-Day | 10-Day | 20-Day |
|---|---|---|---|---|---|
| Dev > +5% | 40 | −0.73% | −0.88% | −0.58% | +0.43% |
| Dev +3% to +5% | 274 | −0.12% | −0.11% | −0.08% | +0.29% |
| Dev +1% to +3% | 2,438 | +0.03% | +0.13% | +0.29% | +0.54% |
| Dev −1% to +1% | 2,375 | +0.02% | +0.07% | +0.18% | +0.38% |
| Dev −3% to −1% | 955 | −0.01% | +0.15% | +0.40% | +0.73% |
| Dev < −5% | 170 | +0.24% | +0.78% | +0.97% | +3.31% |
| Dev < −7% | 77 | +0.50% | +1.75% | +2.64% | +5.36% |
Below −7% from the 21 EMA has been the strongest systematic buy signal in 25 years of SPY data. 20-day forward return: +5.36%. It only happens 77 times — roughly 3 days per year — all during crashes.
Only 106 days across 50 episodes in 25 years close more than 4% above the daily 21 EMA. These episodes are rare, brief, and carry a reliable bearish edge over the next 1–3 days.
| Horizon | Mean Return | Median | Green % |
|---|---|---|---|
| 1-day | −0.30% | −0.16% | 44% |
| 2-day | −0.51% | −0.24% | 40% |
| 3-day | −0.43% | −0.38% | 38% |
| 5-day | −0.42% | −0.30% | 44% |
| 10-day | −0.37% | +0.49% | 58% |
The first 3 days carry the strongest edge — only 38% green at day 3. By day 10, the mean is still negative but the median flips positive as some episodes rip higher first.
| Horizon | Mean Return | Green % |
|---|---|---|
| 1-day | −0.83% | 26% |
| 2-day | −0.98% | 26% |
| 3-day | −1.02% | 30% |
The peak day of each episode is devastating for bulls: only 26% green the next day, with a −0.83% average. The challenge is identifying the peak day in real time — which is where the Phase Oscillator comes in.
The daily Phase Oscillator only updates at close, so it confirms the turn after the fact. The 4-hour PO reacts within the same day. We tested both as reversion filters when price is >4% above the daily 21 EMA.
ETH vs RTH: The daily EMA21 and daily PO are computed on RTH-only bars (9:30–4pm). The 4-hour PO is computed on ETH bars (4am–8pm), which includes pre- and post-market. Extended-hours volatility inflates the ATR denominator in the PO formula, compressing 4h PO readings relative to an RTH-only chart. Zone labels (distribution, neutral up, etc.) may differ from what you see on TradingView with RTH-only settings.
The daily leaving_distribution signal fires zero times while >4% above EMA21. The daily PO declining fires only 12% of the time. The 4h PO declining fires 4× more often — giving you a signal you can actually trade.
The direct comparison, showing all three short-term horizons. Each signal is tested on days where the close was >4% above the daily 21 EMA.
| Signal | n | 1-Day | 2-Day | 3-Day | 1d Green |
|---|---|---|---|---|---|
| All days >4% (baseline) | 106 | −0.43% | −0.63% | −0.62% | 40% |
| 4h PO big drop (Δ < −10) | 7 | −1.64% | −1.29% | −1.05% | 14% |
| Daily PO dec + red candle | 8 | −1.44% | −1.11% | −0.91% | 25% |
| 4h PO declining + red candle | 12 | −1.22% | −0.80% | −0.78% | 33% |
| 4h leaving extreme up | 5 | −0.51% | −1.59% | −1.04% | 0% |
| Daily PO declining | 13 | −0.89% | −0.98% | −0.39% | 31% |
| 4h LD fired + dev shrinking | 10 | −0.66% | −1.19% | −0.62% | 40% |
| 4h declining, daily still rising | 38 | −0.42% | −0.81% | −0.85% | 39% |
| 4h PO declining | 49 | −0.50% | −0.74% | −0.71% | 39% |
| 4h PO peaked intraday | 64 | −0.51% | −0.77% | −0.54% | 38% |
Day 2 is often worse than day 1. The 4h leaving-extreme-up signal shows −0.51% on day 1, but −1.59% by day 2. The selling accelerates into the second day of reversion.
Stacking conditions improves the signal. Here are the best combos for 1–3 day horizons.
| Signal Stack | n | 1-Day | 2-Day | 3-Day | 1d Green |
|---|---|---|---|---|---|
| 4h PO in distrib + declining | 15 | −0.51% | −0.67% | −0.17% | 27% |
| 4h PO declining + dev shrinking | 21 | −0.65% | −0.57% | −0.35% | 33% |
| Both daily & 4h PO declining | 11 | −0.79% | −0.48% | −0.25% | 36% |
| 4h declining + red candle | 12 | −1.22% | −0.80% | −0.78% | 33% |
| 4h peaked + dev shrinking | 27 | −0.49% | −0.70% | −0.19% | 37% |
| 4h distrib + declining + dev shrink | 6 | −0.24% | −0.29% | −0.37% | 33% |
Not all >4% days are equal. The 4-hour Phase Oscillator zone at close tells you whether the stretched state is still accelerating or rolling over.
The 10-day forward return swings nearly 1.7 percentage points depending on the 4h PO zone. Distribution = reversion happening. Neutral Up = the trend absorbed the stretch and can continue.
The single most useful signal for trading the reversion is when the 4h PO is declining but the daily PO hasn't turned yet. It fires often enough to be practical (n=38), and it carries consistent negative returns across all horizons.
| 4h Leads Daily | Baseline (all >4%) | Edge | |
|---|---|---|---|
| 1-Day | −0.42% | −0.43% | 0 |
| 2-Day | −0.81% | −0.63% | −0.18% |
| 3-Day | −0.85% | −0.62% | −0.23% |
| n | 38 | 106 |
The edge grows from day 1 to day 3. At 2 days, only 34% green. At 3 days, still only 37% green. The 4h PO tells you the turn is starting before the daily PO confirms it — that's where the edge lives.
Every >+5% close above the daily 21 EMA in 25 years of SPY. These happen in sharp rallies off major bottoms — post-GFC, COVID recovery, and the dot-com peak.
| Date | Dev % | Close | EMA21 | PO Zone |
|---|---|---|---|---|
| Mar 23, 2009 | +7.21% | $82.27 | $76.73 | neutral up |
| Jun 8, 2020 | +7.03% | $323.25 | $302.03 | extended up |
| Mar 23, 2000 | +6.65% | $152.62 | $143.11 | distribution |
| Mar 26, 2009 | +6.64% | $83.17 | $77.99 | neutral up |
| May 6, 2009 | +6.55% | $92.14 | $86.48 | distribution |
| Apr 14, 2020 | +6.46% | $283.87 | $266.63 | neutral up |
| Jun 5, 2020 | +6.46% | $319.27 | $299.90 | distribution |
| Apr 19, 2001 | +6.27% | $125.72 | $118.30 | neutral up |
| Apr 9, 2009 | +6.19% | $85.82 | $80.82 | neutral up |
| Apr 17, 2020 | +6.06% | $286.73 | $270.34 | neutral up |
| Oct 27, 2011 | +5.99% | $128.60 | $121.33 | distribution |
| Apr 3, 2009 | +5.85% | $84.25 | $79.59 | neutral up |
| Apr 29, 2020 | +5.65% | $293.19 | $277.52 | neutral up |
| Oct 21, 2002 | +5.63% | $90.28 | $85.47 | neutral up |
| May 12, 2025 | +5.13% | $573.16 | $545.19 | neutral up |
The daily Phase Oscillator and the EMA21 deviation share a 0.85 Pearson correlation — not surprising since the PO formula is literally (close − EMA21) / (3 × ATR). The PO normalizes by volatility (ATR), which is why the same 4% deviation can correspond to different PO readings depending on market regime.
| PO Zone | n | Mean Dev | Median Dev | Range |
|---|---|---|---|---|
| Extended Up | 67 | +2.75% | +2.70% | +1.4% to +7.0% |
| Distribution | 824 | +2.26% | +2.07% | +0.7% to +6.7% |
| Neutral Up | 2,175 | +1.60% | +1.41% | −1.3% to +7.2% |
| Neutral | 2,110 | +0.03% | +0.07% | −6.8% to +5.2% |
| Neutral Down | 1,036 | −2.13% | −1.84% | −12.4% to +0.4% |
| Accumulation | 336 | −4.60% | −4.14% | −17.2% to −1.5% |
| Extended Down | 35 | −9.85% | −9.06% | −18.5% to −3.5% |