Signal Calendar
| Date | Model | Signal | Reading | 3M | 6M | 12M |
|---|---|---|---|---|---|---|
| Run screener.py | ||||||
35
35
RSI Oversold Scanner
Loading data...
EMA Stack Score — above EMA 10/20/50/100/200 = +1
Loading data...
Sector Heatmap
Run screener.py
Sector Rotation — Dual RRG
Trade only when both RRGs agree · Left = 12M · Right = 3M · Tail = path
12M — Direction
3M — Timing
⚠ Diverging
Sector Detail
52W High/Low Heatmap
0–5%
5–10%
10–20%
20–30%
30–40%
40%+
—
Within 5%
—
Avg Distance
—
At 52W High
—
At 52W Low
Run screener.py
VIX Term Structure — Implied Volatility Curve
Contango (VIX3M > VIX) ✓
Normal regime — markets calm.
Normal regime — markets calm.
Backwardation (VIX > VIX3M) ⚠
Fear — often signals a local bottom.
Fear — often signals a local bottom.
—
VIX9D
9-day
—
VIX 30D
spot
—
VIX3M
term
—
Spread
3M−Spot
—
Regime
structure
VIX Term Structure — History
— VIX
— VIX3M
— Spread
Total Put/Call Ratio
High >1.2 = Fear · Low <0.7 = Greed
Equity Put/Call Ratio
High >0.9 = Fear · Low <0.55 = Greed
Momentum Screener — 7-Signal Score
—
Stocks
—
Avg Score
—
Avg 1W
—
Elite 6-7
Loading...
Seasonality Heatmap — Monthly Return Pattern
High Yield Bond NH − NL
HYG price + New Highs minus New Lows spread. When the reading crosses above 350 it signals strong credit market breadth and a favorable risk environment. Weakness below −100 often precedes equity drawdowns by 2–4 weeks.
READING ABOVE 350 — SIGNAL ACTIVE
S&P 500 + HYG — dual axis overlay, same 1Y window
S&P 500 main price
HYG total return
—
High Yield NH − NL Spread
NH−NL
— 350 (Signal)
— −100 (Warning)
Reading > 350 — Bullish
Strong High Yield breadth. Credit markets healthy. Favorable for risk assets. Often precedes continued equity strength.
Reading 0 to 350 — Neutral
Neutral zone. Monitor direction. HYG underperforming IG bonds can signal early credit stress before equities react.
Reading < −100 — Warning
Credit stress signal. HY deteriorating. Often leads equity weakness by 2–4 weeks. Consider reducing risk exposure.
SPX RSI Momentum — Signal
Weekly RSI 40/60 reversal on the S&P 500 using selectable EODHD history. When weekly RSI drops below 40 and later confirms above 60, the momentum signal is marked on price and RSI.
LOADING WEEKLY SIGNAL
S&P 500 — 10Y Daily · Red boxes = weekly RSI 40→60 momentum windows
S&P 500
■ Signal Window
Weekly RSI(14) — 10Y · 40 / 60 Thresholds
— 40 (Oversold trigger)
— 60 (Confirmation)
Signal Confirmed
RSI crossed below 40 then recovered above 60. 100% historical track record since 2016 when confirmed by price action holding above the signal low.
Setup Phase — RSI < 40
RSI oversold. Watch for recovery above 40 as first sign of momentum shift. Don't front-run — wait for 60 confirmation.
Historical Dates
Confirmed signals: Jul 2016 · Apr 2019 · Aug 2020 · Jun 2023 · Nov 2023 · Jun 2025 · Apr 2026. Each preceded a 10%+ rally within 3 months.
Forward Performance
Waiting for S&P signal data.
SPX 9/21 Weekly EMA — Momentum Cross
S&P 500 20-year weekly chart with 9-week and 21-week EMAs. Green background shows bullish 9 EMA above 21 EMA; red background shows bearish 9 EMA below 21 EMA.
S&P 500 — 20Y Daily Log Chart · Weekly EMA 9 / EMA 21
S&P 500
EMA 9
EMA 21
Bull Regime
Bear Regime
Bullish Cross
The 9-week EMA moves above the 21-week EMA. This marks improving intermediate momentum.
Bearish Cross
The 9-week EMA moves below the 21-week EMA. This marks weakening intermediate momentum.
Weekly Signal
Weekly smoothing filters daily noise. The marker is drawn on the confirmation week.
SPY Binary Accumulation — Daily Returns
SPY momentum model combining multiple rate-of-change windows in binary form. Each ROC window contributes +1 when positive and -1 when negative, then the combined score is scaled into an accumulation/distribution oscillator.
SPY — Binary accumulation regime markers
SPY
Long signal line
SPY Binary Accumulation Daily Returns
Accumulation
Distribution
+18
-18
Accumulation Reset
After a negative washout, a cross back above zero means the combined SPY ROC stack has flipped positive again.
Distribution Reset
After a strong positive run, a cross below zero means the binary ROC stack has lost broad momentum across windows.
Binary ROC Stack
Magnitude of each ROC does not matter. Each window only votes positive or negative, which keeps the model focused on direction.
Forward Performance
Waiting for SPY binary data.
Gold Binary Accumulation — Daily Returns
Gold momentum model combining multiple rate-of-change windows in binary form. Each ROC window contributes +1 when positive and -1 when negative, then the combined score is scaled into an accumulation/distribution oscillator.
Gold — Binary accumulation regime markers
Gold
Long signal line
Gold Binary Accumulation Daily Returns
Accumulation
Distribution
+18
-18
Accumulation Reset
After a negative washout, a cross back above zero means the combined gold ROC stack has flipped positive again.
Distribution Reset
After a strong positive run, a cross below zero means the gold ROC stack has lost momentum across windows.
Binary ROC Stack
Magnitude of each ROC does not matter. Each window only votes positive or negative, which keeps the model focused on direction.
Forward Performance
Waiting for gold binary data.
Bitcoin-USD Binary XL
BTC-USD momentum model combining short and long rate-of-change windows in binary form. Each ROC window contributes +1 when positive and -1 when negative, scaled into a large-cycle accumulation/distribution oscillator.
BTC-USD — Binary XL signal markers
BTC-USD
Long signal line
BTC Binary XL
Accumulation
Distribution
+90
-110
Binary XL Reset
After a deep negative cycle, a reclaim of zero means the combined BTC ROC stack has flipped back positive.
Distribution Zone
Deep negative readings often appear after major BTC drawdowns. They are not a signal alone; the zero reclaim is the confirmation.
XL ROC Stack
Uses short, medium and long ROC windows. Magnitude does not matter; each window only votes positive or negative.
Forward Performance
Waiting for BTC binary data.
Rolling Returns — 20D Momentum Bands
Twenty-trading-day returns measured against the selected-history mean and selectable sigma bands. Upper-band thrusts mark persistent momentum pressure; lower-band breaks mark short-term stress or washout.
20D Rolling Returns
Price
20D return
Upper 2.0σ
Lower 2.0σ
Signal window
Momentum Thrust
A 20D return above the selected upper band marks broad upside pressure. It often appears during strong trend phases, but can also flag short-term overextension after a fast move.
Momentum Washout
A 20D return below the selected lower band marks downside pressure or capitulation. Forward behavior separates crash continuation from rebound setups.
Forward After Upper
Waiting for rolling return data.
Forward After Lower
Waiting for rolling return data.
VIX SD Level
Fixed VIX standard-deviation model using daily VIX closes: mean 20, each SD is 8 VIX points. Signal starts at VIX 35 and strengthens as volatility reaches higher SD levels.
S&P 500 — 20Y Daily Log Chart
S&P 500
VIX SD Level — 20Y Daily Close by Day
0 Mean
+2 Stress
+3 Panic
+5 to +10 Crisis
Signal Start
VIX 35+ is treated as the start of a stress signal. It sits just below +2 SD in the fixed model.
Stronger With SD
Higher SD bars indicate stronger volatility stress: +3 is panic, +5 and above is crisis-type volatility.
Fixed Model
SD = (VIX − 20) / 8. The chart is capped from −2 to +10 so extreme volatility spikes remain visible without clipping.
S&P Realized Vol vs VIX
Compares the option market's expected 30-day volatility with realized S&P 500 volatility. High positive premium means fear is priced above recent movement.
S&P 500 — 20Y Daily Log Chart
S&P 500
VIX vs 20D Realized Vol — 20Y Daily
VIX
RV20
Premium
Fear Premium
VIX above realized volatility means the options market is pricing future stress above recent S&P movement.
Signal Zone
Signal when VIX − RV20 is above 10 and VIX/RV20 is above 1.25. Stronger after selloffs when realized volatility starts cooling.
Model
RV20 uses 20 daily log returns, annualized by sqrt(252). Premium = VIX − RV20.
Signal Logic
Best setup is a high positive premium after market stress: VIX remains elevated while realized volatility starts stabilizing. Negative premium means realized movement is larger than implied fear.
VIX Spike Model
Close-to-close daily VIX change ranked by percentile. Upper-tail spikes mark upside volatility overreactions; lower-tail drops mark downside volatility compression.
S&P 500 — 5Y Daily Log Chart
S&P 500
● VIX spike
● VIX compression
VIX Daily Change — 5Y Percentile Tails
Upper-tail overreaction
Lower-tail compression
0%
Upper-Tail Spike
A daily VIX jump above the selected percentile marks a volatility shock. It often appears near equity stress or forced hedging pressure.
Lower-Tail Compression
A daily VIX drop below the lower percentile marks a sharp volatility unwind. It can confirm relief, but after extended rallies it may also mean complacency.
Adaptive Threshold
Thresholds are recalculated on the selected history window, so 1Y reacts faster while 20Y uses a full-cycle distribution.
Bearish Threshold Forward
Waiting for VIX spike data.
Bullish Threshold Forward
Waiting for VIX compression data.
VIX + S&P 500 Same Direction Streak
Counts consecutive daily closes where VIX and S&P 500 move in the same direction. Normally VIX rises when equities fall; repeated same-direction days flag unusual cross-asset behavior and a less clean volatility/equity relationship.
S&P 500 — Same Direction Streak Markers
S&P 500
● Same-direction day
Consecutive Days VIX and S&P 500 Moved In The Same Direction
Same-direction streak
Dashed line is latest value
5+ unusual
Same Direction
Both VIX and S&P 500 rose, or both fell, from the prior close. That is less typical than the usual inverse relationship.
Long Streak
A 5+ day streak suggests the volatility/equity relationship is behaving unusually. It often appears around unstable transitions, hedging demand, or volatility repricing.
Method
Uses close-to-close daily changes for VIX and S&P 500. Flat days reset the streak. Max history begins where both series overlap.
1-Day % Change — Index ETF Momentum
Daily percent-change history for SPY, QQQ, IWM and DIA. Bars show each one-day return against the selected-history mean and ±2σ bands.
SPY — Daily Close (Log)
Close
SPY — 1-Day % Change
Positive
Negative
Mean
±2σ
Positive Day
Green bars show one-day upside pressure. Large positive bars near the upper band usually mark momentum bursts or relief rallies.
Negative Day
Red bars show one-day downside pressure. Lower-tail days help separate normal pullbacks from stress sessions.
Distribution Bands
Mean and ±2σ are recalculated on the selected window, so the chart adapts between short-term and long-cycle volatility regimes.
Current Read
Waiting for daily change data.
SPY / QQQ Bollinger Bands — Momentum Extension
SPY or QQQ price chart with 20-period Bollinger Bands. Switch between daily and weekly closes, and select 2σ, 3σ or 4σ extension bands.
SPY — 20D Bollinger Bands
Close
20P Mean
Upper Band
Lower Band
Upper Band
A close above the selected upper band marks unusually strong upside extension versus the recent 20-period trend.
Lower Band
A close below the selected lower band marks unusually strong downside extension or stress versus the recent 20-period trend.
Model
Bands use a fixed 20-period lookback. Daily uses 20 trading days; Weekly uses 20 weekly closes.
Return Histogram — Sector & ETF Momentum Distribution
Monthly return distribution for NYSE Arca sector ETFs, index ETFs, semiconductor proxies and industry groups. Histogram bars show return frequency, the amber curve approximates the normal distribution, and the lower panel shows the monthly return series versus ±2σ bands.
Monthly Return Histogram
Occurrences
Normal curve
+2σ
−2σ
Monthly Return Series
PositiveNegative
Right Tail
A monthly return above +2σ is a high-momentum outlier. It often signals strong trend pressure, but can also mark short-term exhaustion after a vertical move.
Distribution Center
Mean and sigma show the typical monthly return profile for the selected ETF or index. Wide sigma means the asset has a more volatile momentum regime.
Left Tail
A return below −2σ marks stress. For cyclical sectors it can be capitulation; for defensive sectors it can signal regime deterioration.
Forward After +2σ
Waiting for return data.
Forward After −2σ
Waiting for return data.
Distance From Moving Average — ETF Extension Model
Daily distance from the selected moving average. The model compares current extension with the selected history window and marks unusually stretched or washed-out regimes, capped to one signal per month per side.
Distance From MA
Distance
Mean
+2σ
+3σ
−2σ
−3σ
Above +2σ
Price is unusually extended above its trend. Often trend-following strength, but watch for exhaustion when the move is vertical.
Below −2σ
Price is unusually stretched below its trend. Often stress or capitulation; forward response separates crash continuation from mean reversion.
Forward After +2σ
Waiting for MA distance data.
Forward After −2σ
Backtest
Waiting for MA distance data.
MA Distance Stocks — Global Extension Model
Current S&P 500, DAX and Hang Seng stock distance from the selected moving average. Z-score and percentile are calculated from each stock's own recent distance history, so stretched and washed-out names can be compared across markets.
Global MA Distance Ranking
Extended +2σ
Washed out −2σ
Extreme −3σ
| Ticker | Name | Sector | Price | Distance | Z | Percentile | 52W Pos. |
|---|---|---|---|---|---|---|---|
| Waiting for screener data. | |||||||
Selected Stock Distance History
Distance
Mean
+2σ
+3σ
−2σ
−3σ
Extended Upside
Stocks above +2σ are unusually stretched above their own trend. This can mark strong momentum, but also short-term exhaustion after fast vertical moves.
Washed Out
Stocks below −2σ are unusually stretched below trend. −3σ names are the deepest current dislocations in the S&P 500 universe.
Forward After +2σ
Click a stock to load forward performance.
Forward After −2σ
Backtest
Click a stock to load forward performance.
Forward P/E Z-Score — S&P 500 Valuation
S&P 500 forward price-to-earnings ratio ranked by selected-history Z-score and percentile. Extreme expensive and cheap readings are forward-tested against later S&P 500 returns.
5Y Range
—
—
10Y Range
—
—
20Y Range
—
—
Full History
—
—
S&P 500 index: Forward P/E ratio
Forward P/E
Selected mean
Expensive +σ
Cheap −σ
Source: —
High Multiple
Elevated forward P/E means investors are paying more for expected earnings. It can persist in strong liquidity regimes, but leaves less margin for earnings disappointment.
Low Multiple
Lower forward P/E often appears after deratings or recession scares. It can improve forward return potential if earnings estimates stabilize.
Forward After Expensive
Backtest
Waiting for valuation data.
Forward After Cheap
Waiting for valuation data.
P/E Ratio Z-Score — S&P 500 Valuation
S&P 500 trailing price-to-earnings ratio ranked by selected-history Z-score and percentile. Extreme expensive and cheap readings are forward-tested against later S&P 500 returns.
5Y Range
—
—
10Y Range
—
—
20Y Range
—
—
Full History
—
—
S&P 500 index: P/E ratio
P/E
Selected mean
Expensive +σ
Cheap −σ
Source: —
High Multiple
Elevated trailing P/E means investors are paying more for the last twelve months of earnings. It can reflect quality growth, but often reduces long-term return cushion.
Low Multiple
Low trailing P/E often appears after deratings, recessions or earnings scares. It can improve forward return potential once earnings pressure stops accelerating.
Forward After Expensive
Backtest
Waiting for valuation data.
Forward After Cheap
Waiting for valuation data.
VIX Term Structure — Contango / Backwardation
The relationship between VIX (30-day) and VIX3M (93-day) reveals the market's near-term fear regime. Contango (VIX3M > VIX) = calm. Backwardation (VIX > VIX3M) = fear/panic, often marks a local bottom.
CONTANGO — CALM REGIME
VIX Term Structure — 3Y History · Spread Below
VIX
VIX3M
Spread
Contango — Normal
VIX3M trading above spot VIX. Market expects future uncertainty is priced further out. Favorable for trend-following and long exposure.
Backwardation — Fear
Near-term vol spikes above longer-term expectations. Often marks a local bottom as panic peaks. Contrarian buy signal when extreme (<−5).
Signal Use
A rising positive spread usually supports trend-following. Negative spread signals stress; deeply negative readings often appear near panic lows.
VIX/VIX3M Ratio — Contango vs Backwardation
VIX divided by VIX3M. A ratio below 1 means normal contango, where 3-month implied volatility trades above spot VIX. A ratio above 1 means backwardation, where near-term fear is higher than the forward curve.
CONTANGO — CALM REGIME
VIX/VIX3M Ratio — Backwardation Above 1.0
Backwardation > 1.0
Contango < 1.0
— 1.0 regime line
Backwardation
Ratio above 1 means spot VIX is above VIX3M. This is a fear regime and often appears around equity stress or panic lows.
Contango
Ratio below 1 means the curve is upward sloping. This is the normal volatility regime and generally supports trend-following conditions.
Line At 1.0
The horizontal 1.0 line separates the regimes. The further above 1.0, the more acute near-term fear is versus 3-month volatility.
SPY Forward After Panic ≥ 1.2
Waiting for VIX/VIX3M data.
SPY Forward After Deep Contango ≤ 0.8
Waiting for VIX/VIX3M data.
20D Breadth Thrust — Stocks Above 20-Day MA
% of S&P 500 stocks above their 20-day moving average. A Breadth Thrust fires when this reading jumps from below 15% to above 80% within 15 trading days — indicating explosive broad-based buying across the entire market, not just index-level moves.
S&P 500 — Daily · Green Dots = 20D Breadth Thrust
S&P 500
● Thrust Confirmed
% S&P 500 Stocks Above 20D MA — Daily History
— 15% (Thrust Start)
— 80% (Thrust Confirm)
— 50% (Midline)
● Thrust Confirmed
Thrust Confirmed (<15% → >80%)
Explosive breadth expansion. Market participation surged across all sectors. Avg 3-month forward return after confirmed thrust: +12%. Very low false-positive rate.
Setup Zone (Below 15%)
Deeply oversold breadth. If a thrust initiation occurs here, watch the next 15 trading days closely for a push above 80% to confirm the full signal.
Overbought Zone (Above 85%)
Short-term overbought. Normal pullback likely in 1–3 weeks. Not a sell signal — just expect consolidation. Higher TF (50D, 200D) breadth more important for trend.
Forward Performance
Waiting for breadth thrust data.
Zweig Breadth Thrust
Marty Zweig style breadth thrust using a 10-day EMA of advancing stocks divided by advancing plus declining stocks. A signal confirms when the EMA moves from below 0.40 to above 0.615 within 10 trading days.
S&P 500 — Daily · Green Dots = Zweig Breadth Thrust
S&P 500
● Thrust Confirmed
Zweig Breadth Thrust EMA — Daily History
— 0.40 setup
— 0.65 confirm
— 0.50 midline
● Thrust Confirmed
Thrust Confirmed (<0.40 → >0.65)
A broad internal reversal from washed-out participation to aggressive buying pressure. The confirmation is the move above 0.65, not the low reading alone.
Setup Zone (<0.40)
Market breadth is deeply washed out. The next 10 trading days decide whether the setup converts into a true Zweig thrust.
A/D EMA
Each day counts S&P 500 stocks up versus down, then smooths the advancing ratio with a 10-day EMA to filter single-day noise.
Forward Performance
Waiting for Zweig breadth data.
SPY Washed Out / Bottom
Daily S&P 500 bottom-picking model using RSI, breadth, VIX stress, VIX term structure, HYG/SPY, drawdowns and moving-average distance. The high-conviction signal requires all 1M/3M/6M/9M/12M ML probabilities to clear the selected model threshold.
S&P 500 — High-Conviction Bottom Signals
S&P 500
— Model Signal
Washed-out Score + Min ML Probability
Score
Min ML Prob
— Model Threshold
High-Conviction Model Forward Performance
Waiting for model data.
50D Breadth Thrust — Stocks Above 50-Day MA
% of S&P 500 stocks above their 50-day moving average on a weekly timeframe. A 50D Breadth Thrust confirms when this reading moves from below 10% to above 80% within 12 weeks.
S&P 500 — Weekly · Green Dots = 50D Breadth Thrust
S&P 500
● Thrust Confirmed
% S&P 500 Stocks Above 50D MA — Weekly History
— 10% (Thrust Start)
— 80% (Thrust Confirm)
— 50% (Midline)
● Thrust Confirmed
Thrust Confirmed (<10% → >80%)
Broad recovery across the S&P 500. This is slower than the 20D thrust and captures durable participation rather than short-term snapback.
Setup Zone (Below 10%)
Deep washout. Once breadth leaves this zone, the next 12 weekly bars decide whether a full thrust confirms.
Weekly Timeframe
Weekly data filters daily noise. Signals are marked on the week they confirm above 80%.
Forward Performance
Waiting for breadth thrust data.
RSP/SPY Equal Weight vs Cap Weight Breadth Model
RSP divided by SPY tracks whether the average S&P 500 stock is keeping up with the cap-weighted index. A rising ratio signals broad participation; a falling ratio warns that gains are concentrated in the largest names.
S&P 500 — RSP/SPY regime markers
SPY
● Broad participation
● Narrow leadership
RSP/SPY Ratio Index — 50D / 200D Trend
Ratio
50D
200D
Broad Participation
RSP outperforming SPY means the average S&P 500 stock is contributing. This usually confirms healthier risk appetite than mega-cap-only leadership.
Narrow Leadership
RSP lagging SPY means cap-weight concentration is carrying the index. It is not automatically bearish, but it lowers breadth quality.
Signal Use
Best used as a confirmation layer with % stocks above and breadth thrust. Persistent weakness while SPY rises can warn of fragile upside.
Forward Performance
Waiting for RSP/SPY data.
% Stocks above
S&P 500 breadth analyzer for stocks above or below their 20D, 50D and 200D moving averages. Select a percentage threshold to mark low breadth below that level and high breadth above the mirrored upper level.
S&P 500 — Breadth threshold markers
S&P 500
High breadth ≥80%
Low breadth ≤20%
% stocks above MA — Breadth level
High breadth
Low breadth
20% / 80% trigger
High Breadth ≥80%
A high percentage of stocks above the selected moving average shows broad participation. It can confirm trend strength, while very high readings may also reflect crowded upside.
Low Breadth ≤20%
A low percentage of stocks above the selected moving average shows broad internal weakness. Deep low-breadth readings often appear during stress or washed-out rebound setups.
Forward After High Breadth
Waiting for breadth data.
Forward After Low Breadth
Waiting for breadth data.
New 52W Highs — S&P 500 Breadth
10-day average of the percentage of current S&P 500 constituents trading at 12-month closing highs. Green background marks broad upside expansion above the selected threshold.
S&P 500 + 10D Avg % New 52W Highs
S&P 500
10D avg
— Expansion trigger
Above Trigger
A broad share of the S&P 500 is printing new highs. This usually confirms trend participation and upside breadth.
Below Trigger
New highs are present but not broad enough to qualify as expansion. Watch whether the average improves or rolls over.
Method
Uses current S&P 500 constituent histories and closing-price 12M highs, so older history is survivorship-biased.
New 52W Lows — S&P 500 Breadth
10-day average of the percentage of current S&P 500 constituents trading at 12-month closing lows. Red background marks periods above the 4% stress threshold; green marks normal breadth regimes.
S&P 500 + 10D Avg % New 52W Lows
S&P 500
10D avg
— 4% stress
Above 4%
Internal selling pressure is elevated. This often appears during corrections, volatility clusters, or broad de-risking.
Below 4%
New lows are contained. Breadth stress is not broad enough to dominate the S&P 500 tape.
Method
Uses current S&P 500 constituent histories and closing-price 12M lows, so older history is survivorship-biased.
Narrow Leadership — 52W Highs vs Lows
S&P 500 breadth divergence model. It flags periods where new 52-week lows are elevated while new 52-week highs fail to confirm, especially when the index is still holding up. This captures narrow mega-cap leadership and weakening participation beneath the surface.
S&P 500 — Red Dots = Narrow Leadership Divergence
S&P 500
● Divergence
New 52W Lows vs New 52W Highs — S&P 500 Members
New Lows %
New Highs %
— 5% stress
● Signal
Narrow Leadership
New lows expand while new highs fade and the index remains supported. That usually means fewer large-cap winners are masking broader internal weakness.
Contained Breadth Stress
New lows below the stress line or balanced new highs/lows indicate the divergence is not yet strong enough to flag narrow leadership.
Signal Logic
Signal requires new lows at or above 5%, new lows exceeding new highs, and S&P 500 price not materially breaking down over the prior 10 sessions.
Hindenburg Omen — S&P 500 Breadth
Breadth divergence model using S&P 500 New 52W Highs and New 52W Lows. A signal requires both highs and lows above 2.2%, new highs no more than 2x new lows, and a rising S&P 500 50D trend.
S&P 500 — Red Dots = Hindenburg Omen
S&P 500
● Hindenburg Omen
New 52W Highs / Lows — Omen Conditions
New Highs %
New Lows %
— 2.2% trigger
● Omen
Omen Trigger
Large groups of stocks are making both 52W highs and 52W lows while the index trend is still rising. That divergence warns of fragile market internals.
No Trigger
Either new highs/lows are not both elevated, new highs dominate too strongly, or the S&P trend filter is not active.
Method
S&P 500 variant based on current constituent histories. It does not use NYSE McClellan Oscillator, so treat it as an index breadth divergence warning rather than the full classic NYSE definition.
Oil Term Structure — Contango / Backwardation
CL2 − CL1 crude oil futures spread with S&P 500 overlay. Negative = backwardation (front month premium, supply tightness). Positive = contango. Critical for CADJPY and CAD pairs — Canada is a major oil exporter, Japan imports 95% of oil.
CL1 Front Month + S&P 500 — 12M Daily
CL1
S&P 500
CL2 − CL1 Spread — 12M Daily
Negative = Backwardation
Positive = Contango
Contango (Spread >0)
Normal/oversupply regime. Futures trade at premium to spot. Bearish WTI price direction. Bearish CAD, supportive JPY. Watch for CADJPY reversal on Hormuz opening.
Near-Zero Spread
Market in equilibrium. Transition zone — watch for breakout. Near-zero spread often precedes a move to one extreme or the other within 2–4 weeks.
Backwardation (Spread <−1)
Front month trades at a premium to the second month. Below −1 signals tight near-term supply; below −3.5 is historic stress and should be treated as an extreme backwardation regime.
FX Impact (Apr 2026)
Hormuz closure → extreme backwardation → CAD strongest G10 since Feb 28. CADJPY up 12% past 12M. EIA peak forecast $115/b Q2 = further CADJPY upside if sustained.
Gold/Silver Ratio — Long-Term Deviation Model
Weekly Gold/Silver ratio against rolling or static mean and ±1σ / ±2σ / ±3σ bands. Rolling mode uses a 156-week window and is the default because the ratio has structural drift.
Gold/Silver Ratio — Weekly Long History
Ratio
Mean
±1σ
±2σ
±3σ
±4σ Rolling
High Ratio
Above +1σ / +2σ means gold is stretched versus silver. +3σ marks an extreme defensive relative-value zone.
Low Ratio
Below −1σ / −2σ means silver is stretched versus gold. −3σ marks an extreme cyclical silver outperformance zone.
Mean Reversion Map
The mean is the anchor. ±2σ and ±3σ markers show statistically rare relative-value zones rather than trend crossovers.