Skip to main content

Methodology: How We Read Market Conditions

What this label is

The Markets page shows a one-line “market conditions” read — one of five fixed labels — plus a short paragraph narrating the same numbers. This page is the source-of-truth document for exactly how that label is computed, so the read is reproducible, never a black box.

It is a description of today’s tape, computed from two public numbers. It is not a forecast, not a recommendation, and not investment advice.

1. The two inputs

2. The mapping

Five labels, fixed thresholds, first match wins:

LabelCondition
Risk-offS&P 500 down more than 2%, or VIX above 30
Risk-onS&P 500 up more than 2%
CautiousS&P 500 down more than 1%, or VIX above 25
ConstructiveS&P 500 up more than 1% while the VIX is below 20 (or unavailable)
Neutraleverything else

The thresholds (±1%, ±2%, VIX 20 / 25 / 30) are judgment constants, reviewed on a scheduled cadence in the source code. When we change them, the changelog below records it.

3. What the read does not use

4. Staleness

Every payload carries the time it was fetched. If the data is more than an hour old while a U.S. session is open, the regime and VIX sentences are suppressed and only the raw figures render, with their as-of stamp — a cached label must never narrate a market it can no longer see. Outside market hours, age is expected and the last session’s read stands, stamped with its time.

Changelog