S&P 500 Risk Regime
Know whether the market is in a calm state or a stressed one before you size the day's risk, as one flag per trading day going back years. The label is built from forward-looking implied volatility and fixed the day it is published, so any backtest can be split by regime without hindsight.
Size to the state, not the story.
risk_regime is 1 on risk-off days and 0 on risk-on days, which is all a position-size multiplier needs.
Split any backtest in two.
Join your own returns to date and compare the two regimes instead of averaging a strategy across both.
Time volatility trades, not direction.
In the published study, risk-off days realized 24.7% volatility against 12.8%, and forward 10-day volatility ran 19.0% against 12.3%.
Is the market calm or stressed right now, and should I be taking less risk than usual? Check the current state and tell me what usually happens next.
Your agent reads today's regime flag, then pulls the history of flags to describe how volatility, rather than direction, has behaved after similar days.
One flag for the state of the market.
A risk regime is a coarse description of market conditions. This dataset carries one binary label per trading day: 1 when conditions are risk-off, meaning elevated volatility or stress, and 0 when they are risk-on, meaning lower volatility and constructive equity conditions.
The label is derived from forward-looking implied volatility metrics rather than from what the market has already done, which is what makes it usable as an input on the day instead of a description of last week.
Each row includes:
- The trading date the label applies to.
- risk_regime set to 1 for risk-off: elevated volatility or stress conditions.
- risk_regime set to 0 for risk-on: lower volatility and constructive equity conditions.
- A classification derived from forward-looking implied volatility metrics, not from returns already realized.
- A fixed daily label: historical values are never retroactively altered.
This is a volatility call, not a market call. In the published study, annualized returns are effectively the same in both states, 13.0% against 12.7%, while realized volatility roughly doubles in risk-off. Reading a 1 as a sell signal is the one way to misuse this dataset.
Size exposure by regime instead of by mood.
The honest version of this signal is a volatility forecast. Across 3,833 trading days, risk-off days realized 24.7% volatility against 12.8% on risk-on days, and forward 10-day volatility ran 19.0% against 12.3% with a t statistic of 15.0. Returns in the two states were 13.0% and 12.7%. The flag tells you how rough the ride will be, not which way it goes.
That makes it a sizing and volatility-timing input. Cut gross exposure when the flag is 1, buy convexity when it flips, stay out of short premium in the state where realized volatility doubles, and split every backtest by regime so a strategy that only works in calm conditions cannot hide inside a blended average.
- Scale position size with a regime multiplier instead of running a fixed risk budget.
- Segment an existing backtest on date and compare drawdown, not just return, across the two states.
- Keep short-volatility strategies out of risk-off days, where realized volatility roughly doubles.
- Treat the flip from 0 to 1 as a dated event and study what follows in your own book.
- Join the flag to any other dated dataset to ask whether an effect is regime dependent.
Read from implied volatility, fixed once published.
The classification is recomputed daily at 10:10 in New York from forward-looking implied volatility metrics, then written as a fixed daily label. Historical values are never retroactively altered, so a study over the history reads the same flag that was live that morning.
The published market-effect study joins 3,833 trading days back to 2011 against SPY, which is the sample every number on this page comes from. Pro includes full history and the latest session.
Two fields, plus the filters that pull the history.
The headline fields below are a subset. Every field, with exact types and semantics, is documented in the API reference.
| Field | Type | What it tells you |
|---|---|---|
| date | string | Trading date the classification applies to (YYYY-MM-DD) |
| risk_regime | integer | Binary regime label: 1 is risk-off, 0 is risk-on |
| count | integer | Number of rows returned in the response envelope |
| date_gte | query param | Start of a trading-date range, inclusive |
| date_lte | query param | End of a trading-date range, inclusive |
| date_gt | query param | Start of a trading-date range, exclusive |
| date_lt | query param | End of a trading-date range, exclusive |
One call returns years of daily regime labels.
One key works across the REST API, the hosted MCP server, and this dashboard. Every response is JSON with a { count, data } envelope.
import requests
url = "https://api.alphanume.com/v1/sp500-risk-regime"
params = {
"date_gte": "2026-01-01",
"date_lte": "2026-08-25",
"api_key": "alp_abc123"
}
r = requests.get(url, params=params)
print(r.json())curl "https://api.alphanume.com/v1/sp500-risk-regime?date_gte=2026-01-01&date_lte=2026-08-25&api_key=alp_abc123"{
"count": 2,
"data": [
{ "date": "2026-08-25", "risk_regime": 1 },
{ "date": "2026-08-24", "risk_regime": 0 }
]
}What this data does not claim.
- The flag is not directional, and the study says so in public: 13.0% against 12.7% annualized returns across the two states, with the flat chart published rather than dropped.
- It is binary. A 1 does not say how deep the stress runs, so a day that just crossed the line looks identical to a crisis day.
- It classifies current conditions. It is not a crash forecast, and most risk-off days are ordinary volatile days that resolve without incident.
- The row carries the label and nothing underneath it, so you cannot see how close a day came to flipping.
- The study is a market-level test against SPY. It says nothing about how the regime interacts with your specific strategy, which is a join you have to run yourself.
Asked by researchers, answered plainly.
Is the S&P 500 risk regime flag a market timing signal?
Not for direction. It can still improve risk-adjusted returns through sizing: if volatility doubles while average return stays flat, holding less exposure in that state raises return per unit of risk without giving up much return. That is a different claim from calling tops, and it is the one the data supports.
How is this different from just watching the VIX?
A VIX level makes you choose a threshold, and that choice is usually made after seeing the history. This dataset publishes a fixed binary label each morning, never revises it, and has a public test record attached, so the regime split in your backtest is not a parameter you tuned.
Can I use the regime flag to filter an options strategy?
That is the natural use, since risk-off is where realized volatility roughly doubles and short premium suffers. Mind the clock: the label is published at 10:10 in New York, so a backtest that applies today's flag at the open is looking ahead by forty minutes. Use the prior session's flag if you trade at the open.
Why is this dataset marked nuanced instead of strong on the proof page?
Because the study confirms one claim and fails to find another. The volatility effect is large and significant; the directional effect does not exist. Rather than quietly reporting only the half that worked, the flat return chart is published next to the volatility result.
Available with Pro. Enterprise for teams.
New REST API and MCP access requires Pro or Enterprise. Public dashboard previews are separate from a subscription. Pro includes the available historical record, current updates, REST, MCP, dashboard exports, and every standard dataset as it launches. Explore the dashboard preview before subscribing; its existing limits still apply.