S&P 500 Risk Overlay

Initializing…

S&P 500 Risk Overlay / Regime Monitor

SPY SPDR S&P 500 ETF  ·  SHY iShares 1–3 Year US Treasury Bond ETF  ·  IEF iShares 7–10 Year US Treasury Bond ETF  ·  All returns in USD
SPDR S&P 500 ETF (SPY)
Signal Dashboard
Signal Detail
Regime Context
Composite Score History
Allocation History (2Y)
Score Episode Analysis
What happens after score transitions? Box plots show forward return and drawdown distributions by score level at entry (deterioration) and exit (improvement). Shaded band = unconditional baseline.
Score Deterioration — Entering Defence
Score Improvement — Exiting Defence
Signal Time Series
Composite Score
SPY vs 200-Day MA
Signal fires when SPY closes below its 200-day SMA. The most widely followed long-term trend indicator — a sustained break historically precedes extended bear markets. Daily, T+1.
8-Day Stress Count
Rolling 8-day count of large-cap stocks with ≥7% declines, scaled to a 500-stock universe. Signal fires at ≥115. Captures breadth of institutional selling pressure. Daily, T+1.
SPY 12-Month Return
Trailing 12-month absolute return. Signal fires when negative — markets with negative momentum tend to continue declining (Moskowitz et al., 2012). Monthly, 1st trading day of following month.
10-Month SMA (Faber)
Signal fires when SPY is below its 10-month SMA at month-end. Slower, more stable trend filter than the daily 200-day MA — reduces intra-month noise. Source: Faber (2007). Monthly, 1st trading day of following month.
VIX Term Structure
Ratio of VIX (30-day) to VIX3M (3-month implied vol). Signal fires when ratio >1.0 for 3 consecutive days (backwardation) — options market pricing near-term risk above medium-term. Daily, T+1.
GROWTH OF $100 — DEFENCE OVERLAY vs BUY & HOLD
Individual Strategy Performance
EQUITY CURVES BY STRATEGY (LOG SCALE)
Drawdown Protection
DRAWDOWN: COMPOSITE vs BUY & HOLD
WORST DRAWDOWNS
How the Defence Overlay Works
The defence overlay is a fully systematic, rules-based risk management system that monitors five independent risk signals across price, momentum, volatility, and cross-asset dimensions. When multiple signals align, the system gradually shifts equity exposure into defensive fixed-income assets. The key design principle is graduation: rather than a binary risk-on/risk-off switch, the system scales defensive allocation proportionally to the number of signals firing, reducing whipsaw and transaction costs while maintaining protection during genuine stress events.
The Composite Signal
Each of the five risk signals below contributes one point to a composite score ranging from 0 (no risk) to 5 (maximum risk). The composite score determines the defensive allocation:
Composite ScoreEquity (SPY)Defensive (SHY)Regime
0 – 1100%0%All Clear
250%50%Watch
3 – 50%100%Defence
A score of 1 is treated as noise — no allocation change. This prevents single-indicator false alarms from generating unnecessary trading. Graduation from score 2 upward ensures the portfolio scales its response to match the severity of the risk environment.
The 5 Risk Signals

1. Stress Count (8-Day Rolling)

What it measures: The number of large-cap stocks (from a universe of 90) that have experienced a significant decline over the trailing 8 trading days. This captures the breadth of selling pressure across the market.

Why it matters: Broad-based selling across many stocks is a more reliable stress indicator than a single index move. A market can fall 2% on a handful of mega-cap names, but when 115+ stocks are simultaneously declining, it signals genuine institutional de-risking.

Rule: Signal fires when the 8-day rolling count ≥ 115. Resets when count falls below threshold.

Frequency: Daily. Execution: T+1 close.

2. 200-Day Moving Average

What it measures: Whether the S&P 500 is trading above or below its 200-day simple moving average — the most widely followed long-term trend indicator in institutional asset management.

Why it matters: A sustained break below the 200-day MA historically precedes extended bear markets. It acts as a confirmation filter: short-term volatility alone does not trigger this signal.

Rule: Signal fires when SPY closes below its 200-day SMA. Resets when SPY closes above.

Frequency: Daily. Execution: T+1 close.

3. 12-Month Momentum

What it measures: The trailing 12-month absolute return of the S&P 500. Negative 12-month momentum indicates a market that has been in decline for an extended period.

Why it matters: Absolute momentum is one of the most robust factors in academic finance (Moskowitz, Ooi & Pedersen, 2012). Markets with negative trailing returns tend to continue declining — this captures the persistence of bear markets.

Rule: Signal fires when SPY 12-month return is negative. Resets when trailing return turns positive.

Frequency: Monthly. Execution: 1st trading day of following month.

4. 10-Month SMA (Faber)

What it measures: Whether the S&P 500 is above or below its 10-month simple moving average. Based on Mebane Faber’s widely cited 2007 research on tactical asset allocation.

Why it matters: The 10-month SMA is a slower, more stable trend filter than the daily 200-day MA. It reduces noise from short-term whipsaw while still capturing major regime changes. Monthly evaluation further limits transaction frequency.

Rule: Signal fires when SPY is below its 10-month SMA at month-end. Resets when SPY closes above at month-end.

Frequency: Monthly. Execution: 1st trading day of following month.

5. VIX Term Structure

What it measures: The ratio of VIX (30-day implied volatility) to VIX3M (3-month implied volatility). When VIX exceeds VIX3M, the term structure is in backwardation — the options market is pricing near-term risk higher than medium-term risk.

Why it matters: Term structure inversion is a real-time institutional fear gauge. Unlike price-based signals, it reflects the forward-looking expectations of options market participants. A 3-day confirmation filter eliminates single-day spikes from routine expiration dynamics.

Rule: Signal fires when VIX/VIX3M > 1.0 for 3 consecutive trading days. Resets when the ratio falls below 1.0. Available from 2008 (VIX3M inception).

Frequency: Daily. Execution: T+1 close.

Defensive Assets

SHY — 1–3 Year US Treasuries (Primary)

The primary defensive asset. Duration of approximately 2 years minimises interest rate risk while preserving capital. Avoids the double-loss scenario where both equities and long-duration bonds decline simultaneously, as occurred in 2022. Backtesting confirms SHY delivers comparable risk-adjusted returns to IEF with lower tail risk in rate-rising environments.

Execution & Governance

Fully systematic. All entry and exit decisions are rules-based with no discretionary overrides. The system is designed to remove behavioural bias from defensive timing decisions.

No look-ahead bias. All signals use previous-day data for next-day-close execution (T+1). Daily signals (stress count, 200-day MA, VIX term structure) are evaluated each trading day. Monthly signals (momentum, SMA, canary) are evaluated at month-end and execute on the first trading day of the following month.

Minimum holding period: Once a defensive position is triggered, it is held for at least 42 trading days (~2 months) regardless of whether the composite score subsequently drops. This prevents costly whipsaw from short-lived signal oscillations near the threshold.

Transaction cost budget: 5 basis points per allocation change, applied to the full notional amount being rebalanced.

Data pipeline: Automated daily via GitHub Actions. All price data sourced from adjusted close (total return) series to accurately reflect dividend reinvestment.