Vol Backwardation
Last verified
Auto-generated. This article is rebuilt from
app/signals/config/signal_definitions.jsonbyscripts/build_signals_kb.py. Edit the registry entry and re-run the script β do not edit this file directly.
Vol Backwardation
What it is
Vol Backwardation β registry key vol_backwardation.
W2 deep-tail vol-state flag (R1 2026-06-09): vix_term_slope > 0 (VIX above VIX3M - spot term-structure backwardation). Derived at the API edge from the already-persisted vix_term_slope column - no own column. ~5% duty cycle, OOS lift 5.51x on n=47 (THIN-N caveat mandatory on every surface). Amplification read, never directional. The broader vendor-archive per-symbol term-state field is explicitly NOT this flag (the proxy is its deep tail) and rides the 2026-06-30 tier decision. Already one leg of stress.disorderlyβs AND-gate; this surfaces the leg standalone because R1 validated it standalone.
Data-pyramid tier
T1 β Signal. This metric sits at the signal layer of the platformβs six-tier data pyramid (T0 raw inputs β T5 actionable read). The tier reflects how far the value is from a raw measurement β not how strongly it is validated. Abstraction and validation are separate axes: a higher tier is not a claim of stronger evidence.
Horizon & validation
Horizon: 1d β the window this metricβs measured skill speaks to. A horizon stamp is an evidence claim, not a trading signal.
Evidence: W2 (R1 2026-06-09): deep-tail read, ~5% duty cycle - OOS 5.51x on n=47 (thin-n caveat mandatory); R7 F1 1d OOS 1.70x down / 1.62x up (all25). Amplification both ways, NOT direction.
Source
Source module: computed
Data source: computed
Derived metric β produced inside the platform (app/signals/computed.py or equivalent) rather than fetched as a raw upstream value. See the How it's computed section below for the formula.
How itβs computed
vol_backwardation = (vix_term_slope > 0), derived at the API edge from the persisted vix_term_slope (VIX - VIX3M). True = spot VIX term structure inverted (near-term fear above 3-month).
Where it surfaces
- API field:
volatility.backwardationonGET /api/v1/signals/latest
Health-score / alignment role
Data carrier β no implication, no health-score contribution.
Persisted for downstream consumers (sparklines, base-rate matcher, calibration substrate) but does not classify into BULLISH / NEUTRAL / BEARISH and does not contribute to the 0-100 health score.
Release cadence
- Publishes:
intraday
See also
- /kb/api/get-signals-latest β API endpoint that serves this field.