Skip to content

KB / signal

VIX

Last verified

Auto-generated. This article is rebuilt from app/signals/config/signal_definitions.json by scripts/build_signals_kb.py. Edit the registry entry and re-run the script — do not edit this file directly.

VIX

What it is

VIX — registry key vix.

Classifier metric. See the bands table below for the band-by-band reading.

Source

Source module: market
Data source: back_fillable

Fetched directly from app/sources/market.py; see source code for the upstream API call and any provider-specific handling.

How it’s computed

Raw VIX close from yfinance ^VIX, fetched by market.py’s macro board (_analyze_volatility). The CBOE VIX is a 30-day forward-looking implied volatility of SPX options, annualised and expressed in percentage points (e.g. 18 = 18% expected annualised SPY move). VIX is the equity-vol benchmark; volatility.vix on /api/v1/signals/latest is the canonical surfaced field. The Schwab fallback path uses volume-weighting for VIX option flow because Schwab reports no OI on index options (CLAUDE.md Law 4 / app/sources/market.py:154-157); the headline vix value remains the index close. See app/sources/market.py:243 (_analyze_volatility). The classifier bands (Low vol / Normal vol / Elevated / High vol / Fear / Extreme fear) are applied downstream via signal_defs.band_for('vix', value).

Where it surfaces

Bands / thresholds

Classifier direction: lower_is_better.

RangeLabelDotImplicationPoints
Low volfavorableBULLISH
Normal volleaningBULLISH
ElevatedneutralNEUTRAL
High volcautionaryBEARISH
FearadverseBEARISH
Extreme fearadverseBEARISH

Health-score / alignment role

Release cadence

See also